Совершенная конъюнктивная нормальная форма
Элементарной дизъюнкцией п переменных называется дизъюнкция переменных или их отрицаний. Конъюнктивной нормальной формой (КНФ) формулы А называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций. Для любой формулы алгебры логики путем равносильных преобразований можно получить ее КНФ, причем не единственную. Например, для формулы А = Ø (х Ú у)º х Ù у имеем: А = (Ø (х Ú у) ® х Ù у) Ù (х Ù у ® Ø (х Ú у)) = = (х Ú у Ú х Ù у) Ù (Ø (х Ù у) Ú Ø (х Ú у)) = = (х Ú х Ú у) Ù (х Ú у Ú у) Ù (Ø х Ú Ø у Ú Ø х) Ù (Ø х Ú Ø у Ú Ø у), то есть КНФ А = (х Ú х Ú у) Ù (х Ú у Ú у) Ù (Ø х Ú Ø у Ú Ø х) Ù (Ø х Ú Ø у Ú Ø у). Но так как х Ú х = х, у Ú у = у,Ø х Ú Ø х = Ø х,Ø у Ú Ø у = Ø у, то КНФ A = (х Ú у) Ù (х Ú у) Ù (Ø х Ú Ø у) Ù (Ø х Ú Ø у). А так как (х Ú у) Ù (х Ú у) = х Ú у,(Ø х Ú Ø у) Ù (Ø х Ú Ø у) = (Ø х Ú Ø у), то КНФ A = (х Ú у) Ù (Ø х Ú Ø у). КНФ А называется совершенной конъюнктивной нормальной формой формулы А (СКНФ А), если для нее выполнены условия:
Можно доказать, что каждая не тождественно истинная формула имеет единственную СКНФ. Один из способов получения СКНФ состоит в использовании таблицы истинности для формулы Ø А. Действительно, получив с помощью таблицы истинности СДНФ Ø А, мы получим СКНФ А,взяв отрицание Ø (СДНФ Ø А), то есть СКНФ А = Ø (СДНФ Ø А). Другой способ получения СКНФ, использующий равносильные преобразования, состоит в следующем:
Ясно, что после описанной процедуры будет получена СКНФ А. Например, для формулы А = x Ú y Ù (x Ú Ø y)КНФ А = x Ú (y Ù (x Ú Ø y)) = (x Ú y) Ù (x Ú x Ú Ø y). Так как обе элементарные дизъюнкции содержат все переменные (x и y), то первое и второе условие СКНФ выполнены. Элементарная дизъюнкция x Ú x Ú Ø y содержит переменную х дважды, но x Ú x = x, поэтому КНФ А = (x Ú y) Ù (x Ú Ø y); причем, ни одна из элементарных дизъюнкций не содержит переменную и ее отрицание. Значит, все условия СКНФ выполнены, и, следовательно, СКНФ А = (x Ú y) Ù (x Ú Ø y).
|