Это не официальный сайт wikipedia.org 01.01.2023

Критерий Поста — Википедия

Критерий Поста

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

В середине 60-х годов почти одновременно в СССР и во Франции появились работы, где с иных позиций и в более доступной форме излагались результаты Поста. В 80-е годы сразу целому ряду исследователей с использованием различных подходов и различной техники удалось получить достаточно компактные доказательства результатов Поста. Алгебраический подход в изучении замкнутых классов булевых функций (подалгебр итеративной алгебры Поста над множеством B = { 0 , 1 } ) принадлежит А. И. Мальцеву.

Алгебра Поста и замкнутые классыПравить

Булева функция — это функция типа B n B  , где B = { 0 , 1 }  , а n   — арность. Количество различных функций арности n   равно 2 2 n  , общее же количество различных булевых функций бесконечно. Вместе с тем, очевидно, что многие функции могут быть выражены через другие с использованием оператора суперпозиции. Например, давно известно, что из дизъюнкции и отрицания можно, используя законы де Моргана, получить конъюнкцию. Кроме того, любая булева функция может быть представлена в виде ДНФ, то есть, в терминах конъюнкции, дизъюнкции и отрицания. Возникает естественный вопрос: как определить, будет ли данный набор функций достаточным, чтобы представить любую булеву функцию? Такие наборы называются функционально полными. Теорема Поста даёт ответ на этот вопрос. Поскольку условие теоремы является необходимыми и достаточным, её называют также критерием.

Идея теоремы состоит в том, чтобы рассматривать множество всех булевых функций P A   как алгебру относительно операции суперпозиции. Сейчас она носит имя алгебра Поста. Эта алгебра содержит в качестве своих подалгебр множества функций, замкнутых относительно суперпозиции. Их называют ещё замкнутыми классами. Пусть R   — некоторое подмножество P A  . Замыканием [ R ]   множества R   называется минимальная подалгебра P A  , содержащая R  . Иными словами, замыкание состоит из всех функций, которые являются суперпозициями R  . Очевидно, что R   будет функционально полно тогда и только тогда, когда [ R ] = P A  . Таким образом, вопрос, будет ли данный класс функционально полон, сводится к проверке того, совпадает ли его замыкание с P A  .

Оператор [ _ ]   является оператором замыкания. Иными словами, он обладает (среди прочих) свойствами:

Говорят, что множество функций Q   порождает замкнутый класс R   (или класс R   порождается множеством функций Q  ), если [ Q ] = R  . Множество функций Q   называется базисом замкнутого класса R  , если [ Q ] = R   и [ Q 1 ] R   для любого подмножества Q 1   множества Q  , отличного от Q  .

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

Двойственность, монотонность, линейность. Критерий полнотыПравить

Ниже приведены некоторые следствия, вытекающие из теорем о двойственных функциях.

  • Если R   — замкнутый класс, то R   — также замкнутый класс.
  • Множество S   образует замкнутый класс.
  • Если R = [ Q ]   , то R = [   Q ]  . В частности, если Q   — базис класса R  , то Q   — базис класса R  .

Перейдем теперь к выяснению полноты конкретных наборов функций.

Основные классы функций: S , M , L , T 0 , T 1  Править

  • Функция f ( x 1 , x 2 , , x n )   называется сохраняющей ноль, если f ( 0 , 0 , , 0 ) = 0  . Класс таких функций называется T 0  .
  • Функция f ( x 1 , x 2 , , x n )   называется сохраняющей единицу, если f ( 1 , 1 , , 1 ) = 1  . Класс таких функций называется T 1  .
  • Функция называется самодвойственной, если на противоположных наборах она принимает противоположные значения, то есть для самодвойственной функции f ( x 1 , x 2 , , x n )   выполняется тождество f ( x 1 , x 2 , , x n ) = f ( x ¯ 1 , x ¯ 2 , , x ¯ n ) ¯  . Класс таких функций называется S  .
  • Функция называется монотонной: ( β 1 , β 2 , , β n ) ( α 1 , α 2 , , α n ) f ( β 1 , β 2 , , β n ) f ( α 1 , α 2 , , α n )  . Класс таких функций называется M  .
    • ( β 1 , β 2 , , β n ) ( α 1 , α 2 , , α n ) i ( β i α i )  
  • Функция называется линейной, когда её можно представить полиномом Жегалкина первой степени, то есть f ( x 1 , x 2 , , x n ) = α 0 α 1 x 1 α 2 x 2 α n x n ;   α 0 , α i 0 , 1 ( i 1 , n ¯ )  . Класс таких функций называется L  .

Теорема о замкнутости основных классов функцийПравить

