Замкнутые классы булевых функций
Замкнутый класс в теории булевых функций — такое множество функций алгебры логики, замыкание которого относительно операции суперпозиции совпадает с ним самим: . Другими словами, любая функция, которую можно выразить формулой с использованием функций множества , снова входит в это же множество.
В 1941 году Эмиль Пост представил полное описание системы замкнутых классов, называемое также решёткой Поста.
Свойства замыкания функции с переменными
- Любое множество является подмножеством своего замыкания: .
- Замыкание подмножества является подмножеством замыкания: .
Следует заметить, что из строгого вложения множеств следует лишь нестрогое вложение их замыканий: . - Многократное применение операции замыкания эквивалентно однократному: .
Примеры замкнутых классов
Множество всех возможных булевых функций замкнуто.
Особо важны для теории булевых функций следующие замкнутые классы, называемые предполными классами:
- Класс функций, сохраняющих константу 0:
. - Класс функций, сохраняющих константу 1:
. - Класс самодвойственных функций:
. - Класс монотонных булевых функций:
. - Класс линейных булевых функций:
.
Любой замкнутый класс булевых функций, отличный от , целиком содержится хотя бы в одном из пяти предполных классов.
Другими важными замкнутыми классами являются:
- Класс конъюнкций K, являющийся замыканием множества . Он представляет собой множество функций вида .
- Класс дизъюнкций D, являющийся замыканием множества . Он представляет собой множество функций вида .
- Класс функций одной переменной U, содержащий только константы, отрицание и селектор (функцию, равную одному из своих аргументов на всех наборах их значений).
- Класс функций (m — любое натуральное, большее единицы число), удовлетворяющих следующему условию: для любых m наборов, на которых функция принимает нулевое значение, найдется переменная, также принимающая нулевое значение на всех этих наборах.
- Класс функций, для которых выполнено условие , где — одна из переменных функции.
- Класс функций (m — любое натуральное, большее единицы число), удовлетворяющих следующему условию: для любых m наборов, на которых функция принимает единичное значение, найдется переменная, также принимающая единичное значение на всех этих наборах.
- Класс функций, для которых выполнено условие , где — одна из переменных функции.
В 1941 году Эмиль Пост показал, что любой замкнутый класс булевых функций является пересечением конечного числа описанных выше классов, приведя полное описание структуры замкнутых классов двузначной логики. Также Пост установил, что любой замкнутый класс может быть порожден конечным базисом.
Некоторые свойства замкнутых классов
- Непустое пересечение замкнутых классов снова является замкнутым классом.
- Объединение замкнутых классов может замкнутым классом не являться.
- Замкнутый класс булевых функций, содержащий не только константы, обязательно содержит тождественную функцию.
- Дополнение замкнутого класса булевых функций до множества всех булевых функций замкнутым классом не является.
Полные системы функций
Множество функций алгебры логики называется полной системой, если замыкание этого множества совпадает с множеством всех функций. (В частности, для двузначной логики .) Другими словами, должна быть возможность любую функцию алгебры логики выразить формулой с использованием функций множества .
Критерий Поста формулирует необходимое и достаточное условие полноты системы булевых функций:
Система булевых функций полна тогда и только тогда, когда она не содержится целиком ни в одном из классов , , , , .
В частности, если функция не входит ни в один из классов Поста, она сама по себе формирует полную систему. В качестве примера можно назвать функцию Шеффера (отрицание конъюнкции).
Широко известны такие полные системы булевых функций:
- (конъюнкция, дизъюнкция, отрицание);
- (конъюнкция, сложение по модулю 2, константа 1);
- (конъюнкция, отрицание);
- (дизъюнкция, отрицание);
- (стрелка Пирса);
- (штрих Шеффера).
Первая система используется, например, для представления функций в виде дизъюнктивных и конъюнктивных нормальных форм, вторая — для представления в виде полиномов Жегалкина.
Менее известные другие полные системы булевых функций:
- (импликация, отрицание);
- (импликация, сложение по модулю 2);
- (импликация, константа 0);
Полная система функций называется базисом, если она перестаёт быть полной при исключении из неё любого элемента. Первая из упоминавшихся выше полных систем базисом не является, поскольку согласно законам де Моргана либо дизъюнкцию, либо конъюнкцию можно исключить из системы и восстановить с помощью остальных двух функций. Вторая система является базисом — все три её элемента необходимы для полноты.
Максимально возможное число булевых функций в базисе — 4.
Иногда говорят о системе функций, полной в некотором замкнутом классе, и соответственно о базисе этого класса. Например, систему можно назвать базисом класса линейных функций.
Примечания
Литература
- Яблонский С. В. Введение в дискретную математику. — М.: Наука, 1986.
- Марченков С. С. Замкнутые классы булевых функций. — М.: Физматлит, 2000.
- Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискретной математике. — М.: Наука. — 1969
- Алексеев В. Б. Дискретная математика (курс лекций, II семестр). Сост. А. Д. Поспелов
- Ахметова Н.А., Усманова З.М.Дискретная математика, функции алгебры логики.