Решение уравнений по информатике. Решение логических уравнений

J ∧ ¬K ∧ L ∧ ¬M ∧ (N ∨ ¬N) = 0, где J, K, L, M, N — логические переменные?

Решение.

Выражение (N ∨ ¬N) истинно при любом N, поэтому

J ∧ ¬K ∧ L ∧ ¬M = 0.

Применим отрицание к обеим частям логического уравнения и используем закон де Моргана ¬ (А ∧ В) = ¬ А ∨ ¬ В. Получим ¬J ∨ K ∨ ¬L ∨ M = 1.

Логическая сумма равна 1, если хотя бы одно из составляющих ее высказываний равно 1. Поэтому полученному уравнению удовлетворяют любые комбинации логических переменных кроме случая, когда все входящие в уравнение величины равны 0. Каждая из 4 переменных может быть равна либо 1, либо 0, поэтому всевозможных комбинаций 2·2·2·2 = 16. Следовательно, уравнение имеет 16 −1 = 15 решений.

Осталось заметить, что найденные 15 решений соответствуют любому из двух возможных значений значений логической переменной N, поэтому исходное уравнение имеет 30 решений.

Ответ: 30

Сколько различных решений имеет уравнение

((J → K) → (M ∧ N ∧ L)) ∧ ((J ∧ ¬K) → ¬ (M ∧ N ∧ L)) ∧ (M → J) = 1

где J, K, L, M, N – логические переменные?

В ответе не нужно перечислять все различные наборы значений J, K, L, M и N, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.

Решение.

Используем формулы A → B = ¬A ∨ B и ¬(А ∨ В) = ¬А ∧ ¬В

Рассмотрим первую подформулу:

(J → K) → (M ∧ N ∧ L) = ¬(¬J ∨ K) ∨ (M ∧ N ∧ L) = (J ∧ ¬K) ∨ (M ∧ N ∧ L)

Рассмотрим вторую подформулу

(J ∧ ¬K) → ¬(M ∧ N ∧ L) = ¬(J ∧ ¬K) ∨ ¬(M ∧ N ∧ L) = (¬J ∨ K) ∨ ¬M ∨ ¬N ∨ ¬L

Рассмотрим третью подформулу

1) M → J = 1 следовательно,

(J ∧ ¬K) ∨ (M ∧ N ∧ L) = (1 ∧ ¬K) ∨ (1 ∧ N ∧ L) = ¬K ∨ N ∧ L;

(0 ∨ K) ∨ 0 ∨ ¬N ∨ ¬L = K ∨ ¬N ∨ ¬L;

Объединим:

¬K ∨ N ∧ L ∧ K ∨ ¬N ∨ ¬L = 0 ∨ L ∨ 0 ∨ ¬L = L ∨ ¬L = 1 следовательно, 4 решения.

(J ∧ ¬K) ∨ (M ∧ N ∧ L) = (1 ∧ ¬K) ∨ (0 ∧ N ∧ L) = ¬K;

(¬J ∨ K) ∨ ¬M ∨ ¬N ∨ ¬L = (0 ∨ K) ∨ 1 ∨ ¬N ∨ ¬L = K ∨ 1 ∨ ¬N ∨ ¬L

Объединим:

K ∨ 1 ∨ ¬N ∨ ¬L ∧ ¬K = 1 ∨ ¬N ∨ ¬L следовательно, 4 решения.

в) M = 0 J = 0.

(J ∧ ¬K) ∨ (M ∧ N ∧ L) = (0 ∧ ¬K) ∨ (0 ∧ N ∧ L) = 0.

(¬J ∨ K) ∨ ¬M ∨ ¬N ∨ ¬L = (1 ∨ K) ∨ 1 ∨ ¬N ∨ ¬L.

Ответ: 4 + 4 = 8.

Ответ: 8

Сколько различных решений имеет уравнение

((K ∨ L) → (L ∧ M ∧ N)) = 0

где K, L, M, N – логические переменные? В Ответе не нужно перечислять все различные наборы значений K, L, M и N, при которых выполнено данное равенство. В качестве Ответа Вам нужно указать количество таких наборов.

Решение.

перепишем уравнение, используя более простые обозначения операций:

((K + L) → (L · M · N)) = 0

1) из таблицы истинности операции «импликация» (см. первую задачу) следует, что это равенство верно тогда и только тогда, когда одновременно

K + L = 1 и L · M · N = 0

2) из первого уравнения следует, что хотя бы одна из переменных, K или L, равна 1 (или обе вместе); поэтому рассмотрим три случая

3) если K = 1 и L = 0, то второе равенство выполняется при любых М и N; поскольку существует 4 комбинации двух логических переменных (00, 01, 10 и 11), имеем 4 разных решения

4) если K = 1 и L = 1, то второе равенство выполняется при М · N = 0; существует 3 таких комбинации (00, 01 и 10), имеем еще 3 решения

5) если K = 0, то обязательно L = 1 (из первого уравнения); при этом второе равенство выполняется при М · N = 0; существует 3 таких комбинации (00, 01 и 10), имеем еще 3 решения

6) всего получаем 4 + 3 + 3 = 10 решений.

Ответ: 10

Сколько различных решений имеет уравнение

(K ∧ L) ∨ (M ∧ N) = 1

Решение.

Выражение истинно в трех случаях, когда (K ∧ L) и (M ∧ N) равны соответственно 01, 11, 10.

1) "01" K ∧ L = 0; M ∧ N = 1, => M, N равны 1, а K и L любые, кроме как одновременно 1. Следовательно 3 решения.

2) "11" K ∧ L = 1; M ∧ N = 1. => 1 решение.

3) "10" K ∧ L = 1; M ∧ N = 0. => 3 решения.

Ответ: 7.

Ответ: 7

Сколько различных решений имеет уравнение

(X ∧ Y ∨ Z) → (Z ∨ P) = 0

где X, Y, Z, P – логические переменные? В ответе не нужно перечислять все различные наборы значений, при которых выполнено данное равенство. В качестве ответа вам нужно указать только количество таких наборов.

Решение.

(X ∧ Y ∨ Z) → (Z ∨ P) = 0 =>

¬(X ∧ Y ∨ Z) ∨ (Z ∨ P) = 0;

(¬X ∨ ¬Y ∧ ¬Z) ∨ (Z ∨ P) = 0;

Логическое ИЛИ ложно только в одном случае: когда оба выражения ложны.

Следовательно,

(Z ∨ P) = 0 => Z = 0, P = 0.

¬X ∨ ¬Y ∧ ¬Z = 0 => ¬X ∨ ¬Y ∧ 1 = 0 =>

¬X ∨ ¬Y = 0 => X = 1; Y = 1.

Следовательно, существует только одно решение уравнения.

Ответ: 1

Сколько различных решений имеет уравнение

(K ∨ L) ∧ (M ∨ N) = 1

где K, L, M, N – логические переменные? В ответе не нужно перечислять все различные наборы значений K, L, M и N, при которых выполнено данное равенство. В качестве ответа вам нужно указать только количество таких наборов.

Решение.

Логическое И истинно только в одном случае: когда все выражения истинны.

K ∨ L = 1, M ∨ N = 1.

Каждое из уравнений дает по 3 решения.

