- •23 Преобразование логических выражений.
- •Пример 1:
- •Ответ: 53 Пример 2:
- •Перепишем систему уравнений в более понятном виде:
- •Будем решать задачу методом битовых цепочек;
- •Пример3 :
- •Перепишем систему уравнений в более понятном виде:
- •Будем решать задачу методом битовых цепочек;
- •Пример 4 (е.В. Хламов):
- •Перепишем систему уравнений в более понятном виде:
- •Пример 5:
- •Пример 6:
- •Ещё пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Ещё пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Еще пример задания:
- •Заметим, что в третьем слагаемом тоже есть сомножитель , поэтому уравнение можно переписать в виде
- •Еще пример задания:
- •Еще пример задания:
- •Задачи для тренировки:
Пример 6:
P-29. Сколько различных решений имеет система логических уравнений
(x1 x2) (x2 x3) (x3 x4) = 1
(y1 y2) (y2 y3) (y3 y4) = 1
(z1 z2) (z2 z3) (z3 z4) = 1
x1 y2 z3 = 0
где x1, …, x4, y1, …, y4, z1, …, z4, – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Решение (использование свойств битовых цепочек):
перепишем систему с более понятными обозначениями:
первые 3 уравнения однотипны; рассмотрим первое из них:
рассмотрим решение этого уравнения как битовую цепочку
все импликации должны быть равны 1, в цепочке X запрещена комбинация 10, поэтому после первой единицы далее следуют только единицы; вот все 5 решений X:
X = 0000 0001 0011 0111 1111
второе и третье уравнения не зависят от первого и имеют такую же структуру; вот все их решения
и
:
Y = 0000 0001 0011 0111 1111
Z = 0000 0001 0011 0111 1111
если бы система состояла бы только из первых трёх уравнений, общее количество решений было бы равно 5 ∙ 5 ∙ 5 = 125
теперь рассмотрим последнее уравнение, связывающее X, Y и Z:
таким образом, нужно исключить все решения, где
у нас есть одно решение X с
,
два решения Y
с
и три решения Z
с
;
поэтому из 125 нужно отбросить 1 ∙ 2 ∙ 3
= 6 решений; остаётся 125 – 6 = 119 решенийответ: 119.
Ещё пример задания:
P-28. Сколько различных решений имеет система логических уравнений
(x1 y1) ((x2 y2) (x1 y1)) = 1
(x2 y2) ((x3 y3) (x2 y2)) = 1
...
(x5 y5) ((x6 y6) (x5 y5)) = 1
x6 y6 = 1
где x1, …, x7, y1, …, y7, – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Решение (использование свойств битовых цепочек):
перепишем систему с более понятными обозначениями:
первые 5 уравнений однотипны, отличаются только сдвигом номеров переменных
будем рассматривать каждое решение как пару битовых цепочек (цепочек нулей и единиц)
и
выполним замену переменных
пока «забудем» про первые сомножители
в уравнениях, тогда остается система
которую можно свернуть в одно уравнение:
в каждой скобке запрещена комбинация
,
это значит, что в цепочке
запрещена комбинация 01в свою очередь, это значит, что цепочка
имеет
структуру «сначала все единицы, потом
все нули», вот все возможные цепочки
длины 6:
111111 111000 000000
111110 110000
111100 100000
теперь нужно перейти к исходным переменным, то есть, к цепочкам и
пусть
;
в исходном уравнении есть ещё ограничение
,
это та скобка, которую мы «временно
забыли», получаем систему
первое уравнение означает, что
,
второе говорит о том, что, по крайней
мере, одно из этих значение равно 1; таких
пар две: (0;1) и (1;0)
это означает, что каждый ноль в цепочке даёт два решения в исходных переменных
теперь исследуем вариант
;
добавляя ограничение
,
получаем систему
первое уравнение означает, что
,
второе говорит о том, что, по крайней
мере, одно из этих значение равно 1;
существует только одна такая пара: (1;1)
таким образом, каждый ноль в цепочке увеличивает в два раза число решений в исходных переменных, а единицы не меняют количества
например, цепочка Z = 111111 не содержит нулей и даёт только одно решение
цепочка Z = 111110 содержит один ноль и даёт 21 = 2 решения
цепочка Z = 111100 содержит два ноля и даёт 22 = 4 решения
общее количество решений системы 20 + 21 + 22 +23 + 24 + 25 +26 = 127.
ответ: 127.
