Uploaded by bai.64

АКС

advertisement
Алгебра логики
1. Формулы алгебры логики
Определение. Под булевской переменной понимают переменную,
которая может принимать только два значения – 1 или 0 («истина» или
«ложь», что иногда обозначается буквой И(Л)).
Будем обозначать булевские переменные малыми латинскими
буквами (p, q, x, y, z,...).
Отрицанием высказывания р называется высказывание р (p),
которое истинно, если р ложно, и ложно, если р истинно. Высказывание
ð читается так: «не р». Таблица истинности для р имеет вид табл. 3.1.
Таблица 3.1
Таблица истинности ð
р
р
1
0
0
1
Конъюнкцией высказываний р, q называется высказывание pq
(p&q), которое истинно, если р и q истинны, и ложно, если хотя бы одно
из высказываний р или q ложно. Высказывание p&q читается : «р и q».
Дизъюнкцией высказываний р, q называется высказывание pq,
которое истинно, если бы хотя бы одно из высказываний р или q
истинно, и ложно, если оба они ложны. Высказывание pq читается: «р
или q».
Импликацией высказываний р или q называется высказывание p
q, которое ложно, если р истинно и q ложно, и истинно во всех
остальных случаях. Высказывание pq читается так: «если р, то q».
Эквивалентностью (или эквиваленцией) высказываний р, q
называется высказывание pq, которое истинно, если оба
высказывания р и q одновременно истинны или ложны, и ложно во всех
остальных случаях. Высказывание pq читается «р тогда и только
тогда, когда q».
Неравнозначностью (или сложением по модулю два)
высказываний р, q называется высказывание pq, которое ложно, если
оба высказывания р и q одновременно истинны или ложны, и истинно
во всех остальных случаях. Высказывание pq читается «р
неравнозначно q».
Таблица истинности для этих логических операций имеет вид
табл. 3.2.
Таблица 3.2
Таблица истинности основных логических операций
р
q
p&q
pq
pq
p q
pq
1
1
1
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
Все высказывания можно разделить на простые (или
элементарные) и составные (или сложные). Всякое сложное
высказывание, которое может быть получено из элементарных
высказываний посредством применения определенных выше пяти
логических операций, называется формулой алгебры логики.
Формулы алгебры логики будем обозначать большими
математическими буквами. Логические значения формулы при
различных комбинациях значений входящих в нее высказываний можно
описать посредством таблицы, которая называется таблицей истинности
формулы.
Формула А, принимающая истинное значение при любых
комбинациях значений входящих в нее высказываний, называется
тождественно истинной формулой (ТИФ) или тавтологией и
записывается А1. Формула В, принимающая ложное значение при
любых комбинациях значений входящих в нее высказываний,
называется тождественно ложной формулой (ТЛФ) и записывается В0.
Ниже приводятся примеры к этому разделу.
Пример 146. Среди следующих предложений выделите
высказывания и установите, истинны они или ложны:
1) река Волга впадает в озеро Ильмень;
2) всякий человек имеет брата;
3) да здравствуют наши спортсмены;
4) существует человек, который моложе своего отца;
5) который час?
6) ни один человек не весит более 1000 кг;
7) 23<5;
8) для всех действительных чисел x и y верно равенство x + y = y +
x;
9) x2 – 7x + 12;
10) x2 – 7x + 12 = 0.
Решение. Легко видеть, что высказывания 4), 6), 8) – истинны, а
высказывания 1), 2), 7) – ложны. Предложения 3), 5), 9), 10) не являются
высказываниями.
Пример 147. Пусть р – высказывание «Студент N изучает
французский язык», q – «Студент N успевает по математической логике
(МЛ)». Необходимо привести словесную формулировку высказываний:
1) p  q ; 2) pq; 3) q  p .
Решение.
а) «Студент N изучает французский язык и не успевает по МЛ»;
б) «Если студент N изучает французский язык, то он успевает по
математической логике»;
в) «Студент N не успевает по МЛ тогда и только тогда, когда он не
изучает французский язык».
Задача 148. Из элементарных высказываний: р – «это число
целое»; q – «это число положительное»; r – «это число простое» и s –
«это число делится на 3» – составлены следующие сложные
высказывания, заданные логическими формулами:
а) р  q ;
б) р  q ;
в) р  р ;
г) q  q ;
д) s  r ;
з) ( p  q )  (r  s ) ;
е)  p  r   s ;
ж)  p  s   r
и) p  s ;
к) ( p  q  r )  s .
Необходимо прочесть все эти сложные высказывания на русском
языке.
Задача 149. Какие из следующих предложений являются
высказываниями?
1) Москва – столица России;
2) студент факультета автоматики и вычислительной техники;
3) 3  2 7  28 ;
4) Луна является спутником Марса;
5) а > 0.
Применение логических операций позволяет формализовать
любые высказывания, представленные предложениями естественного
языка. Частица «не» соответствует логической операции отрицания,
союзы «и», «а» – логической операции конъюнкции, «или» («либо –
либо») – логической операции дизъюнкции. Условному предложению
вида «если – то» соответствует логическая операция импликации
(условное предложение), слова-связки «тогда и только тогда»
равносильны логической операции эквивалентности (биусловное
предложение).
Например, предложение: «2 есть простое число и 6 есть составное
число» символически можно записать так: p&q.
Рассмотрим
более
сложное
высказывание:
«Если
капиталовложения
останутся
постоянными,
то
возрастут
правительственные расходы или возникнет безработица. Если
правительственные расходы не возрастут, то налоги будут снижены.
Если налоги будут снижены и капиталовложения останутся
постоянными, то безработица не возникнет». Обозначим простые
высказывания: a – «капиталовложения останутся постоянными», b –
«правительственные расходы возрастут», c – «возникнет безработица»,
d – «налоги будут снижены». Первое предложение соответствует
импликации, причем антецедентом является a («капиталовложения
останутся постоянными»), консеквент состоит из дизъюнкции
предложений b («правительственные расходы возрастут») и c
(«возникнет безработица»). Второе и третье предложения также
представляют собой импликации, причем в третьем предложении
антецедент состоит из конъюнкции высказываний d («налоги будут
снижены») и a («капиталовложения останутся постоянными»). Все три
предложения сложного высказывания следует рассматривать как
конъюнкцию. Символическая запись имеет вид:
(a  (b  c)) & (b  d ) & ((d & a)  c ) .
Задача 150. Формализуйте следующие высказывания:
1) 2 простое число и 3 простое число;
2) Число n делится на 2 или на 3;
3) Высказывание a истинно или ложно;
4) Неверно, что две стороны трапеции конгруэнтны и
параллельны;
5) Две стороны трапеции не конгруэнтны или не параллельны;
6) Неверно, что 100 делится на 3 и на 7;
7) 100 не делится ни на 3, ни на 7;
8) Если число четно и больше 2, то оно равно сумме двух простых
чисел;
9) Если с >0, с>b и c2a2+b2, то неверно, что треугольник со
сторонами a,b,c – прямоугольный;
10) Две плоскости параллельны тогда и только тогда, когда они не
имеют общих точек или совпадают.
Пример 151. Является ли высказыванием следующее
предложение: «Это предложение ложно»? Поскольку решение примера
может вызвать затруднения, приведем пояснения.
Итак, ответом будет: «Нет, так как предположение об истинности
или ложности данного предложения приводит к противоречию».
Еще один классический пример – «Парадокс критянина».
Критский философ Эпименид сказал: «Все критяне – лжецы». Если то,
что он сказал верно, то, поскольку Эпименид сам критянин, сказанное
им есть ложь. Следовательно, то, что он сказал, есть ложь. Тогда
должен быть такой критянин, который не лжет. Последнее не является
логически невозможным, и здесь нет настоящего парадокса. Тем не
менее, тот факт, что произнесение Эпименидом этого важного
высказывания может повлечь за собой существование критянина,
который не лжет, до некоторой степени обескураживает.
Задача 152. Пусть p и q – высказывания: p – «я учусь в
радиотехническом университете», q – «я люблю математическую
логику». Прочтите следующие сложные высказывания: 1) p ; 2) p ; 3)
p&q ;
p&q;
4)
5) p & q ; 6) p & q ; 7) p & q .
Задача 153. По мишени произведено 3 выстрела. Пусть Аk
мишень поражена при k-ом выстреле}, k=1,2,3. Что означают
следующие высказывания?
1) A1A2A3;
2) A1&A2&A3;
3) ( À1 & À2 & À3 )  ( À1 & À2 & À3 )  ( À1 & À2 & À3 ) ;
4) ( À1 & À2 )  ( À1 & À2 & À3 )  ( À1 & À2 & À3 ) .
Задача 154. 1) Известно, что импликация pq истинна, а
эквиваленция pq ложна. Что можно сказать о значении импликации
qp?
2) Известно, что эквиваленция pq истинна. Что можно сказать о
значениях эквиваленций qp и q  q , о значениях импликаций ð  q
и qp?
Задача 155. Проверить, не составляя таблиц истинности, являются
ли следующие формулы тождественно истинными:
2) р  р ;
3) р  р ;
1) pp;
4) р  р ;
5) р  р ;
6) pp;
7) ( p  р)  р ;
8) р & ( p  p ) ;
9) ( p  p)  p ;
10) p  p & ( p  p & p) ; 11) p  ( p  p ) ;
12) р  р ;
13) p  р ;
14) ( р  р)  ( р  р) .
Ответ. Тождественно истинными являются формулы 1); 2); 3); 6)
10); 13); 14).
Пример 156. Составить таблицу истинности составного
высказывания а&(bc)(bc&a) b . Вначале необходимо определить
приоритет (последовательность) выполнения логических операций. Для
данного примера приоритет определится так, как это показано ниже.
5
2
7
4
3
6 1
a &(b  c) (b  c & a)  b
Определяют количество переменных, входящих в высказывание, и
выписывают всевозможные наборы значений этих переменных.
Количество наборов переменных определяет число строк таблицы
истинности и для бинарных переменных оно равно 2n, где n – число
различных переменных. Количество столбцов таблицы истинности
определяется количеством последовательно выполняемых операций.
Для данного примера таблица истинности имеет вид таблицы 3.3.
Таблица 3.3
Таблица истинности для примера 11
а&(bc)
a b c b bc c&a bc&a а&(bc) (bc&a) b
(bc&a) b
0 0 0 1
1
0
0
0
1
0
0 0 1 1
1
0
0
0
1
0
0 1 0 0
0
0
0
0
0
1
0 1 1 0
1
0
0
0
0
1
1 0 0 1
1
0
0
1
1
1
1 0 1 1
1
1
0
1
1
1
1 1 0 0
0
0
1
0
1
0
1 1 1 0
1
1
1
1
1
1
Задача 157. Составьте таблицы истинности для формул:
1) ( x  y )  ( x & y  x  y ) ;
2) ( x1 & x2 )  x3 ;
3) x & y  ( y  x  x ) ;
4) ( x1  x2 )  ( x1  x2  x3 ) ;
5) (a  b)  (a  c  b)  (b & c & a )  (a & b) ;
6) (a  d  b)  (a  b  c)  b ;
7) d & c  (a  b & c  d ) & (b & d  a) ;
8)
(a  b  c)  a & (a  b)  d & b ;
9) (a  b  c) .


