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