Тема: Анализ таблиц истинности логических выражений.
Что нужно знать:
¬ A, не 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
если в выражении нет скобок, сначала выполняются все операции «НЕ», затем – «И», затем – «ИЛИ», «импликация», и самая последняя – «эквивалентность»
таблица истинности выражения определяет его значения при всех возможных комбинациях исходных данных
если известна только часть таблицы истинности, соответствующее логическое выражение однозначно определить нельзя, поскольку частичной таблице могут соответствовать несколько разных логических выражений (не совпадающих для других вариантов входных данных);
количество разных логических функций, удовлетворяющих неполной таблице истинности, равно , где – число отсутствующих строк; например, полная таблица истинности выражения с тремя переменными содержит 23=8 строчек, если заданы только 6 из них, то можно найти 28-6=22=4 разных логических функции, удовлетворяющие этим 6 строчкам (но отличающиеся в двух оставшихся)
логическая сумма A + B + C + … равна 0 (выражение ложно) тогда и только тогда, когда все слагаемые одновременно равны нулю, а в остальных случаях равна 1 (выражение истинно)
логическое произведение A · B · C · … равно 1 (выражение истинно) тогда и только тогда, когда все сомножители одновременно равны единице, а в остальных случаях равно 0 (выражение ложно)
логическое следование (импликация) А→В равна 0 тогда и только тогда, когда A (посылка) истинна, а B (следствие) ложно
эквивалентность АB равна 1 тогда и только тогда, когда оба значения одновременно равны 0 или одновременно равны 1
Пример 1.
Логическая функция F задаётся выражением (¬z) x x y. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z?
? | ? | ? | F |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая 1-му столбцу; затем – буква, соответствующая 2-му столбцу; затем – буква, соответствующая 3-му столбцу). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Решение (через полную таблицу):
запишем заданное выражение в более простых обозначениях:
общий ход действий можно описать так: подставляем в эту формулу какое-нибудь значение (0 или 1) одной из переменных, и пытаемся определить, в каком столбце записана эта переменная;
например, подставим x = 0, при этом сразу получаем F = 0; видим, что переменная x не может быть ни в первом, ни во втором столбце (противоречие во 2-й строке):
? | ? | ? | F |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
а в третьем – может:
? | ? | x | F |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
подставим x = 1, тогда ; логическая сумма равна 0 тогда и только тогда, когда все слагаемые равны 0, это значит, что только в одном случае – при z = 1 и y = 0;
ищем такую строчку, где x = 1 и :
? | ? | x | F |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
как мы видели, в этой строке таблицы должно быть обязательно z = 1 и y = 0; поэтому z – в первом столбце, а y – во втором
Ответ: zyx.
Решение (преобразование логического выражения):
Используя законы алгебры логики, а именно распределительный для операции «ИЛИ» (см. учебник 10 кл. 1 часть, стр. 185), запишем заданное выражение:
;
Поскольку добиться логической единицы в произведении сложнее, чем в сумме рассмотрим строки таблицы, где произведение равно 1(это 2-я, 4-я и 8-я строки );
Во 2-й строке Х обязательно должно быть равно 1. Поэтому Х может быть только в третьем столбце, в первых двух могут быть и Y, и Z.
Анализируя 4 строку приходим к выводу, что в первом столбце таблицы может быть только Z, во втором – Y.
В 8-й строке убеждаемся в верности своих рассуждений:
Т.о., немного упростив выражение, уменьшили количество рассматриваемых строк.
Ответ: zyx.
Решение (преобразование логического выражения):
Рассмотрим строки таблицы, где функция равна 1
a | b | c | F | |
0 | 0 | 1 | 1 | |
0 | 1 | 1 | 1 | |
1 | 1 | 1 | 1 | |
и построим логическое выражение для заданной функции, обозначив переменные через a, b и с (см. § 22 из учебника для 10 класса):
Упрощаем это выражение, используя законы алгебры логики:
Сравнивая полученное выражение с заданным , находим, что a = z, b = y и c = x.
Ответ: zyx.
Решение (сопоставление таблиц истинности):
Рассмотрим строки таблицы, где функция равна 1, обозначив переменные через a, b и с
a | b | c | F |
0 | 0 | 1 | 1 |
0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 |
и сопоставим эти строки с теми строками таблицы истинности заданной функции , где F = 1:
x | y | z | F |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
Сравнивая столбцы интересующих нас строк, определяем, что c = x (все три единицы в зеленых ячейках), b = y (один ноль и две единицы) и a = z (два ноля и единица).
Ответ: zyx.
Решение:
Функция задана в виде ДНФ (дизъюнктивной нормальной формы), которую не сложно привести к СДНФ, используя известные тождества алгебры логики:
a ∙ 1 = a и .
Каждую конъюнкцию дополним недостающей переменной:
СДНФ:
Каждая конъюнкция в СДНФ соответствует строке таблицы истинности, в которой F=1. Используя полученную СДНФ, делаем вывод: в таблице истинности имеется 3 строки, где F=1, заполним их:
| x | y | z | F |
| 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
В таблице, приведенной в задании, рассмотрим строки, где F=1:
? | ? | ? | F |
0 | 0 | 1 | 1 |
0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 |
Сравнивая столбцы этих таблиц, делаем выводы:
в первом (жёлтом) столбце таблицы задания находится z (одна единица),
во втором (синем) столбце таблицы задания находится y (две единицы),
в последнем (зелёном) столбце таблицы задания находится x (все единицы).
Ответ: zyx.
Пример 2.
Каждое логическое выражение A и B зависит от одного и того же набора из 5 переменных. В таблицах истинности каждого из этих выражений в столбце значений стоит ровно по 4 единицы. Каково минимально возможное число единиц в столбце значений таблицы истинности выражения A B?
Решение:
полная таблица истинности каждого выражения с пятью переменными содержит 25 = 32 строки
в каждой таблице по 4 единицы и по 28 (= 32 – 4) нуля
выражение A B равно нулю тогда и только тогда, когда A = 0 и B = 1
минимальное количество единиц в таблице истинности выражения A B будет тогда, когда там будет наибольшее число нулей, то есть в наибольшем количество строк одновременно A = 0 и B = 1
по условию A = 0 в 28 строках, и B = 1 в 4 строках, поэтому выражение A B может быть равно нулю не более чем в 4 строках, оставшиеся 32 – 4 = 28 могут быть равны 1
Ответ: 28.
Пример 3.
Александра заполняла таблицу истинности для выражения F. Она успела заполнить лишь небольшой фрагмент таблицы:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | F |
| 0 | | | | | | 1 | 1 |
1 | | | 0 | | | | | 0 |
| | | 1 | | | | 1 | 0 |
Каким выражением может быть F?
1) ¬x1 x2 x2 ¬x3 ¬x4 x2 ¬x5 x5 x6 ¬x7 ¬x8
2) (x1 ¬x2 ¬x3 x4) (x5 x6 ¬x7 x8)
3) x1 ¬x8 ¬x3 x4 x5 ¬x6 ¬x7 x8
4) x1 ¬x4 x2 x3 ¬x4 ¬x5 ¬x6 ¬x7 ¬x8
Решение:
перепишем выражения в более простой форме, заменив «И» () на умножение и «ИЛИ» () на сложение:
1)
2)
3)
4)
cреди заданных вариантов ответа нет «чистых» конъюнкций и дизъюнкций, поэтому мы должны проверить возможные значения всех выражений для каждой строки таблицы
подставим в эти выражения известные значения переменных из первой строчке таблицы, и :
1)
2)
3)
4)
видим, что первое выражение при и всегда равно нулю, поэтому вариант 1 не подходит; остальные выражения вычислимы, то есть, могут быть равны как 0, так и 1
подставляем в оставшиеся три выражения известные данные из второй строчки таблицы, и :
2)
3)
4)
видим, что выражение 4 при этих данных всегда равно 1, поэтому получить F=0, как задано в таблице, невозможно; этот вариант не подходит
остаются выражения 2 и 3; подставляем в них известные данные из третьей строчки таблицы, и :
2)
3)
Выражение 2 в этом случае всегда равно 1, поэтому оно не подходит (по таблице истинности оно должно быть равно 0); выражение 3 вычислимо, это и есть правильный ответ
Ответ: 3.
Пример 4.
Дан фрагмент таблицы истинности выражения F.
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | F |
1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Какое выражение соответствует F?
1) (x2 x1) ¬x3 x4 ¬x5 x6 ¬x7 x8
2) (x2 x1) ¬x3 x4 ¬x5 x6 ¬x7 x8
3) ¬(x2 x1) x3 ¬x4 x5 ¬x6 x7 ¬x8
4) (x2 x1) x3 ¬x4 x5 ¬x6 x7 ¬x8
Решение:
перепишем выражение в более простой форме, заменив «И» () на умножение и «ИЛИ» () на сложение:
в этом задании среди значений функции только одна единица, как у операции «И», это намекает на то, что нужно искать правильный ответ среди вариантов, содержащих «И», «НЕ» и импликацию (это варианты 1 и 3)
действительно, вариант 2 исключён, потому что при x4=1 во второй строке получаем 1, а не 0
аналогично, вариант 4 исключён, потому что при x5=1 в первой строке получаем 1, а не 0
итак, остаются варианты 1 и 3; вариант 1 не подходит, потому что при x6=0 в третьей строке получаем 0, а не 1
проверяем подробно вариант 3, он подходит во всех строчках
Ответ: 3.
Пример 5.
Дан фрагмент таблицы истинности выражения F.
x1 | x2 | x3 | x4 | x5 | F |
1 | 1 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 1 | 1 | 1 |
Одно из приведенных ниже выражений истинно при любых значениях переменных x1, x2,x3, x4, x5. Укажите это выражение.
1) F(x1,x2,x3,x4,x5)x1
2) F(x1,x2,x3,x4,x5)x2
3) F(x1,x2,x3,x4,x5)x3
4) F(x1,x2,x3,x4,x5)x4
Решение:
во всех заданных вариантах ответа записана импликация, она ложна только тогда, когда левая часть (значение функции F) истинна, а правая – ложна.
выражение 1 ложно для набора переменных в третьей строке таблицы истинности, где F(…) = 1 и , оно не подходит
выражение 2 ложно для набора переменных в третьей строке таблицы истинности, где F(…) = 1 и , оно не подходит
выражение 3 истинно для всех наборов переменных, заданных в таблице истинности
выражение 4 ложно для набора переменных в первой строке таблицы истинности, где F(…) = 1 и , оно не подходит
ответ: 3.
Пример 6.
Дано логическое выражение, зависящее от 5 логических переменных:
z1 ¬z2 ¬z3 ¬z4 z5
Сколько существует различных наборов значений переменных, при которых выражение ложно?
Решение:
перепишем выражение, используя другие обозначения:
это выражение с пятью переменными, которые могут принимать 25 = 32 различных комбинаций значений
сначала определим число K комбинаций переменных, для которых выражение истинно; тогда число комбинаций, при которых оно ложно, вычислится как 32 – K
заданное выражение истинно только тогда, когда истинно любое из двух слагаемых: , или оба они истинны одновременно
выражение истинно только при и , при этом остальные 3 переменных могут быть любыми, то есть, получаем всего 8 = 23 вариантов
выражение истинно только при и , при этом остальные 2 переменных могут быть любыми, то есть, получаем всего 4 = 22 варианта
заметим, что один случай, а именно , обеспечивает истинность обоих слагаемых в исходном выражении, то есть, входит в обе группы (пп. 3 и 4), поэтому исходное выражение истинно для 11 = 8 + 4 – 1 наборов значений переменных, а ложно – для 32 – 11 = 21 набора.
ответ: 21.
Пример 7.
Дан фрагмент таблицы истинности выражения F. Какое выражение соответствует F?
x1 | x2 | x3 | x4 | x5 | x6 | x7 | F |
0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
1) (x1 x2) ¬x3 x4 ¬x5 x6 ¬x7
2) (x1 x2) ¬x3 x4 ¬x5 x6 x7
3) (x1 ¬x2) x3 ¬x4 ¬x5 x6 ¬x7
4) (¬x1 ¬x2) x3 ¬x4 x5 ¬x6 x7
Решение:
в последнем столбце таблицы всего одна единица, поэтому стоит попробовать использовать функцию, состоящую из цепочки операций «И» (ответы 1, 3 или 4);
для этой «единичной» строчки получаем, что инверсия (операция «НЕ») должна быть применена к переменным x3, x5 и x7, которые равны нулю:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | F |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
таким образом, остается только вариант ответа 1 (в ответах 3 и 4 переменная x3 указана без инверсии)
проверяем скобку (x1 x2): в данном случае она равна 1, что соответствует условию
ответ: 1.
X | Y | Z | F |
1 | 0 | 0 | 1 |
0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
Пример 8.
Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F. Какое выражение соответствует F?
1) ¬X ¬Y ¬Z 2) X Y Z 3) X Y Z 4) ¬X ¬Y ¬Z
Решение:
нужно для каждой строчки подставить заданные значения X, Y и Z во все функции, заданные в ответах, и сравнить результаты с соответствующими значениями F для этих данных
если для какой-нибудь комбинации X, Y и Z результат не совпадает с соответствующим значением F, оставшиеся строчки можно не рассматривать, поскольку для правильного ответа все три результата должны совпасть со значениями функции F
перепишем ответы в других обозначениях:
1) 2) 3) 4)
первое выражение, , равно 1 только при , поэтому это неверный ответ (первая строка таблицы не подходит)
второе выражение, , равно 1 только при , поэтому это неверный ответ (первая и вторая строки таблицы не подходят)
третье выражение, , равно нулю при , поэтому это неверный ответ (вторая строка таблицы не подходит)
наконец, четвертое выражение, равно нулю только тогда, когда , а в остальных случаях равно 1, что совпадает с приведенной частью таблицы истинности
таким образом, правильный ответ – 4 ; частичная таблица истинности для всех выражений имеет следующий вид:
X | Y | Z | F | | | | |
1 | 0 | 0 | 1 | 0 × | 0 × | 1 | 1 |
0 | 0 | 0 | 1 | – | – | 0 × | 1 |
1 | 1 | 1 | 0 | – | – | – | 0 |
(красный крестик показывает, что значение функции не совпадает с F, а знак «–» означает, что вычислять оставшиеся значения не обязательно).
X | Y | Z | F |
1 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 0 |
Пример 9.
Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:
Какое выражение соответствует F?
1) ¬X ¬Y ¬Z 2) X Y Z 3) X ¬Y ¬Z 4) X ¬Y ¬Z
Решение:
перепишем ответы в других обозначениях:
1) 2) 3) 4)
в столбце F есть единственная единица для комбинации , простейшая функция, истинная (только) для этого случая, имеет вид , она есть среди приведенных ответов (ответ 3)
таким образом, правильный ответ – 3.
Пример 10.
Дано логическое выражение, зависящее от 5 логических переменных:
X1 ¬X2 X3 ¬X4 X5
Сколько существует различных наборов значений переменных, при которых выражение ложно?
1) 1 2) 2 3) 31 4) 32
Решение:
перепишем выражение в других обозначениях:
таблица истинности для выражения с пятью переменными содержит 25 = 32 строки (различные комбинации значений этих переменных)
логическое произведение истинно в том и только в том случае, когда все сомножители равны 1, поэтому только один из этих вариантов даст истинное значение выражения, а остальные 32 – 1 = 31 вариант дают ложное значение.
таким образом, правильный ответ – 3.
Пример
Дан фрагмент таблицы истинности выражения F.
x1 | x2 | x3 | x4 | x5 | x6 | x7 | F |
1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
Какое выражение соответствует F?
1) ¬x1 x2 ¬x3 x4 x5 ¬x6 ¬x7
2) ¬x1 x2 ¬x3 x4 ¬x5 ¬x6 x7
3) x1 ¬x2 x3 ¬x4 x5 x6 ¬x7
4) x1 ¬x2 x3 ¬x4 ¬x5 x6 ¬x7
Решение (вариант 2):
перепишем выражения 1-4 в других обозначениях:
поскольку в столбце F есть два нуля, это не может быть выражение, включающее только операции «ИЛИ» (логическое сложение), потому что в этом случае в таблице был бы только один ноль, поэтому варианты 2 и 4 отпадают:
аналогично, если бы в таблице был один ноль и две единицы, это не могла бы быть цепочка операций «И», которая всегда дает только одну единицу;
для того, чтобы в последней строке таблицы получилась единица, нужно применить операцию «НЕ» (инверсию) к переменным, значения которых в этой строке равны нулю, то есть к и ; остальные переменные инвертировать не нужно, так как они равны 1; видим, что эти условия в точности совпадают с выражением 1, это и есть правильный ответ
Ответ: 1.