10) p  q & p   p  q  ;
11)  p &  q  p    p ;
12)
 p & q   q    p  q  ;
13) x & y   y  x  z  ;


14)  x1  x2   x1  x2 & x3 ;
16)  x  z  &  y  1  x   ;
17) x1   x2  ...  xn  ... ;
18) x1  x2  ...  xn  y1 & y2 &...& yn .
Задача 158. Полиция задержала четырех гангстеров,
подозреваемых в краже автомобиля: Анри, Луи, Жоржа и Тома. При
допросе они дали следующие показания.
Анри: «Это был Луи».
Луи: «Это сделал Том».
Жорж: «Это не я».
Том: «Луи лжет, говоря, что это я».
Дополнительное расследование показало, что правду сказал
только один из них. Кто украл машину?
Решение примера произвести на основе пояснения. Обозначим
утверждение вида «N украл машину» первой буквой имени, стоящего на
месте N, тогда результат допроса и дополнительного расследования
можно выразить так: дизъюнкция показаний Л  Т  Ж  Т истинная, и
если истинно одно из показаний, то ложны все остальные. Согласно
закону исключенного третьего Т истинно либо Т истинно, значит Л
ложно и Ж ложно, откуда следует, что Ж истинно, то есть машину
украл Жорж.
Задача 159. Пусть x = 0, y = 1, z = 1. Определите логические
значения нижеследующих сложных высказываний:
1) x &  y & z  ;
2)  x & y  & y ;
3) x   y  z  ;
4) x & y  z ;
5)  x & y    z  y  ;
6)
 x  y  & z    x & z    z & y  .
Задача 160. Даны следующие элементарные высказывания a
число 3 является делителем числа 171}, bПетров - отличник}, c
число 2 больше числа 3}, dидет дождь}. Определите их истинность.
Применяя к данным высказываниям операции отрицания, дизъюнкции,
эквивалентности и импликации, можно получить 34 сложных
высказывания. Сколько среди них истинных, если a и b истинны, а c и d
ложны?
Решение осуществите самостоятельно, а затем проверьте его
правильность в соответствии с приведенными рассуждениями.
Для отрицания имеем 4 высказывания – a, b, c, d, из которых 2
истинны. Дизъюнкция даст 6 высказываний – ab, ac, ad, bc, bd и c
d – первые 5 истинны. Конъюнкция даст 6 высказываний ab, ac, ad,
bc, bd, cd, из которых истинно только первое. Эквивалентность
дает 6 высказываний – ab, ac, ad, bc, bd, cd – истинными
являются 2 (первое и последнее). Импликация дает 12 высказываний: a
b=1, ac=0, ad=0, bc=0, bd=0, ba=1, cd=1, ca=1, cb=1, d
a=1, db=1, dc=1, среди которых истинны 8. Всего получаем
2+5+1+2+8=18 истинных высказываний.
Задача 161. Определить истинность высказываний:
1) a & (a & b  c )  a & b , если a=0, b=1, c=0;
2) b  (d  a  b  c)  c , если a=0, b=0, c=1, d=1;
3) b  (d  a  b  c)  c , если a=1, b=0, c=1, d=0;
4) a  b & (d  b  c  a  d )  c , если a=0, b=1, c=0, d=1;
5) a & (b  c & a  d  c & a ) , если a=1, b=1, c=0, d=0;
6) a & (b  c & a  d  c & a ) , если a=1, b=0, c=0, d=1;
7) (a  d  c)  (b  c  a & b ) , если a=0, b=1, c=0, d=1;
8) (a  d  c)  (b  c  a & b ) , если a=1, b=0, c=1, d=0;
9) (b  c  (a  b))  (c  a  d ) , если a=1, b=0, c=0, d=1;
10) (b  c  (a  b))  (c  a  d ) , если a=0, b=1, c=0, d=0.
Задача 162. Как объяснить, что загадка «Хожу на голове, хотя и
на ногах, хожу я без сапог, хотя и в сапогах» имеет решение-отгадку
(гвоздь в подошве сапога). Не нарушен ли здесь закон противоречия?
Приобретенные навыки позволят Вам без особых затруднений
выполнить задачу 18.
Задача 163. Установите, какие из следующих формул являются
тождественно истинными, тождественно ложными:
1) x  y  x & y ;
2)  x  y    y  x  ;
3) p1   p2  p1  ;
4) p1   p1  p2  ;
 p & q   q    q  p  ;
6)   p  q  &  q  r     p  r  ;
7)  x  z     y  z    x  y   z  ;
8)  p1  p2     p1  p    p2  p   ;
5)
9)  p1  p2  p3     p1  p2    p1  p3   ;
10)  p1  p2     p1 & p    p2 & p   .
Результаты доказательств можно сверить с ответами: 1) ТИФ; 2)
ТИФ; 3) ТИФ; 4) ТЛФ; 5) ТЛФ; 6) ТИФ; 7) ТИФ; 8) ТИФ; 9) ТИФ; 10)
ТИФ; 11) ТЛФ; 12) ТИФ; 13) ТИФ; 14) ТЛФ.
Задача 164.
1) Постройте с помощью отрицания и дизъюнкции формулу,
таблица истинности для которой совпадала бы с таблицей для
импликации.
2) Аналогично п.1 с помощью отрицания и импликации постройте
формулу, таблица истинности для которой совпадает с таблицей для
дизъюнкции, и вторую формулу с таблицей, совпадающей для
конъюнкции.
Понятие подформулы
1. Если формула А есть переменная х, то ее подформулой является
х.
2. Если Ā – формула, то ее подформулами являются Ā, А и все
подформулы формулы А.
3. Если А*В – формула (под знаком * подразумевается любая из
операций ,&, , ,  ), то ее подформулами являются А*В, А, В и все
подформулы формул А и В.
Пример 165. Выписать все подформулы формулы А
 x  y &  x  y.
Формула А – подформула нулевой глубины;
x  y,  x  y  – подформулы первой глубины;
x  y, x , y – подформулы второй глубины;
x, y – подформулы третей глубины.
Задача 166. Выпишите все подформулы формул (здесь и далее
знак конъюнкции, если это не вызывает неоднозначности, опускается по
аналогии с тем, как в алгебре опускается знак умножения):
1)  x   x & z   x  yz     xy  z y &  xz  .






2) a & c  a & c  ab  ac & b  a  c ;
3)
 a  b c  ab  abc   ab  c  a   a  ab  b  ;



4) x  xy  y & xy   xyz   z  x   ;
5)
b & a  c    a  b  & b  c  &  a  b  ;
6)
 xy  & xy  y   xyz   x   xz  y ;
 a & b  c    c  d    a  bc  & a & c   b  c  ;
8)   y & x  z    y  z  x & y     x & z  y  z  ;
7)


 

9) ab  bc &  a  b  c  & abc  ac  b ;
10)  z  x     z  y    z  x & y    x ;


11)  x &  y  z  x & y    y  x & z ;
12) x  xz  xy & z y  x  yz .
2. Равносильные формулы алгебры логики
Определение. Две формулы А и В логики высказываний
называются равносильными, если они принимают одинаковые
логические значения на любом наборе значений входящих в них
высказываний.
Иначе, две формулы логики высказываний, определяющие одну и
ту же функцию, называются равносильными. Равносильность
обозначают знаком  (АВ).
Важнейшие равносильности можно разбить на три группы.
I. Основные равносильности.
1) х & x  x ( x & x &...& x  x) 
 - законы идемпотентности;
2) x  x  x ( x  x  ...  x  x) 
3) х&1  x;
4) х1  1;
5) х&0  0;
6) х0  x;
7) x & x  0 – закон противоречия;
8) x  x  1 – закон исключенного третьего;
9) x  x – закон снятия двойного отрицания;
10) x & ( y  x)  x 
  законы поглощения.
11) x  ( y & x)  x 
II. Равносильности, выражающие одни логические операции через
другие.
1) хy  (xy) & (xy);
2) ху  х  у ;
3) х & у  х  y 

  закон де Моргана ;
4) x  y  x & y 

5) х &y  x  y ;
6) х  y  x & y .
III. Равносильности, выражающие основные законы алгебры
логики.
1) х &y  y & х – коммутативность конъюнкции;
2) х  y  y  х – коммутативность дизъюнкции;
3) х&(y&z)  (х&y)&z – коммутативность конъюнкции;
4) х(yz)  (хy)z – ассоциативность дизъюнкции;
5) х&(yz)  (х&y)(х&z) – дистрибутивность конъюнкции
относительно дизъюнкции;
6) х(y&z)  (хy)&(хz) – дистрибутивность дизъюнкции
относительно конъюнкции.
Очевидно, что отношение равносильности формул логики
высказываний (так же как отношение тождественности алгебраических
выражений) является:
1) рефлексивным А  А для любой формулы А.
2) симметричным, то есть если А  В, В  А для любых формул А и
В.
3) транзитивным, то есть если А  В и В  С, то А  С для любых
формул А, В, С.
Используя равносильности I, II, III и их свойства, можно часть
формул алгебры логики или всю формулу заменить равносильной ей
формулой.
Такие
преобразования
называют
равносильными.
Равносильные преобразования формул применяются для доказательства
равносильностей, для приведения формул к заданному виду, для
упрощения формул.
В качестве примера преобразования формулы логики
высказываний с использованием некоторых из перечисленных выше
свойств приведем преобразование формулы pqr в формулу рr  q .
В скобках будут указаны используемые свойства логических
операций:
(II.2)
pqr  pq  r ;
 ( p  q )  r ; (II.3)
 ( p  r)  q ;
