- •Алгоритм построения СДНФ и СКНФ
- •Алгоритм построения СДНФ
- •2.Используя законы де Моргана, перейти к формуле, чтобы отрицания были только над переменными.
- •5. Если какое-то слагаемое ∑ не содержит переменную xᵢ , то используя следующие
- •По закону де Моргана для дизъюнкции перейдём к отрицанию переменных:
- •Второе слагаемое не содержит переменных
- •Элементарной дизъюнкцией будем называть, дизъюнкцию переменных и их отрицаний. Конъюнкция элементарных дизъюнкций -
- •Алгоритм построения СКНФ
- •Отметим, что если для данной формулы построена СДНФ, то для построения СКНФ сначала
Алгоритм построения СДНФ и СКНФ
СДНФ |
СКНФ |
Совершенная |
Совершенная |
Дизъюнктивная |
Конъюнктивная |
Нормальная |
Нормальная |
Форма |
Форма |
Алгоритм построения СДНФ
1. Переход к булевым операциям
Переход к операциям конъюнкции, дизюнкции и отрицания соответствующих высказывательных переменных. Все операции импликации и эквиваленции сводятся к булевым посредством следующих теорем
2.1a → b = ā v b
2.2a ̴ b = (a → b) Ʌ (b → a)
2.3 a |
b |
b |
̴ b = (ā v b) Ʌ (a v) b= (a Ʌ b) v |
||
(ā Ʌ |
b) |
2.Используя законы де Моргана, перейти к формуле, чтобы отрицания были только над переменными.
3.Используя законы логики, раскрыть скобки.
4.Повторяющиеся слогаемые взять
по одному разу – получим ДНФ данной формулы.
ДНФ – дизъюнктивная нормальная форма
5. Если какое-то слагаемое ∑ не содержит переменную xᵢ , то используя следующие преобразования:
∑ = ∑ • 1 = ∑(xᵢ v xbᵢ)= ∑xᵢ v ∑xbᵢ
Найти СДНФ формулы логики f = f(x , x , x ) = (x v x ) → x По теореме 2.1 a → b = ā v b
заменим импликацию дизъюнкцией f = v x
По закону де Моргана для дизъюнкции перейдём к отрицанию переменных:
f = (xb Ʌ xb ) v x
это ДНФ данной формулы . Первое слагаемое не содержит переменныю x , поэтому
xb Ʌ xb= (xb Ʌ xb)• 1 = xb xb• 1 = xb xb(x
vxb) =
=xb xb x v xb xb xb
Операцию конъюнкции можно опускать в записи, как в обычной алгебре операцию умножения
Второе слагаемое не содержит переменных
x и x , поэтому
x = x • 1 = x (x v xb) = x x v xb x =
=x x • 1 v xb x •1 = x x (x v xb ) v xb x (x v xb ) =
=x x x v x xb x v xb x x v xb xb x
Тогда
f= xb xb x v xb xb xb v x x x v x xb x v xb xb xb x
Первое и последнее слагаемые одинаковы, поэтому берём его один раз
f = xb xb x v xb xb xb v x x x v x xb x v xb Это и есть СДНФ данной формулы.
Элементарной дизъюнкцией будем называть, дизъюнкцию переменных и их отрицаний. Конъюнкция элементарных дизъюнкций - это конъюнктивная нормальная форма (КНФ) данной формулы логики. Если КНФ приведена к виду, в котором каждая элементарная дизъюнкция содержит все высказывательные переменные или их отрицания, то КНФ называют совершенной конъюнктивной нормальной формой (СКНФ) данной формулы логики
Алгоритм построения СКНФ
1. Перейти к булевым операциям по теоремам
2.1 a → b = ā v b
2.3bb)a ̴ b = (ā v b) Ʌ (a vb) b= (a Ʌ b) v (ā Ʌ
2.Используя законы де Моргана, перейти к отрицаниям над переменными.
3.Используя законы логики получить КНФ.
4.Если какая-то элементарная дизъюнкция П не содержит переменную x , то используется следующее преобразование
П = П v 0 = П v (x xb) = (П v x ) v (П v xb)
Отметим, что если для данной формулы построена СДНФ, то для построения СКНФ сначала используется закон двойного отрицания, а затем закон де Моргана для дизъюнкции.
Найти СКНФ формулы логики f = xb xb v x x
Данная формула представляет собой СДНФ, следовательно по закону двойного отрицания мы имеем:
f = x x v xb xb = (x x )(xb xb ) = (xb v xb )(xbb
=
=xb x v xb x v x xb v x xb = 0 v xb x v x xb v
=xb x v x xb = (xb x ) Ʌ (x xb ) = (xbb v xb )(xb
=
=(x v xb )(xb v x )
Это и есть СКНФ данной формулы логики.