Преобразовать двоичную формулу в нормальную форму Шеннона

Я хотел бы знать шаги для преобразования бинарной формулы в нормальную форму Шеннона.

a⪯b⪯c⪯d - variable ordering.
F = b&c&!d|c&d&!b|d&!c|!c&!d

Как я могу преобразовать это в нормальную форму Шеннона?

1 ответ

Решение

Вы начинаете с вычисления F|{a=0} и F|{a=1}. Поскольку F не зависит от переменной a, вы получите F для обоих случаев:

F|{a=0} = F
F|{a=1} = F

Вы продолжаете вычислять F|{a=0,b=0}, F|{a=0,b=1}, F|{a=1,b=0} и F|{a=1,b=1}. Ты получишь

F|{a=0,b=0} = F|{a=1,b=0} = c&d|d&!c|!c&!d = !c|d
F|{a=0,b=1} = F|{a=1,b=1} = c&!d|d&!c|!c&!d = !c|!d

Вы продолжаете с переменной c и переменной d и, наконец, получаете:

F = !a(!b(!c(!d&1+d&1)|c(!d&0+d&1))|b(!c(!d&1+d&1)|c(!d&1+d&0))|
     a(!b(!c(!d&1+d&1)|c(!d&0+d&1))|b(!c(!d&1+d&1)|c(!d&1+d&0))

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

А вот скриншот из BDD Scout ( http://biddy.meolic.com/), к сожалению, этот инструмент пока не поддерживает BDD без дополненных ребер. BDD для функции F

Другие вопросы по тегам