
Основы информатики_Савельев А.Я_Учебник_2001
.pdf2 5 Аналитическое представление функций алгебры логики
Аналогично с функцией Шеффера для функции Пирса (Вебба) неспра ведливы свойства ассоциативности и дистрибутивности. Метод доказатель ства такой же, как и в предыдущем случае.
Надо заметить также, что д:, -1 лг^ = д:, 4- д:2, т. е. функция Пирса равно сильна функции НЕ~~ИЛИ. Здесь также равносильность функций не ведет к наличию одинаковых свойств у этих функций.
2.5. Аналитическое представление функций алгебры логики
Существует много способов задания логических функций. Ранее был рассмотрен табличный способ, при котором каждому набору значений пе ременных в таблице истинности указывается значение самой логической функции. !>roT способ нагляден и может быть применен для записи функ ций от любого количества переменных. Однако при анализе свойств функ ций алгебры ;югики (ФАЛ) такая запись не является компактной. Проще выглядит аналитическая запись в виде формул.
Рассмотрим фиксированный набор переменных {x^^Xj, .^-уХ,,}, на ко тором задана функция алгебры логики. Так как любая переменная X, - |0,1}, то набор значений переменных фактически представляет собой пекоюрое двоичное число. Представим, что номером набора будет произ вольное двоичное число /, получаемое следующим образом:
• |
/-2""'х,+2"~^д:2+--- + ^«- |
(2-10) |
Пус!ь имеется функция ФХх^, Х2,^.-,х„): |
|
|
Ф, |
.I О, если номер набора равен /; |
|
|
[I, если номер набора не равен /. |
|
Функцию Ф, называют шерл^ол^.
Дизъюнктивный терм (макстерм) — терм, связывающий все перемен ные, представленные в прямой или инверсной форме, знаком дизъюнкции (иногда в литературе используется термин «конституэнта нуля»).
Например, Фт = Xf v Xj v х^ v х^; Ф^ = л:, v Хз.
Конъюнктивный терм (минтерм) — терм, связывающий переменные, представле1Н1ые в прямой или инверсной форме, знаком конъюнкции (ино гда в литературе исггользуется термин «конституэнта единицы»). Обознача ется минтерм следующим образом:
2 Автомат как основной элемент информационных систем
I, если номер набора равен /
р= [о, если номер набора не равен /.
Например, f\ == XiX2Xj^x^; F^^=x^X2X^.
Ранг терма г определяется количеством переменных, входящих в дан ный терм. Например, для минтерма /^^ = х^Х2ХуХ^х^ г = 5 , и для макстерма
02 = Х^ + Х2 + Ху г = 3 .
На основании вышесказанного можно сформулировать следующую теорему.
Теорема. Любая таблично задсшиая ФАЛ может быть пред-
ставлена аналитически в виде |
|
|
|
|
|||
|
/(х,,д:2,--.,^„) = /^ v F ; v...v7^, |
=vF,, |
|
(2.il) |
|||
те i — номера наборов, на которых функция равна 1; v |
-— эиак дичьюик- |
||||||
ции, объединяющий все термы F^, равные единице. |
|
|
|
||||
В самом деле, если на каком-либо наборе функция /(л,", х], |
v*) - 1. |
||||||
!о вследствие того, что x v l - 1 , |
в правой части |
выраже»Н1я (2.И) всегда |
|||||
найдется элемент, равный единице; если же |
на |
наборе i |
функция |
||||
./(л:,', J:J, ..., х*) = 0, то в правой |
части не найдется |
ни |
одною |
^jreMenia, |
|||
равного 1, так как |
O v O v . . . v O - 0 . |
|
|
|
|
||
Таким образом, каждому набору /, для которого |
/ |
- 1, соогве1с1вует |
|||||
элемент |
F, = \, а наборам /, на которых /, = О, не соответствует ни одного |
||||||
элемента |
F, = \. |
Поэтому таблица истинности однозначно о1ображае1ся |
аналитической записью вида (2.11), которую в дальнейшем будем называть
объединением термов. |
|
|
|
|
|
||
Нормальная |
дизъюнктивная форма |
(ИДФ) |
— объединение термов, |
||||
включающее минтермы переменного ранга. |
|
|
|
||||
Количество всех термов, входящих в состав (2.11), равно количеству |
|||||||
единичных строк таблицы. |
|
|
|
|
|
||
Пример 2.4, Записать в аналитическом виде функцию, задампуго таблицей 2 9 |
|||||||
|
|
|
|
|
|
1 |
а б J! и ц а 2 9 |
V| |
•»2 |
j ; i |
f(x,.x-^,x,) |
л. |
*2 |
-«) |
/ O i . b . ^ i ) |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1) |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
2 5 Аналитическое представление функций алгебры логики
Р е ш е н и е , Н а основании теоремы эту функцию можно записать в аналитической форме: f(x,. JT,, jr,) = f (О, о, 0) + f (0,1,1) + f (I, 0,0) = 1|?2?] + Ji^iJi) + х,Х2^,.
Omfiem / ( j j , Х;, jr,)-JjJ^^j +J,ji:2^i + x^XjXy.
Для представления ФАЛ в (2.11) используется совокупность термов, объединенных знаками дизъюнкции (v или +). Можно использовать также другую э;гементарную логическую операцию. Сформулируем основные требования к этой операции.
Требование 1: если какой-либо терм /^ = I, то функция/должна быть равна единице.
Требование 2: если какой-либо терм / ; = О, то функция /может быть равна единице.
Необходимо, чтобы при значениях термов F,=0 функция/была равна
HyjHO.
1 аблнчное представление искомой логической операции имеет вид таблиц 2.10 н 2.11.
|
а б л и и а 2-10 |
|
|
1 аб л и ца 2.11 |
|
|
17" '"^ |
Л = V |
f; |
F, |
Д = ® |
1) |
0 |
0 |
1) |
0 |
|
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
г |
|. |
1 |
1 |
1 |
0 |
1аким обрачом, получили, что искомой функцией, кроме функции ИЛИ, може! быгь функция разноименности и при этом справедливым стаН0ВИ1СЯ такое следствие из теоремы (2.11):
С л е л с т в и е : любая таблично заданная ФАЛ может быть представле на в следук)1цей аншгигической форме:
f{x,,X2,...,xJ |
= F^AF2^...^Fk^ |
(2.12) |
где итк Л обозначает операции v , |
®. |
|
Требования 1 и 2 можно обобщить и потребовать, чтобы аналитическое 11редс1авление нулевых и единичных строчек таблицы различалось и чтобы выгголнялось взаимно-однозначное соответствие межд^ нулевой единичной строкой и /ермом.
Требование 3: если какой-либо терм Ф, = О , то функция/должна быть равна пулю.
53
2. Автомат как основной элемент информационных систем
Требование 4: если все термы Ф, = О, то функция / = 1.
Выполняя эти требования, можно прийти к двум другим возможным функциям: конъюнкции и равнозначности (табл. 2.12 и 2.13).
*, |
Таблица |
2.12 |
|
Таблица 2.13 |
||
*; |
& |
ф, |
*; |
г |
||
|
|
|
|
|
||
0 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
0 |
1 |
0 |
0 |
|
1 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 |
1 |
Теорема. Любая таблично заданная ФАЛ малсет быть задана в
аналитической форме: |
|
|
Дх„х2,...,х„) |
= Ф,&Ф^&...&Ф^, |
(2.13) |
где к — количество двоичных наборов, для которых Ф = О. |
|
|
Нормальная конъюнктивная |
форма (НКФ) — объединение |
термов |
(2.13), включающее в себя макстермы разных рангов. |
|
Сл е д с т в и е : любая таблично заданная ФАЛ может быть ггредсывлена
ваналитической форме:
/(х„х^,...,х„) |
= Ф,^Ф-,^...'^Ф^. |
(2.14) |
где к- количество нулевых значений функции.
2.6. Совершенные нормальные формы
Нормальные конъюнктивная, дизъюнктивная формы не дают одно значного представления функции. Такое представление [Юлучаегся только при совершенных нормальных формах (СНФ).
Введем обозначения х" =х, |
*' = х . |
|
Тогда в общем виде переменная может быть задана как некоторая |
||
функция |
|
|
X |
\х, если а = 1; |
(2.15) |
=\_ |
||
|
X, если а = О, |
|
При этом |
|
|
X |
= о х 4- ад:, |
(2.16) |
где а —двоичная переменная. |
|
|
54
2.6. Совершенные нормальные формы
Рассмотрим КОНЪЮНКЦИЮ вида x^^Xj^ ...х^", гт {а,,а2, ...,ot„} пред ставляет собой двоичный набор; число наборов равно 2" , т. е.
ОО ... О О О
ОО ... О О !
ОО ... О I О
ОО ... О ! I
и т. д.
Если задагь всем а, значение О и I, то можно получить, например, дизъюнкцию вида
v-v"'.v"^ •••^»" ^-'^"-'^т •••^„ '^ х^х\ ...x'^j V х^х\ ...х„_^х„ V ...V |
x^X2:.x„,{2.\l) |
|||||||||||
где V -— символ обобщенной дизъюнкции по единичным строкам. |
|
|
||||||||||
Тогда справедлива следующая теорема. |
|
|
|
|
|
|
||||||
Теорема. Любая ФАЛ может быть представлена в виде |
|
|
||||||||||
fix^,X2,...,x^,...,xJ |
|
= vx^'x2' |
...х^^/(а^...а^х^^^...х„). |
|
(2.18) |
|||||||
Выражение (2.18) называют разложением функции алгебры |
логи |
|||||||||||
ки по к |
переменным. |
|
|
|
|
|
|
|
|
|
|
|
Доказательство. Прежде всего определим, при каких условиях |
||||||||||||
выполняется равенство х" = 1 . |
|
|
|
|
|
|
|
|
||||
(Очевидно, ч^го это имеег место при д: = а . В самом деле, если |
х = <х, |
|||||||||||
то а*^ = а а -+• а а = а -+• а |
= !; если д: = а , то а** = а а |
4- а а |
= а а |
= О. |
||||||||
С |
учетом ГЮГО, что |
д:" = ! |
при х = а., |
можно |
утверждать, |
что |
||||||
конъюнкция |
вида |
х,"'д:^* •••^,?" |
равна |
единице |
|
при |
д:, = a j , |
|||||
-Vj -iXj-.-x,, |
= а „ . |
|
|
|
|
|
|
|
|
|
|
|
Эти равенства можно подставить в правую часть выражения |
||||||||||||
(2.18). |
В |
результате |
vxJ*'д:"^ •••^Т |
/(л^и-^2'•••'•^^ft'•••••-^у.) ~ |
||||||||
|
|
|
|
|
|
i |
|
|
|
|
|
|
^ /(.Y|, .Y2 |
, Xj,..., х„), что и требовалось доказать. |
|
|
|
|
|
||||||
С л е д с т в и е |
1: если |
А: = !, то функция алгебры логики |
представляет |
|||||||||
ся в виде |
|
|
|
|
|
|
|
|
|
|
|
|
/(Х|, JTj,..., ^„) = -^i/CU ^2^ •••> •*^н)'^ •^1/(0, л:^, -•-, х„). |
|
|
(2.19) |
|||||||||
С л е д с т в и е |
2: если А: - и, то любая ФАЛ может быть представлена в |
|||||||||||
виде |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/(д:,, Xj, ...,х„) = \ух^'х2^ ...х"". |
|
|
|
|
(2.20) |
2, Автомат как основной элемент информационных систем
Совершенная нормальная дизъюнктивная форма (СНДФ) — ФАЛ, за данная в виде (2.20).
Рассмотрим основные свойства СНДФ:
вСНДФ нет двух одинаковых миитермов;
вСНДФ ни один минтерм не содержит двух одинаковых множителей (переменных);
вСНДФ ни один минтерм не содержит вместе с переменной и ее отри
цание.
На основании этих свойств можно предложить следующий алгоритм получения СНДФ из таблицы истинности:
1. Положить номер строки в таблице / = 1, номер элемента в строке 7 = 1. 2. Выбрать из таблицы набор с номером /. Если / = 1, то перейти к
п.3, если / * I, — к п. 5.
3.Сформировать терм /^ . Выбрать элемент строки с номерому.
0, то /^ := /^ л х^,
Если X, = 1, то F := ^^ л X,.
4. |
Вычислить 7 := У + 1. Если i < «, то перейти к п. 3, если ! > и, — к и. 5. |
5. |
Вычислить / := / + 1. Если / < 2", то перейти к п. 2, если г > 2", — к [i. 6. |
6. |
Конец. |
Пример 2.S. Представить функцию, заданную таблицей 2,14. а СИДФ, |
|
||||||
|
|
|
/ |
|
|
Таблица 2.14 |
|
Т| |
Ч |
^3 |
^1 |
"г |
^, |
/" |
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
1 |
0, |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Решение, Решение проводится в соответствии с вышеприведенным алгоритмом |
|||||||
Ответ |
/(.г,, j ^ . |
х^)^х^х^х^ + jCjjc^^i + х^х^х^, |
|
|
|
||
Рассмотрим СНФ для других функций. |
|
|
|
||||
Пусть имеется терм вида Ф, = д:"' v х^^ v ... v х"", где |
|
|
|||||
|
|
Ф,= |
[о, если номер набора равен i; |
|
|
||
|
|
I, если номер набора не равен г. |
|
|
56
2 6. Совершенные нормальные формы
Если X, = а, и а, — текущий элемент двоичного набора, то тогда возможны случаи;
\) х,={) |
2)д:, =0 |
3)x, |
=1 |
4) х, = 1 |
|
а, =0 |
а, = 1 |
а, |
=0 |
а, |
=1 |
а, =1 |
а, = 0 |
а, = 1 |
а, |
=0 |
|
л:"' = X -^0 |
*,"' = *, = 1 |
J^°' = X = 1 |
х^' |
=х = 0. |
В случае, когда х"' = О для |
х, -а,, |
терм Ф, можно использовать в |
||
представлении (2.13) и (2.14). |
|
|
|
|
Теорема. Любая ФАЛ, |
кроме |
абсолютно |
истинной |
функции, |
лголсет быть представлена |
в совершенной конъюнктивной |
нормаль |
||
ной форме (СКНФ): |
|
|
|
|
/ ( х , , Х 2 , . . . , д:^)-л(д:"' |
v д:"= V ... V д:""). |
(2.2!) |
||
Для представления логической функции используются операции И, |
||||
ИЛИ, Н Е ( л , v , l ) . |
|
|
|
|
С л е д с т в и е : любая ФАЛ, кроме конституэнты |
!, может быть пред |
|||
ставлена в виде |
|
|
|
|
/(X,, Хз,..., х^) = ~(х"' ...vx"' V... v x " " ) . |
(2.22) |
Здесь используются операции неравнозначности, дизъюнкции, отрица ния {-г , V , 1 ).
Пример 2.6. I laid и СКИФ для функции (см. табл. 2.1!). Ре 111 е и и е , Решение проводится по формуле (2.2!)
'>io представление более i ромоздкое, чем представление этой функции в СНДФ, так как
втаблице много cipoK, для которых /== О .
Врассмотренных ранее объединениях термов были использованы для записи термов /^,, и Ф,^ операции ИЛИ, НЕ, а также И, НЕ. Можно исполь
зовать также набор из импликации (->) и отрицания (НЕ).
С п о с о б ы п р е о б р а з о в а н и я НФ в СНФ. Совершенная нормаль ная форма огличаеюя от нормальной формы (НФ) тем, что всегда содержит термы только максимального ранга и Дает однозиачное представление функции.
Произвольная нормальная дизъюнктивная форма (НДФ) переводится в СНДФ CJreдy^oшим образом.
2 Автомат как основной элемент информационных систем
Пусть /„ф = /^ . Тогда
|
/с„ф=/=;д:, vf;^,, |
|
(2.23) |
||
где X, ~— переменная, которая не входит в данный терм |
F,. |
|
|||
Пример 2.7. Логическую функцию, заданную в НДФ |
|
|
|
||
f ( x , , J C j , Х-^, JC4) = XjX'2'^ |
Д Г 2 ^ з ^ 4 ' ^ |
^ 1 ^ 3 • ' ^ 4 ^ |
X^XjXjX^ |
, |
|
|
F, |
Fi |
F^ |
Fi |
|
преобразовать в СНДФ. |
|
|
|
|
|
Р е ш е н и е . Воспользуемся tipncMOM |
рфеобразования (2.23) поочередно к термам |
||||
f i = Х^Х2 (^3 V .?, ) = Х^Х^Х^ V Х|.Г, J j , |
|
|
|
|
|
Оба члена полученного выражения умножим на (jr^ v J^) - |
|
|
|||
В результате гюлучим |
|
|
|
|
|
/•| ^^ Х^Х^Х-^Х^ V Х^Х2Х'^Х^ V Х^Х^Х^Х^ |
V Х^Х^ХуХ^ . |
|
|||
Аналогично, |
|
|
|
|
|
f; |
= х^х^х^ V (д:, V jc,) = х^х^х^х^ v Jc,^2-^3*4 • |
|
|||
f j |
= i(i^3-'^4 (•'^l "^ •*'2 ) = -^1-^2^3-^4 ^ JC|^2'''3-*'4 • |
|
|
После приведения подобных членов определяем СНДФ.
Ответ: /(дг,. Лг, -'^э- -'^4) ~ •*! -^2' ^з ^4 '^ ^i ^2 -^з-*'4 ^ •*( ^г ^з ^•t ^-'^i ^г^г -*'4 '^•'^i ^2 -^з -^4 ^
V X | ДГ2 ^ 3 ^ 4 ^ ^1 ^ 3 -^3 -^4 '^ ^1 -^^2 •'^З ^А -
Если максимальный ранг для функции равен г, а минимальный ран) у-го терма равен к, ю преобразование (2.23) необходимо применить ку-му терму
{г-к) раз.
Произвольная НКФ переводится в СКНФ путем следующего преобра зования.
Пусть/нкф=Ф|. Тогда |
|
|
|
/сикФ = '^1 V x,Xi = (Ф, V X, )(Ф, V ж,). |
(2.24) |
||
Пример 2.8. Преобразовать в СКНФ логическую функцию |
|
||
f{X\ , -г2 . -^3 ) = (^1 V Xj)(X2 |
V ^3 ) (J^i V Л ; V JTj ) . |
|
|
Ф| |
Ф: |
Ф) |
|
Р е ш е н и е . Применяем правило преобразований (2.24) поочередно к термам |
Ф^ и Ф^ • |
||
Ф, =(д:| V J : ; ) ' ^ ^ =(-^1 |
VJC2 УДГЗ)(Л| VJCJ VS^); |
|
|
Ф2 =(J:J VX3)VJ:|X| = (J:, |
V JTJ У1З)(Х| V JTJ V J,). |
|
После упрощений СКНФ примет окончательный вид.
Ответ: /С1СНФ(-^1'-^2'^з) = (^i ^ Д^г v д;,К-1С, v дг^ УХЗ)(1, УДГЗ V J , ) .
58
2 7 Системы функций алгебры логики
2.7. Системы функций алгебры логики
Рассмотрим теорему Жегалкина, которая играет важную роль в алгебре логики.
Теорема Жегалкниа. Любая булева функция может быть пред
ставлена многочленом вида f(x^, Х2,..., |
х„) = kQ@ k^x^@ к2Х2® ...@ |
|||||
Ф*,„|Х|*2 Ф*»*2^1*з Ф - - ® *n+m^i*2*n'•"'^ |
*, —Коэффициенты, при |
|||||
нимающие значения О или 1. |
|
|
|
|
|
|
Теорема Жегалкина дает возможность представить любую логическую |
||||||
функциго в виде полиномов разной степени. |
|
|
|
|
||
CyuieCTByeT несколько классов ФАЛ, которые также важны для логи- |
||||||
ческо! о анализа. |
|
|
|
|
|
|
Класс линейных функций (Kj,). Булева функция называется линей |
||||||
ной, если она представляется полиномом первой степени: |
|
|||||
/(х,,Х2,...,х„) |
= |
ка®к,х,®к2Х2®...®к„х„. |
|
|||
KojHi4ecTBo линейных функций равно 2"^ |
. Например, для |
и - 2 коли- |
||||
чес I во линейных функции равно восьми, т. е. |
|
|
|
|||
1) У|(Х|,-т,) = 0;2) f2(x,,X2) |
= x,;J) |
f,(x„X2) |
= X2;4) |
f,(x„X2) |
= х,®Х2; |
|
5) y,{V|,.v,) = l ® ^ ; 6 ) f„(x„X2) = l®X2;l) |
f^(x^,X2) |
= ^®x^®X2•, |
8)Л(-«|,^2) = 1-
Класс функций, сохраняющих нуль (К„). Если функция на нуле вом наборе неременных равна нулю, то говорят, что функция сохраняет нуль:
/(0,0, ... ,0) = 0.
^1ля двух неременных (табл. 2.15) такими функциями являются /|' 72' ,А' fi- /5'.Аб'/7' Л •
Класс функций, сохраняющих единицу (К,) . Если функция на еди ничном наборе переменных равна единице, то говорят, что такая функция со.чраняет единицу: /(1,1, ... , 1) = 1. Для двух переменных такими функ циями являются ./2,/4,Л,/8,/|о,/|2,У|4./|б (см. табл. 2.15).
Класс монотонных функции (К„). Функция алгебры логики называ йся монотонной, если при ;гюбом возрастании набора значения этой функ ции не убывают. Примером таких функций для двух переменных являются функции . А , . / г . л , / б , л . / и (см. табл. 2.15).
59
2. Автомат как основной элемент информационных систем
Т а б л и ц а 2.15
Функция 00 0|Ч., 10 II
л |
0 |
0 |
0 |
0 |
|
л |
0 |
0 |
0 |
1 |
|
л |
|||||
0 |
0 |
1 |
0 |
||
л |
|||||
0 |
0 |
1 |
1 |
||
|
|||||
/. |
0 |
1 |
0 |
0 |
|
л. |
0 |
1 |
0 |
1 |
|
|
|||||
/, |
0 |
1 |
1 |
() |
|
л |
0 |
1 |
1 |
1 |
|
л |
1 |
0 |
0 |
0 |
|
|
|||||
/ | 0 |
1 |
0 |
0 |
1 |
|
/и |
1 |
0 |
1 |
0 |
|
/|2 |
1 |
0 |
1 |
1 |
|
/п |
1 |
1 |
0 |
0 |
|
/ , 4 |
1 |
1 |
0 |
1 |
|
/ IS |
1 |
1 |
1 |
0 |
|
/к, |
1 |
1 |
1 |
1 |
|
к„ |
Классы |
|
|
Кл |
К| |
к„ |
Кс |
|
V |
V |
|
V |
|
|
V |
V |
V |
|
|
V |
|
|
|
V |
V |
V |
V |
V |
|
V |
|
|
|
V |
V |
V |
|
^ |
V |
V |
|
|
|
- |
V |
V |
V |
|
|
- |
- |
- |
|
V |
|
V |
|
|
V |
|
|
|
V |
|
|
V |
|
|
V |
|
|
|
V |
|
|
V |
|
|
- |
- |
- |
- |
-' |
|
|
V |
V |
|
Класс самодвийствениых функций (К,) . Функция алгебры JIOIHKH является самодвойственной, если на каждой паре противоположных набо ров она принимает противоположные значения, т. е.
/(*1,ДГ2, ... ,ДГ„) = / ( * | , Л Г 2 , . . . , Д Г „ ) .
Для двух переменных такими функциями являются /4, Л, ./^р Уп • Все названные выше классы функций обладают замечательным свой
ством: любая функция алгебры логики, полученная с помощью операции суперпозиции и подстановки из функций одного класса, обязательно будет принадлежать этому же классу.
Базисом называется полная система ФАЛ, с помощью которой любая ФАЛ может быть представлена суперпозицией исходных функций.
60