Рассмотрим уравнение А ∧ В = 1 если и А и В принимают истинные значения в трех случаях каждое, то в целом уравнение имеет 9 решений.

Следовательно ответ 9.

Ответ: 9

Сколько различных решений имеет уравнение

((A → B)∧ C) ∨ (D ∧ ¬D)= 1,

где A, B, C, D – логические переменные?

В ответе не нужно перечислять все различные наборы значений A, B, C, D, при которых выполнено данное равенство. В качестве ответа вам нужно указать количество таких наборов.

Решение.

Логическое "ИЛИ" истинно, когда истинно хотя бы одно из утверждений.

(D ∧ ¬D)= 0 при любых D.

Следовательно,

(A → B)∧ C) = 1 => C = 1; A → B = 1 => ¬ A ∨ B = 1, что дает нам 3 варианта решений при каждом D.

(D ∧ ¬ D)= 0 при любых D, что дает нам два варианта решений (при D = 1, D = 0).

Следовательно: всего решений 2*3 = 6.

Итого 6 решений.

Ответ: 6

Сколько различных решений имеет уравнение

(¬K ∨ ¬L ∨ ¬M) ∧ (L ∨ ¬M ∨ ¬N) = 0

где K, L, M, N – логические переменные? В ответе не нужно перечислять все различные наборы значений K, L, M и N, при которых выполнено данное равенство. В качестве ответа вам нужно указать только количество таких наборов.

Решение.

Применим отрицание к обеим частям уравнения:

(K ∧ L ∧ M) ∨ (¬L ∧ M ∧ N) = 1

Логическое ИЛИ истинно в трех случаях.

Вариант 1.

K ∧ L ∧ M = 1, тогда K, L, M = 1, а ¬L ∧ M ∧ N = 0. N любое, то есть 2 решения.

Вариант 2.

¬L ∧ M ∧ N = 1, тогда N, M = 1; L = 0, K любое, то есть 2 решения.

Следовательно, ответ 4.

Ответ: 4

A, B и С — целые числа, для которых истинно высказывание

¬ (А = B) ∧ ((A > B)→(B > C)) ∧ ((B > A)→(С > B)).

Чему равно В, если A = 45 и C = 43?

Решение.

Обратим внимание, что это сложное высказывание состоит из трех простых

1) ¬(А = B); (A > B)→(B > C); (B > A)→(С > B);

2) эти простые высказывания связаны операцией ∧ (И, конъюнкция), то есть, они должны выполняться одновременно;

3) из ¬(А = B)=1 сразу следует, что А B;

4) предположим, что A > B, тогда из второго условия получаем 1→(B > C)=1; это выражение может быть истинно тогда и только тогда, когда B > C = 1;

5) поэтому имеем A > B > C, этому условию соответствует только число 44;

6) на всякий случай проверим и вариант A 0 →(B > C)=1;

это выражение истинно при любом B; теперь смотрим третье условие получаем

это выражение может быть истинно тогда и только тогда, когда C > B, и тут мы получили противоречие, потому что нет такого числа B, для которого C > B > A.

Ответ: 44.

Ответ: 44

Составьте таблицу истинности для логической функции

X = (А ↔ B) ∨ ¬(A → (B ∨ C))

в которой столбец значений аргумента А представляет собой двоичную запись числа 27, столбец значений аргумента В — числа 77, столбец значений аргумента С — числа 120. Число в столбце записывается сверху вниз от старшего разряда к младшему(включая нулевой набор). Переведите полученную двоичную запись значений функции X в десятичную систему счисления.

Решение.

Запишем уравнение, используя более простые обозначения операций:

1) это выражение с тремя переменными, поэтому в таблице истинности будет строчек; следовательно, двоичная запись чисел, по которым строятся столбцы таблицы А, В и С, должна состоять из 8 цифр

2) переведем числа 27, 77 и 120 в двоичную систему, сразу дополняя запись до 8 знаков нулями в начале чисел

3) вряд ли вы сможете сразу написать значения функции Х для каждой комбинации, поэтому удобно добавить в таблицу дополнительные столбцы для расчета промежуточных результатов (см. таблицу ниже)

X 0
А В С
0 0
0 1 1
0 0 1
1 0 1
1 1 1
0 1 0
1 0 0
1 1 0

4) заполняем столбцы таблицы:

А В С X
0 0 0 1 0 1 0 1
0 1 1 0 1 1 0 0
0 0 1 1 1 1 0 1
1 0 1 0 1 1 0 0
1 1 1 1 1 1 0 1
0 1 0 0 1 1 0 0
1 0 0 0 0 0 1 1
1 1 0 1 1 1 0 1

значение равно 1 только в тех строчках, где А = В

значение равно 1 в тех строчках, где либо В либо С = 1

значение равно 0 только в тех строчках, где А = 1 и В + С = 0

значение — это инверсия предыдущего столбца (0 заменяется на 1, а 1 – на 0)

результат Х (последний столбец) — это логическая сумма двух столбцов и

5) чтобы получить ответ, выписываем биты из столбца Х сверху вниз:

6) переводим это число в десятичную систему:

Ответ: 171

Каково наибольшее целое число X, при котором истинно высказывание (10 (X+1)·(X+2))?

Решение.

Уравнение является операцией импликации между двумя отношениями:

1) Конечно, здесь можно применить тот же способ, что и в примере 2208, однако при этом понадобится решать квадратные уравнения (не хочется…);

2) Заметим, что по условию нас интересуют только целые числа, поэтому можно попытаться как─то преобразовать исходное выражение, получив равносильное высказывание (точные значения корней нас совершенно не интересуют!);

3) Рассмотрим неравенство : очевидно, что может быть как положительным, так и отрицательным числом;

4) Легко проверить, что в области высказывание истинно при всех целых , а в области — при всех целых (чтобы не запутаться, удобнее использовать нестрогие неравенства, и , вместо и );

5) Поэтому для целых можно заменить на равносильное выражение

6) область истинности выражения — объединение двух бесконечных интервалов;

7) Теперь рассмотрим второе неравенство : очевидно, что так же может быть как положительным, так и отрицательным числом;

8) В области высказывание истинно при всех целых , а в области — при всех целых , поэтому для целых можно заменить на равносильное выражение

9) область истинности выражения — закрытый интервал;

10) Заданное выражение истинно везде, кроме областей, где и ;

11) Обратите внимание, что значение уже не подходит, потому что там и , то есть импликация дает 0;

12) При подставлении 2, (10 (2+1) · (2+2)), или 0 → 0 что удовлетворяет условию.

Таким образом, ответ 2.

Ответ: 2

Каково наибольшее целое число X, при котором истинно высказывание

(50 (X+1)·(X+1))?

Решение.

Применим преобразование импликации и преобразуем выражение:

(50 (X+1)·(X+1)) ⇔ ¬(X 2 > 50) ∨ ((X+1) 2) ∨ (|X+1|).

Логическое ИЛИ истинно когда истинно хотя бы одно логическое высказывание. Решив оба неравенства и учитывая, что видим, что наибольшее целое число, при котором выполняется хотя бы одно из них - 7 (на рисунке жёлтым изображено положительное решение второго неравенства, синим - первого).

Ответ: 7

Укажите значения переменных К, L, M, N, при которых логическое выражение

(¬(М ∨ L) ∧ К) → (¬К ∧ ¬М ∨ N)

