Как упростить следующее выражение - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь упростить следующее выражение: (!A && !B) || (!B && !C) || (C && !A).Это должно упростить до двух терминов: (!A and C) || (!B and !C)

Я пытался применить почти все законы и пробовал различные комбинации факторинга, чтобы посмотреть, уменьшится ли что-нибудь, но это не приведет к требуемому ответу.

Ответы [ 2 ]

0 голосов
/ 18 мая 2019

Вы знаете, C || !C верно по закону исключенного среднего. Объедините это с !A && !B, чтобы получить !A && !B && (C || !C). Распределить, чтобы получить (!A && !B && C) || (!A && !B && !C). Подставьте это обратно в исходное выражение, чтобы получить (!A && !B && C) || (!A && !B && !C) || (!B && !C) || (C && !A).

Для любых выражений P и Q, если P -> Q, то P || Q совпадает с Q. Вы должны увидеть, что !A && !B && C подразумевает C && !A, так что вы можете удалить первое. То же самое для !A && !B && !C и !B && !C. Теперь вы можете легко переупорядочить остаток в (!A && C) || (!B && !C).

0 голосов
/ 18 мая 2019

Вот, пожалуйста,

(! A && c) ||(! b &&! c)

от: https://www.dcode.fr/boolean-expressions-calculator

РЕДАКТИРОВАТЬ: Извините, я не знал, что вы ищете HOT для ее решения.

В этом случае я быпредложить использовать таблицу истинности.Это, вероятно, поможет вам много:

https://www.wolframalpha.com/input/?i=(!A+%26%26+!B)+%7C%7C+(!B+%26%26+!C)+%7C%7C+(C+%26%26+!A)

...