Меню

Главная
Случайная статья
Настройки
Замкнутый класс булевых функций
Материал из https://ru.wikipedia.org

Замкнутый класс в теории булевых функций — такое множество функций алгебры логики, замыкание которого относительно операции суперпозиции совпадает с ним самим: . Другими словами, любая функция, которую можно выразить формулой с использованием функций множества , снова входит в это же множество[1].

В 1941 году Эмиль Пост представил полное описание всех замкнутых классов булевых функций[2]. Множество всех замкнутых классов, упорядоченное отношением включения, образует решётку, называемую решёткой Поста[3].

Содержание

Определение

Говорят, что функция получена при помощи операции суперпозиции функций из множества , если функция может быть получена из функций множества за конечное число шагов при помощью следующих операций:
  1. Перестеновка и отождествление переменных;
  2. Подстановка функций и переменных в качестве аргументов другой функции;
  3. Добавление и удаление фиктивных переменных.


Если множество функций замкнуто относительно указанных операций, то оно называется замкнутым классом. В данном определении разрешается функциям иметь ноль аргументов, то есть быть нульарными[4].

В англоязычной литературе и некоторой русскоязычной зачастую используют другое определение, неэквивалентное данному. Замкнутому классу запрещают иметь нульарные функции и убирается требование замкнутости относительно операции удаления переменных. Замкнутые классы в этом определении идентичны замкнутым классам в первом, с точностью до нульарных функций[5].

Примеры замкнутых классов

Простейшими замкнутыми классами являются класс всех булевых функций [6] и пустое множество [7]. Некоторые авторы не считают пустое множество замкнутым классом[8]; в таком случае множество всех замкнутых классов булевых функций с отношением включения не образуют решётку.

Особо известными замкнутыми классами булевых функций являются следующие 5 классов:

Эти классы так известны, поскольку участвуют в формулировке критерия Поста. Любой замкнутый класс булевых функций, отличный от класса всех функций, вкладывается в хотя бы один из этих пяти классов[12].

Другими важными замкнутыми классами являются:
  • Класс конъюнкций с константами , представляющий собой множество функций вида [13].
  • Класс дизъюнкций с константами , представляющий собой множество функций вида [13].
  • Класс несущественных функций , содержащий только константы, отрицания одного из своих аргументов и селекторы (функции, равные одному из своих аргументов на всех наборах их значений)[14].
  • Класс констант , содержащий только константы[14].
  • Класс функций (m — любое натуральное, большее единицы число), удовлетворяющих условию : для любых m наборов, на которых функция принимает нулевое значение, найдется переменная, также принимающая нулевое значение на всех этих наборах[14].
  • Класс функций, для которых выполнено условие : , где  — одна из переменных функции[15].
  • Класс функций (m — любое натуральное, большее единицы число), удовлетворяющих условию : для любых m наборов, на которых функция принимает единичное значение, найдется переменная, также принимающая единичное значение на всех этих наборах[14].
  • Класс функций, для которых выполнено условие : , где  — одна из переменных функции[15].


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

Свойства
  • Пересечение любого числа замкнутых классов снова является замкнутым классом[17] (если не считать пустое множество замкнутым классом, то пересечение замкнутых классов является замкнутым классом тогда и только тогда, когда оно не пусто).
  • Объединение замкнутых классов может замкнутым классом не являться (например объединение класса нулей и класса селекторов с отрицаниями не является замкнутым классом, поскольку отрицание нуля даст единицу).
  • Замкнутый класс булевых функций, содержащий не только константы, обязательно содержит все селекторы.
  • Дополнение замкнутого класса булевых функций до множества всех булевых функций замкнутым классом не является.


Замыкание

Замыканием (относительно суперпозиции) системы функций называется множество всех функций, которые могут быть получены из функций множества при помощи суперпозиции. Замыкание системы функций обозначается .[18]. Замыкание любой системы функций является замкнутым классом. Система функций является замкнутым классом тогда и только тогда, когда [19]. Класс является наименьшим по включению замкнутым классом, включающим . Класс можно получить как пересечение всех замкнутых классов, содержащих .

Замыкание относительно суперпозиции является частым случаем теоретико-множественного замыкания, то есть для него выполнены следующие свойства:
  1. Любое множество является подмножеством своего замыкания: .
  2. Замыкание подмножества является подмножеством замыкания: .
    Следует заметить, что из строгого вложения множеств следует лишь нестрогое вложение их замыканий:
  3. Многократное применение операции замыкания эквивалентно однократному: .