(III.2, III.4)
 pr  q ;
 pr  q
(I.9, II.3-4)
(II.2).
Отношение равносильности этих формул pqr и ðr  q докажем
посредством таблиц истинности.
Таблица 3.4
Таблица истинности формул pqr и ðr  q
pr  q
р
q
r
pq
pqr
pr
q
r
И И И
И
И
Л
Л
Л
И
И И
Л
И
Л
И
И
Л
Л
И
Л И
Л
И
Л
Л
И
И
И
Л
Л
Л
И
И
И
И
И
Л И И
Л
И
Л
Л
Л
И
Л И
Л
Л
И
И
Л
Л
И
Л
Л И
Л
И
Л
Л
И
И
Л
Л
Л
Л
И
И
Л
И
И
1
2
3
4
5
6
7
8
9
Так как столбцы 5 и 9 значений анализируемых формул
совпадают, то есть эти формулы принимают одинаковые значения (обе
– И, или обе – Л) при любом наборе значений переменных p, q, r, то они
определяют одну и ту же функцию логики высказываний (в данном
случае – одну и ту же трехместную функцию или отображение типа

И, Л ).
И, Л3 
Рассмотрим некоторые наиболее распространенные соглашения о
записи формул.
При решении задач, примеров необходимо помнить следующее:
1. Не заключать в скобки формулу или часть ее, стоящую под
знаком отрицания, то есть писать p  q & r вместо ( p  q) & r .
Операция инверсии является наиболее приоритетной среди
основных операций.
2. Считать, что знак конъюнкции связывает аргументы формулы
«сильнее» знаков дизъюнкции, импликации и эквиваленции, то есть
писать
p & q  r вместо ( p & q)  r ;
p  q & r вместо p  (q & r ) ;
p & q  r & s вместо ( p & q)  (r & s) .
3. Считать, что знак дизъюнкции связывает сильнее, чем знак
эквиваленции, то есть писать
p  q  r вместо ( p  q )  r ;
p  q  r вместо p  (q  r ) .
4. Считать, что знак импликации связывает сильнее, чем знак
эквиваленции, то есть писать
p  q  r вместо ( p  q)  r .
5. Опускать внешние скобки, то есть скобки, которые заключают
внутри себя все остальные символы, составляющие формулу. Так,
формулу ( p & (q  r )) писать p & (q  r ) .
Соглашения 1-5, а также опускание знака конъюнкции,
значительно упрощают запись формул.
Например, формула
((( p & q)  r )  (( p  q)  r )) ,
записанная с учетом этих соглашений будет выглядеть так:
pq  r  ( p  q  r ) .
При чтении формула может быть названа по «последней»
операции, знак которой слабее всех остальных знаков операций,
входящих в формулу. Так, записанная выше формула представляет
собой импликацию.
Для закрепления этого материала рассмотрим несколько
примеров.
Пример 167. Записать нижеследующие формулы с учетом
принятых выше соглашений об опускании скобок:
1) ((( p  q) & r  ((q  r )  ( p  q))) ;
2) ((( p  (q  r ))  q)  ((q  q)  ( p  q ))) ;
3) ( p & (q  (r  ( p  q))) .
Ответ. 1) ( p  q)r  q  r  ( p  q) .
Пример 168. Доказать, что формула А  х(ух) – ТИФ.
Решение. Произведем над формулой А равносильные
преобразования:
А  х(ух)  x  ( y  x)  x  ( x  y )  ( x  x)  y  È  y  È  1
В примерах будем использовать И  1; Л  0.
Пример 169. Доказать равносильность p  q  p & q .
Решение. Для доказательства равносильности подвергнем левую
часть
формулы
равносильным
преобразованиям:
p  q  p  q  p &q  p &q .
Пример
170.
Необходимо
упростить
формулу
B  ( p  q  p  q) & q .
Решение. Используя формулы равносильных преобразований,
получим следующий результат:
B  ( p  q  p  q) & q  ( p  q  p  q)  ( p  q  p  q) & q 
 (( p  p)  (q  q)) & q  (1  q) & q  1& q  q .
