Логическая функция F задаётся выражением:
(¬x ∧ y ∧ z) ∨ (¬x ∧ y ∧ ¬z) ∨ (¬x ∧ ¬y ∧ ¬z).
На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.
| Перем. 1 | Перем. 2 | Перем. 3 | Функция |
|---|---|---|---|
| ??? | ??? | ??? | F |
| 0 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая первому столбцу, затем – буква, соответствующая второму столбцу, и т. д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и таблица истинности:
| Перем. 1 | Перем. 2 | Функция |
|---|---|---|
| ??? | ??? | F |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Тогда 1-му столбцу соответствует переменная y, а 2-му столбцу соответствует переменная x. В ответе нужно написать: yx.
Рассмотрим данное выражение. Оно равно единице в трех случаях: (¬x ∧ y ∧ z) = 1, (¬x ∧ y ∧ ¬z) = 1 или (¬x ∧ ¬y ∧ ¬z) = 1. Каждое из этих равенств выполняется только при одном наборе переменных. Первое: x = 0, y = 1, z = 1. Второе: x = 0, y = 1, z = 0. Третье: x = y = z = 0. Так, из второго значения функции видим, что переменная 1 — y. А из третьего, что переменная 2 — x, тогда переменная 3 — z.
Ответ: yxz.
Приведем другое решение на языке Python.
Составим таблицу истинности для выражения (¬x ∧ y ∧ z) ∨ (¬x ∧ y ∧ ¬z) ∨ (¬x ∧ ¬y ∧ ¬z) и выпишем те наборы переменных, при которых данное выражение равно 1. В наборах переменные запишем в порядке х, y, z. Получим следующие наборы:
(0, 0, 0)
(0, 1, 0)
(0, 1, 1).
Сопоставим эти наборы с приведенным в задании фрагментом таблицы истинности.
Во всех наборах переменная x принимает значение 0, следовательно, переменной x соответствует второй столбец таблицы.
Переменная z принимает единичное значение только в одном наборе, следовательно, ей соответствует третий столбец таблицы, тогда первый столбец соответствует переменной y.
Для составления таблицы истинности можно воспользоваться программой на языке Python:
print('x y z')
for x in range(2):
for y in range(2):
for z in range(2):
if (not(x) and y and z) or (not(x) and y and not(z)) or (not(x) and not(y) and not(z)):
print(x, y, z)

