Совершенные нормальные формы СДНФ, СКНФ
Лекция 2. Формы представления высказываний
План лекции:
Дизъюнктивные и конъюнктивные нормальные формы ДНФ, КНФ.
Совершенные нормальные формы СДНФ, СКНФ
Дизъюнктивные и конъюнктивные нормальные формы ДНФ, КНФ
Нормальная форма – это синтаксически однозначный способ записи формулы, реализующей данную функцию.
Любая n-членная операция, обозначаемая, например, , будет полностью определена, если установлено, при каких значениях высказываний результат будет истинным или ложным. Один из способов задания такой операции – заполнение таблицы значений:
1 | 1 | 1 | 1 или 0 | |
0 | 0 | 0 | 1 или 0 |
В таблице значений высказывания, образованного от n простейших высказываний , имеется строк. Столбец значений имеет также позиций. Следовательно, имеется различных вариантов его заполнения, и, соответственно, число всех n-членных операций равно . При n =1 число одночленных операций равно 4, при n =2 число двучленных – 16, при n =3 количество трехчленных – 256 и т.д.
Рассмотрим некоторые специальные виды формул.
Формулу называют элементарной конъюнкцией, если она является конъюнкцией переменных и отрицаний переменных. Например, формулы , , , – элементарные конъюнкции.
Формулу, представляющую собой дизъюнкцию (возможно одночленную) элементарных конъюнкций, называют дизъюнктивной нормальной формой (д. н. ф.). Например, формулы , , .
|
|
Теорема 2.1.(о приведении к ДНФ). Для любой формулы U можно найти равносильную ей формулу V, являющуюся ДНФ.
Формулу называют элементарной дизъюнкцией, если она является дизъюнкцией переменных и отрицаний переменных. Например, формулы , , и т.д.
Пример.
Такая форма называется дизъюнктивной нормальной формой (ДНФ). Отдельный элемент ДНФ называется элементарной конъюнкцией или конституентой единицы.
Формулу, являющуюся конъюнкцией (возможно одночленной) элементарных дизъюнкций, называют конъюнктивной нормальной формой (КНФ). Например, формулы , .
Теорема 2.2.(о приведении к КНФ). Для любой формулы U можно найти равносильную ей формулу V, являющуюся КНФ.
Пример.
Отдельный элемент КНФ называется элементарной дизъюнкцией или конституентой нуля.
Алгоритм построения КНФ и ДНФ.
1) Избавиться от всех логических операций, содержащихся в формуле, заменив их основными: конъюнкцией, дизъюнкцией, отрицанием. Это можно сделать, используя равносильные формулы (см. Лекцию 1).
2) Заменить знак отрицания, относящийся ко всему выражению, знаками отрицания, относящимися к отдельным переменным высказываниям на основании закона де Моргана.
|
|
3) Избавиться от знаков двойного отрицания.
4) Применить, если нужно, к операциям конъюнкции и дизъюнкции свойства дистрибутивности и формулы поглощения.
Примеры.
1. Приведем к КНФ формулу
Преобразуем формулу F к формуле, не содержащей импликацию:
В полученной формуле перенесем отрицание к переменным и сократим двойные отрицания:
По закону дистрибутивности получим КНФ:
2. Приведем к ДНФ формулу:
.
Выразим логические операции импликации и стрелку Пирса через конъюнкцию, дизъюнкцию и инверсию:
В полученной формуле перенесем отрицание к переменным и сократим двойные отрицания:
Используя закон дистрибутивности, приводим формулу к ДНФ:
Совершенные нормальные формы СДНФ, СКНФ
Рассмотрим произвольную -членную операцию , заданную своей таблицы значений, не являющуюся противоречием. Рассмотрим строки таблицы, в которых f принимает значения “1”. Для каждой строки составим элементарные конъюнкции из n множителей, где i-й множитель равен (в этой строке принимает значение “1”) или (в этой строке принимает значение “0”). Далее возьмем дизъюнкцию всех полученных конъюнкций. В итоге получится формула (ДНФ), задающая операцию, равносильную . Действительно, каждая из построенных конъюнкций будет истинна только при тех значениях истинности высказываний , которые стоят в соответствующей строчке. Поскольку была взята дизъюнкция по всем наборам значений истинности высказываний , на которых истинна, то построенное высказывание истинно на всех этих наборах и только на них. На остальных наборах оно ложно.
|
|
Построенная формула называется совершенной дизъюнктивной нормальной формой (СДНФ) операции .
Определение 2.1. СДНФ (совершенная ДНФ) – это такая ДНФ, в которой каждая элементарная конъюнкция содержит все элементарные высказывания, либо их отрицания по одному разу, элементарные конъюнкции не повторяются.
Пример.
Аналогично, рассматривая строки, в которых операция , не являющаяся тавтологией, принимает значения “0”, и составляя конъюнкцию (число множителей равно числу отмеченных строк таблицы) дизъюнкций изn слагаемых, гдеi-е слагаемое равно (в этой строке принимает значение “0”) или (в этой строке принимает значение “1”). В итоге получится формула, задающая операцию, равносильную . Построенная формула называется совершенной конъюнктивной нормальной формой (СКНФ) операции .
|
|
Определение 2.2. СКНФ (совершенная КНФ) – это такая КНФ, в которой каждая элементарная дизъюнкция содержит все элементарные высказывания, либо их отрицания по одному разу, элементарные дизъюнкции не повторяются.
Пример.
Каждая формула имеет одну единственную СДНФ и одну единственную СКНФ. Тавтология не имеет СКНФ, а противоречие – СДНФ.
Как известно, каждая формула логики высказываний представляет некоторую булеву функцию. Возникает обратный вопрос: можно ли всякую булеву функцию представить некоторой формулой логики высказываний? Можно указать алгоритм, который позволяет по таблице истинности произвольной булевой функции от любого числа переменных построить некоторую формулу логики высказываний в СДНФ.
Пример.
Рассмотрим частный случай. Пусть только в одном единственном случае.
x | y | z | f(x,y,z) |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
Тогда этой формуле будет соответствовать функция .
Если рассматривать произвольную функцию, то необходимо выделить все наборы переменных, для которых функция принимает значение 1 и каждому набору поставить в соответствие конъюнкцию переменных и их отрицаний. Рассматриваемая функция будет представлена дизъюнкцией этих конъюнкций.
Таким образом, установлена процедура, которая позволяет для всякой булевой функции записать соответствующую ей формулу.
Пример.
x | y | z | f(x,y,z) |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
Теорема 2.3. Каждую булеву функцию при любом ( ) можно представить в виде
(2.1)
Это представление называется разложением функции по переменным .
Доказательство. Заметим, что Далее рассмотрим произвольный набор и покажем, что левая и правая часть формулы (2.1) принимают на нем одно и то же значение.
Левая часть дает , а правая
Следствие 1.Разложение по переменной . Пусть . Тогда
Следствие 2.Разложение по всем переменным. Пусть . Тогда
При получаем выражение
т.е. (2.2)
Разложение (2.2) носит название совершенной дизъюнктивной нормальной формы (СДНФ).
Замечания: 1. Поскольку существует взаимно однозначное соответствие между таблицей истинности и СДНФ функции , то СДНФ функции единственна.
2. Единственная функция, не имеющая СДНФ, – константа 0.
3. Длина СДНФ функции равна числу наборов, на которых функция принимает значение, равное 1.
Теорема 2.4. Каждую булеву функцию при любом ( ) можно представить в виде
(2.3)
Это представление называется разложением функции по переменным .
Доказательство. Заметим, что Далее рассмотрим произвольный набор и покажем, что левая и правая часть формулы (2.3) принимают на нем одно и то же значение.
Левая часть дает , а правая
Следствие 1.Разложение по переменной . Пусть . Тогда
Следствие 2.Разложение по всем переменным. Пусть . Тогда
При получаем выражение
т.е. (2.4)
Разложение (2.4) носит название совершенной дизъюнктивной нормальной формы (СДНФ).
Замечания: 1. Поскольку существует взаимно однозначное соответствие между таблицей истинности и СКНФ функции , то СКНФ функции единственна.
2. Единственная функция, не имеющая СКНФ, – константа 1.
3. Длина СКНФ функции равна числу наборов, на которых функция принимает значение, равное 0.
Утверждение 2.1. Отрицание всякой формулы алгебры высказываний равно дизъюнкции тех и только тех совершенных конъюнктивных одночленов, которые не входят в СДН-формы формулы
Утверждение 2.2. Отрицание всякой формулы алгебры высказываний равно конъюнкции тех и только тех совершенных дизъюнктивных одночленов, которые не входят в СКН-формы формулы
Утверждение 2.3. Для нахождения отрицания произвольной формулы, составленной из пропозициональных переменных и операций конъюнкция, дизъюнкция и отрицание, достаточно всюду заменить знак операции «конъюнкция» на знак операции «дизъюнкция», а знак операции «дизъюнкция» заменить на знак операции «конъюнкция» и всякую переменную входящую в формулу без знака отрицания, заменить на ту же переменную с инверсией, а все имеющиеся знаки отрицания убрать.
Пример. Найти отрицание формулы:
Руководствуясь утверждением 2.3, выпишем отрицание для формулы .
Пример. Перейдите от СДНФ к СКНФ:
.Согласно утверждению 2.1 имеем: отрицание формулы имеет следующую СДНФ: .Теперь применяя утверждение 2.3, находим отрицание этой формулы . Это и есть СКНФ данной формулы.
Пример. Перейдите от СКНФ к СДНФ: . Согласно утверждению 2.2 имеем: отрицание формулы имеет следующую СКНФ: . Теперь применяя утверждение 2.3, находим отрицание этой формулы . Это и есть СКНФ данной формулы.
А теперь сформулируем основные определения и понятия, касающиеся нормальных и совершенных форм.
Вернемся к понятию конъюнкта и дизъюнкта. Конъюнкции , , 1 являются элементарными. Причем первая элементарная конъюнкция имеет ранг (число литералов) 2, вторая - 3, а третья - 0. Дизъюнкции , , 1 являются элементарными. Причем первая элементарная дизъюнкция имеет ранг (число литералов) 2, вторая - 3, а третья - 0.
Следующие дизъюнкции: , , , , 0 не являются элементарными.
Определение 2.3. Элементарная конъюнкция булевой функции содержащая n литералов, называется полной (или min-термом). Элементарная дизъюнкция булевой функции , содержащая n литералов, называется полной (max-термом).
Определение 2.4. Число элементарных конъюнкций (слагаемых, термов), составляющих ДНФ, называется длиной ДНФ. Число элементарных дизъюнкций, составляющих КНФ, называется длиной КНФ.
Пример. Определить длину данной ДНФ и КНФ. ДНФ имеет длину, равную 3. КНФ имеет длину, равную 3.
Определение 2.5. Две (или несколько) ДНФ, реализующих одну и ту же булеву функцию F , называются эквивалентными (или равносильными). Две (или несколько) КНФ, реализующих одну и ту же булеву функцию F , называются эквивалентными (или равносильными).
Дата добавления: 2021-04-06; просмотров: 379; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!