Interested Article - Критерий Поста

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Функция f ( x 1 , x 2 , , x n ) {\displaystyle f(x_{1},x_{2},\ldots ,x_{n})} называется сохраняющей ноль , если f ( 0 , 0 , , 0 ) = 0 {\displaystyle f(0,0,\ldots ,0)=0} . Класс таких функций называется T 0 {\displaystyle T_{0}} .
  • Функция f ( x 1 , x 2 , , x n ) {\displaystyle f(x_{1},x_{2},\ldots ,x_{n})} называется сохраняющей единицу , если f ( 1 , 1 , , 1 ) = 1 {\displaystyle f(1,1,\ldots ,1)=1} . Класс таких функций называется T 1 {\displaystyle T_{1}} .
  • Функция называется самодвойственной , если на противоположных наборах она принимает противоположные значения, то есть для самодвойственной функции f ( x 1 , x 2 , , x n ) {\displaystyle f(x_{1},x_{2},\dots ,x_{n})} выполняется тождество f ( x 1 , x 2 , , x n ) = f ( x ¯ 1 , x ¯ 2 , , x ¯ n ) ¯ {\displaystyle f(x_{1},x_{2},\dots ,x_{n})={\overline {f({\bar {x}}_{1},{\bar {x}}_{2},\dots ,{\bar {x}}_{n})}}} . Класс таких функций называется S {\displaystyle S} .
  • Функция называется монотонной : ( β 1 , β 2 , , β n ) ( α 1 , α 2 , , α n ) f ( β 1 , β 2 , , β n ) f ( α 1 , α 2 , , α n ) {\displaystyle (\beta _{1},\beta _{2},\ldots ,\beta _{n})\geq (\alpha _{1},\alpha _{2},\ldots ,\alpha _{n})\Rightarrow f(\beta _{1},\beta _{2},\ldots ,\beta _{n})\geq f(\alpha _{1},\alpha _{2},\ldots ,\alpha _{n})} . Класс таких функций называется M {\displaystyle M} .
    • ( β 1 , β 2 , , β n ) ( α 1 , α 2 , , α n ) i ( β i α i ) {\displaystyle (\beta _{1},\beta _{2},\ldots ,\beta _{n})\geq (\alpha _{1},\alpha _{2},\ldots ,\alpha _{n})\Leftrightarrow \forall i(\beta _{i}\geq \alpha _{i})} .
  • Функция называется линейной , когда её можно представить полиномом Жегалкина первой степени, то есть f ( x 1 , x 2 , , x n ) = α 0 α 1 x 1 α 2 x 2 α n x n ; {\displaystyle f(x_{1},x_{2},\ldots ,x_{n})=\alpha _{0}\oplus \alpha _{1}x_{1}\oplus \alpha _{2}x_{2}\oplus \ldots \oplus \alpha _{n}x_{n};} α 0 , α i { 0 , 1 } ( i 1 , n ¯ ) {\displaystyle \alpha _{0},\alpha _{i}\in \{0,1\}(i\in {\overline {1,n}})} . Класс таких функций называется L {\displaystyle L} .

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

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

  1. { x ¯ , x y x z y z } S ( M L T 0 T 1 ) {\displaystyle \{{\bar {x}},xy\oplus xz\oplus yz\}\subset S\setminus (M\cup L\cup T_{0}\cup T_{1})} .
  2. { 0 , 1 , x y } M ( S L T 0 T 1 ) {\displaystyle \{0,1,x\lor y\}\subset M\setminus (S\cup L\cup T_{0}\cup T_{1})} .
  3. { 1 , x y } L ( S M T 0 T 1 ) {\displaystyle \{1,x\oplus y\}\subset L\setminus (S\cup M\cup T_{0}\cup T_{1})} .
  4. { x y , x y } T 0 ( S M L T 1 ) {\displaystyle \{x\oplus y,xy\}\subset T_{0}\setminus (S\cup M\cup L\cup T_{1})} .
  5. { x y 1 , x y } T 1 ( S M L T 0 ) {\displaystyle \{x\oplus y\oplus 1,x\lor y\}\subset T_{1}\setminus (S\cup M\cup L\cup T_{0})} .

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

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

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

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

Доказательство

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

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

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

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

f ( 0 , 0 , . . . , 0 ) = 1 {\displaystyle f(0,0,...,0)=1} .

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

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

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

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

f ( 1 , 1 , . . . , 1 ) = 0 {\displaystyle f(1,1,...,1)=0} .

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

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

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

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

f ( x 1 , x 2 , . . . , x n ) = f ( x ¯ 1 , x ¯ 2 , . . . , x ¯ n ) {\displaystyle f(x_{1},x_{2},...,x_{n})=f({\overline {x}}_{1},{\overline {x}}_{2},...,{\overline {x}}_{n})} .

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

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

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

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

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

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

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

