
- •127994, Москва, ул. Образцова, 15
- •Введение
- •1. Булевы функции (бф).
- •1.1. Аналитическое представление бф.
- •1.1.1. Дизъюнктивная совершенная нормальная форма.
- •1.1.2. Конъюнктивная совершенная нормальная форма.
- •1.2. Минимизация бф.
- •1.2.1. Дизъюнктивная нормальная форма (днф).
- •1.2.2. Пути решения задачи упрощения днф бф.
- •1.2.3. Построение сднф по дснф.
- •1.2.4. Построение сднф по произвольной днф.
- •1.2.5. Получение тднф с помощью таблиц покрытий.
- •1.2.6. Недоопределенные бф и способы их задания. Простые импликанты недоопределенных бф.
- •1.2.7. Построение простых импликант недоопределенных бф методом проб.
- •1.2.8. Построение тднф недоопределенных бф.
- •1.2.9. Карты Карно.
- •2. Логические схемы (лс).
- •2.1.Основные понятия.
- •2.2. Использование скобочных преобразований днф при синтезе кс из элементов типа и, или, не.
- •2.3. Синтез кс из элементов
- •2.3.1. Кс часто используемых бф.
- •2.3.2. Кс для произвольных бф.
- •2.4.2. Алгоритм разделения тднф на к частей с минимизацией максимального веса.
- •2.4.3. Синтез кс из элементов и-не.
- •2.4.4. Синтез кс из элементов или-не.
- •2.4.5. Синтез кс из элементов и-или-не.
- •2.4.6. Синтез кс из набора элементов.
1.1.2. Конъюнктивная совершенная нормальная форма.
Введем
в рассмотрение характеристическую
функцию нуля
(Xn-1,…Xi,…X1,X0),
которая равна 0 на наборе значений
переменных (Xn-1,…Xi,…X1,X0),
обозначенном
и равна 1 на всех остальных наборах.
Теперь докажем следующую теорему.
Теорема 2.
Любая бф не равная константе 1 может быть представлена в виде
F(Xn-1,
… Xi,
… X1,X0)
=
1
&
2
&
i
=
i,
где M0 - множество всех номеров наборов значений переменных, на которых F(Xn-1,…Xi,…X1,X0) равна 0.
Доказательство:
Возьмем произвольный набор с номером .
Пусть на этом наборе имеет место F(Xn-1,…X1,X0) = 1. Тогда правая часть равенства будет иметь вид 1&1&…&1=1, так как ни одна характеристическая функция не равна 0.
Следовательно, левая и правая части равны.
Если же на этом наборе F = 0, то правая часть будет иметь вид 1&1&…&0&…&1= 0, так как найдется одна , принимающая значение 0.
В результате мы получаем, что левая и правая части равны.
Рассмотрим метод получения характеристических функций нуля.
X=1 только в том случае, если значение Х равно значению . Дизъюнкция степеней булевых переменных Xn-1,…Xi,…X1,X0 равна 0, если для всех Х значения степеней не равны значениям переменных. Отсюда вытекает правило получения характеристических функций нуля:
для набора значений переменных (n-1…1 0) может быть представлена как дизъюнкция степеней переменных Xn-1,…X1,X0 со значениями степеней соответственно (1-n-1) … (1-1)(1-0).
Рассмотрим пример.
2(X,Y,Z,W)=F0010(X,Y,Z,W)=
X1-0
Y1-0
Z1-1
W1-0=
X1
Y1
Z0
W1=
Зная как получать характеристические функции нуля, можно сформулировать еще один способ получения выражений в алгебре Буля для таблично заданных бф не равных константе «1»:
для всех наборов значений переменных, на которых бф равна 0, выписываем характеристические функции нуля и объединяем их знаками конъюнкции.
Такое аналитическое представление называется конъюнктивной совершенной нормальной формой (КСНФ).
Таким образом, можно сделать следующий вывод:
FМ1=
ДСНФ =
М0=
КСНФ.
Действительно, основываясь на правилах булевой алгебры можно получить:
Решение о том, каким аналитическим представлением (ДСНФ или КСНФ) описывать булеву функцию принимается исходя из того, каких наборов меньше. Если М1 меньше, чем М0, то функцию лучше описывать с помощью ДСНФ, а если М0 меньше, чем М1, то с помощью КСНФ.
Рассмотрим пример КСНФ.
-
X
Y
F
F = (X1-0 Y1-1)& (X1-1 Y1-0)&( X1-1 Y1-1)=
=
0
0
1
0
1
0
1
0
0
1
1
0
1.2. Минимизация бф.
1.2.1. Дизъюнктивная нормальная форма (днф).
Имея БФ, мы можем представить ее в виде ДСНФ, но такая форма не является единственной.
Пусть ДСНФ некоторй
функции
Так
как А
А
= А, можно представить F
в виде:
Далее с, помощью скобочных преобразований, можно получить:
В полученном выражении меньше букв и операций чем в исходном.
Так
как А
=1,
то дальнейшие
преобразования приведут нас к форме:
Здесь еще меньше букв и операций. Таким образом, была выполнена минимизация исходной БФ.
Минимизация БФ подразумевает упрощение формул (при сохранении их эквивалентности) в определенном классе формул и при определенном способе подсчета сложности.
В качестве формул в теории БФ чаще всего рассматривают бесскобочные выражения вида «дизъюнкция конъюнкций» (аналог в обычной алгебре – сумма произведений), так как простые скобочные формы удобно строить из простых бесскобочных.
Ведем определения, касающиеся минимизации БФ.
Конъюнкция называется элементарной, если каждая переменная входит в нее только один раз.
Дизъюнкция элементарных конъюнкций называется дизъюнктивной нормальной формой (ДНФ).
Длиной ДНФ называется число конъюнкций, из которых она состоит.
ДНФ, имеющая наименьшую длину среди всех эквивалентных, называется кратчайшей.
ДНФ, имеющая наименьшее число букв среди всех эквивалентных, называется минимальной ДНФ (МДНФ).
МДНФ может не быть кратчайшей и наоборот.
ДНФ D называется ДНФ БФ F, если М1 для D совпадает с М1 БФ F ( М1(D)=М1(F)).
БФ Ф называется импликантой БФ F, если множество наборов М1(Ф) является частью (подмножеством) множества наборов М1(F).
Обозначается
это как: М
1(Ф)
М1(F).
Рассмотрим пример.
Пусть
Ф1=
XY; Ф2=
YZ;
M1(Ф1)
=
=
(110, 111)
M1(Ф2)
=
=
(011, 111)
M1(Ф3) = = (101, 111)
M1(F) = (101, 110,111)
Ф1 и Ф3 являются импликантами F, так как их множества М1, являются частью М1 функции F.
Ф2 не является импликантой F, так как один набор из М1 (011), не входит в М1 функции F.
Простая импликанта - неукорачиваемая конъюнкция – из нее нельзя удалить ни одной переменной.
Конъюнкция К является простой импликантой БФ F, если:
К - импликанта БФ F ;
Любая К*, состоящая из части букв К, не является импликантой БФ F.
Рассмотрим пример простой импликанты.
X |
Y |
Z |
F |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |

