Критерий Поста — одна из центральных теорем в теории булевых функций, устанавливающая необходимое и достаточное условие для того, чтобы некоторый набор булевых функций обладал достаточной выразительностью, чтобы представить любую булеву функцию. Впервые сформулирован американским математиком Эмилем Постом.
В середине 60-х годов почти одновременно в СССР и во Франции появились работы, где с иных позиций и в более доступной форме излагались результаты Поста. В 80-е годы сразу целому ряду исследователей с использованием различных подходов и различной техники удалось получить достаточно компактные доказательства результатов Поста. Алгебраический подход в изучении замкнутых классов булевых функций (подалгебр итеративной алгебры Поста над множеством ) принадлежит А. И. Мальцеву.
Булева функция — это функция типа , где , а — арность. Количество различных функций арности равно , общее же количество различных булевых функций бесконечно. Вместе с тем, очевидно, что многие функции могут быть выражены через другие с использованием оператора суперпозиции. Например, давно известно, что из дизъюнкции и отрицания можно, используя законы де Моргана, получить конъюнкцию. Кроме того, любая булева функция (за исключением тождественного нуля) может быть представлена в виде ДНФ, то есть, в терминах конъюнкции, дизъюнкции и отрицания. Возникает естественный вопрос: как определить, будет ли данный набор функций достаточным, чтобы представить любую булеву функцию? Такие наборы называются функционально полными. Теорема Поста даёт ответ на этот вопрос. Поскольку условие теоремы является необходимыми и достаточным, её называют также критерием.
Идея теоремы состоит в том, чтобы рассматривать множество всех булевых функций как алгебру относительно операции суперпозиции. Сейчас она носит имя алгебра Поста. Эта алгебра содержит в качестве своих подалгебр множества функций, замкнутых относительно суперпозиции. Их называют ещё замкнутыми классами. Пусть — некоторое подмножество . Замыканием множества называется минимальная подалгебра , содержащая . Иными словами, замыкание состоит из всех функций, которые являются суперпозициями . Очевидно, что будет функционально полно тогда и только тогда, когда . Таким образом, вопрос, будет ли данный класс функционально полон, сводится к проверке того, совпадает ли его замыкание с .
Оператор является оператором замыкания. Иными словами, он обладает (среди прочих) свойствами:
Говорят, что множество функций порождает замкнутый класс (или класс порождается множеством функций ), если . Множество функций называется базисом замкнутого класса , если и для любого подмножества множества , отличного от .
Если к подалгебре , не совпадающей с прибавить один элемент, ей не принадлежащий, и образовать замыкание, результатом будет новая подалгебра, содержащая данную. При этом, она совпадёт с , в том и только в том случае, если между исходной подалгеброй, и нет никаких других подалгебр, то есть, если исходная подалгебра была максимальной. Таким образом, для того, чтобы проверить, что данное множество функций функционально полно, достаточно убедиться, что оно не входит целиком ни в одну из максимальных подалгебр . Оказывается, что таких подалгебр всего пять, и вопрос принадлежности к ним может быть решён просто и эффективно.
Ниже приведены некоторые следствия, вытекающие из теорем о двойственных функциях.
Перейдем теперь к выяснению полноты конкретных наборов функций.
Отметим, что ни один из замкнутых классов целиком не содержится в объединении остальных четырёх. Это вытекает из следующих соотношений:
|
|
То есть когда в ней можно реализовать пять функций: несамодвойственную, немонотонную, нелинейную, не сохраняющую 0 и не сохраняющую 1.
Доказательство критерия Поста основано на том, что система функций (И, ИЛИ и НЕ) является полной. Таким образом, любая система, в которой реализуемы эти три функции, также является полной. Докажем, что в системе, удовлетворяющей критерию Поста, всегда можно реализовать конъюнкцию, дизъюнкцию и отрицание.
Рассмотрим функцию, не принадлежащую классу Т0. Для неё
Эта функция может принадлежать, а может не принадлежать классу Т1.
Рассмотрим функцию, не принадлежащую классу Т1. Для неё
Эта функция может принадлежать, а может не принадлежать классу Т0.
Рассмотрим функцию, не принадлежащую классу S самодвойственных функций. Для неё найдётся такой набор входных переменных X, что
Пусть, например, тогда и мы имеем константу 1.
Аналогично, если, например, тогда и мы имеем константу 0.
В любом случае, имея инвертор и несамодвойственную функцию мы можем получить одну из констант.
Если в одном из вышеперечисленных случаев мы получили инвертор и одну из констант, вторую константу получим с помощью инвертора: или
Для немонотонной функции обязательно найдётся такой набор входных переменных, что
Пусть, например, и . Тогда .
В любом случае, имея немонотонную функцию и обе константы, мы можем получить инвертор.
В предыдущих подразделах мы перебрали все возможные варианты (см. рисунок) и пришли к выводу, что имея функции, не принадлежащие классам Т0, Т1, S и M, мы всегда можем различными способами получить инвертор и обе константы.
Нелинейная функция по определению имеет в полиноме Жегалкина хотя бы один член, содержащий конъюнкцию нескольких переменных. Пусть, например, имеется некоторая нелинейная функция
Зададимся целью построить на её основе конъюнкцию
Присвоим переменным значения 1, получим:
Очевидно, что в общем случае после такого преобразования получится функция вида
где квадратные скобки означают, что выделенный ими член может присутствовать в окончательном выражении, а может и нет.
В простейшем случае при отсутствии других членов сразу получаем конъюнкцию: :
Рассмотрим другие варианты.
Любое из этих выражений, используя инвертор, можно привести к конъюнкции.
Таким образом, имея нелинейную функцию, инвертор и константу 1 всегда можно получить конъюнкцию.
Имея инвертор и конъюнкцию, всегда можно получить дизъюнкцию:
Функция входит в полную систему тогда и только тогда, когда:
|
1) Докажем, что из любой полной системы функций можно выделить полную подсистему, состоящую не более чем из четырёх функций.
Согласно критерию Поста, в полной системе должны присутствовать пять функций:
Рассмотрим функцию . Возможны два случая:
2) Покажем, что существует базис из четырёх функций. Рассмотрим систему функций . Эта система полна:
Однако ни одна его подсистема не полна:
Теорема доказана.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .