Полные системы функций. Теорема Поста о полной системе функций — различия между версиями
Melnik (обсуждение | вклад) |
(Добавлены определения классов функций, отредактированы источники, исправлены мелкие ошибки, добавлены "категории") |
||
Строка 1: | Строка 1: | ||
== Полная система функций == | == Полная система функций == | ||
− | Система булевых функций называется ''полной'', если можно построить их суперпозицию, тождественную любой другой заранее заданной функции. Говорят ещё, что замыкание данной системы совпадает с множеством <math>P_2</math>. | + | Система булевых функций называется ''полной'', если можно построить их [[Суперпозиции|суперпозицию]], тождественную любой другой заранее заданной функции. Говорят ещё, что замыкание данной системы совпадает с множеством <math>P_2</math>. |
Американский математик Эмиль Пост ввёл в рассмотрение следующие замкнутые классы булевых функций: | Американский математик Эмиль Пост ввёл в рассмотрение следующие замкнутые классы булевых функций: | ||
Строка 11: | Строка 11: | ||
== Критерий Поста == | == Критерий Поста == | ||
− | Критерий Поста — одна из центральных теорем в теории [[Определение булевой функции|булевых функций]], устанавливающая необходимое и достаточное условие для того, чтобы некоторый набор булевых функций обладал достаточной выразительностью, чтобы представить любую булеву функцию. Впервые сформулирован американским математиком Эмилем Постом. | + | Критерий Поста — одна из центральных теорем в теории [[Определение булевой функции|булевых функций]], устанавливающая необходимое и достаточное условие для того, чтобы некоторый набор булевых функций обладал достаточной выразительностью, чтобы представить любую булеву функцию. Впервые сформулирован американским математиком Эмилем Постом в 1941г. |
+ | |||
+ | == Замкнутые классы булевых функций == | ||
+ | * Класс функций <tex>T_0</tex>, сохраняющих константу 0: | ||
+ | |||
+ | <tex>f(0, 0, \dots, 0) = 0</tex> | ||
+ | |||
+ | Функция сохраняет 0 тогда, и только тогда, когда первое значение в ее таблице истинности равно 0. | ||
+ | |||
+ | * Класс функций <tex>T_1</tex>, сохраняющих константу 1: | ||
+ | |||
+ | <tex>f(1, 1, \dots, 1) = 1</tex> | ||
+ | |||
+ | Функция сохраняет 1 тогда, и только тогда, когда последнее значение в ее таблице истинности равно 1. | ||
+ | |||
+ | * Класс самодвойственных функций <tex>S</tex>: | ||
+ | |||
+ | <tex>f(\overline{x_1},\dots,\overline{x_n})=\overline{f(x_1,\dots,x_n)}</tex> | ||
+ | |||
+ | Пусть <tex>a(i)</tex> — i-я строка таблицы истинности <tex>f(i)</tex>. В таких обозначениях функция <tex>f(i)</tex> является самодвойственной тогда, и только тогда, когда <tex>a(i)=\overline{a(N+1-i)}</tex>, где <tex>N — </tex> количество строк в таблице истинности. Т. е. функция является самодвойственной, если значения, расположенные в таблице истинности симметрично относительно центра, не равны. | ||
+ | |||
+ | * Класс монотонных функций <tex>M</tex>: | ||
+ | |||
+ | <tex>\forall i (a_i\le b_i) \Rightarrow f(a_1,\dots,a_n)\le f(b_1,\dots,b_n)</tex> | ||
+ | |||
+ | Функция является монотонной тогда, и только тогда, когда для любых параметров функции, изменение некоторых из них с <tex>0</tex> на <tex>1</tex> не приводит к уменьшению ее значения. Примером монотонной функции от двух переменных является <tex>and</tex>. Примером немонотонной булевой функции от двух переменных является <tex>xor</tex>, т. к. для значений <tex>(0, 1)</tex> функция принимает значение <tex>1</tex>, а при изменении первого параметра на <tex>1</tex> функция уменьшает свое значение. | ||
+ | |||
+ | * Класс линейных функций <tex>L</tex>: | ||
+ | |||
+ | <tex>f(x_1,\dots,x_n)=a_0\oplus a_1x_1\oplus\dots\oplus a_nx_n,a_i\in\{0,1\}</tex> | ||
+ | |||
+ | Очевидно, что количество линейных функций от <tex>n</tex> переменных всего <tex>~2^{n+1}</tex>. | ||
+ | |||
+ | Функция является линейной тогда, и только тогда, когда в ее полиноме [[Полином_Жегалкина|Жегалкина]] присутствуют слагаемые, каждое из которых зависит не более чем от одной переменной. Построить полином Жегалкина можно с помощью [[Преобразование Мёбиуса для получения коэффициентов полинома Жегалкина|преобразования Мебиуса]]. | ||
== Формулировка и доказательство критерия == | == Формулировка и доказательство критерия == | ||
{{ | {{ | ||
Теорема|statement= | Теорема|statement= | ||
− | Система булевых функций F является полной тогда и только тогда, когда она не содержится ни в одном из классов <tex> S,M,L,T_0,T_1 </tex>, т.е. когда в ней имеется хотя бы одна функция, не сохраняющая 0, хотя бы одна функция, не сохраняющая 1, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция. | + | Система булевых функций F является полной тогда и только тогда, когда она не содержится полностью ни в одном из классов <tex> S,M,L,T_0,T_1 </tex>, т.е. когда в ней имеется хотя бы одна функция, не сохраняющая 0, хотя бы одна функция, не сохраняющая 1, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция. |
|proof= | |proof= | ||
Строка 71: | Строка 104: | ||
== Источники == | == Источники == | ||
− | * [http://ru.wikipedia.org/wiki/ | + | * [http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9_%D0%9F%D0%BE%D1%81%D1%82%D0%B0 Википедия — Критерий Поста] |
+ | * [http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D1%8B%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B_%D0%B1%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D1%85_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9 Википедия — Замкнутые классы булевых функций] | ||
* Образовательный сайт [http://mini-soft.ru/nstu/diskr/7_.php MiniSoft] | * Образовательный сайт [http://mini-soft.ru/nstu/diskr/7_.php MiniSoft] | ||
* [http://en.wikipedia.org/wiki/Post%27s_lattice Post's lattice] | * [http://en.wikipedia.org/wiki/Post%27s_lattice Post's lattice] | ||
+ | |||
+ | [[Категория: Дискретная математика и алгоритмы]] | ||
+ | [[Категория: Булевы функции]] |
Версия 10:06, 14 октября 2011
Содержание
Полная система функций
Система булевых функций называется полной, если можно построить их суперпозицию, тождественную любой другой заранее заданной функции. Говорят ещё, что замыкание данной системы совпадает с множеством .
Американский математик Эмиль Пост ввёл в рассмотрение следующие замкнутые классы булевых функций:
- Функции, сохраняющие константу и ;
- Самодвойственные функции ;
- Монотонные функции ;
- Линейные функции .
Заметим, что существуют функции, не входящие ни в один из классов Поста. Любая такая функция сама по себе образует полную систему. В качестве примеров можно назвать штрих Шеффера или стрелку Пирса.
Критерий Поста
Критерий Поста — одна из центральных теорем в теории булевых функций, устанавливающая необходимое и достаточное условие для того, чтобы некоторый набор булевых функций обладал достаточной выразительностью, чтобы представить любую булеву функцию. Впервые сформулирован американским математиком Эмилем Постом в 1941г.
Замкнутые классы булевых функций
- Класс функций , сохраняющих константу 0:
Функция сохраняет 0 тогда, и только тогда, когда первое значение в ее таблице истинности равно 0.
- Класс функций , сохраняющих константу 1:
Функция сохраняет 1 тогда, и только тогда, когда последнее значение в ее таблице истинности равно 1.
- Класс самодвойственных функций :
Пусть
— i-я строка таблицы истинности . В таких обозначениях функция является самодвойственной тогда, и только тогда, когда , где количество строк в таблице истинности. Т. е. функция является самодвойственной, если значения, расположенные в таблице истинности симметрично относительно центра, не равны.- Класс монотонных функций :
Функция является монотонной тогда, и только тогда, когда для любых параметров функции, изменение некоторых из них с
на не приводит к уменьшению ее значения. Примером монотонной функции от двух переменных является . Примером немонотонной булевой функции от двух переменных является , т. к. для значений функция принимает значение , а при изменении первого параметра на функция уменьшает свое значение.- Класс линейных функций :
Очевидно, что количество линейных функций от
переменных всего .Функция является линейной тогда, и только тогда, когда в ее полиноме Жегалкина присутствуют слагаемые, каждое из которых зависит не более чем от одной переменной. Построить полином Жегалкина можно с помощью преобразования Мебиуса.
Формулировка и доказательство критерия
Теорема: |
Система булевых функций F является полной тогда и только тогда, когда она не содержится полностью ни в одном из классов , т.е. когда в ней имеется хотя бы одна функция, не сохраняющая 0, хотя бы одна функция, не сохраняющая 1, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция. |
Доказательство: |
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а значит, и замыкание набора входило бы в этот класс и класс К не мог быть полным. Докажем достаточность этого утверждения. Рассмотрим функцию, несохраняющую 0 — . . может принимать два значения:а) , тогда .б) , тогда .Рассмотрим функцию, несохраняющую 1 — . . может принимать два значения:а) , тогда .б) , тогда .Возможны 4 варианта: 1) Мы получили функцию НЕ. Используем несамодвойственную функцию .По определению найдется такой вектор , что . .Возьмем , где , при и , при .Нетрудно заметить, что . Таким образом мы получили одну из констант.2)Мы получили НЕ и . .3)Мы получили НЕ и . .4)Мы получили и .Рассмотрим немонотонную функцию . Существуют такие , что , , зафиксируем все , тогда .В итоге имеем три функции: НЕ, , .Используем нелинейную функцию . Среди нелинейных членов , выберем тот, в котором минимальное количество элементов, все элементы, кроме двух, в этом члене, сделаем равными 1, оставшиеся 2 назовем и , а все элементы, не входящие в данный член, сделаем равными 0. Тогда , где в квадратных скобках указаны члены, которые могут и не присутствовать.Рассмотрим несколько вариантов:
|
Источники
- Википедия — Критерий Поста
- Википедия — Замкнутые классы булевых функций
- Образовательный сайт MiniSoft
- Post's lattice