ложно. Ответ запишите в виде строки из 4 символов: значений переменных К, L, М и N (в указанном порядке). Так, например, строка 1101 соответствует тому, что К=1, L=1, M=0, N=1.

Решение.

Дублирует задание 3584.

Ответ: 1000

(¬K ∨ M) → (¬L ∨ M ∨ N)

Решение.

Применим преобразование импликации:

(K ∧ ¬M) ∨ (¬L ∨ M ∨ N) = 0

Применим отрицание к обоим частям уравнения:

(¬K ∨ M) ∧ L ∧ ¬M ∧ ¬N = 1

Преобразуем:

(¬K ∧ L ∨ M ∧ L) ∧ ¬M ∧ ¬N = 1

Следовательно, M = 0, N = 0, рассмотрим теперь (¬K ∧ L ∨ M ∧ L):

из того, что M = 0, N = 0 следует, что M ∧ L = 0, тогда ¬K ∧ L = 1, то есть K = 0, L = 1.

Ответ: 0100

Укажите значения переменных K, L, M, N, при которых логическое выражение

(¬(M ∨ L) ∧ K) → ((¬K ∧ ¬M) ∨ N)

ложно. Ответ запишите в виде строки из четырех символов: значений переменных K, L, M и N (в указанном порядке). Так, например, строка 1101 соответствует тому, что K=1, L=1, M=0, N=1.

Решение.

Запишем уравнение, используя более простые обозначения операций (условие «выражение ложно» означает, что оно равно логическому нулю):

1) из формулировки условия следует, что выражение должно быть ложно только для одного набора переменных

2) из таблицы истинности операции «импликация» следует, что это выражение ложно тогда и только тогда, когда одновременно

3) первое равенство (логическое произведение равно 1) выполняется тогда и только тогда, когда и ; отсюда следует (логическая сумма равна нулю), что может быть только при ; таким образом, три переменных мы уже определили

4) из второго условия, , при и получаем .

Дублирует задание

Ответ: 1000

Укажите значения логических переменных Р, Q, S, Т, при которых логическое выражение

(Р ∨ ¬Q) ∨ (Q → (S ∨ Т)) ложно.

Ответ запишите в виде строки из четырех символов: значений переменных Р, Q, S, T (в указанном порядке).

Решение.

(1) (Р ∨ ¬Q) = 0

(2) (Q → (S ∨ Т)) = 0

(1) (Р ∨ ¬Q) = 0 => P = 0, Q = 1.

(2) (Q → (S ∨ Т)) = 0 Применим преобразование импликации:

¬Q ∨ S ∨ Т = 0 => S = 0, T = 0.

Ответ: 0100

Укажите значения переменных K, L, M, N, при которых логическое выражение

(K → M) ∨ (L ∧ K) ∨ ¬N

ложно. Ответ запишите в виде строки из четырех символов: значений переменных K, L, M и N (в указанном порядке). Так, например, строка 1101 соответствует тому, что K=1, L=1, M=0, N=1.

Решение.

Логическое "ИЛИ" ложно тогда и только тогда, когда ложны оба утверждения.

(K → M) = 0, (L ∧ K) ∨ ¬N = 0.

Применим преобразование импликации для первого выражения:

¬K ∨ M = 0 => K = 1, M = 0.

Рассмотрим второе выражение:

(L ∧ K) ∨ ¬N = 0 (см. результат первого выражения) => L ∨ ¬N = 0 => L = 0, N = 1.

Ответ: 1001.

Ответ: 1001

Укажите значения переменных K, L, M, N, при которых логическое выражение

(K → M) ∧ (K → ¬M) ∧ (¬K → (M ∧ ¬L ∧ N))

истинно. Ответ запишите в виде строки из четырех символов: значений переменных K, L, M и N (в указанном порядке). Так, например, строка 1101 соответствует тому, что K=1, L=1, M=0, N=1.

Решение.

Логическое "И" истинно тогда и только тогда, когда истинны оба утверждения.

1) (K → M) = 1 Применим преобразование импликации: ¬K ∨ M = 1

2) (K → ¬M) = 1 Применим преобразование импликации: ¬K ∨ ¬M = 1

Отсюда следует, что K = 0.

3) (¬K → (M ∧ ¬L ∧ N)) = 1 Применим преобразование импликации: K ∨ (M ∧ ¬L ∧ N) = 1 из того что K = 0 получаем.

Способы решения систем логических уравнений

Киргизова Е.В., Немкова А.Е.

Лесосибирский педагогический институт –

филиал Сибирского федерального университета, Россия

Умение мыслить последовательно, рассуждать доказательно, строить гипотезы, опровергать негативные выводы, не приходит само по себе, это умение развивает наука логика . Логика – это наука, изучающая методы установленияистинности или ложности одних высказываний на основе истинности или ложности других высказываний .

Овладение азами этой науки невозможно без решения логических задач. Проверка сформированности умений применять свои знания в новой ситуации осуществляется за счет сдачи. В частности, это умение решать логические задачи. Задания В15 в ЕГЭ, являются заданиями повышенной сложности, так как они содержат системы логических уравнений. Можно выделить различные способы решения систем логических уравнений. Это сведение к одному уравнению, построение таблицы истинности, декомпозиция, последовательное решение уравнений и т.д.

Задача: Решить систему логических уравнений:

Рассмотрим метод сведения к одному уравнению . Данный метод предполагает преобразование логических уравнений, таким образом, чтобы правые их части были равны истинностному значению (то есть 1). Для этого применяют операцию логического отрицания. Затем, если в уравнениях есть сложные логические операции, заменяем их базовыми: «И», «ИЛИ», «НЕ». Следующим шагом объединяем уравнения в одно, равносильное системе, с помощью логической операции «И». После этого, следует сделать преобразования полученного уравнения на основе законов алгебры логики и получить конкретное решение системы.

Решение 1: Применяем инверсию к обеим частям первого уравнения:

Представим импликацию через базовые операции «ИЛИ», «НЕ»:

Поскольку левые части уравнений равны 1, можно объединить их с помощью операции “И” в одно уравнение, равносильное исходной системе:

Раскрываем первую скобку по закону де Моргана и преобразовываем полученный результат:

Полученное уравнение, имеет одно решение: A =0 , B =0 и C =1 .

Следующий способ – построение таблиц истинности . Поскольку логические величины имеют только два значения, можно просто перебрать все варианты и найти среди них те, при которых выполняется данная система уравнений. То есть, мы строим одну общую таблицу истинности для всех уравнений системы и находим строку с нужными значениями.

Решение 2: Составим таблицу истинности для системы:

0

0

1

1

0

1

Полужирным выделена строчка, для которой выполняются условия задачи. Таким образом, A =0 , B =0 и C =1 .

Способ декомпозиции . Идея состоит в том, чтобы зафиксировать значение одной из переменных (положить ее равной 0 или 1) и за счет этого упростить уравнения. Затем можно зафиксировать значение второй переменной и т.д.

Решение 3: Пусть A = 0, тогда :

Из первого уравнения получаем B =0, а из второго – С=1. Решение системы: A = 0 , B = 0 и C = 1 .

Так же можно воспользоваться методом последовательного решения уравнений , на каждом шаге добавляя по одной переменной в рассматриваемый набор. Для этого необходимо преобразовать уравнения таким образом, что бы переменные вводились в алфавитном порядке. Далее строим дерево решений, последовательно добавляя в него переменные.