f ( x 1 , x 2 , . . . , 0 , . . . , x n ) = 1 {\displaystyle f(x_{1},x_{2},...,0,...,x_{n})=1} и
f ( x 1 , x 2 , . . . , 1 , . . . , x n ) = 0 {\displaystyle f(x_{1},x_{2},...,1,...,x_{n})=0} .

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

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

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

Нелинейная функция по определению имеет в полиноме Жегалкина хотя бы один член, содержащий конъюнкцию нескольких переменных. Пусть переменные x 1 , x 2 {\displaystyle x_{1},x_{2}} содержатся в этой конъюнкции, тогда f ( x 1 , x 2 , x 3 , . . . , x n ) = x 1 x 2 A ( x 3 , . . . , x n ) x 1 B ( x 3 , . . . , x n ) x 2 C ( x 3 , . . . , x n ) D ( x 3 , . . . , x n ) {\displaystyle f(x_{1},x_{2},x_{3},...,x_{n})=x_{1}x_{2}A(x_{3},...,x_{n})\oplus x_{1}B(x_{3},...,x_{n})\oplus x_{2}C(x_{3},...,x_{n})\oplus D(x_{3},...,x_{n})} , где A , B , C , D {\displaystyle A,B,C,D} полиномы Жегалкина .

Так как A ( x 3 , . . . , x n ) {\displaystyle A(x_{3},...,x_{n})} — не константа 0, ведь x 1 x 2 {\displaystyle x_{1}x_{2}} содержатся в полиноме Жегалкина функции f {\displaystyle f} , то A ( x 3 , . . . , x n ) = 1 {\displaystyle A(x_{3},...,x_{n})=1} на некотором наборе α = ( x 3 , . . . , x n ) . {\displaystyle \alpha =(x_{3},...,x_{n}).}

Тогда f ( x 1 , x 2 , α ) = x 1 x 2 A ( α ) x 1 B ( α ) x 2 C ( α ) D ( α ) = x 1 x 2 x 1 b x 2 c d {\displaystyle f(x_{1},x_{2},\alpha)=x_{1}x_{2}A(\alpha)\oplus x_{1}B(\alpha)\oplus x_{2}C(\alpha)\oplus D(\alpha)=x_{1}x_{2}\oplus x_{1}b\oplus x_{2}c\oplus d} , где b , c , d { 0 , 1 } . {\displaystyle b,c,d\in \{0,1\}.}

f ( x 1 c , x 2 b , α ) = x 1 x 2 b c d {\displaystyle f(x_{1}\oplus c,x_{2}\oplus b,\alpha)=x_{1}x_{2}\oplus bc\oplus d} , то есть в зависимости от значения b c d {\displaystyle bc\oplus d} мы получили x 1 x 2 {\displaystyle x_{1}x_{2}} или x 1 x 2 ¯ . {\displaystyle {\overline {x_{1}x_{2}}}.}

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

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

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

x 1 x 2 = x ¯ 1 x ¯ ¯ 2 . {\displaystyle x_{1}\lor x_{2}={\overline {{\overline {x}}_{1}{\overline {x}}}}_{2}.}

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

Следствие

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

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

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

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

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

Доказательство

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

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

f 0 T 0 ; f 1 T 1 ; f S S ; f M M ; f L L {\displaystyle f_{0}\not \in T_{0};f_{1}\not \in T_{1};f_{S}\not \in S;f_{M}\not \in M;f_{L}\not \in L} .

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

  • f 0 T 1 , {\displaystyle f_{0}\in T_{1},} тогда: f 0 S {\displaystyle f_{0}\not \in S} и система [ f 0 , f 1 , f M , f L ] {\displaystyle [f_{0},f_{1},f_{M},f_{L}]} полна.
  • f 0 T 1 , {\displaystyle f_{0}\not \in T_{1},} тогда: f 0 M , T 1 {\displaystyle f_{0}\not \in M,T_{1}} и система [ f 0 , f S , f L ] {\displaystyle [f_{0},f_{S},f_{L}]} полна.

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

0 T 1 , S ; 1 T 0 ; x y L ; x y z M {\displaystyle 0\not \in T_{1},S;1\not \in T_{0};x\cdot y\not \in L;x\oplus y\oplus z\not \in M} .

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

  • { 0 , 1 , x y } M {\displaystyle \{0,1,x\cdot y\}\subseteq M} ;
  • { 0 , 1 , x y z } L {\displaystyle \{0,1,x\oplus y\oplus z\}\subseteq L} ;
  • { 0 , x y , x y z } T 0 {\displaystyle \{0,x\cdot y,x\oplus y\oplus z\}\subseteq T_{0}} ;
  • { 1 , x y , x y z } T 1 {\displaystyle \{1,x\cdot y,x\oplus y\oplus z\}\subseteq T_{1}} .

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

Примечания

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

Литература

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

Ссылки

  • , mini-soft.ru


См. также

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