Элементарной конъюнкцией n переменных называется конъюнкция переменных или их отрицаний.
Дизъюнктивной нормальной формой (ДНФ) формулы А называется равносильная ей формула, представляющая собой дизъюнкцию элементарных конъюнкций.
Для любой формулы алгебры логики путем равносильных преобразований можно получить ее ДНФ, причем не единственную.
Например, для формулы А = х (х y) имеем:
А = х ( х y) = (х х) (х y) = х y, то есть
ДНФ А = (х х) (х y) и
ДНФ А = х y.
Среди многочисленных ДНФ А существует единственная ДНФ А, для которой выполняются перечисленные выше четыре свойства совершенства. Такая ДНФ А называется совершенной дизъюнктивной нормальной формой формулы А (СДНФ А).
Как уже указывалось, СДНФ А может быть получена с помощью таблицы истинности.
Другой способ получения СДНФ формулы А основан на равносильных преобразованиях формулы и состоит в следующем:
-
путем равносильных преобразований формулы А получают одну из ДНФ А.
-
если в полученной ДНФ А входящая в нее элементарная конъюнкция В не содержит переменную xi, то, используя закон B (xi xi) = B, элементарную конъюнкцию B заменяют на две элементарных конъюнкции (B xi) и (B xi), каждая из которых содержит переменную xi.
-
если в ДНФ А входят две одинаковых элементарных конъюнкции В, то лишнюю можно отбросить, пользуясь равносильностью В В = В.
-
если некоторая элементарная конъюнкция В, входящая в ДНФ А, содержит переменную xi и ее отрицание xi, то, на основании закона xi xi = 0, В = 0 и В, таким образом, можно исключить из ДНФ А, как нулевой член дизъюнкции.
-
если некоторая элементарная конъюнкция, входящая в ДНФ А, содержит переменную xi дважды, то одну переменную можно отбросить, пользуясь законом xi xi = xi.
Ясно, что после выполнения описанной процедуры будет получена СДНФ А. Например, для формулы А = x y (x y) ДНФ А = x (x y) (y y). Так как элементарная конъюнкция В = х, входящая в ДНФ А, не содержит переменной у, то заменим ее на две элементарных конъюнкции (x y) и (x y), В результате получим ДНФ А = x y x y x y y y.
Так как теперь ДНФ А содержит две одинаковых элементарных конъюнкции x y, то отбросим лишнюю. В результате получим ДНФ A = x y x y y y.
Так как элементарная конъюнкция y y содержит переменную у и ее отрицание, то y y = 0, и ее можно отбросить как нулевой член дизъюнкции.
Таким образом, получаем СДНФ А = x y x y.
Конъюнктивная нормальная форма и совершенная конъюнктивная нормальная форма
Элементарной дизъюнкцией п переменных называется дизъюнкция переменных или их отрицаний.
Конъюнктивной нормальной формой (КНФ) формулы А называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций.
Для любой формулы алгебры логики путем равносильных преобразований можно получить ее КНФ, причем не единственную.
Например, для формулы А = (х у) х у имеем:
А = ( (х у) х у) (х у (х у)) =
= (х у х у) ( (х у) (х у)) =
= (х х у) (х у у) ( х у х) ( х у у) , то есть
КНФ А = (х х у) (х у у) ( х у х) ( х у у).
Но так как х х = х, у у = у, х х = х, у у = у, то
КНФ A = (х у) (х у) ( х у) ( х у).
А так как (х у) (х у) = х у, ( х у) ( х у) = ( х у), то
КНФ A = (х у) ( х у).
КНФ А называется совершенной конъюнктивной нормальной формой формулы А (СКНФ А), если для нее выполнены условия:
-
Все элементарные дизъюнкции, входящие в КНФ А , различны.
-
Все элементарные дизъюнкции, входящие в КНФ А, содержат все переменные.
-
Каждая элементарная дизъюнкция, входящая в КНФ А, не содержит двух одинаковых переменных.
-
Каждая элементарная дизъюнкция, входящая в КНФ А, не содержит переменную и ее отрицание.
Можно доказать, что каждая не тождественно истинная формула имеет единственную СКНФ.
Один из способов получения СКНФ состоит в использовании таблицы истинности для формулы А. Действительно, получив с помощью таблицы истинности СДНФ А, мы получим СКНФ А, взяв отрицание (СДНФ А), то есть СКНФ А = (СДНФ А).
Другой способ получения СКНФ, использующий равносильные преобразования, состоит в следующем:
-
Путем равносильных преобразований формулы А получают одну из КНФ А.
-
Если в полученной КНФ А входящая в нее элементарная дизъюнкция В не содержит переменную хi, то, используя закон В (xi xi) = В, элементарную дизъюнкцию В заменяют на две элементарные дизъюнкции В xi и В xi, каждая из которых содержит переменную xi.
-
Если в КНФ А входят две одинаковых элементарных дизъюнкции В, то лишнюю можно отбросить, пользуясь законом В В = В.
-
Если некоторая элементарная дизъюнкция, входящая в КНФ А, содержит переменную xi дважды, то лишнюю можно отбросить, пользуясь законом xi xi = xi.
-
Если некоторая элементарная дизъюнкция, входящая в КНФ А, содержит переменную xi, и ее отрицание, то xi xi = 1 и, следовательно, вся элементарная дизъюнкция имеет значение 1, а поэтому ее можно отбросить, как истинный член конъюнкции.
Ясно, что после описанной процедуры будет получена СКНФ А. Например, для формулы А = 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).
Достарыңызбен бөлісу: |