Вопрос:

Найти СДНФ функции f, заданной столбцом своих значений (0,1,0,1,0,0,0,1)

Ответ:

Решение:

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

Входные переменные: x, y, z. Порядок значений соответствует двоичным числам от 000 до 111:

  1. 000 (0) → 0
  2. 001 (1) → 1
  3. 010 (2) → 0
  4. 011 (3) → 1
  5. 100 (4) → 0
  6. 101 (5) → 0
  7. 110 (6) → 0
  8. 111 (7) → 1

Значение функции равно 1 для входных наборов:

  • 1 (001)
  • 3 (011)
  • 7 (111)

Для каждого такого набора строим минтерм:

  • Для 001 (xyz): \( \bar{x} \bar{y} z \)
  • Для 011 (xyz): \( \bar{x} y z \)
  • Для 111 (xyz): \( x y z \)

СДНФ функции f — это сумма этих минтермов:

\( f = \bar{x} \bar{y} z \lor \bar{x} y z \lor x y z \)

Теперь сравним этот результат с предложенными вариантами:

  • a. \( f = (\bar{x} y \bar{z}) \lor (x \bar{y} \bar{z}) \lor (x y \bar{z}) \) — Не совпадает.
  • b. Нет верных ответов
  • c. \( f = \bar{x} y \bar{z} \lor x \bar{y} z \lor x y z \) — Не совпадает.
  • d. \( f = \bar{x} \bar{y} z \lor x \bar{y} z \lor x y z \) — Не совпадает.

Перепроверим наши вычисления.

Значения функции:

x y z | f

0 0 0 | 0

0 0 1 | 1 → \( \bar{x} \bar{y} z \)

0 1 0 | 0

0 1 1 | 1 → \( \bar{x} y z \)

1 0 0 | 0

1 0 1 | 0

1 1 0 | 0

1 1 1 | 1 → \( x y z \)

Сумма: \( f = \bar{x} \bar{y} z + \bar{x} y z + x y z \)

Сгруппируем:

\( f = \bar{x} z (\bar{y} + y) + x y z \)

\( f = \bar{x} z (1) + x y z \)

\( f = \bar{x} z + x y z \)

Этот вариант также не совпадает ни с одним из предложенных.

Проверим варианты ответов снова, возможно, я ошибся в транскрипции.

Вариант a: \( f = (\bar{x} y \bar{z}) \lor (x \bar{y} \bar{z}) \lor (x y \bar{z}) \)

Вариант c: \( f = \bar{x} y z \lor x \bar{y} z \lor x y z \)

Вариант d: \( f = \bar{x} \bar{y} z \lor x \bar{y} z \lor x y z \)

Сравнивая \( f = \bar{x} \bar{y} z + \bar{x} y z + x y z \) с вариантом d: \( f = \bar{x} \bar{y} z + x \bar{y} z + x y z \)

У нас есть \( \bar{x} \bar{y} z \) и \( x y z \). Вариант d имеет \( \bar{x} \bar{y} z \) и \( x y z \). Остается сравнить второй член: у нас \( \bar{x} y z \), а в варианте d — \( x \bar{y} z \).

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

x y z | f

0 0 0 | 0

0 0 1 | 1 — \( \bar{x} \bar{y} z \)

0 1 0 | 0

0 1 1 | 1 — \( \bar{x} y z \)

1 0 0 | 0

1 0 1 | 0

1 1 0 | 0

1 1 1 | 1 — \( x y z \)

СДНФ = \( \bar{x} \bar{y} z \lor \bar{x} y z \lor x y z \)

В варианте d: \( \bar{x} \bar{y} z \lor x \bar{y} z \lor x y z \)

Первый и последний минтерм совпадают.

Сравним второй минтерм: \( \bar{x} y z \) против \( x \bar{y} z \).

Значения для \( \bar{x} y z \) (x=0, y=1, z=1): f=1.

Значения для \( x \bar{y} z \) (x=1, y=0, z=1): f=0.

Видно, что ни один из вариантов не совпадает точно с полученной СДНФ. Проверим, можно ли упростить полученную нами форму \( f = \bar{x} z + x y z \).

\( f = \bar{x} z (y + \bar{y}) + x y z \) — это было неверно, т.к. \( \bar{x} \bar{y} z + \bar{x} y z = \bar{x} z (\bar{y} + y) = \bar{x} z \) — верно.

Итак, \( f = \bar{x} z + x y z \).

Этот вид также не соответствует предложенным.

Есть вероятность, что в предложенных вариантах есть опечатка или мой анализ значений функции некорректен.

Перепроверим вариант C: \( f = \bar{x} y z \lor x \bar{y} z \lor x y z \)

Для \( \bar{x} y z \): x=0, y=1, z=1 -> f=1. (Совпадает с нашим значением)

Для \( x \bar{y} z \): x=1, y=0, z=1 -> f=0. (Не совпадает с нашим значением, где f=0)

Для \( x y z \): x=1, y=1, z=1 -> f=1. (Совпадает с нашим значением)

Перепроверим вариант D: \( f = \bar{x} \bar{y} z \lor x \bar{y} z \lor x y z \)

Для \( \bar{x} \bar{y} z \): x=0, y=0, z=1 -> f=1. (Совпадает)

Для \( x \bar{y} z \): x=1, y=0, z=1 -> f=0. (Не совпадает с нашим значением, где f=0)

Для \( x y z \): x=1, y=1, z=1 -> f=1. (Совпадает)

Похоже, что правильного ответа среди вариантов нет. Возможно, я неправильно прочитал значения функции. Проверим значения еще раз: (0,1,0,1,0,0,0,1). Это значит:

x y z | f

0 0 0 | 0

0 0 1 | 1 -> \( \bar{x} \bar{y} z \)

0 1 0 | 0

0 1 1 | 1 -> \( \bar{x} y z \)

1 0 0 | 0

1 0 1 | 0

1 1 0 | 0

1 1 1 | 1 -> \( x y z \)

СДНФ = \( \bar{x} \bar{y} z \lor \bar{x} y z \lor x y z \)

Проверим вариант C: \( f = \bar{x} y z \lor x \bar{y} z \lor x y z \)

Этот вариант не совпадает.

Проверим вариант D: \( f = \bar{x} \bar{y} z \lor x \bar{y} z \lor x y z \)

Этот вариант также не совпадает.

Есть только один вариант: «Нет верных ответов».

Финальная проверка:

\( f = \bar{x} \bar{y} z \lor \bar{x} y z \lor x y z \) = \( \bar{x} z (\bar{y} + y) \lor x y z \) = \( \bar{x} z + x y z \)

Если бы в варианте C было \( f = \bar{x} \bar{y} z \lor \bar{x} y z \lor x y z \), тогда бы он был верным.

С учетом всех проверок, правильный ответ — «Нет верных ответов».

Ответ: b. Нет верных ответов