Первое уравнение системы зависит только от A и B , а второе уравнение от А и C . Переменная А может принимать 2 значения 0 и 1:


Из первого уравнения следует, что , поэтому при A = 0 п олучаем B = 0 , а при A = 1 имеем B = 1 . Итак, первое уравнение имеет два решения относительно переменных A и B .

Изобразим второе уравнение, из которого определим значения C для каждого варианта. При A =1 импликация не может быть ложной, то есть вторая ветка дерева не имеет решения. При A =0 получаем единственное решение C = 1 :

Таким образом, получили решение системы: A = 0 , B = 0 и C = 1 .

В ЕГЭ по информатике очень часто требуется определить количество решений системы логических уравнений, без нахождения самих решений, для этого тоже существуют определенные методы. Основной способ нахождения количества решений системы логических уравнений – замена переменных . Сначала необходимо максимально упростить каждое из уравнений на основе законов алгебры логики, а затем заменить сложные части уравнений новыми переменными и определить количество решений новой системы. Далее вернуться к замене и определить для нее количество решений.

Задача: Сколько решений имеет уравнение ( A → B ) + (C → D ) = 1? Где A, B, C, D – логические переменные.

Решение: Введем новые переменные: X = A → B и Y = C → D . С учетом новых переменных уравнение запишется в виде: X + Y = 1.

Дизъюнкция верна в трех случаях: (0;1), (1;0) и (1;1), при этом X и Y является импликацией, то есть является истинной в трех случаях и ложной – в одном. Поэтому случай (0;1) будет соответствовать трем возможным сочетаниям параметров. Случай (1;1) – будет соответствовать девяти возможным сочетаниям параметров исходного уравнения. Значит, всего возможных решений данного уравнения 3+9=15.

Следующий способ определения количества решений системы логических уравнений – бинарное дерево . Рассмотрим данный метод на примере.

Задача: Сколько различных решений имеет система логических уравнений:

Приведенная система уравнений равносильна уравнению:

( x 1 x 2 )*( x 2 x 3 )*…*( x m -1 x m ) = 1.

Предположим, что x 1 – истинно, тогда из первого уравнения получаем, что x 2 также истинно, из второго - x 3 =1, и так далее до x m = 1. Значит набор (1; 1; …; 1) из m единиц является решением системы. Пусть теперь x 1 =0, тогда из первого уравнения имеем x 2 =0 или x 2 =1.

Когда x 2 истинно получаем, что остальные переменные также истинны, то есть набор (0; 1; …; 1) является решением системы. При x 2 =0 получаем, что x 3 =0 или x 3 =, и так далее. Продолжая до последней переменной, получаем, что решениями уравнения являются следующие наборы переменных ( m +1 решение, в каждом решении по m значений переменных):

(1; 1; 1; …; 1)

(0; 1; 1; …; 1)

(0; 0; 0; …; 0)

Такой подход хорошо иллюстрируется с помощью построения бинарного дерева. Количество возможных решений – количество различных ветвей построенного дерева. Легко заметить, что оно равно m +1.

Переменные

Дерево

Количество решений

x 1

x 2

x 3

В случае трудностей в рассуждениях и построении дерева решений можно искать решение с использованием таблиц истинности , для одного – двух уравнений.

Перепишем систему уравнений в виде:

И составим таблицу истинности отдельно для одного уравнения:

x 1

x 2

(x 1 → x 2)

Составим таблицу истинности для двух уравнений:

x 1

x 2

x 3

x 1 → x 2

x 2 → x 3

(x 1 → x 2) * (x 2 → x 3)

Далее можно увидеть, что одно уравнение истинно в следующих трех случаях: (0; 0), (0; 1), (1; 1). Система двух уравнений истина в четырех случаях (0; 0; 0), (0; 0; 1), (0; 1; 1), (1; 1; 1). При этом сразу видно, что существует решение, состоящее из одних нулей и еще m решений, в которых добавляется по одной единице, начиная с последней позиции до заполнения всех возможных мест. Можно предположить, что общее решение будет иметь такой же вид, но чтобы такой подход стал решением, требуется доказательство, что предположение верно.

Подводя итог всему вышесказанному, хочется обратить внимание, на то, что не все рассмотренные методы являются универсальными. При решении каждой системы логических уравнений следует учитывать ее особенности, на основе которых и выбирать метод решения.

Литература:

1. Логические задачи / О.Б. Богомолова – 2-е изд. – М.: БИНОМ. Лаборатория знаний, 2006. – 271 с.: ил.

2. Поляков К.Ю. Системы логических уравнений / Учебно-методическая газета для учителей информатики: Информатика №14, 2011 г.

Можно выделить различные способы решения систем логических уравнений. Это сведение к одному уравнению, построение таблицы истинности и декомпозиция.

Задача: Решить систему логических уравнений:

Рассмотрим метод сведения к одному уравнению . Данный метод предполагает преобразование логических уравнений, таким образом, чтобы правые их части были равны истинностному значению (то есть 1). Для этого применяют операцию логического отрицания. Затем, если в уравнениях есть сложные логические операции, заменяем их базовыми: «И», «ИЛИ», «НЕ». Следующим шагом объединяем уравнения в одно, равносильное системе, с помощью логической операции «И». После этого, следует сделать преобразования полученного уравнения на основе законов алгебры логики и получить конкретное решение системы.

Решение 1: Применяем инверсию к обеим частям первого уравнения:

Представим импликацию через базовые операции «ИЛИ», «НЕ»:

Поскольку левые части уравнений равны 1, можно объединить их с помощью операции “И” в одно уравнение, равносильное исходной системе:

Раскрываем первую скобку по закону де Моргана и преобразовываем полученный результат:

Полученное уравнение, имеет одно решение: A =0, B=0 и C=1.

Следующий способ – построение таблиц истинности . Поскольку логические величины имеют только два значения, можно просто перебрать все варианты и найти среди них те, при которых выполняется данная система уравнений. То есть, мы строим одну общую таблицу истинности для всех уравнений системы и находим строку с нужными значениями.

Решение 2: Составим таблицу истинности для системы:

0

0

1

1

0

1

Полужирным выделена строчка, для которой выполняются условия задачи. Таким образом, A=0, B=0 и C=1.

Способ декомпозиции . Идея состоит в том, чтобы зафиксировать значение одной из переменных (положить ее равной 0 или 1) и за счет этого упростить уравнения. Затем можно зафиксировать значение второй переменной и т.д.

Решение 3: Пусть A = 0, тогда:

Из первого уравнения получаем B =0, а из второго – С=1. Решение системы: A = 0, B = 0 и C = 1.

В ЕГЭ по информатике очень часто требуется определить количество решений системы логических уравнений, без нахождения самих решений, для этого тоже существуют определенные методы. Основной способ нахождения количества решений системы логических уравнений – замена переменных . Сначала необходимо максимально упростить каждое из уравнений на основе законов алгебры логики, а затем заменить сложные части уравнений новыми переменными и определить количество решений новой системы. Далее вернуться к замене и определить для нее количество решений.

Задача: Сколько решений имеет уравнение (A →B ) + (C →D ) = 1? Где A, B, C, D – логические переменные.

