B15 Тема: Преобразование логических выражений. Что нужно знать: условные обозначения логических операций ¬ A, A A B, A B не A (отрицание, инверсия) A B, A B A→B A ↔ B, A B A или B (логическое сложение, дизъюнкция) A и B (логическое умножение, конъюнкция) импликация (следование) эквиваленция (эквивалентность, равносильность) таблицы истинности логических операций «И», «ИЛИ», «НЕ», «импликация», «эквиваленция» (см. презентацию «Логика») операцию «импликация» можно выразить через «ИЛИ» и «НЕ»: A → B = ¬ A B или в других обозначениях A → B = A B операцию «эквиваленция» также можно выразить через «ИЛИ» и «НЕ»: A ↔ B = ¬ A ¬ B A B или в других обозначениях A ↔ B = A B A B если в выражении нет скобок, сначала выполняются все операции «НЕ», затем – «И», затем – «ИЛИ», потом – «импликация», и самая последняя – «эквиваленция» логическое произведение A∙B∙C∙… равно 1 (выражение истинно) только тогда, когда все сомножители равны 1 (а в остальных случаях равно 0) логическая сумма A+B+C+… равна 0 (выражение ложно) только тогда, когда все слагаемые равны 0 (а в остальных случаях равна 1) правила преобразования логических выражений (законы алгебры логики): Закон Для И Для ИЛИ двойного отрицания AA исключения третьего исключения констант повторения поглощения переместительный сочетательный распределительный де Моргана A ·A 0 AA 1 A · 1 = A; A · 0 = 0 A·A=A A · (A + B) = A A·B=B·A A · (B · C) = (A · B) · C A + B · C = (A + B) · (A + C) A + 0 = A; A + 1 = 1 A+A=A A+A·B=A A+B=B+A A + (B + C) = (A + B) + C A · (B + C) = A · B + A · C A ·B A B A B A ·B Пример задания: Сколько различных решений имеет система логических уравнений (x1 x2) (x2 x3) = 1 x1 y1 z1 x1 y1 z1 x1 y1 z1 = 1 x2 y2 z2 x2 y2 z2 x2 y2 z2 = 1 x3 y3 z3 x3 y3 z3 x3 y3 z3 = 1 где x1, …, x3, y1, …, y3, z1, …, z3 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов. Решение (последовательное подключение уравнений): 1) перепишем уравнения с помощью более простых обозначений: ( x1 x 2 ) ( x 2 x3 ) 1 x1 y1 z1 x1 y1 z1 x1 y1 z1 1 x2 y 2 z 2 x2 y 2 z 2 x2 y 2 z 2 1 x3 y 3 z 3 x3 y 3 z 3 x3 y 3 z 3 1 2) заметим, что последние 3 уравнения независимы друга от друга, и вся система связана только через первое уравнение 3) рассмотрим второе уравнение x1 y1 z1 x1 y1 z1 x1 y1 z1 1 оно имеет три решения, каждое из которых соответствует единичному значению одного из слагаемых: x1 y1 z1 1 ( x1, y1, z1 ) (0,1,1) x1 y1 z1 1 ( x1, y1, z1 ) (1,0,1) x1 y1 z1 1 ( x1, y1, z1 ) (1,1,0) 4) аналогичные уравнения 3-4 тоже имеют по три решения 5) теперь рассмотрим множество решений системы уравнений 2-3 x1 y1 z1 x1 y1 z1 x1 y1 z1 1 x2 y2 z2 x2 y2 z2 x2 y2 z2 1 при ограничении, которое накладывается первым уравнением: ( x1 x2 ) 1 6) поскольку импликация дает ложное значение (0) только для случая 10, первое уравнение в исходной системе запрещает комбинацию ( x1, x2 ) (1,0) . 7) рассмотрим решение уравнений 2 и 3: ( x1, y1, z1 ) ( x2 , y2 , z2 ) (0,1,1) (1,0,1) (1,1,0) (0,1,1) (1,0,1) (1,1,0) Переменные Z и У никак не влияют на решение системы уравнений. X1 X2 0 0 1 1 1 0 1 1 1 0 1 1 При ограничении ( x1 x 2) 1 : 0 1 1 1 1 X3 011 011 011 011 ( x 2 x 3 ) 1 При ограничении : 011 11 11 11 011 11 1 1 011 11 Эти уравнения независимы, поэтому система уравнений 2-3 (без дополнительных ограничений) имеет 33=9 решений 011 11 Добавляем еще переменные и решаем аналогично X4 14(1)*2=28(1) + 2(1) и 1(0) =30(1) и 1(0) X5 30(1)*2=60(1) + 2(1) и 1(0) =62(1) и 1(0) И т.д. 7 решений: 6(1)+1(0) 15 решений: 6(1)*2=12(1) Из 0 получаем: 2(1) и 1(0) 14(1)+1(0) 31 решение 63 решения