Задача 171. Докажите равносильность:
1) x  y  x  y ;
2) x  ( x & y )  x  y ;
3) xy  xy  x y  x  y ;
4) x  y  y  x ;
5) x  ( y  z )  x dy  z ;
6) ( x  y ) & ( z  t )  y z  xt  y t .
Задача 172. Необходимо упростить формулу:
1) ( x  x)  x ;
2) ( x  x)  y ;
3) x y  ( x  y) & x ;
4) ( x  y ) & ( x  y ) ;
5) ( x  y ) & ( y  z )  ( z  x) ;
6) ( x  y  ( z  y  y  x)) & ( x  x  ( x  x))  y ;
7) ( x & x & x  y & y  z )  x  ( y & z )  ( y & z) ;
8) ( x & ( y  z  y  z ))  ( y & x & y )  x  ( y & x & x ) ;
9) ( x  y ) & ( y  z )  ( x  z ) ;
10) ( x  z )  ( x  z )  ( y  z )  ( x  y  z ) .
Ответ. 1) х; 2) x  y ; 3) xy; 4) x&y; 5) x  z ; 6) xy; 7) 1; 8) xy;
9) 1; 10) xyz.
Пример 173. Студент решил в каникулы прочитать не менее двух
книг, сходить в театр или на концерт и, если выпадет снег, съездить за
город на лыжную прогулку. В каком случае можно считать, что он свое
решение не выполнил?
Составьте формулу, соответствующую решению студента.
Отрицание этой формулы преобразуйте так, чтобы знаки отрицания
были только над элементарными формулами. Полученную формулу
переведите на естественный язык.
Решение. Прежде всего, формализуем задачу, обозначив
соответствующие высказывания формулами:
a – прочитать не менее 2 книг;
b – сходить в театр;
c – сходить на концерт;
d – выпадение снега;
e – съездить за город на лыжную прогулку.
Тогда решение студента запишется в виде a&(bc)&(de).
Возьмем отрицание этой формулы и, используя равносильные
преобразования, получим: a  b c  de , то есть студент не выполнил
свое решение, если он за каникулы прочитал менее двух книг или не
сходил ни в театр, ни на концерт, или выпал снег, а он не съездил за
город на лыжную прогулку.
Задача 174. В одном спортивном клубе были приняты такие
правила: а) члены волейбольной секции обязаны заниматься и в секции
плавания; б) нельзя состоять одновременно в шахматной секции и в
секции плавания, не занимаясь в волейбольной секции; в) ни один член
шахматной секции не может состоять в волейбольной секции.
Упростите эти правила.
Пример 175. Выразите: а) конъюнкцию, импликацию и
эквивалентность через дизъюнкцию и отрицание; б) конъюнкцию,
дизъюнкцию и эквивалентность через импликацию и отрицание.
Решение.
а) x & y  x  y ; x  y  x  y ; x  y  x  y  y  x ;
в) x & y  x  y ; x  y  x  y ; x  y  x  y  y  x .
Пример 176. Обвиняемые А, В и С дали следующие показания: А:
«В виновен, а С невиновен»; В: «А невиновен или С виновен»; С: «Я
невиновен, но хотя бы один из А и В виновен». Совместимы ли эти
показания? Предполагая, что все показания правдивы, определите, кто
виновен.
Решение. В соответствии с условием необходимо высказывание
формулировать в виде следующей логической записи:
ÂÑ(À  Ñ)Ñ(ÀÂ  ÀÂ  ÀÂ) .
Пожалуйста, преобразуйте и упростите эту формулу, в результате
должна получиться формула: ÂÑÀ . А это значит, если перевести на
естественный язык, что виновен обвиняемый В.
Пример 177. Можно ли одновременно удовлетворить пожелания
преподавателей, если при составлении расписания на понедельник были
высказаны пожелания, чтобы математика была первым или вторым
уроком, физика – первым или третьим, литература - вторым или
третьим.
Решение. Необходимо обозначить элементарные высказывания:
Уроки математики: М1, М2– соответственно первый и второй.
Уроки физики:
Ф1, Ф3 – соответственно первый и третий.
Уроки литературы: Л2, Л3 – соответственно второй и третий.
Итак, желаемое расписание предварительно может быть
отображено логической формулой сложного высказывания:
(М1 М2) (Ф1 Ф3) (Л2Л3).
После преобразования и с учетом того, что на одном и том же по
порядку уроке не могут быть разные предметы, ответ будет таким:
М1Л2Ф3Ф1М2Л3.
В задачах 178 и 179 самостоятельно без подсказок установите
совместимость сложных рассуждений. Алгоритм их решения
аналогичен алгоритму предыдущих примеров.
Задача 178. Либо свидетель не был запуган, либо, если Генри
покончил жизнь самоубийством, записка была найдена. Если свидетель
был запуган, то Генри не покончил жизнь самоубийством. Если записка
была найдена, то Генри покончил жизнь самоубийством.
Задача 179. Если курс ценных бумаг растет или процентная ставка
снижается, то либо падает курс акций, либо налоги не повышаются.
Курс акций понижается тогда и только тогда, когда растет курс ценных
бумаг и налоги растут. Если процентная ставка снижается, то либо курс
акций не понижается, либо курс ценных бумаг не растет. Либо
повышаются налоги, либо курс акций понижается и снижается
процентная ставка.
Пример 180. Брауну, Джонсу и Смиту предъявлено обвинение в
соучастии в ограблении банка. Похитители скрылись на поджидавшем
их автомобиле. На следствии Браун показал, что преступники были на
синем «Бьюике»; Джонс сказал, что это был черный «Крайслер», а Смит
утверждал, что это был «Форд Мустанг» и ни в коем случае не синий.
Стало известно, что, желая запутать следствие, каждый из них указал
правильно либо только марку машины, либо только ее цвет. Какого
цвета был автомобиль и какой марки?
Решение. Знание математического аппарата логики высказываний
позволит следователю разрешить этот криминальный пример. Он
предварительно обозначил элементарные высказывания (показания
обвиняемых):
a - машина синего цвета;
b - машина марки «Бьюик»;
c - машина черного цвета;
d - машина марки «Крайслер»;
e - машина марки «Форд Мустанг».
Поскольку либо цвет машины, либо марка автомобиля каждым
соучастником ограбления были названы верно, тогда
показания Брауна: ab=1;
показания Джонса: cd=1;
показания Смита: a  e  1 .
Объединяя конъюнкцией эти показания, следователь получил
логическую модель раскрытия преступления:
(ab)&(cd)&( a  e ) = 1&1&1 = 1.
Используя первый дистрибутивный закон, можно заменить
конъюнкцию трех дизъюнкций на восемь конъюнкций:
(ab)&(cd)&( a  e ) = (acadbcbd)&( a  e ) = aca  ada 
bca  bda  ace  ade  bce  bde  1 .
(3.1)
Обращаем внимание, что логическое преобразование аналогично
преобразованию в обычной алгебре чисел:
(a + b) (c + d) (f + e) = acf + ace + adf + ade + bcf + bce + bdf + bde.
Анализируя выражение (1.1), получаем aca =0; ada =0 – по закону
противоречия; bda =0, ace=0, ade=0, bce=0, bde=0 – по условию задачи,
поскольку машина не может быть одновременно двух разных марок или
цветов, следовательно, bca . А это значит, что преступники скрылись на
черном «Бьюике».
Задача 181. Четыре студентки, имена которых начинаются
буквами А, Е, С, Р, посещают институт по очереди и ведут общий
конспект лекций. Необходимо составить график посещения на
ближайшую неделю, учитывая, что:
1) понедельник - день самостоятельной работы на курсе, и в
институт не ходит никто, а в субботу необходимо быть всем;
2) С и Р не смогут пойти на занятия во вторник в связи с большой
загруженностью в понедельник;
3) если С выйдет в среду или Р - в четверг, то Е согласится
побывать на занятиях в пятницу;
4) если А не пойдет в вуз в четверг, то Е позволит себе сходить
туда в среду;
5) если А или Р будут в институте в среду, то С сможет пойти в
пятницу;
6) если Р в пятницу вместо института пойдет на соревнования, то
А придется сходить в институт во вторник, а С – в четверг.
Ответ. График посещений такой: А – во вторник, Е – в среду, С –
в четверг, Р – в пятницу. Для получения графика посещения
необходимо составить формулы, отображающие элементарные
высказывания в соответствии с днями недели, используя логические
операции.
Задача 182. Четыре друга - Антонов (А), Вехов (В), Сомов (С) и
Деев (Д) решили провести каникулы в четырех различных
городах - Москве, Одессе, Киеве и Петербурге. Определите, в какой
город должен поехать каждый из них, если имеются следующие
ограничения:
1) если А не едет в Москву, то С не едет в Одессу;
2) если В не едет ни в Москву, ни в Петербург, то А едет в
Москву;
3) если С не едет в Петербург, то В едет в Киев;
4) если Д не едет в Москву, то В не едет в Москву;
5) если Д не едет в Одессу, то В не едет в Москву.
Ответ. С учетом обозначения ХY – «Х должен уехать в город Y»
ответ запишется так: АМВКСПДОАМВОСПДКАМВКСОДП.
Задача
183.
После
обсуждения
состава
участников
предполагаемой экспедиции было решено, что должны выполняться два
условия:
а) если поедет Арбузов, то должны поехать еще Брюквин или
Вишневский;
б) если поедут Арбузов и Вишневский, то поедет и Брюквин.
Требуется составить логическую формулу, упростить ее и дать
более простую формулировку принятого решения о составе экспедиции.
Комментарии к решению задачи. Назначение в экспедицию
Арбузова, Брюквина и Вишневского обозначим буквами А, Б, В
соответственно. Условие а) запишется АБВ, б) А&ВБ. Так как оба
условия должны выполняться одновременно, то они должны быть
соединены логической связкой «и». Поэтому принятое решение можно
записать в виде следующей символической формулы:
(А  Б  В) (А&В  Б)= (А  Б  В)(А  В  Б)=(А  Б)  ВВ=А  Б –
если поедет Арбузов, то поедет и Брюквин. Это и есть наиболее простая
словесная формулировка принятого решения о составе экспедиции.
Задача 184. Определите, кто из четырех студентов сдал экзамен,
если известно:
1) Если первый сдал, то и второй сдал.
2) Если второй сдал, то и третий сдал или первый не сдал.
3) Если четвертый не сдал, то первый сдал, а третий не сдал.
4) Если четвертый сдал, то и первый сдал.
Ответ. Экзамен сдали все студенты.
Задача 185. На вопрос: «Кто из трех студентов изучал
математическую логику?» получен верный ответ: «Если изучал первый,
то изучал и третий, но неверно, что если изучал второй, то изучал и
третий». Кто изучал математическую логику?
Ответ. Математическую логику изучал второй студент.
В задачах 184 и 185 необходимо доказать достоверность ответов.
Пример 186. Для полярной экспедиции из восьми претендентов A,
B, C, D, E, F, G, H надо отобрать 6 специалистов: биолога, гидролога,
синоптика, радиста, механика и врача. Обязанности биолога могут
выполнять E и G, гидролога - В и F, синоптика - F и G, радиста - С и D,
механика - С и Н, врача - А и D. Хотя некоторые претенденты владеют
двумя специальностями, в экспедиции каждый сможет выполнять
только одну обязанность. Кого и кем следует взять в экспедицию, если
F не может ехать без В, D без Н и без С, С не может ехать одновременно
с G, а А не может ехать вместе с В?
Решение. Рассмотрим 8 высказываний:
А{претендент А взят в экспедицию};
В{претендент В взят в экспедицию};
..................................................................
Н{претендент Н взят в экспедицию}.
Так как для двух претендентов, владеющих одной
специальностью, необходимо взять, по крайней мере, одного, то EG=1,
BF=1, FG=1, CD=1, CH=1, AD=1. Помимо этого в условии задачи
сказано, что B  F=1 , CH  D=1, G  C=1, B  A=1 . Выпишем
конъюнкцию всех десяти высказываний и упростим получившееся
выражение:
( B  F )( CH  D )( G  C )( B  A )(EG)(BF)(FG)(CD) (CH) (AD)
=1,
(B  F)(HC  D)(G  C)(B  A) (EG) (BF) (FG) (CD) (CH) (AD) =1.
BA(A  D)=ABA  ABD=ABD ,
Учитывая,
что
В (B  A) =
BB  BA=BA , (B  F) (BF) = В, получаем
ABD(HC  D)(G  C) (EG) (FG) (CD) (CH)=
= ABDHC(G  C)(G  EF)(C  DH)=1 .
Упрощая далее, получим
ABDHCG(G  EF)(C  DH)=
(ABDHCGG  ABDHCGEF)(C  DH)=ABCDEFGH , т.е. в экспедицию
следует взять всех, кроме А и G. Но если А не едет, то D должен ехать в
качестве врача. Поскольку не едет G, то Е обязан ехать в качестве
биолога и F в качестве синоптика, но тогда В будет выполнять
обязанности гидролога. Так как D едет врачом, то С должен работать
радистом, а следовательно, Н – механиком.
Задача 187. Докажите тождественную истинность или
тождественную ложность формул:
1)  x  y  x  y   x ;
2)  x   y  z     x & y  z  ;
3) x  x  y & y ;
4)  x & y  z    x   y  z   .
Ответ. 1) 1; 2) 1; 3) 0; 4) 1.
Задача 188. Найдите х, если x  a  x  a   b .
Ответ. х  b .
Задача 189. Однажды следователю пришлось одновременно
допрашивать трех свидетелей: Клода, Жака и Дика. Их показания
противоречили друг другу, и каждый из них обвинял кого-нибудь во
лжи:
1.
Клод утверждал, что Жак лжет.
2.
Жак обвинял во лжи Дика.
3.
Дик уговаривал следователя не верить ни
Клоду, ни Жаку.
Но следователь быстро вывел их на чистую воду, не задав ни
одного вопроса. Кто из свидетелей говорил правду?
Задача 190. Разбирается дело Брауна, Джонса и Смита. Один из
них совершил преступление. На следствии каждый из них сделал два
заявления.
Браун. Я не делал этого.
Смит сделал это.
Джонс. Смит не виновен.
Браун сделал это.
Смит. Я не делал этого.
Джонс не делал этого.
Суд установил, что один из них дважды солгал, другой - дважды
сказал правду, третий – один раз солгал, один раз сказал правду. Кто
совершил преступление?
Задача 191. Вернувшись домой, Мегрэ позвонил на набережную
Орфевр.
- Говорит Мегрэ. Есть новости?
- Да, шеф. Поступили сообщения от инспекторов. Торранс
установил, что если Франсуа был пьян, то либо Этьен убийца, либо
Франсуа лжет. Жуссье считает, что или Этьен убийца, или Франсуа не
был пьян и убийство произошло после полуночи. Инспектор Люка
просил передать вам, что если убийство произошло после полуночи, то
или Этьен убийца, или Франсуа лжет. Затем звонила...
- Все. Спасибо. Этого достаточно. - Комиссар положил трубку. Он
знал, что трезвый Франсуа никогда не лжет. Теперь он знал все.
Что следует из показаний инспекторов? Какой вывод сделал
Мегрэ?
Указание. Рассмотрите следующие элементарные высказывания:
a={Франсуа был пьян},
b={Этьен убийца},
c={Франсуа лжет},
d={Убийство произошло после полуночи}.
Задача 192. Упростите формулу:
1) x  y  y  y  y  z  ;
2) x  x  y  x  z  ;


