Тема: Минимизация ПФ и не полностью определённых ПФ.
Задание №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