Решение: Введем новые переменные: X = A →B и Y = C →D . С учетом новых переменных уравнение запишется в виде: X + Y = 1.

Дизъюнкция верна в трех случаях: (0;1), (1;0) и (1;1), при этом X и Y является импликацией, то есть является истинной в трех случаях и ложной – в одном. Поэтому случай (0;1) будет соответствовать трем возможным сочетаниям параметров. Случай (1;1) – будет соответствовать девяти возможным сочетаниям параметров исходного уравнения. Значит, всего возможных решений данного уравнения 3+9=15.

Следующий способ определения количества решений системы логических уравнений – бинарное дерево . Рассмотрим данный метод на примере.

Задача: Сколько различных решений имеет система логических уравнений:

Приведенная система уравнений равносильна уравнению:

(x 1 x 2 )*(x 2 x 3 )*…*(x m -1 x m ) = 1.

Предположим, что x 1 – истинно, тогда из первого уравнения получаем, что x 2 также истинно, из второго - x 3 =1, и так далее до x m = 1. Значит набор (1; 1; …; 1) из m единиц является решением системы. Пусть теперь x 1 =0, тогда из первого уравнения имеем x 2 =0 или x 2 =1.

Когда x 2 истинно получаем, что остальные переменные также истинны, то есть набор (0; 1; …; 1) является решением системы. При x 2 =0 получаем, что x 3 =0 или x 3 =, и так далее. Продолжая до последней переменной, получаем, что решениями уравнения являются следующие наборы переменных (m +1 решение, в каждом решении по m значений переменных):

(1; 1; 1; …; 1)

(0; 1; 1; …; 1)

(0; 0; 0; …; 0)

Такой подход хорошо иллюстрируется с помощью построения бинарного дерева. Количество возможных решений – количество различных ветвей построенного дерева. Легко заметить, что оно равно m +1.

Дерево

Количество решений

x 1

x 2

x 3

В случае трудностей в рассужд ниях и построении де рева решений можно искать решение с использованием таблиц истинности , для одного – двух уравнений.

Перепишем систему уравнений в виде:

И составим таблицу истинности отдельно для одного уравнения:

x 1

x 2

(x 1 → x 2)

Составим таблицу истинности для двух уравнений:

x 1

x 2

x 3

x 1 → x 2

x 2 → x 3

(x 1 → x 2) * (x 2 → x 3)

По завершению года оказалось, что только одно из трех предположений истинно. Какие подразделения получили по итогам года прибыль?

Решение. Запишем предположения из условия задачи в виде логических высказываний: «Получение прибыли подразделениемB не является необходимым условием для получения

прибыли подразделением A »:F 1 (A , B , C ) = A → B

«Получение прибыли хотя бы одним подразделений B иC не является достаточным для получения прибыли подразделениемA »:F 2 (A , B , C ) = (B + C ) → A

«Подразделения A иB не получат прибыль одновременно»:F 3 (A , B , C ) = A B

Из условия известно, что только одно из трех предположений истинно. Это значит, что мы должны найти какое из трех следующих логических выражений не является тождественно ложным:

1) F 1F 2F 3

2) F 1F 2F 3

3) F 1F 2F 3

1) (A→ B) ((B+ C) → A) (A↔ B) = A B(B C+ A) (A B+ A B) = 0

2) (A→ B) ((B+ C) → A) (A↔ B) = (A+ B) (A B+ A C) (A B+ A B) = A B C

3) (A→ B) ((B+ C) → A) (A B) = (A+ B) (B C+ A) (A B+ A B) = 0

Следовательно, по итогам годы истинным оказалось второе предположение, а первое и третье – ложными.

A = 0

F1 F2 F3 = A B C= 1

в том и только в том случае, когда B = 0 .

C = 1

Следовательно, что прибыль получит подразделение C , а подразделенияA иB прибыль не получат.

Решение логических уравнений

В текстах государственного централизованного тестирования есть задание (А8), в котором предлагается найти корень логического уравнения. Давайте разберем способы решения подобных заданий на примере.

Найти корень логического уравнения: (A + B )(X AB ) = B + X → A .

Первый способ решения – построение таблицы истинности. Построим таблицы истинности правой и левой части уравнения и посмотрим, при каком X , значения в последних столбцах этих таблиц совпадут.

F1 (A, B, X) = (A+ B)(X AB)

A + B

(A+ B)(X AB)

F 1 (A ,B ,X )

F2 (A, B, X) = B+ X→ A

X → A

F 2 (A ,B ,X )

X → A

X → A

Сравним полученные таблицы истинности и выберем те строки, в которых значения F 1 (A , B , X ) иF 2 (A , B , X ) совпадают.

F 1 (A ,B ,X )

F 2 (A ,B ,X )

Перепишем только выбранные строки, оставив только столбцы аргументов. Посмотрим на переменную X как на функцию отA иB .

Очевидно, что X = B → A .

Второй способ решения – заменить знак равенства в уравнении на знак эквиваленции, а затем упростить полученное логическое уравнение.

Для облегчения дальнейшей работы предварительно упростим правую и левую части логического уравнения и найдем их отрицания:

F1 = (A+ B)(X AB) = A+ B+ (X↔ AB) = A B+ X A B+ X A+ X B

F1 = (A+ B)(X AB) = (A+ B)(X A+ X B+ X A B) = X A B+ X A B+ X A B

F2 = B+ X→ A= B(X→ A) = B(X+ A) = X B+ A B F2 = B+ X→ A= B+ X+ A= B+ X A

Заменим в нашем логическом уравнении знак равенства на знак эквивалентности:

F1 ↔ F2 = F1 F2 + F1 F2 = (A B+ X A B+ X A+ X B) (X B+ A B) +

+ (X A B+ X A B+ X A B) (B+ X A) =

= (X A B+ X B+ X A B) + (X A B+ X A B) =

Перегруппируем логические слагаемые данного выражения, вынеся за скобку множители X иX .

X(A B) + X(B+ AB) = X(A B) + X(B+ A) =

Обозначим T = A B , тогда

X T+ X T= X↔ T.

Следовательно, чтобы логическое уравнение имеет решение: X = A B = B + A = B → A .

Логические элементы ЭВМ. Построение функциональных схем

Математическая логика с развитием ВТ оказалась в тесной взаимосвязи с вопросами конструирования и программирования вычислительной техники. Алгебра логики нашла широкое применение первоначально при разработке релейно-контактных схем . Первым фундаментальным исследованием, обратившим внимание инженеров, занимавшихся проектированием ЭВМ, на возможность анализа электрических цепей с помощью булевой алгебры была опубликована в декабре 1938 года статья американца Клода Шеннона «Символический анализ релейно-контактных схем». После этой статьи проектирование ЭВМ не обходилось без применения булевой алгебры.

Логический элемент - это схема, реализующая логические операции дизъюнкции, конъюнкции и инверсии. Рассмотрим реализацию логических элементов через электрические релейно-контактные схемы, знакомые вам из школьного курса физики.

Последовательное соединение контактов

Параллельное соединение контактов

Составим таблицу зависимостей состояния цепей от всевозможных состояний контактов. Введем обозначения: 1 – контакт замкнут, ток в цепи есть; 0 – контакт разомкнут, тока в цепи нет.

Состояние цепи с

Состояние цепи с параллельным