Замыкание относительно суперпозиции также удовлетворяет свойству финитарности, то есть является алгебраическим:
, где — множество всех конечных подможеств .[20]


Полные системы функций

Система функций называется полной системой в замкнутом классе , если любую функцию класса можно получить при помощи суперпозиции функций множества . Эквивалентное определение: система полна в , если . Полную систему также называют порождающей системой и говорят, что она порождает класс [21]. Примеры полных систем:
  • В любом замкнутом классе сам класс является полной системой.
  • Система является полной системой в классе всех булевых функций, так как любую функцию можно задать при помощи СДНФ, а [22].
  • Система является полной системой в классе линейных функций, так как любую линейную функцию можно задать при помощи полинома Жегалкина без конъюнкций, а .
  • Система является полной системой в классе монотонных функций, так как любую монотонную функцию можно задать при помощи сокДНФ без отрицаний.


Функция, которая сама по себе образует полную систему в замкнутом классе , называется шефферовой функцией в классе . Штрих Шеффера и Стрелка Пирса являются шефферовыми функциями в классе всех булевых функций. Отрицание функции голосования является шефферовой функцией в классе самодвойственных функций. В классах монотонных функций и линейных функций шефферовых функций нет.

Базис

Полная система функций в замкнутом классе называется базисом в замкнутом классе , если никакая собственная подсистема не является полной в . Таким образом базис — это минимальная по включению полная система класса[10].

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

Система является базисом в классе линейных функций. Система является базисом в классе монотонных функций.

У любого замкнутого класса булевых функций есть конечный базис. Все базисы всех замкнутых классов имеют не более четырёх функций.

Порядок

Идейно, порядок замкнутого класса есть минимальная арность функций базиса. Существует несколько определений порядка.

В одном из определений сначала определяется порядок функции как количество её существенных переменных. Порядок базиса определяется как максимальный из порядков входящих в него функций. Порядок замкнутого класса определяется как минимальный из порядков его базисов.

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

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

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

Критериальные системы

Система замкнутых подклассов класса называется критериальной в замкнутом классе , если каждый собственный подкласс вкладывается в некоторый класс из [23]. Простейший пример критериальной системы для произвольного класса — множество всех собственных подклассов . Критерий Поста устанавливает, что система классов является критериальной для класса всех булевых функций. Критериальная система класса называется минимальной, если никакая её собственная подсистема не является критериальной в .

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

Минимальная критериальная система замкнутого класса булевых функций есть множество всех его предполных классов. Это позволяет сформулировать для каждого из замкнутых классов простой критерий полноты, состоящий в том, что система функций полна в этом классе тогда и только тогда, когда она полностью не лежит ни в одном из его предполных классов. Частный случай этого критерия для класса всех булевых функций называется критерием Поста или малой теорема Поста. Примеры минимальных критериальных систем:
  • Для класса всех булевых функций минимальная критериальная система есть .
  • Для класса всех линейных функций минимальная критериальная система есть .
  • Для класса всех самодвойственных функций минимальная критериальная система есть .


Список замкнутых классов

В 1941 году Эмиль Пост привёл полное описание структуры замкнутых классов двузначной логики. Также Пост установил, что любой замкнутый класс может быть порожден конечным базисом[2].

Список всех замкнутых классов булевой логики представлен в следующей таблице. Таблица разделена на блоки по порядкам классов. Всего существует 4 класса порядка 0 (или 3 если не считать пустое множество замкнутым классом), 6 классов порядка 1, 20 классов порядков 2, 20 классов порядка 3 и по 8 классов для каждого из порядков больше 3. В столбце "П" указано обозначение Поста[24], в столбце "ЯГК" — обозначение Яблонского, Гаврилова и Кудрявцева[25], в столбце "У" — обозначение Угольникова[8] и в столбце "Л" — обозначение Лау[26].
Название П ЯГК У Л Примеры базисов Предполные классы
Порядок 0
Пустое множество
Нули Пустое множество.
Единицы Пустое множество.
Константы Класс нулей;
Класс единиц.
Порядок 1
Селекторы Пустое множество.
Селекторы с нулями Класс селекторов;
Класс нулей.
Селекторы с единицами Класс селекторов;
Класс единиц.
Селекторы с константами Класс селекторов с нулями;
Класс селекторов с единицами;
Класс констант.
Селекторы с отрицаниями Класс селекторов.
Несущественные функции
Класс селекторов с отрицаниями;
Класс селекторов с константами.
Порядок 2
Булевы функции

