Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции-ДМ.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
10.09 Mб
Скачать

10.9. Типы булевых функций

В алгебре логики из множества различных булевых функций п переменных у= f( ) выделяются следующие пять типов булевых функций.

1) Функции, сохраняющие константу 0, т. е. такие f( ), что f(0,…,0) = 0. Так как на одном из 2п наборов ( ) значения таких функций фиксированы, то их число равно , т. е. половина всех функций п переменных сохраняет константу 0.

2) Функции, сохраняющие константу 1, т. е. такие f( ), что f(1,…,1) = 1. Их число, как и в предыдущем случае, равно половине общего числа всех функций п переменных.

3) Самодвойственные функции, т. е. такие, которые принимают противоположные значения на любых двух противоположных наборах. Если в общей таблице соответствия наборы, как обычно следуют в порядке их номеров, то противоположные друг другу наборы располагаются симметрично относительно середины их рас­положения. Это значит, что строка значений самодвойственной функ­ции должна быть антисимметричной относительно своей середины. Самодвойственная функция полностью определяется заданием ее значений на половине всех наборов (остальные значения определя­ются по условию антисимметричности), поэтому число независимых наборов равно и число всех таких функций .

4) Линейные функции, т. е. такие, которые представляются в алгебре Жегалкина каноническим многочленом, не содержащим произведений переменных: , где коэффи­циенты принимают значения 0 или 1. Так как всего коэффициентов п+1, то число различных линейных многочленов будет . В силу однозначности представления функции канони­ческим многочленом это число выражает и количество линейных функций.

5) Монотонные функции, т.е. такие, которые для любых двух наборов из множества значений переменных, частично упорядочен­ного соотношением ( )  ( ) при , удовлетворяют неравенству f ( )  f ( ).

Рассмотренные типы функций замкнуты относительно операции суперпозиции, т. е. суперпозиция любого числа булевых функций данного типа является функцией того же типа.

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

Система функций, суперпози­цией которых может быть представлена любая функция из неко­торого множества булевых функций, называется функционально пол­ной. Если в такой системе допускаются константы 0 и 1, то ее назы­вают ослабленно функционально полной. Говорят, что функционально полная система функций образует базис в логическом пространстве. Система функций называется минимально полным базисом, если удаление из нее любой функции превращает эту систему в не­полную.

Рассмотренные в (9.4) функционально полные системы комплек­товались путем сопоставления различных выражений для булевых функций. Общее решение вопроса основано на теореме о функцио­нальной полноте: для того чтобы система булевых функций была полной, необходимо и достаточно, чтобы она включала хотя бы одну функцию: не сохраняющую константу 0, не сохраняющую констан­ту 1, несамодвойственную, нелинейную и немонотонную. Эту теорему следует понимать так, что одна и та же функция может представлять в функционально полной системе одно или несколько требуемых свойств, если она обладает этими свойствами.

С помощью табл. 9.1 можно следующим образом охарактеризовать свойства булевых функций с позиций функциональной полноты (звездочкой отмечены свойства, которыми обладает данная функ­ция:

Таблица 10.1 - Свойства булевых функций

Булевы функции

Формулы

Свойства

Несохранение 0

Несохранение 0

Несамодвойст-венность

Нелинейность

Немонотонность

Константа 0

0

*

*

Константа 1

1

*

*

Отрицание

*

*

*

Конъюнкция

*

*

Дизъюнкция

*

*

Импликация

*

*

*

*

Эквиваленция

*

*

*

Отрицание импликации

*

*

*

*

Сумма по модулю 2

*

*

*

Штрих Шеффера

*

*

*

*

*

Стрелка Пирса

*

*

*

*

*

Отсюда видно, что рассмотренные в (9.4) системы операций (дизъюнкция и отрицание, конъюнкция и отрицание, штрих Шеффера, стрелка Пирса) удовлетворяют теореме о функциональной полноте. Система операций алгебры Жегалкина (сумма по модулю 2 и конъюнкция) вместе с константой 1 образует ослабленно функ­ционально полную систему.

Выбрав любую элементарную функцию и дополнив ее одной или несколькими другими функциями так, чтобы все они вместе удовлет­воряли теореме о функциональной полноте, можно выразить через них все другие булевы функции. Например, в основу одного из та­ких комплектов можно положить импликацию и константу 0. Тогда и , а через дизъюнкцию и отрицание выразятся и все остальные функции. В качестве дру­гого функционально полного комплекта можно взять конъюнкцию, эквиваленцию и константу 0. При этом и формулы алгебры логики, построенной на этих операциях, будут двой­ственны формулам алгебры Жегалкина, если в качестве двойствен­ных символов принять + и ~, а также 1 и 0.

По-видимому, все лучшее, что можно извлечь из различных ва­риантов функционально полных систем, уже заложено в булевой алгебре и алгебре Жегалкина. Но при решении специальных задач не исключается построение и применение других алгебр логики.