3) x1 x2  x1x2 x3  x1  x1x4 ;

 


4) x & y  x & x  xy ;

5) xy  xyz  x  xy  y ;
6)  yz  x  x  y  z  ;
7) x  y   z  x  & yx ;
8) x  y   z  x  ;
9)  x & y    y & z  ;
10) x & y  x & x  xy ;

Задача 193. Доказать тождественную
тождественную ложность формул:
1) pqp;
2) p(pq);
3) ( p  q)  (q  p ) ;
4) (q  p )  ( p  q) ;
5) ( p  q) & ( p  q )  p ;
6) p & ( p  q) & ( p  q ) ;
7) p  p  q  q ;
8) ( p  (q  z ))  (( p  q)  ( p  z )) ;
9) ( z  p)  (( z  q)  ( z  p  q)) ;
10) ( p  z )  (( y  z )  (( p  q)  z )) ;
11) ( p  (q  z ))  ( p  q  z ) ;
12) ( p  q  z )  ( p  (q  z )) ;
13) ( p1  ...  pn ) & ( p1  ...  pn  q ) & q ;
14) p1  ( p2  ...  ( pn 1  ( pn  q  q ))...) ;

истинность
или
15)  p  p  q1  q2  ...  yn 1  yn   ( z  z ) .


Ответ. Формулы 6), 7), 13), 15) – тождественно ложны, а
остальные тождественно истинны.
Пример 194. Последовательность высказываний (аn) определяется
следующим рекуррентным соотношением:
an  an 1  (an  2  an 3 ), n  3 .
Высказывания а1, а2, а3 заданы, причем а1 и а3 истинны, а а2
ложно. Истинно или ложно высказывание аn ? Как выражается аn через
а1, а2, а3 ?
Решение. Используя законы алгебры логики высказываний,
получаем
а5  а4 & (a3 a2)  (а3&(a2  a1))&(a3 a2)  (а3 & (a3  a2))&(a2 a1)

 а3 & (a2  a1)  a4.
Аналогично можно показать, что а6  а4 (n > 3). Для n=4, 5, 6
утверждение верно. Предположим, что оно верно для всех номеров, не
превосходящих n, тогда
аn+1= an&(an-1an-2)  a4&(a4a4)  a4.
Высказывание а4, очевидно, истинно, следовательно, истинно и аn.
Итак, аn=1 и аnа3& (а2а1).
Пример 195.
1) Выразить отрицание импликации через основные операции так,
чтобы отрицания стояли только над аргументами.
2) Выразить операцию дизъюнкции через импликацию.
3) Выразить все основные операции:
3.1. Через операцию дизъюнкции и отрицание;
3.2. Через операцию конъюнкции и отрицание;
3.3. Через дизъюнкцию и отрицание;
3.4. Через импликацию и отрицание.
Решение.
1. a  b  a & b .
2. a  b  (a  b)  b .
3.1.) x  y  x  y , x  y  ( x  y )( y  x) ;
3.2.) x  y  x & y , x  y  x & y , x  y  x & y & y & x ;
3.3.) x & y  x  y , x  y  x  y , x  y  ( x  y ) ( y  x) ;
3.4.) x  y  x  y , x & y  x  y , x  y  ( x  y )  ( y  x ) .
Задача 196. Студент решил в воскресенье закончить курсовой
проект, сходить в музей или картинную галерею, а если будет хорошая
погода – пойти на Солнечный пляж. В каком случае можно сказать, что
решение студента не выполнено? В ответе отрицания должны
содержаться лишь в простых высказываниях.
Ответ. Решение студента не выполнено, если он не закончил
работу над курсовым проектом, или не сходил ни в музей, ни в
картинную галерею, или, хотя была хорошая погода, он не был на
Солнечном пляже. Запишите это сложное событие (высказывание)
посредством логической формулы.
Пример 197. Выразите операцию неравнозначности через
конъюнкцию, дизъюнкцию и отрицание. Результат проверьте путем
составления таблицы истинности.
Решение.
  x  y  ( x & y )  ( x & y )  x  y  ( x  y ) & ( y  x) 
 ( x  y) & ( y  x)  ( x  y)  ( y  x)  ( x & y )  ( x & y).
Составим таблицу истинности операции неравнозначности,
которую иногда еще называют исключающей дизъюнкции.
Таблица 3.5
Таблица истинности операции импликации
x&y
( x & y )  ( x & y)
x& y
x
y
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
Пример 198. Штрихом Шеффера двух высказываний х и у
называют новое высказывание, обозначаемое x|y (читают «х не
совместно с у»), которое ложно только тогда, когда оба данные
высказывания истинны. Составить таблицу истинности штриха
Шеффера и выразить его через основные операции над
высказываниями. Доказать, что все основные операции над
высказываниями можно выразить через штрих Шеффера.
Решение.
x| y  x& y  x  y;
x  x | x; x & y  ( x | y ) | ( x | y ) ;
x  y  (a | a) | ( y | y ) .
Таблица 3.6
Таблица истинности x | y
xy
х
у
x&y
x& y
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
Пример 199. Штрихом Лукасевича (стрелкой Пирса) двух
высказываний х и у называется новое высказывание ху (читают «ни х,
ни у), которое истинно в том и только в том случае, когда оба данные
высказывания ложны. Составить таблицу истинности этого
высказывания и выразить его через основные операции над
высказываниями. Доказать, что все основные операции над
высказываниями можно выразить через штрих Лукасевича.
Решение.
x  x x;
x  y  x  y;
x  y  ( x  y)  ( x  y) ;
x & y  ( x  x)  ( y  y ) .
х
0
1
0
1
Таблица 3.7
Таблица истинности ху
у
ху
x y
0
0
1
0
1
0
1
1
0
1
1
0
Задача 200. Используя таблицу основных равносильностей,
доказать
посредством
преобразований
формул
следующие
равносильности:
1) p  q  q  p ;
2) p  q  pq ;
3) p  q  p q ;
4) pq  p  q ;
5) p  q  p q ;
6) p  q  pq ;
7) pq  pq  p ;
8) ( p  q)( p  q )  p ;
9) pq  pq  pq  p  q ; 10) p  pq  p  q ;
11) p( p  q)  pq ;
12) p ( p  q)  pq .
Задача 201. Следующие равносильности доказать двумя
способами – с помощью таблиц истинности и посредством
равносильных преобразований:
1) p  (q  r )  pq  r ;
2) ( p  q)( p  r )  p  qr ;
3) ( p  r )  (q  r )  pq  r ;
4) p  (q  r )  q  ( p  r ) ;
5) pq  pq  pq  p q  1.
Решение. Произведем указанные действия по доказательству
равносильности 1):
p  (q  r )  p  (q  r )  p  q  r
pq  r  p q  r  p  q  r .
Таблица 3.8
p
0
0
0
0
q
0
0
1
1
Таблица истинности p(qr)  pqr
r
pq
qr
p(qr)
0
1
1
0
1
1
1
0
0
0
1
0
1
1
1
0
pqr
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
Задача 202. Следующие формулы с помощью преобразований
привести к возможно более простому виду:
1) pq  pr  qr  q  r ;
2) pqr  pqr  pq ;
3) ( p  q)(q  p ) ;
4) ( p  q )  p  q ;
5) p q  ( p  q) p .
Ответ. 1) p  q  r ; 2) р; 3) р; 4) p  q ; 5) рq.
3. Функции алгебры логики.
Совершенные нормальные формы
Определение. Функцией алгебры логики n переменных
называется любая функция n переменных F(x1, x2, ..., xn), аргументы
которой принимают два значения 1 и 0, а сама функция принимает одно
из двух значений: 1 или 0.
Всякая формула алгебры логики есть функция алгебры логики.
Тождественно истинная и тождественно ложная формула есть
постоянные функции.
Всякая функция алгебры логики может быть представлена в виде
формулы алгебры логики:
F(x1, x2, ..., xn) = F(1, 1,...,1)& x1 & x2 & ... & xn  F(1, 1, ..., 0)
& x1 & x2 & ... & &xn1 & xn  ...  F(0, 0, ..., 0) &x1 & x2 &... & xn .
(3.1)
Формулу (3.1) можно преобразовать к формуле, которая содержит
только элементарные переменные высказывания и обладает
следующими свойствами:
1) каждое логическое слагаемое формулы содержит все
переменные, входящие в функцию F(x1, x2, ..., xn);
2) все логические слагаемые формулы различны;
3) ни одно логическое слагаемое формулы не содержит
одновременно переменную и ее отрицание;
4) ни одно логическое слагаемое формулы не содержит одну и ту
же переменную дважды.
С помощью таблицы истинности, определяющей функцию F(x1, x2,
..., xn), легко получить соответствующую формулу алгебры логики,
обладающую вышеописанными свойствами.
Действительно, для каждого набора значений переменных, на
которых функция F(x1, x2, ..., xn) принимает значение 1, запишем
конъюнкцию элементарных переменных высказываний, взяв за член
конъюнкции xi, если значение xi на указанном наборе значений
переменных есть 1, и отрицание xi, если значение xi есть 0. Дизъюнкция
всех полученных таким образом конъюнкций и будет искомой
формулой.
Определение. Элементарной конъюнкцией n переменных
называется конъюнкция переменных или их отрицаний.
Определение. Дизъюнктивной нормальной формулой (ДНФ)
формулы А называется равносильная ей формула, представляющая
собой дизъюнкцию элементарных конъюнкций.
Определение. Совершенно дизъюнктивной нормальной формой
(СДНФ) формулы А называется ДНФ А, обладающая указанными выше
четырьмя свойствами.
СДНФ формулы А можно получить двумя способами: а) с
помощью таблицы истинности; б) с помощью равносильных
преобразований.
Правило получения СДНФ из формулы А с помощью
равносильных преобразований:
1. Для формулы А получаем любую ДНФ.
2. Из ДНФ А путем равносильных преобразований получаем
СДНФ, последовательно добиваясь четырех свойств СДНФ:
1) Пусть в В есть слагаемое ДНФ, не содержащее xi. Тогда надо
заменить
слагаемое
В
в
ДНФ
А
на
слагаемое
B&(xi  xi )  ( B & xi )  ( B & xi ) .
2) Если в ДНФ формулы А имеют место два одинаковых
слагаемых ВВ, то лишнее необходимо отбросить, поскольку ВВ=В.
3) Если в некоторое слагаемое В в ДНФ А переменная xi входит
дважды, то лишнюю переменную нужно удалить, так как xi & xi  xi .
4) Если некоторое слагаемое В в ДНФ А содержит конъюнкцию
xi & xi , то это слагаемое удаляют, поскольку xi & xi  0 , и,
следовательно, В = 0, а ложное высказывание из дизъюнкции можно
выбросить (в силу равносильности С  0  С).
Определение. Элементарной дизъюнкцией n переменных
называется дизъюнкция переменных или их отрицаний.
Определение. Конъюнктивной нормальной формой (КНФ)
формулы А называется равносильная ей формула, представляющая
собой конъюнкцию элементарных дизъюнкций.
Определение. Совершенно конъюнктивной нормальной формой
формулы А (СКНФ) называется КНФ А, удовлетворяющая четырем
свойствам:
1) все элементарные дизъюнкции, входящие в КНФ А, содержат
все переменные;
2) все элементарные дизъюнкции, входящие в КНФ А, различны;
3) каждая элементарная дизъюнкция, входящая в КНФ А,
содержит переменную один раз;
4) ни одна элементарная дизъюнкция, входящая в КНФ формулы
А, не содержит одновременно переменную и ее отрицание.
СКНФ можно получить двумя способами:
а) с помощью таблицы истинности. Используя закон
двойственности СКНФ А  ÑÄÍ Ô À , вначале по таблице истинности
получают СДНФ Ā, а затем - СКНФ А;
б) с помощью равносильных преобразований.
Правило получения СКНФ из формулы А с помощью
равносильных преобразований.
1. Для формулы А получаем любую КНФ.
2. Из КНФ А путем равносильных преобразований получаем
СКНФ А, последовательно добиваясь выполнения четырех свойств
СКНФ.
1) Если элементарная дизъюнкция В, входящая в КНФ А, не
содержит переменную xi, тогда заменяем В на
B  ( x & xi )  ( B  xi ) & ( B  xi ) .
2) Если в некоторую элементарную дизъюнкцию В переменных xi
входит дважды, то лишнюю переменную нужно отбросить, так как xi xi
 xi.