Класс функций, сохраняющих 0;
Класс функций, сохраняющих 1;
Класс монотонных функций;
Класс линейных функций;
Класс самодвойственных функций.
Функции, сохраняющие 0
Класс функций, сохраняющих константы;
Класс монотонных функций, сохраняющих 0;
Класс линейных функций, сохраняющих 0;
Класс функций, удовлетворяющих условию 1.
Функции, сохраняющие 1
Класс функций, сохраняющих константы;
Класс монотонных функций, сохраняющих 1;
Класс линейных функций, сохраняющих 1;
Класс функций, удовлетворяющих условию 0;
Монотонные функции

Класс монотонных функций, сохраняющих 0;
Класс монотонных функций, сохраняющих 1;
Класс конъюнкций с константами;
Класс дизъюнкций с константами.
Монотонные функции без единиц
Класс монотонных функций, сохраняющих константы;
Класс конъюнкций с нулями;
Класс монотонных функций, удовлетворяющих условию 1.
Монотонные функции без нулей
Класс монотонных функций, сохраняющих константы;
Класс конъюнкций с единицами;
Класс монотонных функций, удовлетворяющих условию 0.
Монотонные функции без констант
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 0;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 1.
Конъюнкции с константами Класс конъюнкций с единицами;
Класс конъюнкций с нулями
Класс селекторов с константами.
Конъюнкции с нулями Класс конъюнкций без констант;
Класс селекторов с нулями.
Конъюнкции с единицами Класс конъюнкций без констант;
Класс селекторов с единицами.
Конъюнкции без констант Класс селекторов
Дизъюнкции с константами Класс дизъюнкций с единицами;
Класс дизъюнкций с нулями;
Класс селекторов с константами.
Дизъюнкции с единицами Класс дизъюнкций без констант;
Класс селекторов с единицами.
Дизъюнкции с нулями Класс дизъюнкций без констант;
Класс селекторов с нулями.
Дизъюнкции без констант Класс селекторов.
Линейные функции