последовательным соединением

соединением

Как видно, цепь с последовательным соединением соответствует логической операции конъюнкция, так как ток в цепи появляется только при одновременном замыкании контактов A иB . Цепь с параллельным соединением соответствует логической операции дизъюнкция, так как ток в цепи отсутствует только в момент, когда оба контакта разомкнуты.

Логическая операция инверсии реализуется через контактную схему электромагнитного реле, принцип которого изучается в школьном курсе физики. Контакт x разомкнут, когдаx замкнут, и наоборот.

Использование релейно-контактных элементов для построения логических схем вычислительных машин не оправдало себя ввиду низкой надежности, больших габаритов, большого энергопотребления и низкого быстродействия. Появление электронных приборов (вакуумных и полупроводниковых) создало возможность построения логических элементов с быстродействием от 1 миллиона переключений в секунду и выше. Логические элементы на полупроводниках работают в режиме ключа аналогично электромагнитному реле. Вся теория, изложенная для контактных схем, переносится на полупроводниковые элементы. Логические элементы на полупроводниках характеризуются не состоянием контактов, а наличием сигналов на входе и выходе.

Рассмотрим логические элементы, реализующие основные логические операции:

Инвертор - реализует операцию отрицания или инверсию. У

инвертора один вход и один выход. Сигнал на выходе появляется

тогда, когда на входе его нет, и наоборот.

Конъюнктор -

X1 X2 ... Xn

реализует операцию конъюнкции.

У конъюнктора

один выход и не менее двух входов. Сигнал на

выходе появляется тогда и только тогда, когда на

все входы поданы сигналы.

X2 + ... Xn

Дизъюнктор - реализует операцию дизъюнкции. У

дизъюнктора один выход и не менее двух

Сигнал на выходе не появляется тогда и только тогда,

когда на все входы не поданы сигналы.

Построить

функциональную

F(X, Y, Z) = X(Y+ Z)

X + Z

схему, соответствующую функции:

& F(X, Y, Z)

Решение задач с использованием конъюнктивно-нормальной

и дизъюнктивно-нормальной форм

В задачниках по логике часто встречаются стандартные задачи, где нужно записать функцию, реализующую релейно-контактную схему, упростить ее и построить таблицу истинности для этой функции. А как решать обратную задачу? Дана произвольная таблица истинности, нужно построить функциональную или релейно-контактную схему. Этим вопросом мы и займемся сегодня.

Любую функцию алгебры логики можно представить комбинацией трех операций: конъюнкции, дизъюнкции и инверсии. Давайте разберемся, как это делается. Для этого запишем несколько определений.

Минтерм - это функция, образованная конъюнкцией некоторого числа переменных или их отрицаний. Минтерм принимает значение 1 при единственном из всех возможных наборов

аргументов, и значение 0 при всех остальных. Пример: x 1 x 2 x 3 x 4 .

Макстерм - это функция, образованная дизъюнкцией некоторого числа переменных или их отрицаний. Макстерм принимает значение 0 в одном из возможных наборов, и 1 при всех других.

Пример: x 1 + x 2 + x 3 .

Функция в дизъюнктивной нормальной форме (ДНФ) является логической суммой минтермов.

Пример: x 1x 2+ x 1x 2+ x 1x 2x 3.

Конъюнктивная нормальная форма (КНФ) является логическим произведением элементарных дизъюнкций (макстермов).

Пример: (x 1+ x 2+ x 3) (x 1+ x 2) .

Совершенной дизъюнктивно-нормальной формойназывается ДНФ, в каждом минтерме которой присутствуют все переменные или их отрицания.

Пример: x 1x 2x 3+ x 1x 2x 3+ x 1x 2x 3

Совершенной конъюктивно-нормальной формойназывается КНФ, в каждом макстерме которой присутствуют все переменные или их отрицания.

Пример: (x 1+ x 2+ x 3) (x 1+ x 2+ x 3)

Запись логической функции по таблице

Любая логическая функция может быть выражена в виде СДНФ или СКНФ. В качестве примера рассмотрим функцию f , представленную в таблице.

f(x1 , x2 , x3 )

Функции G0, G1, G4, G5, G7 – это минтермы (см. определение). Каждая из этих функций является произведением трех переменных или их инверсий и принимает значение 1 только в одной ситуации. Видно, что для того, чтобы получить 1 в значении функции f, нужен один минтерм. Следовательно, количество минтермов, составляющих СДНФ этой функции, равно количеству единиц в значении функции: f= G0+G1+G4+G5+G7. Таким образом, СДНФ имеет вид:

f (x 1, x 2, x 3) = x 1x 2x 3+ x 1x 2x 3+ x 1x 2x 3+ x 1x 2x 3+ x 1x 2x 3.

Аналогично можно построить СКНФ. Количество сомножителей равно количеству нулей в значениях функции:

f (x 1, x 2, x 3) = (x 1+ x 2+ x 3) (x 1+ x 2+ x 3) (x 1+ x 2+ x 3) .

Таким образом, можно записать в виде формулы любую логическую функцию, заданную в виде таблицы.

Алгоритм построения СДНФ по таблице истинности

Дана таблица истинности некоторой функции. Для построения СДНФ необходимо выполнить следующую последовательность шагов:

1. Выбрать все строки таблицы, в которых функция принимает значение 1.

2. Каждой такой строке поставить в соответствие конъюнкцию всех аргументов или их инверсий (минтерм). При этом аргумент, принимающий значение 0, входит в минтерм с отрицанием, а значение 1 – без отрицания.

3. Наконец, образуем дизъюнкцию всех полученных минтермов. Количество минтермов должно совпадать с количеством единиц логической функции.

Алгоритм построения СКНФ по таблице истинности

Дана таблица истинности некоторой функции. Для построения СКНФ необходимо выполнить следующую последовательность шагов:

1. Выбрать все строки таблицы, в которых функция принимает значение 0.

2. Каждой такой строке поставить в соответствие дизъюнкцию всех аргументов или их инверсий (макстерм). При этом аргумент, принимающий значение 1, входит в макстерм с отрицанием, а значение 1 – без отрицания.

3. Наконец, образуем конъюнкцию всех полученных макстермов. Количество макстермов должно совпадать с количеством нулей логической функции.

Если условиться из двух форм (СДНФ или СКНФ) отдавать предпочтение той, которая содержит меньше букв, то СДНФ предпочтительней, если среди значений функции таблицы истинности меньше единиц, СКНФ – если меньше нулей.

Пример. Дана таблица истинности логической функции от трех переменных. Построить логическую формулу, реализующую эту функцию.

F(A, B, C)

Выберем те строки в данной таблице истинности, в которых значения функции равна 0.

F(A, B, C) = (A+ B+ C) (A+ B+ C)

Проверим выведенную функцию, составив таблицу истинности.

Сравнив начальную и итоговую таблицу истинности можно сделать вывод, что логическая функция построена правильно.

Решение задач

1. Три преподавателя отбирают задачи для олимпиады. На выбор предлагается несколько задач. По каждой задаче каждый из преподавателей высказывает свое мнение: легкая (0) или трудная (1) задача. Задача включается в олимпиадное задание, если не менее двух преподавателей отметили ее как трудную, но если все три преподавателя считают ее трудной, то такая задача не включается в олимпиадное задание как слишком сложная. Составьте логическую схему устройства, которое будет выдавать на выходе 1, если задача включается в олимпиадное задание, и 0, если не включается.