Докажем это.
1) М1(F) = (000,001,010,011,100)
М1(Ф) = (000,100)
Следовательно, Ф является импликантой F.
2)
Из Ф можно получить две более короткие
конъюнкции:
и
.
M1(
)
=
(000,001,100,101)
M1(
)
M1(F)
следовательно,
не является импликантой F.
M1( ) = (000,010,100,110)
M1( ) M 1(F) следовательно, не является импликантой F.
Следовательно из Ф нельзя удалить ни одной переменной.
Из 1) и 2) следует, что Ф простой импликантой F.
ДНФ, состоящая из всех простых импликант бф, называется сокращенной ДНФ (СДНФ).
Число букв в СДНФ может быть не только меньше, но и больше чем у ДСНФ. Слово «сокращенная» говорит о том, что в ДСНФ используются максимально укороченные (сокращенные) конъюнкции.
Если все конъюнкции ДНФ - простые мпликанты, и если удаление из нее любой конъюнкции даст ДНФ неэквивалентную исходной, то такая форма называется тупиковой ДНФ (ТДНФ).
В ТДНФ нельзя удалить ни одну букву и ни одну конъюнкцию.
Рассмотрим примеры.
Пусть
- СДНФ
(совокупность всех простых импликант)
с
М1(D)=(000,001,011, 111).
Покажем, что D не тднф.
Возьмем
,
М1(D*)
=
(000,001,111).
Следовательно, D* = D, а значит D не тднф.
Теперь проверим, является ли D* - ТДНФ.
,
М1(D*1)
=
(000,001) - D*1
D, а является
импликантой D.
,
М1(D*2)
=
(011,111) - D*2
D, а является
импликантой D.
Следовательно, из D* нельзя удалить ни одну букву и ни одну конъюнкцию и она является ТДНФ для D.
Аналогично можно доказать, что МДНФ обязательно является ТДНФ.
В тоже время нельзя утверждать, что любая ТДНФ является МДНФ.
У БФ может быть много ТДНФ, при этом часть из них (или все) могут быть МДНФ.
Рассмотрим пример.
Для F(x,y,z) с М1 = (001,010,011,100,101,110) можно построить СДНФ равную
Эта бф имеет две МДНФ:
и
Кроме того, БФ имеет 3 тднф, не являющихся мднф
,
,