3) Если КНФ А содержит две одинаковых элементарных
дизъюнкции, то одну можно отбросить, так как В&В  В.
4) Если в элементарную дизъюнкцию входит пара xi  xi , то ее
можно удалить, так как xi  xi  1 , а истинное высказывание из
конъюнкции можно выбросить (в силу равносильности С&1  C).
Пример 203. Следующую формулу привести к СДНФ,
предварительно приведя ее равносильными преобразованиями к ДНФ:
А  p (qrpq).
Решение.
А
=
p
(qrpq)
 p(q r  pq )  p (q  r  pq )  pq  pr  pq  ÄÍ Ô À .
В соответствии с правилами получения СДНФ А из ДНФ А введем
недостающие переменные в конъюнкции:
А  ДНФ А  pq (r  r )  pr (q  q )  pq(r  r ) 
 pqr  pq r  pqr  pq r  pqr  pqr 
 pqr  pq r  pqr  pqr  СДНФ А.
Ответ. СДНФ А  pqr  pq r  pqr  pqr .
Пример 204. Для формулы из примера 203 найти СДНФ путем
составления таблицы истинности.
Решение. Составим таблицу истинности для формулы А  p (qr
pq).
p
1
1
1
1
0
0
0
0
Таблица 3.9
Таблица истинности для формулы А  p (qrpq)
q
r
qr
pq
A
qrpq
1
1
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
По значениям А  1 таблицы истинности запишем формулу А в
виде
СДНФ А  pqr  pq r  pqr  pq r .
Пример 205. Для формулы А из примера 58 необходимо найти
СКНФ путем равносильных преобразований, предварительно приведя
ее к КНФ.
Решение. Итак, задана формула А  pq  pr  pq . Далее
A  pq  r  q   p & 1  p  КНФ А.
А  КНФ А  p  (q & q )  ( p  q) & ( p  q ) 
 (( p  q)  r & r ) & (( p  q )  r & r ) 
 ( p  q  r ) & ( p  q  r ) & ( p  q  r ) & ( p  q  r )  СКНФ А.
Ответ.
СКНФ
А
 ( p  q  r) & ( p  q  r ) & ( p  q  r) & ( p  q  r ) .
Задача 206. Для формулы из примера 203 найти СКНФ, записав
предварительно СДНФ ее отрицания, а потом воспользовавшись
формулой двойственности.
Решение.
СДНФ Ā pqr  pq r  pqr  p q r .
СКНФ А  СДНФ А  pqr  pq r  pqr  p q r 
 ( p  q  r ) & ( p  q  r ) & ( p  q  r ) & ( p  q  r) .
Задача 207. Найти формулу, определяющую функцию F(x, y, z), по
заданной таблице истинности (табл. 3.10).
Таблица 3.10
Таблица истинности функции F(x, y, z)
для задачи 207
x
1
1
1
1
0
0
0
0
y
1
1
0
0
1
1
0
0
z
1
0
1
0
1
0
1
0
F(x, y, z)
1
0
0
0
1
1
1
1
Решение. Используя правило получения формулы алгебры логики,
из таблицы истинности для функции F(x, y, z) получим:
F(x, y, z)  xyz  xyz  xyz  x yz  x y z ,
то есть формула записана по значениям F(x, y, z)  1.
Упростив эту формулу, получим:
yz ( x  x )  x z ( y  y )  x y z  yz  x z  x yz  yz  x ( z  yz ) 
 yz  x ( z  y )( z  z )  yz  x ( z  y )  ( yz  x ) & ( yz  z  y ) 
 ( y  x )( z  x )( y  z  y )( z  z  y )  ( y  x )( z  x )  x  yz  x  yz
.
Таким образом, искомой формулой, определяющей функцию
F(x, y, z), можно считать x  yz или x  yz , или какую-нибудь другую
из равносильных им формул.
Задача 208. Установите, какие из данных формул являются ДНФ,
СДНФ, КНФ, СКНФ формул с переменными x, y, z:
1) xy  xz ;
2) xyz  xyz ;
3)  x  y  x  z  ;
4) x  y  z ;
6)  x  y  x  y  x  y  ;
5) xyz ;
7) xyz  xyz .
Ответ. 1) ДНФ; 2) СДНФ; 3) КНФ; 4) ДНФ, СКНФ; 5) СДНФ,
КНФ; 6) КНФ; 7) ни одна из нормальных форм.
Подсказка: необходимо для анализа формул использовать
свойства, которым должны отвечать формулы при их идентификации к
указанным формам.
Задача 209. Заданные функции привести к ДНФ, СДНФ, КНФ,
СКНФ:
1) x  y  z  ;
2) x  y ;


3) x y  x ;
4) x  y &  z  x  ;
5) xyz  xy  xy z  .
Решение.
Например, формулу 4) приведем к СДНФ. Вначале получим ее
ДНФ.
x  y &  z  x   xy  z  x   xyz  xy .
Теперь можно получить СДНФ. Формула не удовлетворяет
четвертому признаку СДНФ, для этого последнюю конъюнкцию
домножим на недостающую переменную  z  z  :
xyz  xy  z  z   xyz  xyz  xy z  xyz  xy z .
Формулу 5) приведем к СКНФ. Для этого предварительно
получим какую-нибудь КНФ:
xyz  xy  xy z    x  y  z  xy  xy z   x  y  z  x  y  xy z  


  x  y  z  x  y  x  x  y  y  x  y  z  .
Удалим члены конъюнкции, содержащие переменную вместе с ее
отрицанием, а также повторяющиеся члены конъюнкции кроме одного.
В результате получим  x  y  z  x  y  . Дополним член конъюнкции,
не содержащий переменной z, конъюнкцией zz и применим закон
дистрибутивности дизъюнкции относительно конъюнкции:
 x  y  z  x  y  zz    x  y  z  x  y  z  x  y  z  .
Из одинаковых членов полученной конъюнкции оставим один,
удалив остальные:  x  y  z  x  y  z  .
Задача 210. Приведите следующие формулы к ДНФ, а затем и к
СДНФ с помощью равносильных преобразований:
1)  x  y  x  y  ;
2) x  y  xy ;
3) xyz  xy ;
5)  x  y  z  x  y  z  ;
4) x  y  z 
6)  x  z  xy ;
7)  x  y  y  z  &  x  y   z ;
8)  x  y  & xz ;
9)  x  y  z  x  y  z  x  y  z  ;
10) xy  xyz & x  xy  y ;
11) x  y &  z  x    y  z  ;

 

12)  x & y  x  & x  xy .
Задача 211. Приведите следующие формулы к КНФ, а затем и к
СКНФ с помощью равносильных преобразований:
1) x  xy ;
2) xy  xy ;
3) xyz  x y z ;
4) x  y  x  ;
5) xyz  x y ;
7)  x  y  y  z  &  x  y   z ;


9) xz  x  y  x  xyz ;
11) x  y &  z  x    y  z  ;
6)  x  y  & xz ;
8) xyz  xyz  xyz  xyz ;

 