Построим таблицу истинности искомой функции. У нас есть три входные переменные (три преподавателя). Следовательно, искомая функция будет функцией от трех переменных.

Анализируя условие задачи, получаем следующую таблицу истинности:

Строим СДНФ. F(A, B, C) = ABC+ ABC+ ABC

Теперь строим логическую схему этой функции.

B & 1F(A,B,C)

2. Городская олимпиада по базовому курсу информатики, 2007 год. Постройте схему электрической цепи для подъезда трехэтажного дома такую, чтобы выключателем на любом этаже можно было бы включить или выключить свет во всем доме.

Итак, у нас есть три выключателя, которыми мы должны включать и выключать свет. У каждого выключателя есть два состояния: верхнее (0) и нижнее (1). Предположим, что если все три выключателя в положении 0, свет в подъезде выключен. Тогда при переводе любого из трех выключателей в положение 1 свет в подъезде должен загореться. Очевидно, что при переводе любого другого выключателя в положение 1, свет в подъезде выключится. Если третий выключатель перевести в положение 1, свет в подъезде загорится. Строим таблицу истинности.

Тогда, F(A, B, C) = ABC+ ABC+ ABC+ ABC.

3. Условие изменения

значения логической функции

F(A, B, C) = C→

A + B

одновременном изменении аргументов B иC равно:

A → (B C)

(B C) → A

A(B C)

4) (B C) → A

A → (B C)

Примечание. Для успешного решения данной задачи вспомним следующие логические формулы:

x → y= x+ y x y= x y+ x y

x ↔ y= x y+ x y

Нам дана логическая функция от трех переменных F 1 (A , B , C ) = C → A + B = C + A B .

Изменим одновременно переменные B иC :F 2 (A , B , C ) = F 1 (A , B , C ) = C + A B . Построим таблицы истинности этих двух функций:

Анализируем полученную таблицу. Из восьми строк таблицы лишь в двух (2-й и 3-й) функция не изменяет своего значения. Обратите внимание, что в этих строках переменнаяA не изменяет своего значения на противоположное, а переменныеB иC – изменяют.

Строим СКНФ функции по этим строкам:

F3 (A, B, C) = (A+ B+ C) (A+ B C) = A+ AB+ AC+ AB+ BC+ AC+ B C= .

A+ (B↔ C) = A+ B C= (B C) → A

Следовательно, искомый ответ – 4.

4. Условие изменения значения логической функции F (A , B , C ) = C + AB при одновременном изменении аргументовA иB равно:

1) C+ (A B)

C + (A B)

C(A B)

4) C(A B)

C → (A B)

F 1 (A ,B ,C )=

C + AB

F 2 (A ,B ,C )= F 1 (

C )= A

Строим таблицу истинности.

Анализируем полученную таблицу. Из восьми строк таблицы лишь в двух (1-й и 7-й) функция меняет свое значение. Обратите внимание, что в этих строках переменная С не меняет свое значение, а переменные A и B – меняют.

Строим СДНФ функции по этим строкам:

F3 (A, B, C) = A B C+ A B C= C(A B+ A B) = C(A↔ B) = C+ (A B)

Следовательно, искомый ответ – 2.

Использованная литература

1. Шапиро С.И. Решение логических и игровых задач (логико-психологические этюды). – М.: Радио и связь, 1984. – 152 с.

2. Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. – М.: Наука. Гл. ред. физ. - мат. лит., 1980. - 400 с.

3. Пухальский Г.И., Новосельцева Т.Я. Проектирование дискретных устройств на интегральных микросхемах.: Справочник. – М.: Радио и связь, 1990.

Решение систем логических уравнений методом замены переменных

Метод замены переменных применяется, если некоторые переменные входят в состав уравнений только в виде конкретного выражения, и никак иначе. Тогда это выражение можно обозначить новой переменной.

Пример 1.

Сколь­ко су­ще­ству­ет раз­лич­ных на­бо­ров зна­че­ний ло­ги­че­ских пе­ре­мен­ных x1, х2, х3, х4, х5, х6, х7, х8, ко­то­рые удо­вле­тво­ря­ют всем пе­ре­чис­лен­ным ниже усло­ви­ям?

(x1 → х2) → (х3→ х4) = 1

(х3 → х4) → (х5 → х6) = 1

(х5 → х6) → (х7 → х8) = 1

В от­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний пе­ре­мен­ных x1, х2, х3, х4, х5, х6, х7, х8, при ко­то­рых вы­пол­не­на дан­ная си­сте­ма ра­венств. В ка­че­стве от­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.

Решение:

(x1 → х2) = y1; (х3 → х4) = y2; (х5 → х6) = y3; (х7 → х8) = y4.

Тогда можно за­пи­сать си­сте­му в виде од­но­го урав­не­ния:

(y1 → y2) ∧ (y2 → y3) ∧ (y3 → y4) = 1. Конъюнкция равна 1 (истинна), когда каждый операнд принимает значение 1. Т.е. каждая из импликаций должна быть истинна, а это выполняется при всех значениях, кроме (1 → 0). Т.е. в таблице значений переменных y1, y2, y3, y4 единица не должна стоять левее нуля:

Т.е. условия выполняются для 5 наборов y1-y4.

Т.к. y1 = x1 → x2, то значение y1 = 0 достигается на единственном наборе x1, x2: (1, 0), а значение y1 = 1 – на трех наборах x1, x2: (0,0) , (0,1), (1,1). Аналогично для y2, y3, y4.

Поскольку каждый набор (x1,x2) для переменной y1 сочетается с каждым набором (x3,x4) для переменной y2 и т.д., то количества наборов переменных x перемножаются:

Кол-во наборов на x1…x8

Сло­жим ко­ли­че­ство наборов: 1 + 3 + 9 + 27 + 81 = 121.

Ответ: 121

Пример 2.

Сколько существует различных наборов значений логических переменных x1, x2, ... x9, y1, y2, ... y9, которые удовлетворяют всем перечисленным ниже условиям?

(¬ (x1 ≡ y1)) ≡ (x2 ≡ y2)

(¬ (x2 ≡ y2)) ≡ (x3 ≡ y3)

(¬ (x8 ≡ y8)) ≡ (x9 ≡ y9)

В ответе не нужно перечислять все различные наборы значений переменных x1, x2, ... x9, y1, y2, ... y9, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

Решение:

Сде­ла­ем за­ме­ну пе­ре­мен­ных:

(x1 ≡ y1) = z1, (x2 ≡ y2) = z2,…. ,(x9 ≡ y9) = z9

Систему можно записать в виде одного уравнения:

(¬ z1 ≡ z2) ∧ (¬ z2 ≡ z3) ∧ …..∧ (¬ z8 ≡ z9)

Эквивалентность истинна, только если оба операнда равны. Решениями этого уравнения будут два набора:

z1 z2 z3 z4 z5 z6 z7 z8 z9
0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1

Т.к. zi = (xi ≡ yi), то значению zi = 0 соответствуют два набора (xi,yi): (0,1) и (1,0), а значению zi = 1 - два набора (xi,yi): (0,0) и (1,1).

