Преобразование выполним в два этапа. Вначале построим ДНФ, а затем преобразуем ее в СДНФ.
Преобразование выполним в два этапа. Вначале построим КНФ, а затем преобразуем ее в СКНФ.
Пример:
Для функции (a
b)
(a&
c)
последовательно выполним пункты алгоритма:
Вычисления | Выполняемые действия | Применяемые законы логики |
(![]() ![]() ![]() ![]() ![]() |
Избавляемся от импликации | x ![]() ![]() ![]() |
=(a ![]() ![]() ![]() ![]() |
Избавляемся от равнозначности | x ![]() ![]() ![]() |
=(a ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Избавляемся от импликаций | x ![]() ![]() ![]() |
=(![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Вносим отрицание в скобки | ![]() ![]() ![]() ![]() |
=(![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Вносим отрицание в скобки | ![]() ![]() ![]() ![]() |
=(![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Избавляемся от правых скобок | (![]() ![]() |
=![]() ![]() ![]() |
Добавляем в ДНФ в каждую элементарную конъюнкцию все недостающие аргументы функции со всеми возможными сочетаниями знаков | x = x&y ![]() ![]() |
=(![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
К начальной форме дважды применим дистрибутивный закон | x ![]() ![]() ![]() |
= (![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
избавляемся от умножения на 1 | ![]() ![]() |
= (a![]() ![]() ![]() ![]() ![]() ![]() |
Добавляем в КНФ в каждую элементарную дизъюнкцию все недостающие аргументы функции со всеми возможными сочетаниями знаков | x=(x![]() ![]() ![]() |
(a ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
2й и 5й, 4й и 6й сомножители - совпадают. Оставляем по одному. | x&x = x |
= (a ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |