Тема: Минимизация ПФ и не полностью определённых ПФ.

Задание №1

Пусть дана функция от трех переменных f(x, y, z)=(0,1,1,1,1,1.1,0). Найти её МДНФ методом неопределённых коэффициентов.

Решение:

Построим таблицу истинности для данной функции. Она будет иметь следующий вид:

x y z f(x,y,z)  
В ДНФ общего вида такой функции будет
26 неопределенных коэффициентов. Для обо‑
значения этих коэффициентов будем
использовать букву К с нижним индексом,
указывающим конъюнкцию, перед которой
стоит этот коэффициент. С учетом всех
принятых обозначений ДНФ общего вида
запишется так:

1. ДНФ = k Ú kx x Ú k Ú ky y Ú k Ú kz z Ú k Ú k y y
Ú kx x Ú kx y x y Ú k Ú k z z Ú kx x Ú kx z x z
Ú k Ú k z z Ú ky y Ú ky z y z Ú k Ú k z z
Ú k y y Ú k y z y z Ú kx x Ú kx z x z Ú kx y x y
Ú kx y z x y z

2. Теперь последовательно подставляя в ДНФ каждый набор значений переменных и приравнивая при этом получаемые выражения к значению функции на этом наборе, получим следующую систему уравнений:
ДНФ(0,0,0): k Ú k Ú k Ú k Ú k Ú k Ú k =0;
ДНФ(0,0,1): k Ú k Ú kz Ú k Ú k z Ú k z Ú k z =1;
ДНФ(0,1,0): k Ú ky Ú k Ú k y Ú k Ú ky Ú k y =1;
ДНФ(0,1,1): k Ú ky Ú kz Ú k y Ú k z Ú ky z Ú k y z =1;
ДНФ(1,0,0): kx Ú k Ú k Ú kx Ú kx Ú k Ú kx =1;
ДНФ(1,0,1): kx Ú k Ú kz Ú kx Ú kx z Ú k z Ú kx z =1;
ДНФ(1,1,0): kx Ú ky Ú k Ú kx y Ú kx Ú ky Ú kx y =1;
ДНФ(1,1,1): kx Ú ky Ú kz Ú kx y Ú kx z Ú ky z Ú kx y z =0;

3. Выполним шаг 3, приравнивая все коэффициенты первого и последнего уравнений к нулю.

4. Вычеркнув все нулевые коэффициенты, получим новую систему уравнений, в которой число неизвестных меньше, чем в исходной, но все же превышает число самих уравнений: k z Ú k z Ú k z =1;
k y Ú ky Ú k y =1;
k y Ú k z Ú k y z =1;
kx Ú kx Ú kx =1;
kx Ú k z Ú kx z =1;
kx Ú ky Ú kx y =1;

В каждом уравнении полученной системы имеется по два коэффициента, которые могут быть приравнены к 1. Отсюда вытекает неоднозначность решения задачи. Учитывая то, что в каждом уравнении следует выбрать лишь один коэффициент, получим следующие два решения:

Первое: k z =1; ky =1; kx =1;

Второе: k z =1; k y =1; kx =1;

Остальные коэффициенты в обоих случаях приравниваем к нулю.

5. Подставляя найденные коэффициенты в исходную ДНФ, получим две минимальных ДНФ для заданной функции:

МДНФ1 = z Ú y Ú x ; и

МДНФ2 = z Ú y Ú x ;

 

Задание№2

Пусть функция от трех переменных f(x, y, z) задана в виде f(x,y,z)=(1,0,0,0,1,0,1,1). Построить её СокрДНФ.

Решение:

Для нахождения СокрДНФ необходимо построить СДНФ. Для данной функции СДНФ будет иметь вид: f(x, y, z) = Ú x Ú x y Ú x y z

Используя законы склеивания ( x A Ú B = x A Ú B Ú AB - склеивание; или x A Ú A = A - полное склеивание или x A Ú A = x A Ú A Ú A - неполное склеивание)

