Является ли это логическое преобразование правильным? - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть логическое выражение, которое выглядит следующим образом

(!B and !C) or (B and !D) or (A and !C)

И мне нужно преобразовать его так, чтобы оно имело только операции и операции. Итак, я пришел к этому результату

(B and C) and (!B and D) and (!A and C)

Это правильно или я что-то не так делаю? Я просто хочу убедиться в этом.

Я также знаю, что

A or B

равнозначно

!(!A and !B)

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Два выражения не эквивалентны. Второй - двойник первого. Выражение уже находится в минимальной форме Sum-of-Product.

0 голосов
/ 19 февраля 2020

Если вы применили свое последнее выражение для замены OR на AND, вы можете переписать ваше логическое выражение на

!(!(!B and !C) and !(B and !D) and !(A and !C))

Но логическое выражение можно упростить до

!C or (B and !D)

Карта Карно:

         cd
       00  01  11  10
      +---+---+---+---+
   00 | 1 | 1 | 0 | 0 |
      +---+---+---+---+
   01 | 1 | 1 | 0 | 1 |
ab    +---+---+---+---+
   11 | 1 | 1 | 0 | 1 |
      +---+---+---+---+
   10 | 1 | 1 | 0 | 0 |
      +---+---+---+---+

Это может быть выражено как

!(C and !(B and !D))
...