Document 300677

advertisement
ТЕМА № 3
ПРЕДСТАВЛЕНИЕ БУЛЕВОЙ ФУНКЦИИ В ВИДЕ СОВЕРШЕННОЙ ДНФ,
СОВЕРШЕННОЙ КНФ, МИНИМАЛЬНОЙ ДНФ.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Строим таблицу истинности. Находим СДНФ по таблице истинности.
Для этого мы выбираем наборы на которых функция принимает значение 1 и строим
дизъюнкцию из конъюнкции аргументов взятых соответственно с инверсией или без.
Построим таблицу истинности для функции ƒ (x,y,z)= xy  x z
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f
0
1
0
1
0
0
1
1
Правило построения конъюнкции, если переменной соответствует 0, то переменная
берётся с инверсией, если 1 то без. Первому отмеченному набору 001 соответствует
конъюнкция x y Z .
0
0
1
x
y Z
Набору 011 соответствует конъюнкция x Y Z. Набору 110 - конъюнкция X Y Z
Набору 111 - конъюнкция X Y Z
Соединяем все полученные конъюнкции с помощью дизъюнкции
x y Z  XY Z  XY Z  XYZ
Количество конъюнкций в СДНФ всегда должна равняться количеству единичек в
векторе значений функции .
СКНФ это ещё один способ представления булевых функций. Рассмотрим функцию для
которой мы строили СДНФ: ƒ (x,y,z)= xy 
построена
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f
0
1
0
1
0
0
1
1
x z. Таблица истинности для неё уже
В результате СКНФ будет выглядеть так:
 Y  Z)  ( X 
y
 Z)  ( x  Y  Z)  ( x  y 
(X
Z
)
Минимизация булёвых функций с помощью карты Вейча
Этот метод используется для функций с малым числом переменных. Карта Вейча для
функции n переменных содержит 2n ячеек, каждая из которых соответствует одной из 2n
возможных комбинаций значений n булевых переменных х1 ,х2 . .. xn Две соседние ячейки
отличаются значением только одной переменной. На рисунке 1. представлены карты
Вейча для функций, зависящих от двух, трех и четырех переменных.
Рис.1 Карты
Все ячейки отмеченные скобкой хi (по строке и столбцу), представляют наборы с хi = 1,
а в неотмеченных строках и столбцах ячейки соответствуют наборам с х i =0.
Булева функция может быть представлена на карте Вейча выделением на карте ячеек,
соответствующих наборам, на которых функция принимает значение 1. В этих ячейках
будем писать 1.
Незаполненные ячейки соответствуют нулям функции. Для нанесения функции на карту
Вейча ее необходимо представить в виде СДНФ.
Пример 4.5.1. Построим карту Вейча для функции
x3  X 1 x2 X 3  x1 x2 x3
Пример 4.5.2. Построим карту Вейча для функции
ƒ(x1,x2,x3,) = X
1
X 2X
3

X 1X 2
ƒ(x1,x2)= x1  x2
Представим ее в виде СДНФ:
ƒ(x1,x2) = X 1 X 2 
x1 X 2 
С помощью карты Вейча можно находить простые импликанты. Для этого будем
строить покрытия ячеек карты по следующим правилам.
1. Две ячейки, содержащие единицы “склеиваются”, если они являются соседними, то есть
расположены рядом (но не на диагонали). При этом считается, что ячейки на
противоположных концах строки или столбца являются соседними, как будто карта
расположена на торе (Рис. 4.5.2.).
2.
Четыре ячейки, содержащие единицы “склеиваются”, если они расположены в
одной строке или в столбце, или квадратом (Рис. 4.5.3.).
3.
. Восемь ячеек, содержащих единицы “склеиваются” если все они лежат в зоне,
относящейся к какой-либо переменной или ее инверсии (Рис. 4.5.4.).
Соединение соседних ячеек, соответствует операции склеивания конъюнкций. В
результирующую конъюнкцию, входят переменные, в зоне которых полностью лежат
объединенные ячейки. Рассмотрим рисунок 4.5.2. В левом верхнем углу карты
объединены две ячейки, соответствующие конъюнкциям x1x2 X 3 X 4 и x1x2
x3 X 4
в результате склеивания этих конъюнкций по переменной
x3 получается конъюнкция
x1x2 X 4. На этой же карте в левом нижнем углу склеивание ячеек определяет
конъюнкцию x1 X 2 X 3, ячейки, помеченные единицами в правом верхнем и правом
нижнем углах определяют конъюнкцию. На карте Вейча на рисунке 4.5.3. представлены
конъюнкции x1x2 (ячейки, образующие квадрат), x1 X 3 и X 1 X 4. На карте Вейча на
рисунке 4.5.4. представлены конъюнкции X 3(пунктиром) и X 4.
Для построения минимальной ДНФ по карте Вейча следуют двум правилам.
1. Выбирают интервалы наибольшего размера, содержащие ячейки, которые не могут
быть ни в каком другом интервале.
2. Для оставшихся ячеек выбирают интервал наибольшего размера.
Пример Найдем минимальную ДНФ для функции ƒ(x1,x2,x3,x4) =
(0,3,4,6,7,9,14,15).
Выпишем двоичные номера всех соответствующих наборов: 0000, 0011, 0100, 0110,
0111, 1001, 1110, 1111.
Построим карту Вейча.
Простые импликанты образуют минимальную ДНФ, которая имеет вид:
x1 X 2 X 3 x4  x2x3  X 1 x3 x4  X 1 X 3 X 4
Вариант №1
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ(x,y,z)= (0,1,0,1,0,0,1,0,)
Вариант №2
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ(x,y,z)= (1,1,1,0,1,1,0,1)
Вариант №3
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ(x,y,z)= (1,1,1,1,1,0,0,0)
Вариант №4
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ(x,y,z)=(0,1,1,1,1,1,1,0
Вариант №5
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ (x, y,z,p)=(1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1)
Вариант №6
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ (x, y,z,p)=(1,1,1,1,1,0,0,0,0,1,0,0,1,1,0,0)
Вариант №7
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ (x, y,z,p)=(0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1)
Вариант №8
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ (x, y,z,p)=(0,0,0,1,1,0,1,1,1,1,0,1,1,0,1,1)
Вариант №9
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ (x, y,z,p)=(1,1,0,1,0,1,1,1,1,1,1,0,1,0,1,1)
Вариант №10
1.Постройте СДНФ и СКНФ для функции
2.Минимизировать заданную функцию
ƒ (x, y,z,p)=(1,0,1,1,0,0,1,0,1,0,0,0,0,1,0,1)
Download