Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 09 Булевы функции.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
677.38 Кб
Скачать

Функциональная полнота

Теорема (о функциональной полноте). Для любой булевой функции f найдется формула φ, представляющая функцию f. Если f 0, то существует представляющая ее формула φ, находящаяся в СДНФ:

и такое представление единственно с точностью до порядка следования конституент единицы. Если f 1, то существует приставляющая ее формула φ, находящаяся в СКНФ:

,

и такое представление единственно с точностью до порядка следования конституент нуля.

Пример. Найти СДНФ и СКНФ функции f(x,y,z), заданной следующей таблицей истинности:

х

0

0

0

0

1

1

1

1

y

0

0

1

1

0

0

1

1

z

0

1

0

1

0

1

0

1

f(x,y,z)

1

0

0

1

0

1

0

1

По теореме о функциональной полноте СДНФ имеет вид , а СКНФ — . Для нахождения СДНФ и СКНФ исходной формулы φ составляется ее таблица истинности, а затем по ней строится требуемая совершенная нормальная форма. По СДНФ φ1 для функции f, можно составить ее таблицу истинности и по ней найти СКНФ φ2.

Описанный способ нахождения СДНФ и СКНФ по таблице истинности бывает часто более трудоемким, чем следующий алгоритм.

Алгоритм. Для нахождения СДНФ данную формулу нужно привести сначала к ДНФ, а затем преобразовать ее конъюнкты в конституенты единицы с помощью следующих действий:

а) если в конъюнкт входит некоторая переменная вместе со своим отрицанием, то нужно удалить этот конъюнкт из ДНФ;

б) если в конъюнкт одна и та же литера хδ входит несколько раз, то удалить все литеры хδ, кроме одной;

в) если в некоторый конъюнкт не входит переменная y, то этот конъюнкт заменить на эквивалентную формулу применяя закон дистрибутивности, привести полученную формулу к ДНФ; если недостающих переменных несколько, то для каждой из них к конъюнкту добавляется соответствующую формулу вида ;

г) если в полученной ДНФ имеется несколько одинаковых конституент единицы, то оставить только одну из них. В результате получается СДНФ.

Пример. Найдем СДНФ для ДНФ .

Решение. Имеем φ ~ ~

~ ~

~ ~

~ ~

~ ~

~ .

Алгоритм приведения КНФ к СКНФ аналогичен вышеизложенному описанию алгоритма приведения ДНФ к СДНФ.

Двухэлементная булева алгебра.

Рассмотрим множество Во = {0,1} и определим на нем операции , согласно таблицам истинности формул , , .

Тогда система Bо = является двухэлементной булевой алгеброй со всеми свойствами на операции. Формулы алгебры логики, содержащие лишь логические операции являются термами в Bо. Термом является любое функциональное выражение, составленное с помощью переменных и/или сигнатурных функциональных символов.

По теореме о функциональной полноте в булевой алгебре Bо с помощью терма можно задать любую булеву функцию.

Фактор-алгебра алгебры формул

Обозначим через Фn множество всех формул алгебры логики с переменными из множества 1, х2, ... , хn}.

На множестве Фn определены двухместные операции конъюнкции и дизъюнкции — : , : — и одноместная операция отрицания : .

Выделим на множестве Фn две константы и . Так получается алгебра формул Fn = .

Отношение ~ эквивалентности формул является конгруэнцией на алгебре Fn, и поэтому можно задать фактор-алгебру Fn/~.

На фактор-множестве Фn/~ операции , и определяются следующим образом:

~(φ) ~(ψ) = ~( φ ψ),

~(φ) ~(ψ) = ~( φ ψ),

~(φ) = ~( φ),.

На множестве Фn/~ выделяются две константы: 0 = ~( ) и 1 = ~( ). Полученная система является фактор-алгеброй Fn/~.

Теорема. Фактор-алгебра Fn/~ изоморфна алгебре булевых функций Bn

Доказательство.

Искомый изоморфизм ξ: Fn/~ → Bn определяется по следующему правилу: классу эквивалентности ~(φ) сопоставляется функция fφ, имеющая таблицу истинности произвольной формулы из множества ~(φ). Поскольку разным классам эквивалентности соответствуют различные таблицы истинности, отображение ξ инъективно, а так как для любой булевой функции f из Вп найдется формула , представляющая функцию f, то отображение ξ сюръективно. Сохранение операций , 0, 1 при отображении ξ проверяется непосредственно. ЧТД.

По теореме о функциональной полноте каждой функции , не являющейся константой 0, соответствует некоторая СДНФ ψ, принадлежащая классу ~(φ) = ξ-1(f) формул, представляющих функцию f. Возникает задача нахождения в классе ~(φ) дизъюнктивной нормальной формы, имеющей наиболее простое строение.