Преобразование выполним в два этапа. Вначале построим ДНФ, а затем преобразуем ее в СДНФ.
,
причем знак отрицания может стоять только при переменных.
Y) и вновь применить
преобразование (2).
Y)
(осн.равн. 13)
Преобразование выполним в два этапа. Вначале построим КНФ, а затем преобразуем ее в СКНФ.
,
причем знак отрицания может стоять только при переменных.
Y) и вновь применить
преобразование (2).
Y)
(осн.равн. 16)
Пример:
Для функции (
a

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