12)  x & y  x  & x  xy .
10) xy  xyz & x  xy  y ;
Задача 212. Приведите к СДНФ и СКНФ функции:
1) x1 x3 x4 | x1 x3 | x3 x4 ;
2) x1 x2  x3 x4 ;
3) x1   x2 x3  x4   x1x2 x4 ;
4) x1  x2   x3  x4  .
4. Составление СКНФ и СДНФ по заданным таблицам
истинности
Пусть дана таблица истинности некоторой формулы f, содержащей
переменные x, y, z.
Таблица 3.11
Таблица истинности формулы f
х
y
z
f
И
И
И
И
И
И
Л
Л
И
Л
И
Л
И
Л
Л
И
Л
И
И
Л
Л
И
Л
Л
Л
Л
И
Л
Л
Л
Л
И
Для составления СДНФ необходимо:
1) выделить строки, соответствующие значениям И искомой
формулы;
2) составить для каждой из выделенных строк конъюнкции
переменных или их отрицаний так, чтобы наборам значений
переменных, представленным в этих строках, соответствовали
истинные конъюнкции. Для этого достаточно переменные, под
которыми в соответствующей строке стоит буква Л, взять со знаком
отрицания, а переменные, под которыми в соответствующей строке
стоит буква И, - без отрицания.
3) составить из полученных конъюнкций дизъюнкцию.
Для нашего примера СДНФ имеет вид: xyz  xy z  x y z .
Для составления СКНФ необходимо:
1) выделить те строки таблицы, в которых искомая формула
принимает значения Л;
2) составить для каждой из выделенных строк дизъюнкции
переменных или их отрицаний так, чтобы каждая переменная (со знаком
отрицания либо без него) вошла в дизъюнкцию один и только один раз
и чтобы наборам значений переменных, записанных в этих строках,
соответствовали ложные дизъюнкции. Для этого достаточно
переменные, под которыми в соответствующей строке стоит буква И,
взять со знаком отрицания, а переменные, под которыми в
соответствующей строке стоит буква Л, - без отрицания.
3) составить из полученных дизъюнкций конъюнкцию.
Для нашего примера СКНФ имеет вид:
 x  y  z  x  y  z  x  y  z  x  y  z  x  y  z  .
Задача 213. Составьте СДНФ и СКНФ для формул f1, f2, f3, f4,
соответствующих данной таблице истинности (табл.3.12).
Таблица 3.12
Таблица истинности формул f1, f2, f3, f4
a
b
c
d
f1
f2
f3
f4
И
И
И
И
И
Л
И
Л
И
И
И
Л
Л
И
И
Л
И
И
Л
И
Л
И
Л
И
И
И
Л
Л
И
Л
И
Л
И
Л
И
И
И
Л
Л
И
И
Л
И
Л
И
Л
Л
И
И
Л
Л
И
Л
И
Л
И
И
Л
Л
Л
И
Л
Л
И
Л
И
И
И
Л
И
И
Л
Л
И
И
Л
Л
И
И
Л
Л
И
Л
И
И
Л
Л
И
Л
И
Л
Л
Л
И
Л
И
Л
Л
И
И
И
Л
Л
И
Л
Л
И
Л
И
Л
И
Л
Л
Л
Л
И
Л
И
И
Л
Л
Л
Л
Л
Л
И
И
Л
Задача 214. Составьте формулы f1, f2, f3, f4, f5 по приведенной ниже
таблице истинности (выберите рациональный способ). Упростите
полученную формулу.
x
И
И
И
И
Л
Л
Л
Л
Таблица 3.13
Таблица истинности формул f1, f2, f3, f4, f5
y
z
f1
f2
f3
f4
f5
И
И
Л
Л
И
И
Л
И
Л
Л
И
И
Л
Л
Л
И
И
И
Л
И
И
Л
Л
И
И
Л
Л
И
И
И
Л
Л
И
И
Л
И
Л
Л
Л
И
И
Л
Л
И
Л
И
И
Л
Л
Л
Л
И
Л
Л
И
И
В процессе изучения математической логики можно сделать
выводы, что все формулы алгебры логики делятся на три класса:
тождественно истинные, тождественно ложные и выполнимые.
Формулу А называют выполнимой, если она принимает значение
истины хотя бы на одном наборе значений входящих в нее переменных
и не является тождественно истинной.
Теорема. Для того, чтобы формула алгебры логики была
тождественно истинна (ложна), необходимо и достаточно, чтобы любая
элементарная дизъюнкция, (конъюнкция), входящая в КНФ А (ДНФ А),
содержала переменную и ее отрицание.
Пример 215. Будет ли формула  x  y   xy  y тождественно
истинной, тождественно ложной или выполнимой?
Решение. Приведем формулу к какой-либо нормальной форме:
 x  y   xy  y   x  y   xy  y  x  y  xy  y  xy  xy  y .


Полученная ДНФ не является тождественно ложной, так как
каждая элементарная конъюнкция не содержит переменную и ее
отрицание. Следовательно, исходная формула тождественно истинна
или выполнима. Преобразуем данную формулу к КНФ:
 x  y   xy  y  xy  xy  y   xy  y   xy  y  xy   y  x  y  y  
 y  x.
Это выражение не является тождественно истинным, так как
элементарная сумма y  x не тождественно истинна. Таким образом,
исходная формула не тождественно истинна и не тождественно ложна,
следовательно, она выполнима.
Задача 216. Используя критерий тождественной истинности и
тождественной ложности формулы, установите, будет ли данная
формула тождественно истинной, тождественно ложной или
выполнимой?
1) xy  x  xy ;
2)  x  y  xy  xy  ;
3) xy   x  y  ;
4) x  y   x  y  ;
5)  x  z  y  z    x  y  ;
6)  x  y  x  y   x ;
7)  x & z    x & z    y & z    x & y & z  ;


8) x & y & z  x & y  z  x ;
Ответ. 1) ТИФ; 2) ТЛФ; 3)-5) – выполнимые.
Задача 217. Для следующих формул найдите СДНФ и СКНФ,
каждую двумя способами (путем равносильных преобразований и
используя таблицы истинности):
1) x &  x  y  ;



2) xy  x xy  y ;
3)  x  y    y  x  ;
4)  x  z   yz ;


5)  x  y  xz   x  x  yz ;
6)  ab  bc     a  b    c  b   ;


7)  a  c   b  c ;
8)  a  b    bc  ac  ;


9)  x  y   y  zx &  x  y   z ;


10)  x &  y  z  x & y     y & x  z   z  y  x & z ;

 

11) xy  xyz & x  xy  y   xz  y   xyz  xy ;


12) x & z  x  xz  xy  z y  x  yz .
Ответ.
1) СДНФ = xy, CКНФ = ( x  y)( x  y )( x  y) ;
2) СДНФ = xy, CКНФ = ( x  y)( x  y )( x  y) ;
3) СДНФ = xy  xy  x y , СКНФ = ( x  y ) ;
4) СДНФ = xyz  xyz  x yz ;
СКНФ = ( x  y  z )( x  y  z )( x  y  z )( x  y  z )( x  y  z ) ;
5) СДНФ = xyz  xy z  xyz  xyz  xyz  x y z  x yz ,
СКНФ  ( x  y  z ) ;
6) СДНФ = abc  abc  abc  abc  abc  abc  abc ,
СКНФ = (a  b  c ) ;
7) СДНФ = abc  abc  abc  abc ,
СКНФ = (a  b  c )(a  b  c )(a  b  c)(a  b  c ) ;
8) СДНФ = abc  abc  abc  abc  abc  abc  abc  abc , СКНФ=1.
Задача 218. Найдите СДНФ для всякой тождественно истинной
формулы, содержащей:
1) одну переменную;
2) две переменных;
3) три переменных.
Ответ.
1) x  x ;
2) xy  xy  xy  x y ;
3) xyz  xyz  xyz  xy z  xy z  xyz  x y z .
Задача 219. Найдите СКНФ для всякой тождественно ложной
формулы, содержащей:
1) одну переменную;
2) две переменных;
3) три переменных.
Ответ.
1) xx ;
2) ( x  y )( x  y )( x  y)( x  y) ;
3) ( x  y  z )( x  y  z )( x  y  z )( x  y  z ) &
& ( x  y  z )( x  y  z )( x  y  z )( x  y  z ).
Задача 220. Докажите равносильность формул xy   y  x  и
x y x y
сравнением их совершенных нормальных форм
(конъюнктивных или дизъюнктивных).
Задача 221. Найдите более простой вид формул, имеющих
следующие СДНФ и СКНФ:
1) xy  xy  xy ;
2)  x  y  x  y  x  y  ;
3) xyz  xyz  xyz ;
4)  x  y  z  x  y  z  x  y  z  .
Ответ. 1) x  y ; 2) x & y ; 3) z ( x  y) ; 4) x( y  z )  z ( y  x ) .
5. Минимизация булевых функций
Любая булева функция может быть представлена в СДНФ и
СКНФ. Более того, такое представление является первым шагом
перехода от табличного задания функций к ее аналитическому
выражению.
В дальнейшем будем исходить из дизъюнктивной формы, а
соответствующие результаты для конъюнктивной формы получаются на
основе принципа двойственности.
Представление функции в виде СДНФ или СКНФ не всегда
эффективно, а каноническая задача синтеза логических схем в булевом
базисе сводится к минимизации булевых функций, то есть к
представлению их в дизъюнктивной нормальной форме, которая
содержит наименьшее число букв (переменных и их отрицаний).
Формула, представленная в ДНФ, упрощается многократным
применением операции склеивания ab  ab  a и операций поглощения
a  ab  a и a  ab  a  b (для конъюнктивной нормальной формы
(a  b)(a  b )  a; a(a  b)  a ; a(a  b)  ab ). В результате приходим к
такому аналитическому выражению, для которого дальнейшие
преобразования оказываются невозможными, то есть получают
тупиковую форму.
Определение. Рангом элементарной конъюнкции называется
число букв, образующих эту конъюнкцию.
Определение. Конъюнкция вида P( x1, x2 ,...xn )  1 называется
элементарной конъюнкцией нулевого ранга.
Из определения СДНФ следует, что в СДНФ входят конъюнкции
наиболее возможного ранга для данной функции, поэтому СДНФ
является наиболее сложной формой представления булевой функции.
Определение. Первичными или простыми импликантами
называются конституенты (или минитермы) функции, к которым
операция склеивания неприменима.
Определение. Существенной называется простая импликанта,
которая была образована склеиванием таких конституентов, что по
крайней мере для одного из них эта операция была единственной.
Определение. Длиной ДНФ называют число элементарных
конъюнкций, образующих эту ДНФ.
Например, длина x1x3  x2 x4  x1x5  x1x3 равна 4.
Определение. ДНФ, имеющая наименьшую длину по сравнению
со всеми другими ДНФ данной функции, называется кратчайшей.
Определение. Тупиковой называется такая сокращенная ДНФ
функции, в которой ни один из ее членов не может быть удален без
нарушения эквивалентности ее исходной функции.
Определение. Минимальной называется такая тупиковая ДНФ
функции, которая содержит наименьшее число вхождений переменных
по сравнению с другими тупиковыми формами этой функции.
Минимальная форма функции содержит обязательные существенные
импликанты.
Например, x1  x1x2 x3  x1  x2 x3 – кратчайшая минимальная форма
функции.
Рассмотрим использование следующих практических методов
минимизации: метода неопределенных коэффициентов, метода,
основанного на применении диаграмм Вейча (карт Карно), и
алгебраического метода, известного как метод Мак-Класски.
3.5.1. Метод неопределенных коэффициентов
Метод применим для минимизации функций алгебры логики от
любого числа переменных.
Рассмотрим случай трех переменных. Булева функция в ДНФ
может быть представлена в виде всевозможных конъюнктивных членов,
которые могут входить в ДНФ:
11
10
01
f  x1, x2 , x3   k11x1  k10 x1  k21 x2  k20 x2  k31x3  k30 x3  k12
x1x2  k12
x1x2  k12
x1x2 
00
11
10
01
00
11
10
01
 k12
