Классы булевых функций.
Класс (множество) К булевых функций называется функционально замкнутым, если вместе с функциями из этого класса он содержит и все их суперпозиции.
Очевидно, что для доказательства замкнутости класса достаточно показать, что элементарные суперпозиции не выводят из этого класса (т.е. элементарные суперпозиции функций данного класса также принадлежат этому классу).
Рассмотрим некоторые функционально замкнутые классы булевых функций.
Через Т0 обозначается класс функций, сохраняющих 0, т.е. функций удовлетворяющих условию f(0,0,…,0)=0.
Через Т1 обозначается класс функций, сохраняющих 1, т.е. функций, удовлетворяющих условию f(1,1,…,1)=1.
Заметим, что х1х2 Т0, а х1х2 Т1, х1+х2 Т0, а х1+х2 Т1, т.е. эти классы функций различны и не совпадают с классом всех булевых функций.
Поскольку элементарные суперпозиции не выводят из классов Т0 и Т1 соответственно, то они функционально замкнуты.
Пусть f(x1, x2, …, xn) – булева функция. Функция f*(x1, x2,…,xn) называется двойственной f(x1, x2, …, xn), если f*(x1, x2, …, xn)=f(x1, x2, …, xn).Функция f(x1, …, xn) называется самодвойственной, если f(x1, …, xn)=f*(x1, …, xn).
Класс самодвойственных функций обозначается через S; он функционально замкнут.
Функция f(x1, x2, …, xn) называется линейной, если f(x1, x2, …, xn)=a0+a1x1+a2x2+ … + anxn, где ai {0;1}.
Класс линейных функций обозначается через L. Класс L. Функционально замкнут.
Введем отношение частичного порядка на множестве наборов значений переменных.
Говорят, что набор =(1, …, n) предшествует набору =(1, …, n) , где i {0,1}, i {0,1}, i=1, …, n, если i i для любого i. Обозначается .
Например, (0, 1, 0, 1) (0, 1, 1, 1), а наборы (0, 1, 1) и (1,0,1) несравнимы. Введенное отношение есть отношение частичного порядка.
Функция f(x1, x2, …, xn) называется монотонной, если для любых наборов значений переменных и от таких, что , имеем f() f().
Класс монотонных функций обозначается через М.
Класс М функционально замкнут.
Классы Т0, Т1, S, L, M неполные и попарно различные, поскольку можно привести примеры булевых функций, не принадлежащих ни одному из этих классов, и примеры функций, принадлежащих одному из любых двух классов, но не принадлежащих другому. Кроме перечисленных классов можно указать и много других функционально замкнутых классов. Оказывается, что для проверки полноты системы булевых функций можно ограничиться рассмотренными пятью функциональными классами.
Выявление полных систем функций имеет важное теоретическое и практическое значение, в частности, при разработке автоматических устройств и электронных вычислительных машин.
Необходимые и достаточные условия полноты системы булевых функций были найдены в 1921 году американским математиком Э.Постом.
Теорема Поста: Для того, чтобы система булевых функций {f1, …, fn} была полной необходимо и достаточно, чтобы для каждого из классов Т0, Т1, L, M и S нашлась функция fi из системы, не принадлежащая этому классу.
- Хакасский государственный университет им. Н.Ф.Катанова математическая логика
- Содержание
- Литература.
- Введение.
- Алгебра высказываний.
- §1. Высказывания и операции над ними.
- Упражнения.
- §2. Формулы алгебры высказываний. Виды формул.
- Упражнения.
- §3 Логическое следствие
- Основные методы установления верности логического следствия:
- Упражнения
- §4 Равносильность формул алгебры высказываний.
- Упражнения
- §5 Нормальные формы для формул алгебры высказываний.
- Отыскание нормальных форм Упражнения.
- Применение нормальных форм.
- Нахождение следствий из посылок.
- Нахождение посылок для данных следствий.
- § 6. Булевы функции (функции алгебры логики).
- Классы булевых функций.
- Упражнения.
- §7. Алгебра логики и релейно-контактные схемы.
- Анализ релейно-контактных схем. Упражнения.
- Синтез релейно-контактных схем.
- §8. Особые методы минимизации.
- Графический метод.
- М атрица Карно.
- Метод неопределенных коэффициентов.
- М етод минимизирующих карт.
- М етод Квайна.
- Упражнения.
- Примерные варианты контрольных работ.