Еще пример задания:
Сколько различных решений имеет система уравнений
((X1 X2) (X3 X4)) (¬(X1 X2) ¬(X3 X4)) = 1
((X3 X4) (X5 X6)) (¬(X3 X4) ¬(X5 X6)) = 1
((X5 X6) (X7 X8)) (¬(X5 X6) ¬(X7 X8)) = 1
((X7 X8) (X9 X10)) (¬(X7 X8) ¬(X9 X10)) = 1
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Решение:
количество комбинаций 10 логических переменных равно 210 = 1024, поэтому вариант с построением полной таблицы истинности отпадает сразу
решать такую систему «в лоб» достаточно сложно, нужно попробовать ее упростить
рассмотрим первое уравнение, заменив обозначения логических операций на более простые:
,
где и . Выражение в левой части последнего равенства – это операция эквивалентности между Y1 и Y2, то есть первое уравнение запишется в виде
аналогично, вводя обозначения , и , запишем исходную систему в виде
(Y1 Y2) = 1
(Y2 Y3) = 1
(Y3 Y4) = 1
(Y4 Y5) = 1
заметим, что все переменные здесь независимы друг от друга
найдем решение этой системы относительно независимых переменных Y1 … Y5
первое уравнение имеет два решения (с учетом остальных переменных – две группы решений): (0,0,*) и (1,1,*), где * обозначает остальные переменные, которые могут быть любыми
второе уравнение тоже имеет две группы решений: (Y1,0,0,*) и (Y 1,1,1,*), где Y 1 обозначает некоторое значение переменной Y 1
теперь ищем решения, которые удовлетворяют и первому, и второму уравнению; очевидно, что их всего 2: (0,0,0,*) и (1,1,1,*)
рассуждая дальше аналогичным образом, приходим к выводу, что система имеет всего два решения относительно переменных Y1 … Y5: все нули и все единицы
теперь нужно получить количество решений в исходных переменных, X1 … X10; для этого вспомним, что переменные Y1 … Y5 независимы;
предположим, что значение Y1 известно (0 или 1); поскольку , по таблице истинности операции «эквивалентность» (истина, когда два значения одинаковы), есть две соответствующих пары (X1;X2) (как для случая Y1 = 0, так и для случая Y1 = 1)
у нас есть 5 переменных Y1 … Y5, каждая их комбинация дает 2 допустимых пары (X1;X2), 2 пары (X3;X4), 2 пары (X5;X6), 2 пары (X7;X8) и 2 пары (X9;X10), то есть всего 25 = 32 комбинации исходных переменных
таким образом, общее количество решений равно 2 ·32 = 64
ответ: 64 решения
Решение (табличный метод):
так же, как и в предыдущем варианте, с помощью замену переменных сведем систему к виду:
(Y1 Y2) = 1
(Y2 Y3) = 1
(Y3 Y4) = 1
(Y4 Y5) = 1
рассмотрим все решения первого уравнения по таблице истинности:
| Y2 | Y1 |
1 | 0 | 0 |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 1 | 1 |
строчки, выделенные красным фоном, не удовлетворяют условию, поэтому дальше их рассматривать не будем
теперь подключаем третью переменную и второе уравнение:
при каких значениях переменной X3 будет верно условие ? Очевидно, что на это уже не влияет Y1 (этот столбец выделен зеленым цветом). Cразу получаем два решения:
как видно из таблицы, каждая строчка предыдущей таблицы дает одно решение при подключении очередного уравнения, поэтому для любого количества переменных система имеет 2 решения – все нули и все единицы
так же, как и в предыдущем способе, переходим к исходным переменным и находим общее количество решений: 2 ·32 = 64
ответ: 64 решения
Решение (метод отображений1, решение А.Н. Носкина):
построим таблицу, в которой переберем все варианты x1, x2, x3, x4, поскольку в первом логическом уравнении четыре переменных, то таблица будет иметь 16 строк (16=24);
уберем из таблицы (желтая заливка) такие значения x4, при которых первое уравнение не имеет решения.
x1 | X2 | X3 | X4 |
0 | 0 | 0 | 0 |
1 |
1 | 0 |
1 |
1 | 0 | 0 |
1 |
1 | 0 |
1 |
1 | 0 | 0 | 0 |
1 |
1 | 0 |
1 |
1 | 0 | 0 |
1 |
1 | 0 |
1 |
анализируя таблицу, строим правило отображения пар переменных
(например, паре x1x2 = 00 соответствуют пара x3x4 = 00 и 11, и, наоборот, для пары x1x2 = 00 нет связей x3x4 = 01 и 10).
заполняем таблицу, вычисляя количество пар переменных, при котором система имеет решение.
| x1x2 | x3x4 | x5x6 | x7x8 | x9x10 |
00 | 1 | 2 | 4 | 8 | 16 |
01 | 1 | 2 | 4 | 8 | 16 |
10 | 1 | 2 | 4 | 8 | 16 |
11 | 1 | 2 | 4 | 8 | 16 |
таким образом, ответ: 16 +16 + 16 +16 = 64 решения.
1 Метод отображений предложен Ел.А. Мирончик и Ек.А. Мирончик (http://kpolyakov.spb.ru/download/b15mirn.zip).