02Глава21-22 (561019), страница 2
Текст из файла (страница 2)
Двоичный эквивалент индекса для минтерма может быть определен из записи минтерма подстановкой вместо прямых форм переменных цифры 1, а вместо инверсных – цифры 0.
Пример. - минтерм ранга 4;
1010 – двоичный эквивалент индекса.
= m10.
При этом не следует забывать, что при переходе от индексной записи минтерма к аналитической следует восстановить все переменные, входящие в данную запись.
Пример. m5 – ранга 4 имеет запись ; m5 – ранга 3 имеет запись
.
Аналогично при записи макстерма используется буква М с индексом, двоичная запись которого содержит 1, если соответствующая переменная входит в аналитическую запись макстерма в прямой форме, и 0, если в инверсной.
Пример. =М1100= М12.
Между минтермами и макстермами существует следующая связь:
i = M2n-i-1;
i = m2n-i-1.
Булева сумма всех минтермов ранга n равна единице:
2n-1
mi =1.
i=0
Это следует из того, что число различных минтермов ранга n равно 2n, т.е. числу различных наборов n переменных, а функция, принимающая на всех наборах значение 1, есть константа 1.
Используя теорему де Моргана, можно показать, что произведение всех макстермов ранга n равно нулю:
2n-1
Λ Mi =0.
i=0
Из этих уравнений следует
mimj =0 при i≠j;
Mi + Mj =1 при i≠j.
Равенства очевидны, если вспомнить, что минтерм – это конституента единицы, а макстерм – конституента нуля.
§3. Основная теорема.
Любая булева функция может быть выражена булевой суммой минтермов или произведением макстермов.
Таблица 8. Составим таблицу функций и найдем булево
A
B C f(ABC) выражение для данной функции. Из табл.8 видно,
0 0 0 0= α0 что функция равна единице, только на наборах,
0 0 1 1= α1 равных 001, 101, 111, что соответствует минтер-
0 1 0 0= α2 мам .
0 1 1 0= α3 Это значит, что данная функция может быть
1 0 0 0= α4 дизъюнкцией этих минтермов, т.е.
1 0 1 1= α5 = m1 + m5+ m7.
1 1 0 0= α6 Чтобы убедиться в сказанном, запишем дан-
1 1 1 1= α7 ную функцию в виде суммы произведений значений функции на соответствующие минтермы:
f(ABC)= α0 m0 + α1 m1 + α2 m2 + α3 m3 + α4 m4 + α5 m5 + α6 m6 + α7 m7 =
= 0m0 + 1m1 + 0m2 + 0m3 + 0m4 + 1m5 + 0m6 + 1m7 ,
где αi – значение данной функции на i –ом наборе.
Следовательно, справедлива запись:
2n-1
f(x1 x2 … xn)= α i mi .
i=0
Применив формулу де Моргана, найдем выражение
2n-1
( x1 x2 … xn)=
i mi .
i=0
2n-1 2n-1 2n-1 2n-1
f (x1 x2 … xn)=
(x1 x2 … xn)=
i mi = Λ (
i mi)= Λ (α i +
i)= Λ (α i +M2n-i-1).
i=0 i=0 i=0 i=0
Основная теорема:
2n-1 2n-1
f(x1 x2 … xn)= α i mi = Λ (α i +M2n-i-1).
i=0 i=0
Для аналитических записей булевых функций существуют следующие определения:
Булева сумма элементарных произведений называется дизъюнктивной нормальной формой (ДНФ).
- ДНФ;
- не является ДНФ.
Булево произведение элементарных сумм называется конъюнктивной нормальной формой (КНФ).
- КНФ;
-не является КНФ.
ДНФ функции n переменных, состоящая из элементарных произведений ранга n (т.е. из минтермов), называется совершенной дизъюнктивной нормальной формой функции (СДНФ).
КНФ функции n переменных, состоящая из элементарных сумм ранга n (т.е. из макстермов), называется совершенной конъюнктивной нормальной формой функции (СКНФ).
Основная теорема содержит запись СДНФ и СКНФ функций.
Из теоремы следует, что запись СДНФ (или СКНФ) булевой функции единственна.
§4. Выражение функции в СДНФ и СКНФ с помощью аналитических преобразований.
Для получения СДНФ функции аналитическим способом используется следующий прием:
-
аналитическое выражение функции приводится к бесскобочной записи в форме дизъюнкции каких-либо конъюнкций;
-
каждая конъюнкция, имеющая число сомножителей меньше n, умножается на выражение «1» через все недостающие переменные (
);
-
раскрываются скобки и приводятся подобные члены.
Пример. Найти СДНФ функции f(ABCD)= .
m15 + m14 + m13 + m12 + m11 + m9 + m8 + m3 +m1.
Для получения СКНФ функции без использования табличной записи следует применять процедуру вида:
-
аналитическое выражение функции приводится с помощью соотношения AB+C=(A+C)(B+C) к конъюнктивной записи со скобками, причем в скобках должны стоять дизъюнкции отдельных переменных в прямой или инверсной форме;
-
к каждой дизъюнкции добавляется выражение 0 через все недостающие переменные (
);
-
вновь используется дистрибутивный закон вида и приводятся подобные члены.
=М15 М13 М11 М10 М9 М8 М5
Рассмотрим расширение сокращенной записи элементарного произведения до суммы минтермов.
Пусть , представим данную запись в виде
A B C D
- - 0 1
Затем, не меняя значений известных цифр в записи индекса минтерма, подставляем все возможные комбинации цифр соответствующих разрядов:
0 0 0 1
0 1 0 1
1 0 0 1
1 1 0 1
Полученные цифры соответствуют индексам минтермов, содержащихся в СДНФ исходной функции, т.е.
f(ABCD)=m1+m5+m9+m13.
§5. Способы выявления равносильности булевых функций.
Как табличная запись функции, так и запись функции в СДНФ и в СКНФ являются единственными, поэтому для доказательства равносильности булевых функций используются следующие способы:
-
Сравнение табличных записей функций по всем возможным наборам переменных.
Пример. Доказать тождество f248(ABC)= (табл. 9,10).
Таблица 9 Таблица 10
A B C f248(ABC) A B C B↓C
0 0 0 1 0 0 0 1 0 1
0 0 1 1 0 0 1 0 1 1
0 1 0 1 0 1 0 0 1 1
0 1 1 1 0 1 1 0 1 1
1 0 0 1 1 0 0 1 0 1
1 0 1 0 1 0 1 0 1 0
1 1 0 0 1 1 0 0 1 0
1 1 1 0 1 1 1 0 1 0
248=128+64+32+16+8=27+26+25+24+23=111110002.
Так как значение функций на всех наборах совпадает, то f248(ABC)= и тождество доказано.
Способ доказательства равносильности функций по таблицам очень нагляден, но при большом числе n затруднителен.
-
Сравнение СДНФ и СКНФ функций.
Пример. Доказать тождество f196(ABC)= ;
19610=128+64+4=27+26+22=110001002.
В индексе функции единиц меньше, чем нулей, следовательно, СДНФ функции имеет более короткую запись, чем СКНФ:
f196(ABC)= m0+m1+m5;
= m0+m1+m5.
СДНФ функций совпадают, следовательно, тождество доказано.
Пример. Доказать тождество
F237(ABC)= ;
237(10)=128+64+32+8+4+1=27+26+25+23+22+20=11101101(2),
так как нулей мало, используем СКНФ:
f237(ABC)= М4 М1 ;
СКНФ функций совпадают, тождество доказано.
-
Преобразование одной из сравниваемых функций с помощью основных соотношений до полного совпадения с другой. Этот способ не поддается алгоритмизации, и поэтому, если не удалось привести функции к одному виду, то еще нельзя утверждать, что эти функции неравносильны.
Пример. Доказать тождество ;
Тождество доказано.
§6. Свойства функций сложения по модулю 2.
Основные соотношения для функции: :
ассоциативный закон
коммутативный закон
дистрибутивный закон относительно функции конъюнкции
а также
x при n нечетном;
0 при n четном.
n
В справедливости этих соотношений можно убедиться, если вместо подставить СДНФ этой функции:
Пример. Доказать равносильность функций
а) аналитически
б) с помощью таблиц истинности (табл.11,12) функций:
Таблица 11 Таблица 12
x y xy
x y x+y
0 0 0 0 0 0 0 0
0 1 0 1 1 0 1 1
1 0 0 0 1 1 0 1
1 1 1 0 1 1 1 1
Пример. Доказать равносильность функций с помощью таблиц истинности (табл.13, 14).
Таблица 13 Таблица 14
x y
x y xy
0 0 1 0 0 0 0 0
0 1 0 0 0 0 1 0
1 0 1 1 0 1 0 0
1 1 0 0 1 1 1 1
Теорема Жегалкина: любая булева функция может быть представлена в виде многочлена
f(x1 x2 … xn)= α0 α1 x1
α2 x2
…
αn xn
αn+1
x1 x2
αn+2 x1 x3
…
αN x1 x2 … xn ,
где α0, α1, … , αN - некоторые константы, равные 0 или 1.
Для доказательства воспользуемся основной теоремой, утверждающей, что любую булеву функцию можно записать в виде 2n-1
f(x1 x2 … xn)= α i mi .
i=0
Для любого конкретного набора < x1 x2 … xn > из тех наборов, на которых функция принимает значение 1, только один минтерм обращается в единицу, а остальные равны нулю. Поэтому справедлива запись 2n-1
f(x1 x2 … xn)= α i mi .
i=0
От этой формы записи можно перейти к функции в виде полинома через операции и
, пользуясь соотношением
.
Пример. .
Таким образом, после приведения подобных членов функция f(x1 x2 … xn) будет записана в виде многочлена, при построении которого используются только операции конъюнкции и сложения по mod 2.
Теорема доказана.
Алгоритм построения.