Каждая функция из может быть представлена в виде полинома Жегалкина единственным образом.
Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях:
, s = 0, 1,..., n.
Определение. Функция f (x 1,..., xn), полином Жегалкина для которой имеет следующий линейный относительно переменных вид: f = а 0 Å а 1 х 1 Å а 2 х 2 Å... Å аnхn, называется линейной.
Лемма о нелинейной функции. Суперпозицией нелинейной функции, отрицания и константы 1 можно получить конъюнкцию.
Определение: Говорят, что функция f (x 1,..., x n) сохраняет константу a Î {0, 1}, если f (a, …, a) = a.
Пример 4. Функция xy сохраняет 0, сохраняет 1. Функция x ® y сохраняет 1 и не сохраняет 0.
Замыкание и замкнутые классы
Определение. Пусть MÍР 2. Замыканием М называется множество всех функций из P 2, которые можно выразить формулами над М. Замыкание М обозначается [ M ].
Определение. Множество функций М называется замкнутым классом, если [ M ]= M.
Пример 1.
1) P 2 – замкнутый класс.
2) Множество {1, x 1Å x 2} не является замкнутым классом. Его замыканием будет класс линейных функций: [{1, x 1 Å x 2}] = { f (x 1,..., xn) = c 0 Å c 1 x 1 Å Å cnxn }. Действительно, по определению формулы над М, функция f (G 1, x 3), где f – есть сумма по модулю 2, G 1 – функция х 1 Å х 2, будет формулой над М: f (G 1, x 3) = (x 1 Å x 2) Å x 3.
З амечание. В терминах замыкания и замкнутого класса можно дать другое определение полноты, эквивалентное исходному:
М – полная система, если [ M ] = P 2.
Важнейшие замкнутые классы в Р2
1) Т0 - класс функций, сохраняющих константу 0.
Т 0 = { f (x 1,..., xn | f (0,..., 0) = 0, n = 1, 2,...}.
Примеры функций, входящих в Т 0: x 1& x 2, x 1Ú x 2, xÎТ 0и примеры функций из Р2, не входящих в Т 0: x 1| x 2, x 1 x 2, Ï Т 0.
Число функций, зависящих от n переменных и принадлежащих Т 0, будет равно
2) T 1 – класс функций, сохраняющих константу 1.
T 1 = { f (x 1,...) | f (1, 1,...) = 1};
Функции x 1& x 2, x 1Ú x 2, xÎT 1, х 1Å х 2, x 1 x 2Ï T 1, следовательно Т 1 – собственное подмножество Р 2.
3) S – класс самодвойственных функций .
S = { f (x 1,...)| f * = f };
Функции x, , x 1Å x 2Å x 3Î S, x 1& x 2, x 1Ú x 2, x 1Å x 2Ï S, следовательно, S – собственное подмножество Р 2. | S (n)| = .
4) L – класс линейных функций .
L = { f (x 1,...)| f = c 0Å c 1 x 1Å...Å cnxn };
Заметим, что тождественная функция принадлежит L и | L (n)| = 2 n +1.
5) М – класс монотонных функций .
Определение. Набор = (a 1,..., a n) предшествует набору = (b1,..., b n) и обозначается , если для 1£ i £ n ai £ bi, например: = (0010), = (0110), тогда . Не любые два набора находятся в отношении предшествования, например, наборы (0110) и (1010) в таком отношении не находятся. Отношение предшествования () является отношением порядка на множестве наборов длины n, множество таких наборов будет частично упорядоченным множеством по отношению к операции.
Определение. Функция f (x 1,..., xn) называется монотонной, если для двух наборов и , таких что , выполняется f () f ().
Функции 0, 1, x, x 1& x 2, x 1Ú x 2 Î M, x 1¯ x 2, x 1 Å x 2, x 1 ~ x 2 Ï M.
Для числа монотонных функций, зависящих от n переменных, существуют оценки сверху и снизу, но точное число сосчитать не удается.
Классы T 0, T 1, L, S, M пересекаются, но не совпадают, что видно из следующей таблицы, где «+» означает, что функция принадлежит данному классу и «-» – не принадлежит.
T 0 | T 1 | L | S | M | |
x | + | + | + | + | + |
- | - | + | + | - | |
+ | - | + | - | + | |
- | + | + | - | + | |
x 1 x 2 | + | + | - | - | + |
A ={ x, , 0, 1, x 1 x 2) не является полной системой функций так как всегда есть функции Î Р 2 не входящие в эти классы.