выполним всевозможные склеивания, т.е. будем склеивать первую конъюнкцию со второй, третьей, четвертой, затем вторую с третьей и четвертой, и наконец, третью с четвертой.

Тогда f(x, y, z) = Ú x Ú x y Ú x y z Ú Ú y

Ú y z Ú x Ú x x z Ú x y = Ú x Ú x y Ú x y z

Ú Ú x Ú x y

Теперь выполняя всевозможные поглощения (A Ú AB = A - поглощение, где A и B - элементарные конъюнкции), получим:

f(x, y, z) = Ú x Ú x y

Поскольку преобразования больше невозможны, последняя формула является СокрДНФ.

Задания для самостоятельного решения:

Задание №1

Пусть дана функция от трех переменных f(x, y, z). Найти её МДНФ методом неопределённых коэффициентов.

Задание№2

Пусть дана функция от четырёх переменных f(x, y, z, w). Построить её СокрДНФ.

Варианты заданий:

Вариант №1

1. f(x,y,z)=(2,3,5,6)

2. f(x,y,z)=(3,6,7,8,10,11,14)

Вариант №2

1. f(x,y,z)=(1,2,3,7)

2. f(x,y,z)=(2,3,4,5,10,12,13,15)

Вариант №3

1. f(x,y,z)=(0,3,4,5)

2. f(x,y,z)=(6,7,8,10,11,13)

Вариант №4

1. f(x,y,z)=(5,6,7)

2. f(x,y,z)=(2,4,6,9,10,11,12,13)

Вариант №5

1. f(x,y,z)=(1,2,4,5,6,7)

2. f(x,y,z)=(2,4,5,6,8,11,12,14)

Вариант №6

1. f(x,y,z)=(0,2,3,5,7)

2. f(x,y,z)=(2,3,5,6,7,8,10,12,14)

Вариант №7

1. f(x,y,z)=(0,3,5,7)

2. f(x,y,z)=(2,3,4,5,12,13,14)

Вариант №8

1. f(x,y,z)=(0,1,2,3)

2. f(x,y,z)=(1,2,5,7,8,12,13,14)

Вариант №9

1. f(x,y,z)=(1,2,4,6,7)

2. f(x,y,z)=(1,5,6,7,8,9,10,15)

Вариант №10

1. f(x,y,z)=(0,1,2,3,4)

2. f(x,y,z)=(2,3,9,10,13,14,15)

Вариант №11

1. f(x,y,z)=(1,3,4,6)

2. f(x,y,z)=(0,2,5,6,8,11,12,13)

Вариант №12

1. f(x,y,z)=(2,4,5,7)

2. f(x,y,z)=(1,4,6,7,10,11,12,14)

Вариант №13

1. f(x,y,z)=(1,2,3,6)

2. f(x,y,z)=(0,2,5,7,8,9,11,12)

Вариант №14

1. f(x,y,z)=(0,1,2,3,4)

2. f(x,y,z)=(1,2,5,7,8,9,10,11,15)

Вариант №15

1. f(x,y,z)=(0,1,2,6)

2. f(x,y,z)=(3,5,6,7,8,9,13,14)

Вариант №16

1. f(x,y,z)=(2,3,6,7)

2. f(x,y,z)=(0,1,2,7,8,9,10,13,14)

Вариант №17

1. f(x,y,z)=(3,4,5,6)

2. f(x,y,z)=(2,6,7,10,12,14,15)

Вариант №18

1. f(x,y,z)=(3,4,6,7)

2. f(x,y,z)=(1,2,4,5,8,9,11,12)

Вариант №19

1. f(x,y,z)=(3,5,6,7)

2. f(x,y,z)=(3,4,5,6,8,9,10,11)

Вариант №20

1. f(x,y,z)=(0,5,6,7)

2. f(x,y,z)=(1,3,5,8,9,10,11,12)

 

Практическая работа №8