
К экзамену / Дискретка
.doc
34 Реализация КС
в базисе Жегалкина
Базис Жегалкина
соответствует сигнатуре Ω{^, + ,1}. Если
булева функция задана СДНФ, переход к
базису Жегалкина достаточно прост. В
выражении СДНФ знак <<v>>
(или) Можно заменить на <<+>>
(исключающее или). Данная замена вполне
правомочна, поскольку в СДНФ при
определенном наборе аргументов только
один терм может давать истинное
выражение.
Пример: Представим
в базисе Жегалкина и построить КС для
булевой функции, заданный СДНФ:
f=x1x2x3
V
x1x2x3
V
x1x2x3
V
x1x2x3,
отсюда f=x1x2x3
+ x1x2x3
+ x1x2x3
+ x1x2x3
Используя, что
x=1+x,
выполним замены:
f=(1+
x1)x2(1+ x3)+ (1+ x1) x2x3 + x1x2(1+ x3) + x1(1+ x2) (1+ x3)= x2
+ x1x2
+ x2x3 +
x1x2x3 +
x2x3 + x1x2x3 + x1
+ x1x2 + x1x3
+ x1x2x3.
Учитывая, что
x+x=0,
получим
y=f=
x1 + x2 + x1x2 + x1x3.
Выражение упрощается
посредством вычеркивания одинаковых
термов, если они повторяются в выражении
четное число раз.
X1
X2
X3
&
& + y
24 Тождества
булевой алгебры. Элементарные
преобразования.
Данная алгебра,
носителем которого является все
множество булевых функций, а сигнатура
Ω ) – три логические операции – инверсия,
конъюнкция и дизъюнкция.
Пусть x,
y
и z
– произвольные булевы функцию. Тогда
тождества булевой алгебры будут иметь
вид:
Свойство
коммутативности операций v
u
^:
1а.
x v y = y v x, 1б.
x ^ y = y ^ x.
Свойство
ассоциативности операций v
u
^:
2а.
x v (y v z) = (x v y) v z, 2б.
x ^ (y ^ z) = (x ^ y) ^ z
Свойство
дистрибутивности операций v
от ^ и ^ от v:
3а.
x v (y ^ z) = (x v z),
3б.
x ^ (y v z) = (x ^ y) v (x ^ z).
Свойство нуля и
единицы:
4а. x
v
x
= 1 – определение
единицы,
4б. x
^ x
= 0 – определение
нуля,
5а. x
v
1 = 1, 5б. x
^ 1 = x,
6а. x
v
0 = x
6б. x
^ 0 = 0,
7а.
0 = 1
7б. 1 = 0
Свойство
идемпотентности операций v
u
^:
8а. x
v
x
= x, 8б.
x
^
x
= x,
Закон поглощения:
9а.
x v (x ^ y) = x, 9б.
x ^ (x v y) = x,
Законы Де Моргана:
10а.
x v y = x v y, 10б.
x ^ y = x v y,
21 Метод Блейка.
Пример.
Метод основан на
использовании правила обобщенного
склеивания и правила поглощения. Для
применения метода необходимо выполнить
следующие шаги:
1) пополнить ДНФ
новыми членами с использованием правила
обобщенного склеивания;
2) произвести
элементарные поглощения, в результате
которых появится новая ДНФ;
3) считать новую
ДНФ исходной, перейти к п.1;
4) повторять пп. 1-
3 пока ДНФ будет пополняться новыми
членами.
Пример: D0
= x1x2
v
x1x3
v
x2x3.
1
2 3
Применим правило
обобщенного склеивания:
1 2 1-2
3 1-3
D1
= x1x2
v
x1x3
v
x2x3
v
x2x3
v
x1x3
1 2 3
4 5
Произведем
поглощения
2-5
3-4
D2
= x1x2
v
x3.
Метод Блейка
позволяет получить минимальную ДНФ из
произвольной ДНФ, не обязательно
совершенной.
30 Метод Квайна
– Мак – Класки, карты Карно.
Метод представляет
собой формализованный на этапе нахождения
простых импликант метод Квайна.
Формализация производится следующим
образом:
1) Все конституанты
единицы из СДНФ булевой функции f
записываются их двоичными номерами.
2) Все номера
разбиваются на непересекающиеся группы.
Признак образования i-й
группы: i единиц в каждом двоичном номере
конституенты единицы.
3) Склеивание
производят только между номерами
соседних групп. Склеиваемые номера
отмечаются каким-либо знаком
(зачеркиванием).
4) Склеивания
производят всевозможные, как и в методе
Квайна. Неотмеченные после склеивания
номера являются простыми импликантами.
Нахождение
минимальных ДНФ далее производится по
импликантной матрице, как и в методе
Квайна. Более подробно рассмотрим метод
на примере решения следующей задачи:
минимизировать методом Квайна -
Мак-Класки булеву функцию f, заданную
таблицей истинности.
Карты Карно
позволяют эти геометрические идеи
использовать при п
= 3, 4, 5, для
функций, заданных своей таблицей
истинности. При больших п
карты
Карно
практически
не
используются.
Рассмотрим отдельно (и более подробно)
случаи п =
3, 4. Составляем таблицу истинности для
данной конкретной функции п =
3 в виде таблицы, приведенной в примере.
(Заметим, что для х1
и х2
естественный
порядок набора переменных здесь нарушен.
Это сделано для того, чтобы при переходе
от данного к следующему набору переменных
в этом наборе менялась только одна
цифра). Прямая содержит 2 вершины,
плоскость – 4, гиперплоскости –
8, 16 и т. д. вершин, поэтому объединять
можно 2 рядом стоящие единицы или 4, 8,
16 и т. д. Карты Карно соединяются “по
кругу”, т. е. наборы (10) и (00) считаются
рядом стоящими.
Пример
Пусть задана функция:
Видно,
ее СДНФ содержит (по числу 1) 6 дизъюнктных
слагаемых, но ее сокращенная ДНФ содержит
(после объединения единиц) всего 2 буквы
f
= x1
x2