Теорема Жегалкина

Каждая функция из может быть представлена в виде полинома Жегалкина единственным образом.

Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях:

, s = 0, 1, ..., n.

Определение.Функция f(x1, ..., xn), полином Жегалкина для которой имеет следующий линейный относительно переменных вид: f = а0 Åа1х1 Åа2х2 Å... Åаnхn, называется линейной.

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

Определение: Говорят, что функция f(x1, ..., xn) сохраняет константу a Î {0, 1}, если f(a, …, a) = a.

Пример 4. Функция xy сохраняет 0, сохраняет 1. Функция x®y сохраняет 1 и не сохраняет 0.

Замыкание и замкнутые классы

Определение . Пусть MÍР2. Замыканием М называется множество всех функций из P2, которые можно выразить формулами над М. Замыкание М обозначается [M].

Определение .Множество функций М называется замкнутым классом, если [M]=M.

Пример 1.

1) P2 – замкнутый класс.

2) Множество {1,x1Åx2} не является замкнутым классом. Его замыканием будет класс линейных функций: [{1, x1 Åx2}] = {f(x1, ..., xn) = c0 Åc1x1 Å Åcnxn}. Действительно, по определению формулы над М, функция f(G1, x3), где f – есть сумма по модулю 2, G1 – функция х1 Åх2, будет формулой над М: f(G1, x3) = (x1 Åx2) Åx3.

Замечание.В терминах замыкания и замкнутого класса можно дать другое определение полноты, эквивалентное исходному:

М – полная система, если [M] = P2.

Важнейшие замкнутые классы в Р2

1) Т0 - класс функций, сохраняющих константу 0.

Т0 = { f(x1, ..., xn | f(0, ..., 0) = 0, n = 1, 2, ...}.

Примеры функций, входящих в Т0:x1&x2, x1Úx2, xÎТ0и примеры функций из Р2, не входящих в Т0: x1|x2, x1x2, ÏТ0.

Число функций, зависящих от n переменных и принадлежащих Т0, будет равно

2) T1 класс функций, сохраняющих константу 1.

T1 = {f(x1, ...) |f(1, 1, ...) = 1};

Функции x1&x2, x1Úx2, xÎT1, х1Åх2, x1x2ÏT1, следовательно Т1 – собственное подмножество Р2.

3) S класс самодвойственных функций.

S = {f(x1, ...)|f* = f };

Функции x, , x1Åx2Åx3ÎS, x1&x2, x1Úx2, x1Åx2ÏS, следовательно, S – собственное подмножество Р2. |S(n)| = .

4) Lкласс линейных функций.

L = {f(x1, ...)| f = c0Åc1x1Å...Åcnxn};

Заметим, что тождественная функция принадлежит L и |L(n)| = 2n+1.

5) Мкласс монотонных функций.

Определение. Набор = (a1, ..., an) предшествует набору = (b1, ..., bn) и обозначается , если для 1£i£n ai£bi, например: = (0010), = (0110), тогда . Не любые два набора находятся в отношении предшествования, например, наборы (0110) и (1010) в таком отношении не находятся. Отношение предшествования () является отношением порядка на множестве наборов длины n, множество таких наборов будет частично упорядоченным множеством по отношению к операции.

Определение. Функция f(x1, ..., xn) называется монотонной, если для двух наборов и , таких что , выполняется f()f().

Функции 0, 1, x, x1&x2, x1Úx2 ÎM, x1¯x2, x1 Åx2, x1 ~ x2 ÏM.

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

Классы T0, T1, L, S, M пересекаются, но не совпадают, что видно из следующей таблицы, где «+» означает, что функция принадлежит данному классу и «-» – не принадлежит.

  T0 T1 L S M
x + + + + +
- - + + -
+ - + - +
- + + - +
x1x2 + + - - +

A={x, , 0, 1, x1x2) не является полной системой функций так как всегда есть функции ÎР2 не входящие в эти классы.