Класс линейных функций, сохраняющих 0;
Класс линейных функций, сохраняющих 1;
Класс линейных самодвойственных функций;
Класс несущественных функций.
Линейные функции, сохраняющие 0 Класс линейных функций, сохраняющих константы;
Класс селекторов с нулями.
Линейные функции, сохраняющие 1 Класс линейных функций, сохраняющих константы;
Класс селекторов с единицами.
Функции, удовлетворяющие условию 1 Класс монотонных функций, удовлетворяющих условию 1;
Класс функций, сохраняющих константы и удовлетворяющих условию 1.
Функции, удовлетворяющие условию 0 Класс монотонных функций, удовлетворяющих условию 0;
Класс функций, сохраняющих константы и удовлетворяющих условию 0.
Порядок 3
Функции, сохраняющие константы
Класс монотонных функций, сохраняющих константы;
Класс самодвойственных функций, сохраняющих константы;
Класс функций, сохраняющих константы и удовлетворяющих условию 1;
Класс функций, сохраняющих константы и удовлетворяющих условию 0.
Линейные самодвойственные функции Класс линейных функций, сохраняющих константы;
Класс селекторов с отрицаниями.
Линейные функции, сохраняющие константы Класс линейных функций, сохраняющих константы;
Класс селекторов с отрицаниями.
Самодвойственные функции
[27] Класс линейных самодвойственных функций;
Класс самодвойственных функций, сохраняющих константы.
Самодвойственные функции, сохраняющие константы [28] Класс монотонных самодвойственных функций;
Класс линейных функций, сохраняющих константы.
Монотонные самодвойственные функции Класс селекторов.
Монотонные функции, удовлетворяющие условию 1 Класс конъюнкций с нулями;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 1.
Функции, сохраняющие константы и удовлетворяющие условию 1 Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 1.
Монотонные функции, сохраняющие константы и удовлетворяющие условию 1 Класс конъюнкций с константами.
Монотонные функции, удовлетворяющие условию 0 Класс дизъюнкций с единицами;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 0.
Функции, сохраняющие константы и удовлетворяющие условию 0 Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 0.
Монотонные функции, сохраняющие константы и удовлетворяющие условию 0 Класс дизъюнкций с константами.
Функции, удовлетворяющие условию 1 Класс функций, удовлетворяющих условию 1;
Класс монотонных функций, удовлетворяющих условию 1;
Класс функций, сохраняющих константы и удовлетворяющих условию 1.
Монотонные функции, удовлетворяющие условию 1 Класс монотонных функций, удовлетворяющих условию 1;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 1.
Функции, сохраняющие константы и удовлетворяющие условию 1 Класс функций, сохраняющих константы и удовлетворяющих условию 1;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 1.
Монотонные функции, сохраняющие константы и удовлетворяющие условию 1 Класс функций, сохраняющих константы и удовлетворяющих условию 1;
Класс монотонных самодвойственных функций.
Функции, удовлетворяющие условию 0 Класс функций, удовлетворяющих условию 0;
Класс монотонных функций, удовлетворяющих условию 0;
Класс функций, сохраняющих константы и удовлетворяющих условию 0.
Монотонные функции, удовлетворяющие условию 0 Класс монотонных функций, удовлетворяющих условию 0;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 0.
Функции, сохраняющие константы и удовлетворяющие условию 0 Класс функций, сохраняющих константы и удовлетворяющих условию 0;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 0.
Монотонные функции, сохраняющие константы и удовлетворяющие условию 0 Класс функций, сохраняющих константы и удовлетворяющих условию 0;
Класс монотонных самодвойственных функций.
Порядок
Функции, удовлетворяющие условию 1 [29] Класс функций, удовлетворяющих условию 1m+1;
Класс монотонных функций, удовлетворяющих условию 1;
Класс функций, сохраняющих константы и удовлетворяющих условию 1.
Монотонные функции, удовлетворяющие условию 1 Класс монотонных функций, удовлетворяющих условию 1m+1;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 1.
Функции, сохраняющие константы и удовлетворяющие условию 1 Класс функций, сохраняющих константы и удовлетворяющих условию 1m+1;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 1.
Монотонные функции, сохраняющие константы и удовлетворяющие условию 1 Класс функций, сохраняющих константы и удовлетворяющих условию 1m+1.
Функции, удовлетворяющие условию 0 [30] Класс функций, удовлетворяющих условию 0m+1;
Класс монотонных функций, удовлетворяющих условию 0;
Класс функций, сохраняющих константы и удовлетворяющих условию 0.
Монотонные функции, удовлетворяющие условию 0 Класс монотонных функций, удовлетворяющих условию 0m+1;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 0.
Функции, сохраняющие константы и удовлетворяющие условию 0 Класс функций, сохраняющих константы и удовлетворяющих условию 0m+1;
Класс монотонных функций, сохраняющих константы и удовлетворяющих условию 0.
Монотонные функции, сохраняющие константы и удовлетворяющие условию 0 Класс функций, сохраняющих константы и удовлетворяющих условию 0m+1.


Примечания
  1. Марченков, 2000, с. 9.
  2. 1 2 Пост, 1941.
  3. Лау, 2006, с. 2.
  4. Подколзин, с. 6-7.
  5. Лау, 2006, с. 1.
  6. Яблонский, 1986, с. 33.
  7. Лау, 2006, с. 97.
  8. 1 2 Угольников, 1988, с. 84-85.
  9. 1 2 3 Марченков, 2000, с. 15.
  10. 1 2 Марченков, 2000, с. 11.
  11. Марченков, 2000, с. 13.
  12. Яблонский, 1986, с. 40-41.
  13. 1 2 Марченков, 2000, с. 19.
  14. 1 2 3 4 Марченков, 2000, с. 29.
  15. 1 2 Марченков, 2000, с. 19-20.
  16. Марченков, 2000, с. 29-30,41.
  17. Яблонский, Гаврилов, Кудрявцев, 1966, с. 19.
  18. Подколзин2, с. 5.
  19. Подколзин, с. 6.
  20. Лау, 2006, с. 45-47,97.
  21. Марченков, 2000, с. 10.
  22. Алексеев, Поспелов, с. 6.
  23. Буевич, Подколзина, 2007, с. 193.
  24. Пост, 1941, с. 101.
  25. Яблонский, Гаврилов, Кудрявцев, 1966, с. 101,112.
  26. Лау, 2006, с. 148.
  27. отрицание функции голосования
  28. функция голосования
  29. — равна , если как минимум аргументов равно , иначе
  30. — равна , если как минимум аргументов равно , иначе


Литература
Downgrade Counter