Отметим, что ни один из замкнутых классов S , M , L , T 0 , T 1   целиком не содержится в объединении остальных четырёх. Это вытекает из следующих соотношений:

  1. { x ¯ , x y x z y z } S ( M L T 0 T 1 )  
  2. { 0 , 1 , x y } M ( S L T 0 T 1 )  
  3. { 1 , x y } L ( S M T 0 T 1 )  
  4. { x y , x y } T 0 ( S M L T 1 )  
  5. { x y 1 , x y } T 1 ( S M L T 0 )  

Всякий нетривиальный (отличный от P 2  ) замкнутый класс булевых функций целиком содержится хотя бы в одном из классов S , M , L , T 0 , T 1  .

Формулировка критерияПравить

Система булевых функций F является полной тогда и только тогда, когда она целиком не принадлежит ни одному из замкнутых классов[⇦] S , M , L , T 0 , T 1  .

То есть когда в ней можно реализовать пять функций: несамодвойственную, немонотонную, нелинейную, не сохраняющую 0 и не сохраняющую 1.

ДоказательствоПравить

 
Порядок перебора вариантов при доказательстве критерия Поста

Доказательство критерия Поста основано на том, что система функций (И, ИЛИ и НЕ) является полной. Таким образом, любая система, в которой реализуемы эти три функции, также является полной. Докажем, что в системе, удовлетворяющей критерию Поста, всегда можно реализовать конъюнкцию, дизъюнкцию и отрицание.

Имея функцию, не сохраняющую 0, получим инвертор или константу 1Править

Рассмотрим функцию, не принадлежащую классу Т0. Для неё

f ( 0 , 0 , . . . , 0 ) = 1.  

Эта функция может принадлежать, а может не принадлежать классу Т1.

  • В первом случае f ( 1 , 1 , . . . , 1 ) = 1 ,   тогда f ( x , x , . . . , x ) = 1 ,   и мы имеем константу единицы.
  • Во втором случае f ( 1 , 1 , . . . , 1 ) = 0 ,   тогда f ( x , x , . . . , x ) = x ¯ ,   и мы имеем инвертор.

Имея функцию, не сохраняющую 1, получим инвертор или константу 0Править

Рассмотрим функцию, не принадлежащую классу Т1. Для неё

f ( 1 , 1 , . . . , 1 ) = 0.  

Эта функция может принадлежать, а может не принадлежать классу Т0.

  • В первом случае f ( 0 , 0 , . . . , 0 ) = 0 ,   тогда f ( x , x , . . . , x ) = 0 ,   и мы имеем константу нуля.
  • Во втором случае f ( 0 , 0 , . . . , 0 ) = 1 ,   тогда f ( x , x , . . . , x ) = x ¯ ,   и мы имеем инвертор.

Имея инвертор и несамодвойственную функцию, получим одну из константПравить

Рассмотрим функцию, не принадлежащую классу S самодвойственных функций. Для неё найдётся такой набор входных переменных X, что

f ( x 1 , x 2 , . . . , x n ) = f ( x ¯ 1 , x ¯ 2 , . . . , x ¯ n ) .  

Пусть, например, f ( 0 , 1 , 0 ) = f ( 1 , 0 , 1 ) = 1 ,   тогда f ( x , x ¯ , x ) = 1   и мы имеем константу 1.

Аналогично, если, например, f ( 0 , 0 , 0 , 1 ) = f ( 1 , 1 , 1 , 0 ) = 0 ,   тогда f ( x , x , x , x ¯ ) = 0   и мы имеем константу 0.

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

Имея инвертор и одну из констант, получим другую константуПравить

Если в одном из вышеперечисленных случаев мы получили инвертор и одну из констант, вторую константу получим с помощью инвертора: 0 ¯ = 1   или 1 ¯ = 0.  

Имея немонотонную функцию и обе константы, получим инверторПравить

Для немонотонной функции обязательно найдётся такой набор входных переменных, что

f ( x 1 , x 2 , . . . , 0 , . . . , x n ) = 1   и
f ( x 1 , x 2 , . . . , 1 , . . . , x n ) = 0.  

Пусть, например, f ( 1 , 1 , 0 ) = 0   и f ( 1 , 0 , 0 ) = 1  . Тогда f ( 1 , x , 0 ) = x ¯  .

В любом случае, имея немонотонную функцию и обе константы, мы можем получить инвертор.

Имеем инвертор и обе константыПравить

В предыдущих подразделах мы перебрали все возможные варианты (см. рисунок) и пришли к выводу, что имея функции, не принадлежащие классам Т0, Т1, S и M, мы всегда можем различными способами получить инвертор и обе константы.

Имея нелинейную функцию, инвертор и константу 1, получим конъюнкциюПравить

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

