#math #theory #boolean-logic #algebra #truthtable
#математика #теория #boolean-logic #алгебра #таблица истинности
Вопрос:
Просто возникли некоторые проблемы с простым упрощением. Я делаю упрощение для мажоритарного декодера с 3 входами A, B и C. Его выходной сигнал Y принимает значение 1, если 2 или все 3 входных сигнала принимают значение 1. В противном случае Y принимает значение 0. Выберите правильную функцию переключения Y = f (A, B, C).
Итак, после составления таблицы истинности я обнаружил, что каноническая сумма произведений равна
NOT(A).B.C A.NOT(B).C A.B.NOT(C) A.B.C
Это, упрощенное, по-видимому, сводится к Y = A * B B * C A * C
Какие шаги предпринимаются для простого выражения, подобного этому? Как это делается? Как было получено это значение в этом случае?
Ответ №1:
Во-первых, обратите внимание, что для логического выражения:
A= A A
Теперь, видите, что
NOT(A).B.C A.NOT(B).C A.B.NOT(C) A.B.C
= NOT(A).B.C A.NOT(B).C A.B.NOT(C) A.B.C A.B.C A.B.C
= (NOT(A) A).B.C A.(NOT(B) B).C A.B.(NOT(C) C)
= B.C A.C A.B
Ответ №2:
Кстати, WolframAlpha отлично подходит для выполнения (проверки) логической математики, и в этом случае формат для вашего примера:
~A amp;amp; B amp;amp; C || A amp;amp; ~B amp;amp; C || A amp;amp; B amp;amp; ~C || A amp;amp; B amp;amp; C
Также ваше конкретное выражение фактически приведено на этой странице в качестве примера, выполненного иначе, чем в другом приведенном ответе.
Комментарии:
1. Отличное предложение по использованию WolframAlpha! Оглядываясь назад, очевидно, но я раньше об этом не думал.
Ответ №3:
Вам было бы полезно понять некоторые базовые логические концепции:
-
Законы Де Моргана объясняют, как переводить термины ANDed в термины ORed (и наоборот). Это очень мощная концепция, которую стоит изучить, она позволяет переводить логическое выражение в чистую форму NAND или чистый NOR, для чего есть очень веские причины
-
Карту Карно можно использовать для визуального перевода логических выражений в их первую каноническую форму. Использование карты Карно непрактично во многих реальных случаях, но это действительно отличный метод обучения
Один из простых способов нахождения первой канонической формы для любого логического выражения — сгенерировать соответствующую таблицу истинности, а затем изучить входные данные, которые приводят к выводу 1.
Для каждой строки в таблице истинности, где результат равен 1, вы можете относительно легко сформировать логическое выражение только для этой строки. Полное логическое выражение получается из упорядочивания всех выражений для каждой строки. Это будет минимальное выражение (могут быть другие, ни одно не будет более минимальным).
Ответ №4:
Другое объяснение.
Мы имеем (1):
(not(A) and B and C ) or (A and not(B) and C) or (A and B and not C) or (A and B and C).
Мы знаем, что:
A = A or A.
Таким образом, мы можем переписать (1) в (2):
(not(A) and B and C ) or (A and B and C) or
(A and not(B) and C) or (A and B and C) or
(A and B and not C) or (A and B and C)
Мы также знаем, что:
(A and B) or (A and not B) = A and (B or not B) = A
Таким образом, мы можем переписать (2) в (3):
(B and C) or (A and C) or (A and B)
Идея состоит в том, чтобы найти группы, которые можно (частично) исключить, чтобы упростить уравнение.