x1x2  k13
x1x3  k13
x1x3  k13
x1x3  k13
x1x3  k 23
x2 x3  k 23
x2 x3  k 23
x2 x3 
00
111
110
101
100
011
 k23
x2 x3  k123
x1x2 x3  k123
x1x2 x3  k123
x1x2 x3  k123
x1x2 x3  k123
x1x2 x3 
010
001
000
 k123
x1x2 x3  k123
x1x2 x3  k123
x1x2 x3 ,
где k{0,1} - коэффициенты.
Метод
образом, чтобы
заключается в подборе
получаемая ДНФ была
коэффициентов таким
минимальной.
Если теперь задать всевозможные значения переменных от 000 до
111, то получим 2n (23 =8) уравнений для определения коэффициентов k:
00
00
00
000
;
f  0,0,0  k10  k20  k30  k12
 k13
 k23
 k123
00
01
01
001
;
f  0,0,1  k10  k20  k31  k12
 k13
 k23
 k123
01
00
10
010
;
f  0,1,0  k10  k21  k30  k12
 k13
 k23
 k123
01
01
11
011
;
f  0,1,1  k10  k21  k31  k12
 k13
 k23
 k123
10
10
00
100
;
f 1,0,0  k11  k20  k30  k12
 k13
 k23
 k123
10
11
01
101
;
f 1,0,1  k11  k20  k31  k12
 k13
 k23
 k123
11
10
10
110
;
f 1,1,0  k11  k21  k30  k12
 k13
 k23
 k123
11
11
11
111
.
f 1,1,1  k11  k21  k31  k12
 k13
 k23
 k123
Рассматривая наборы, на которых функция принимает нулевое
значение, определяют коэффициенты, которые равны 0, и вычеркивают
их из уравнений, в правой части которых стоит 1. Из оставшихся
коэффициентов в каждом уравнении к единице приравнивают по
одному коэффициенту, определяющему конъюнкцию наименьшего
ранга. Остальные коэффициенты приравнивают к 0. Итак, единичные
коэффициенты k определяют соответствующую минимальную форму.
Пример 222. Минимизировать заданную функцию
f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 .
Решение. По виду функции определяем значения: f  0,0,0   1 ;
f  0,0,1  0 ; f  0,1,0  0 ; f  0,1,1  0 ; f 1,0,0   1; f 1,0,1  1; f 1,1,0   0
; f 1,1,1  1. На основании возможно составление системы уравнений
неопределенных коэффициентов:
00
00
00
000
f  0,0,0   k10  k20  k30  k12
 k13
 k23
 k123
=1;
00
01
01
001
f  0,0,1  k10  k20  k31  k12
 k13
 k23
 k123
=0;
01
00
10
010
=0;
f  0,1,0   k10  k21  k30  k12
 k13
 k23
 k123
01
01
11
011
=0;
f  0,1,1  k10  k21  k31  k12
 k13
 k23
 k123
10
10
00
100
=1;
f 1,0,0   k11  k20  k30  k12
 k13
 k23
 k123
10
11
01
101
=1;
f 1,0,1  k11  k20  k31  k12
 k13
 k23
 k123
11
10
10
110
=1;
f 1,1,0   k11  k21  k30  k12
 k13
 k23
 k123
11
11
11
111
=1.
f 1,1,1  k11  k21  k31  k12
 k13
 k23
 k123
После вычеркивания нулевых коэффициентов получим:
00
000
=1;
k23
 k123
10
10
00
100
k11  k12
 k13
 k23
 k123
=1;
10
11
101
k11  k12
 k13
 k123
=1;
1
11
10
110
k1  k12  k13  k123 =1;
11
11
111
k11  k12
 k13
 k123
=1.
Приравняем к единице коэффициент k11 , соответствующий
конъюнкции наименьшего ранга и обращающий четыре последних
уравнения в 1, а в первом уравнении целесообразно приравнять к 1
00
коэффициент k23
. Остальные коэффициенты приравнивают к 0.
Ответ. Вид минимизированной функции f  x1, x2 , x3   x1  x2 x3 .
Следует отметить, что метод неопределенных коэффициентов
эффективен, когда число переменных невелико и не превышает 5-6.
Задача
223.
Минимизируйте
методом
неопределенных
коэффициентов булеву функцию:
1) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
2) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
3) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
4) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
5) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
6) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
7) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
8) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
9) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
10) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
Минимизация при помощи диаграмм Вейча (карт Карно)
Основная идея заключается в том, что исходная булева функция,
задаваемая в виде СДНФ, представляется в форме специальной
таблицы. Столбцы и строки таблицы соответствуют всевозможным
наборам значений не более 2-х переменных, причем эти наборы
расположены в таком порядке, что каждый последующий отличается от
предыдущего значением только одной из переменных. Благодаря этому
соседние клетки таблицы по горизонтали и вертикали отличаются
только одной переменной. Клетки, расположенные по краям таблицы,
также считаются соседними и обладают этим свойством.
Карта Карно для функции двух переменных имеет вид:
x2
x1 x2
x1 x2
x1
x1
x2
x1 x2
x1 x2
Карта Карно для функции трех переменных имеет вид:
x2
x1x2 x3
x1x2 x3
x1
x1
x2
x1x2 x3
x1x2 x3
x3
x1x2 x3
x1x2 x3
x1x2 x3
x1x2 x3
x3
x3
Здесь крайний правый и крайний левый столбцы считаются
соседними.
Карта Карно для функции четырех переменных имеет вид:
x2
{
{
x1
x1
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x4
x2
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x4
x1x2 x3 x4
x1x2 x3 x4
x1x2 x3 x4
x3
x1x2 x3 x4
x3
x3
x4
При этом крайний левый и крайний правый столбцы считаются
соседними, так же как и верхняя, и нижняя строки. Как и в обычных
таблицах соответствия клетки наборов, на которых функция принимает
значение 1, заполняются единицами (нули обычно не вписываются, им
соответствуют пустые клетки).
Для упрощения строки и столбцы, соответствующие значениям
«1» для некоторой переменной, выделяются фигурной скобкой с
обозначением этой переменной.
На таблице определено понятие правильной конфигурации.
Правильной конфигурацией ранга i булевой функции f  x1,..., xn 
называют прямоугольники, имеющие площадь 2n-i клеток. Ранг
покрытия равен сумме рангов всех правильных конфигураций.
В исходной таблице отыскивается минимальное покрытие всех
единиц системой правильных конфигураций. В результате находят
минимальную ДНФ булевой функции.
Для отображения функций пяти переменных используют две карты
Карно на четыре переменные, а для функции шести переменных –
четыре таких карты. При дальнейшем увеличении числа переменных
карты Карно становятся практически непригодны. С помощью карт
Карно минимизируют функции до семи переменных.
Считывание минитермов с карты Карно осуществляется по
простому правилу. Клетки, образующие S-куб, дают минитерм (n-S)-го
ранга, в который входят те (n-S)-переменные, которые сохраняют
одинаковые значения на этом S-кубе. Переменные, которые не
сохраняют свои значения на S-кубе, в минитерме отсутствуют.
Различные способы считывания приводят к различным представлениям
функции в ДНФ.
Пример 224. Покажем, как с карты Карно могут быть считаны
минитермы различными способами.
x2
x1
x1
1
1
x3
x2
x2
1
1
x3
x1
x1
1
x3
y  x1 x 2  x1 x 2  x1 x 3
x2
1
1
x3
1
1
1
x3
x3
y  x1 x 2  x1 x 2  x1 x 2 x 3
x2
x2
x1
x1
1
1
1
x3
1
y  x1 x 2  x 2 x 3  x1 x 2
1
x3
x3
Пример 225. Минимизировать при помощи диаграммы Вейча
(карты Карно) булеву функцию:
f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 .
Решение. Карта Карно для данной функции будет выглядеть
следующим образом:
x2
{
{
x1
x1
x2
1
1
1
1
1
1
1
1
x4
x4
1
x3
1
1
x3
x3
x4
Для покрытия, показанного на рисунке, минимизированная
функция запишется как f  x1, x2 , x3 , x4   x3 x4  x1x2  x2 x3  x3 x4 .
Задача 226. Минимизируйте при помощи диаграммы Вейча
(карты Карно) булевы функции:
1) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
2) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
3) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 ;
4) f  x1, x2 , x3   x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3  x1x2 x3 .
5) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
6) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
7) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
8) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
9) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
x1x2 x3 x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
10) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
11) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
12) f  x1, x2 , x3 , x4   x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3x4  x1x2 x3x4 
 x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4  x1x2 x3 x4 ;
Download