logo
практикум по мат

2.1.4. Дизъюнктивные и конъюнктивные нормальные формы в алгебре высказываний

Если х — логическая переменная, δ{0,1}, то выражение

называется литерой. Литеры х и ¬х называются контрарными.

Элементарной конъюнкцией или конъюнктом называется конъюнкция литер. Элементарной дизъюнкцией или дизъюнктом называется дизъюнкция литер.

Пример 8.Формулыx¬y¬z и xyx¬x — дизъюнкты, формулы¬xyz и xy¬x — конъюнкты, а¬xявляется одновременно и дизъюнктом, и конъюнктом.

Дизъюнкция конъюнктов называется дизъюнктивной нормальной формой (ДНФ); конъюнкция дизъюнктов называетсяконъюнктивной нормальной формой (КНФ).

Пример 9.Формула(x¬y)(yz)— ДНФ, формулаz¬y)(xz)yКНФ, а формулаx¬y является одновременно КНФ и ДНФ.

Теорема 2. Для любой формулыφ АВ существует ДНФ (КНФ)ψАВ такая, чтоφψ.

Опишем алгоритм приведения формулы к ДНФ.

  1. Выражаем импликацию, участвующую в построении формулы, через дизъюнкцию и отрицание, используя эквивалентность φψ≡¬φψ.

  2. Используя законы де Моргана, переносим все отрицания к переменным и сокращаем двойные отрицания пользуясь законом двойного отрицания.

3. Используя закон дистрибутивности φ(ψχ)≡(φψ)(φχ), преобразуем формулу так, чтобы все конъюнкции выполнялись раньше дизъюнкций.

В результате применения пп. 1-3 получается ДНФ, эквивалентная исходной формуле.

Пример 10. Привести к ДНФ формулу φ¬((xy)¬(yz)).

Решение. Выразим логическую операцию → через и ¬: φ≡¬((¬xy)¬(¬yz)). Воспользуемся законами де Моргана и двойного отрицания: φ≡¬(¬xy)¬¬(¬yz)≡(¬¬x¬y)yz)≡(x¬y)yz). Используя закон дистрибутивности, приводим формулу к ДНФ: φ≡(x¬y¬y)(x¬yz). Упростим полученную формулу:(x¬y¬y)(x¬yz)≡(1) (x¬y)(x¬yz)≡(2) x¬y(для преобразования(1)использовался закон идемпотентности, для(2)– закон поглощения). Таким образом, формулаφ эквивалентными преобразованиями приводится к формулеx¬y, являющейся одновременно ДНФ и КНФ.

Приведение формулы к КНФ производится аналогично при­ведению ее к ДНФ, только вместо п. 3 применяется п. 3':

3'. Используя закон дистрибутивности φ(ψχ)≡(φψ)(φχ), преобразуем формулу так, чтобы все дизъюнкции выполнялись раньше, чем конъюнкции.

Пример 11. Привести к КНФ формулу φ(xy)((¬yz)→¬x).

Решение. Преобразуем формулуφк формуле, не содержащей →:φ≡(¬xy)(¬(¬¬yz)¬x). В полученной формуле перенесем отрицание к переменным и сократим двойные отрицания:φ≡(¬xy)((¬¬¬y¬z)¬x)≡(¬xy)((¬y¬z)¬x).Используя закон дистрибутивности, приводим формулу к КНФφxy)x¬y)x¬z). Упростим полученную формулу:xy)x¬y)x¬z)≡(1)(¬x(y¬y))x¬z)≡(2)¬xx¬z)≡ ≡(3)¬x(для преобразования(1)использовался закон дистрибутивности, для(2)– эквивалентность 1 утверждения 1, для(3)— закон поглоще­ния). Таким образом, формулаφ эквивалентными преобразованиями приводится к формуле¬x, являющейся одновременно ДНФ и КНФ.