Упрощение этой булевой алгебры
Можно ли упростить эту булеву алгебру? Я хочу удалить избыточность, используя двойную переменную X, но не могу понять, как это сделать.
(X И Y) ИЛИ НЕТ (X И Z)
Заранее спасибо!
3 ответа
Это эквивалентно
(X AND Y) OR (NOT X OR NOT Z)
что эквивалентно
(X AND Y) OR NOT X OR NOT Z
что эквивалентно
(X OR NOT X OR NOT Z) AND (Y OR NOT X OR NOT Z)
что эквивалентно
(TRUE) AND (Y OR NOT X OR NOT Z)
(поскольку X or NOT x == true
а также TRUE OR Z == true
)
что эквивалентно
Y OR NOT X OR NOT Z
Вы также можете использовать K-карту, чтобы найти эквивалентное логическое выражение, но его сложнее набрать:)
Это равно!(X и!Y и Z).
Вы также можете иметь формулу (!X или Y или!Z)
Вы можете подтвердить ответы в http://www.wolframalpha.com/input/?i=%28X+AND+Y%29+OR+NOT%28X+AND+Z%29
На карте Карно вы можете видеть, что ваше выражение действительно эквивалентно сумме трех однозначных терминов:
not x or y or not z
yz
00 01 11 10
+---+---+---+---+
0 | 1 | 1 | 1 | 1 |
x +---+---+---+---+
1 | 1 | 0 | 1 | 1 |
+---+---+---+---+
Как указывает Илай, одиночный 0 может быть выражен как инвертированный член с тремя входами:
not (x and not y and z)