B15 (20.02.2014)

advertisement
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)
 правила преобразования логических выражений (законы алгебры логики):
Закон
Для И
Для ИЛИ
двойного отрицания
AA
исключения третьего
исключения констант
повторения
поглощения
переместительный
сочетательный
распределительный
де Моргана
A ·A  0
AA 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) только для случая 10, первое
уравнение в исходной системе запрещает комбинацию ( 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
(без
дополнительных
ограничений)
имеет 33=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 решения
Download