Тогда первому набору z1, z2,…, z9 соответствует 2 9 наборов (x1,y1), (x2,y2),…, (x9,y9).

Столько же соответствует второму набору z1, z2,…, z9. Тогда всего 2 9 +2 9 = 1024 наборов.

Ответ: 1024

Решение систем логических уравнений методом визуального определения рекурсии.

Этот метод применяется, если система уравнений достаточно проста и порядок увеличения количества наборов при добавлении переменных очевиден.

Пример 3.

Сколь­ко раз­лич­ных ре­ше­ний имеет си­сте­ма урав­не­ний

¬x9 ∨ x10 = 1,

где x1, x2, … x10 - ло­ги­че­ские пе­ре­мен­ные?

В от­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний x1, x2, … x10, при ко­то­рых вы­пол­не­на дан­ная си­сте­ма ра­венств. В ка­че­стве от­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.

Решение:

Решим первое уравнение. Дизъюнкция равна 1, если хотя бы один из ее операндов равен 1. Т.е. решениями являются наборы:

Для x1=0 существуют два значения x2 (0 и 1), а для x1=1 только одно значение x2 (1), такие, что набор (x1,x2) является решением уравнения. Всего 3 набора.

Добавим переменную x3 и рассмотрим второе уравнение. Оно аналогично первому, значит для x2=0 существуют два значения x3 (0 и 1), а для x2=1 только одно значение x3 (1), такие, что набор (x2,x3) является решением уравнения. Всего 4 набора.

Несложно заметить, что при добавлении очередной переменной добавляется один набор. Т.е. рекурсивная формула количества наборов на (i+1) переменных:

N i +1 = N i + 1. Тогда для десяти переменных получим 11 наборов.

Ответ: 11

Решение систем логических уравнений различного типа

Пример 4.

Сколь­ко су­ще­ству­ет раз­лич­ных на­бо­ров зна­че­ний ло­ги­че­ских пе­ре­мен­ных x 1 , ..., x 4 , y 1 ,..., y 4 , z 1 ,..., z 4 , ко­то­рые удо­вле­тво­ря­ют всем пе­ре­чис­лен­ным ниже усло­ви­ям?

(x 1 → x 2) ∧ (x 2 → x 3) ∧ (x 3 → x 4) = 1

(y 1 → y 2) ∧ (y 2 → y 3) ∧ (y 3 → y 4) = 1

(z 1 → z 2) ∧ (z 2 → z 3) ∧ (z 3 → z 4) = 1

x 4 ∧ y 4 ∧ z 4 = 0

В от­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний пе­ре­мен­ных x 1 , ..., x 4 , y 1 , ..., y 4 , z 1 , ..., z 4 , при ко­то­рых вы­пол­не­на дан­ная си­сте­ма ра­венств.

В ка­че­стве от­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.

Решение:

Заметим, что три уравнения системы одинаковы на различных независимых наборах переменных.

Рассмотрим первое уравнение. Конъюнкция истинна (равна 1) только тогда, когда все ее операнды истинны (равны 1). Импликация равна 1 на всех наборах, кроме (1,0). Значит, решением первого уравнения будут такие наборы x1, x2, x3, x4, в которых 1 не стоит левее 0 (5 наборов):

Аналогично, решениями второго и третьего уравнений будут абсолютно такие же наборы y1,…,y4 и z1,…, z4.

Теперь проанализируем четвертое уравнение системы: x 4 ∧ y 4 ∧ z 4 = 0. Решением будут все наборы x4, y4, z4, в которых хотя бы одна из переменных равна 0.

Т.е. для x4 = 0 подойдут все возможные наборы (y4, z4), а для x4 = 1 подойдут наборы (y4, z4), в которых присутствует хотя бы один ноль: (0, 0), (0,1) , (1,0).

Кол-во наборов

Общее количество наборов 25 + 4*9 = 25 + 36 = 61.

Ответ: 61

Решение систем логических уравнений методом построения рекуррентных формул

Метод построения рекуррентных формул применяется при решении сложных систем, в которых порядок увеличения количества наборов неочевиден, а построение дерева невозможно из-за объемов.

Пример 5.

Сколь­ко су­ще­ству­ет раз­лич­ных на­бо­ров зна­че­ний ло­ги­че­ских пе­ре­мен­ных x1, x2, … x7, y1, y2, … y7, ко­то­рые удо­вле­тво­ря­ют всем пе­ре­чис­лен­ным ниже усло­ви­ям?

(x1 ∨ y1) ∧ ((x2 ∧ y2) → (x1 ∧ y1)) = 1

(x2 ∨ y2) ∧ ((x3 ∧ y3) → (x2 ∧ y2)) = 1

(x6 ∨ y6) ∧ ((x7 ∧ y7) → (x6 ∧ y6)) = 1

В от­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний пе­ре­мен­ных x1, x2, ..., x7, y1, y2, ..., y7, при ко­то­рых вы­пол­не­на дан­ная си­сте­ма ра­венств. В ка­че­стве от­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.

Решение:

Заметим, что первые шесть уравнений системы одинаковы и отличаются только набором переменных. Рассмотрим первое уравнение. Его решением будут следующие наборы переменных:

Обозначим:

число наборов (0,0) на переменных (x1,y1) через A 1 ,

число наборов (0,1) на переменных (x1,y1) через B 1 ,

число наборов (1,0) на переменных (x1,y1) через C 1 ,

число наборов (1,1) на переменных (x1,y1) через D 1 .

число наборов (0,0) на переменных (x2,y2) через A 2 ,

число наборов (0,1) на переменных (x2,y2) через B 2 ,

число наборов (1,0) на переменных (x2,y2) через C 2 ,

число наборов (1,1) на переменных (x2,y2) через D 2 .

Из дерева решений видим, что

A 1 =0, B 1 =1, C 1 =1, D 1 =1.

Заметим, что набор (0,0) на переменных (x2,y2) получается из наборов (0,1), (1,0) и (1,1) на переменных (x1,y1). Т.е. A 2 =B 1 +C 1 +D 1 .

Набор (0,1) на переменных (x2,y2) получается из наборов (0,1), (1,0) и (1,1) на переменных (x1,y1). Т.е. B 2 =B 1 +C 1 +D 1 .

Аналогично рассуждая, заметим, что С 2 =B 1 +C 1 +D 1 . D 2 = D 1 .

Таким образом, получаем рекуррентные формулы:

A i+1 = B i + C i + D i

B i+1 = B i + C i + D i

C i+1 = B i + C i + D i

D i+1 = A i +B i + C i + D i

Составим таблицу

Наборы Обозн . Формула

Количество наборов

i=1 i=2 i=3 i=4 i=5 i=6 i=7
(0,0) A i A i+1 =B i +C i +D i 0 3 7 15 31 63 127
(0,1) B i B i+1 =B i +C i +D i 1 3 7 15 31 63 127
(1,0) C i C i+1 =B i +C i +D i 1 3 7 15 31 63 127
(1,1) D i D i+1 =D i 1 1 1 1 1 1 1

Последнему уравнению (x7 ∨ y7) = 1 удовлетворяют все наборы, кроме тех, в которых x7=0 и y7=0. В нашей таблице число таких наборов A 7 .

Тогда общее количество наборов равно B 7 + C 7 + D 7 = 127+127+1 = 255

Ответ: 255