Полные системы функций. Теорема Поста о полной системе функций — различия между версиями
м (переименовал Теорема Поста о полной системе функций в Полные системы функций. Теорема Поста о полной системе функций: объединение с...) |
(объединен с конспектом "полные системы функций") |
||
Строка 1: | Строка 1: | ||
− | == Полная система функций | + | == Представление функции формулой == |
− | Американский математик Эмиль Пост сформулировал необходимое и достаточное условие | + | |
+ | {{Определение | ||
+ | |definition= | ||
+ | Если выбрать некоторый набор [[Определение булевой функции|булевых функций]] <tex>A</tex>, то с использованием выбранных функций можно записать некоторые другие булевы функции. Такая запись булевой функции называется '''формулой'''.}} | ||
+ | Например, если <tex>A = \left\{\land,\neg\right\}</tex>, то функция <tex>a \lor b</tex> представляется в виде <tex>\neg(\neg a \land \neg b)</tex> | ||
+ | |||
+ | == Полные системы функций == | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | '''Замкнутым множеством''' функций называется такое множество, что любая функция алгебры логики, выражаемая с помощью содержащихся в множестве функций, уже содержится в этом множестве.}} | ||
+ | |||
+ | {{Определение | ||
+ | |definition= | ||
+ | '''Замыканием''' множества функций называется минимальное замкнутое подмножество всех функций, содержащее данное множество функций.}} | ||
+ | |||
+ | {{Определение | ||
+ | |id=def1 | ||
+ | |definition= | ||
+ | Множество <tex>A</tex> функций алгебры логики называется '''полной системой''', если замыкание этого множества совпадает с множеством всех функций.}} | ||
+ | |||
+ | {{Определение | ||
+ | |definition= | ||
+ | Полная система функций называется '''безызбыточной''', если она перестаёт быть полной при исключении из неё любого элемента. | ||
+ | }} | ||
+ | |||
+ | Американский математик Эмиль Пост сформулировал необходимое и достаточное условие полноты системы булевых функций. Для этого он ввел в рассмотрение следующие замкнутые классы булевых функций: | ||
* Функции, сохраняющие константу <math>T_0</math> и <math>T_1</math>; | * Функции, сохраняющие константу <math>T_0</math> и <math>T_1</math>; | ||
* Самодвойственные функции <math>S</math>; | * Самодвойственные функции <math>S</math>; | ||
Строка 96: | Строка 121: | ||
В итоге получаем функцию '''НЕ''', а также либо функцию '''И''', либо функцию '''ИЛИ''', но '''НЕ''' образует базис и с той и с другой функциями. Из того, что через функции '''F''' можно выразить базис, следует, что '''F''' {{---}} полная система функций, что и требовалось доказать. | В итоге получаем функцию '''НЕ''', а также либо функцию '''И''', либо функцию '''ИЛИ''', но '''НЕ''' образует базис и с той и с другой функциями. Из того, что через функции '''F''' можно выразить базис, следует, что '''F''' {{---}} полная система функций, что и требовалось доказать. | ||
}} | }} | ||
+ | |||
+ | |||
+ | == Примеры == | ||
+ | Согласно критерию Поста система булевых функций полна тогда и только тогда, когда она не содержится целиком ни в одном из классов <tex>T_0</tex>, <tex>T_1</tex>, <tex>S</tex>, <tex>M</tex>, <tex>L</tex>. | ||
+ | |||
+ | В частности, если функция не входит ни в один из классов Поста, она сама по себе формирует полную систему. В качестве примера можно назвать штрих Шеффера или стрелку Пирса. | ||
+ | |||
+ | Широко известны такие полные системы булевых функций: | ||
+ | * <tex>\left\{\land,\lor,\neg\right\}</tex> (конъюнкция, дизъюнкция, отрицание); | ||
+ | * <tex>\left\{\land,\oplus,1\right\}</tex> (конъюнкция, сложение по модулю 2, константа 1). | ||
+ | Первая система используется, например, для представления функций в виде [[СДНФ|дизъюнктивных]] и [[СКНФ|конъюнктивных нормальных форм]], вторая — для представления в виде [[полином Жегалкина|полиномов Жегалкина]]. | ||
+ | |||
+ | Первая из упоминавшихся выше полных систем безызбыточной не является, поскольку согласно законам де Моргана либо дизъюнкцию, либо конъюнкцию можно исключить из системы и восстановить с помощью остальных двух функций. Вторая система является безызбыточной — все три её элемента необходимы для полноты. | ||
+ | Максимально возможное число булевых функций в базисе — 4. | ||
+ | |||
+ | Иногда говорят о системе функций, полной в некотором замкнутом классе, и соответственно о базисе этого класса. Например, систему <tex>\left\{\oplus,1\right\}</tex> можно назвать базисом класса линейных функций. | ||
+ | |||
== Источники == | == Источники == |
Версия 19:05, 20 октября 2011
Содержание
Представление функции формулой
Определение: |
Если выбрать некоторый набор булевых функций , то с использованием выбранных функций можно записать некоторые другие булевы функции. Такая запись булевой функции называется формулой. |
Например, если
, то функция представляется в видеПолные системы функций
Определение: |
Замкнутым множеством функций называется такое множество, что любая функция алгебры логики, выражаемая с помощью содержащихся в множестве функций, уже содержится в этом множестве. |
Определение: |
Замыканием множества функций называется минимальное замкнутое подмножество всех функций, содержащее данное множество функций. |
Определение: |
Множество | функций алгебры логики называется полной системой, если замыкание этого множества совпадает с множеством всех функций.
Определение: |
Полная система функций называется безызбыточной, если она перестаёт быть полной при исключении из неё любого элемента. |
Американский математик Эмиль Пост сформулировал необходимое и достаточное условие полноты системы булевых функций. Для этого он ввел в рассмотрение следующие замкнутые классы булевых функций:
- Функции, сохраняющие константу и ;
- Самодвойственные функции ;
- Монотонные функции ;
- Линейные функции .
Замкнутые классы булевых функций
Класс функций
.Определение: |
Говорят, что функция сохраняет константу 0, если | .
Класс функций
.Определение: |
Говорят, что функция сохраняет константу 1, если | .
Класс самодвойственных функций
.Определение: |
Говорят, что функция самодвойственна, если | . Иными словами, функция называется самодвойственной, если на противоположных наборах она принимает противоположные значения.
Класс монотонных функций .
Определение: |
Говорят, что функция монотонна, если | .
Класс линейных функций .
Определение: |
Говорят, что функция линейна, если существуют такие
| , где , что для любых имеет место равенство:
Очевидно, что количество линейных функций от
переменных равно .Функция является линейной тогда, и только тогда, когда в ее полиноме Жегалкина присутствуют слагаемые, каждое из которых зависит не более чем от одной переменной. Построить полином Жегалкина можно с помощью преобразования Мебиуса.
Критерий Поста
Критерий Поста — одна из центральных теорем в теории булевых функций, устанавливающая необходимое и достаточное условие для того, чтобы некоторый набор булевых функций обладал достаточной выразительностью, чтобы представить любую булеву функцию. Впервые сформулирован американским математиком Эмилем Постом в 1941г.
Формулировка и доказательство критерия
Теорема: |
Система булевых функций F является полной тогда и только тогда, когда она не содержится полностью ни в одном из классов , т.е. когда в ней имеется хотя бы одна функция, не сохраняющая 0, хотя бы одна функция, не сохраняющая 1, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция. |
Доказательство: |
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а значит, и замыкание набора входило бы в этот класс и класс К не мог быть полным. Докажем достаточность этого утверждения. Рассмотрим функцию, несохраняющую 0 — . . может принимать два значения:а) , тогда .б) , тогда .Рассмотрим функцию, несохраняющую 1 — . . может принимать два значения:а) , тогда .б) , тогда .Возможны 4 варианта: 1) Мы получили функцию НЕ. Используем несамодвойственную функцию .По определению найдется такой вектор , что . .Возьмем , где , при и , при .Нетрудно заметить, что . Таким образом мы получили одну из констант.2)Мы получили НЕ и . .3)Мы получили НЕ и . .4)Мы получили и .Рассмотрим немонотонную функцию . Существуют такие , что , , зафиксируем все , тогда .В итоге имеем три функции: НЕ, , .Используем нелинейную функцию . Среди нелинейных членов , выберем тот, в котором минимальное количество элементов, все элементы, кроме двух, в этом члене, сделаем равными 1, оставшиеся 2 назовем и , а все элементы, не входящие в данный член, сделаем равными 0. Тогда , где в квадратных скобках указаны члены, которые могут и не присутствовать.Рассмотрим несколько вариантов:
|
Примеры
Согласно критерию Поста система булевых функций полна тогда и только тогда, когда она не содержится целиком ни в одном из классов
, , , , .В частности, если функция не входит ни в один из классов Поста, она сама по себе формирует полную систему. В качестве примера можно назвать штрих Шеффера или стрелку Пирса.
Широко известны такие полные системы булевых функций:
- (конъюнкция, дизъюнкция, отрицание);
- (конъюнкция, сложение по модулю 2, константа 1).
Первая система используется, например, для представления функций в виде дизъюнктивных и конъюнктивных нормальных форм, вторая — для представления в виде полиномов Жегалкина.
Первая из упоминавшихся выше полных систем безызбыточной не является, поскольку согласно законам де Моргана либо дизъюнкцию, либо конъюнкцию можно исключить из системы и восстановить с помощью остальных двух функций. Вторая система является безызбыточной — все три её элемента необходимы для полноты. Максимально возможное число булевых функций в базисе — 4.
Иногда говорят о системе функций, полной в некотором замкнутом классе, и соответственно о базисе этого класса. Например, систему
можно назвать базисом класса линейных функций.