f ( x 1 , x 2 , x 3 , x 4 , x 5 ) = 1 x 1 x 1 x 2 x 3 x 2 x 3 x 4 x 2 x 3 x 5 x 2 x 3 x 4 x 5 .  

Зададимся целью построить на её основе конъюнкцию c ( x 1 , x 2 ) = x 1 x 2 .  

Присвоим переменным x 3 , x 4 , x 5   значения 1, получим:

f ( x 1 , x 2 , 1 , 1 , 1 ) = 1 x 1 x 1 x 2 x 2 x 2 x 2 = 1 x 1 x 1 x 2 x 2 .  

Очевидно, что в общем случае после такого преобразования получится функция вида

f ( x 1 , x 2 , 1 , 1 , . . . , 1 ) = x 1 x 2 [ x 1 ] [ x 2 ] [ 1 ] ,  

где квадратные скобки означают, что выделенный ими член может присутствовать в окончательном выражении, а может и нет.

В простейшем случае при отсутствии других членов сразу получаем конъюнкцию: : f ( x 1 , x 2 , 1 , 1 , . . . , 1 ) = x 1 x 2 .  

Рассмотрим другие варианты.

  • x 1 x 2 x 1 = x 1 x ¯ 2 ;  
  • x 1 x 2 x 2 = x ¯ 1 x 2 ;  
  • x 1 x 2 x 1 x 2 = x ¯ 1 x ¯ ¯ 2 .  
  • x 1 x 2 1 = x 1 x ¯ 2 ;  .
  • x 1 x 2 x 1 1 = x 1 x ¯ ¯ 2 ;  
  • x 1 x 2 x 2 1 = x ¯ 1 x ¯ 2 ;  
  • x 1 x 2 x 1 x 2 1 = x ¯ 1 x ¯ 2 .  

Любое из этих выражений, используя инвертор, можно привести к конъюнкции.

Таким образом, имея нелинейную функцию, инвертор и константу 1 всегда можно получить конъюнкцию.

Имея конъюнкцию и инвертор, получим дизъюнкциюПравить

Имея инвертор и конъюнкцию, всегда можно получить дизъюнкцию:

x 1 + x 2 = x ¯ 1 x ¯ ¯ 2 .  
  • Теорема доказана.

СледствиеПравить

Функция f   в одиночку является полной системой тогда и только тогда, когда:

  1. f ( 0 , 0 , . . . , 0 ) = 1  
  2. f ( 1 , 1 , . . . , 1 ) = 0  
  3. f   не является самодвойственной

Примерами функций, в одиночку являющихся полной системой, будут штрих Шеффера x | y = x & y ¯   и стрелка Пирса x y = x y ¯  .

Теорема о максимальном числе функций в базисеПравить

Максимальное число функций в базисе алгебры логики равно 4[1].

ДоказательствоПравить

1) Докажем, что из любой полной системы функций можно выделить полную подсистему, состоящую не более чем из четырёх функций.

Согласно критерию Поста, в полной системе должны присутствовать пять функций:

f 0 T 0 ; f 1 T 1 ; f S S ; f M M ; f L L .  

Рассмотрим функцию f 0  . Возможны два случая:

  • f 0 T 1 ,   тогда : f 0 S   и система [ f 0 , f 1 , f M , f L ]   полна.
  • f 0 T 1 ,   тогда : f 0 M , T 1   и система [ f 0 , f S , f L ]   полна.

2) Покажем, что существует базис из четырёх функций. Рассмотрим систему функций { 0 , 1 , x y , x y z }  . Эта система полна:

0 T 1 , S ; 1 T 0 ; x y L ; x y z M .  

Однако ни одна его подсистема не полна:

  • { 0 , 1 , x y } M ;  
  • { 0 , 1 , x y z } L ;  
  • { 0 , x y , x y z } T 0 ;  
  • { 1 , x y , x y z } T 1 .  

Теорема доказана.

ПримечанияПравить

  1. Алексеев В.Б. (2002), с. 12.

ЛитератураПравить

  • Марченков С. С. Замкнутые классы булевых функций. — М.: Физматлит, 2000.
  • Фудзисава Т., Касами Т. Математика для радиоинженеров: теория дискретных структур. — М.: Радио и связь, 1984. — 240 с.
  • Алексеев В. Б. Дискретная математика (II семестр). — М., МГУ, 2002. — 44 с.
  • Белоусов А. И., Ткачев С. Б. Дискретная математика. — М.: МГТУ, 2006. — 744 с. — ISBN 5-7038-2886-4.
  • Гиндикин С. Г. Алгебра логики в задачах. — М.: Наука, 1972. — 288 с.

СсылкиПравить


См. такжеПравить