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

