Линейная булева функция (Lnuywugx Qrlyfg srutenx)

Перейти к навигации Перейти к поиску

Линейная булева функция — булева функция, полином Жегалкина которой имеет первую степень.[1] Более развёрнуто булева функция называется линейной, если она выражается в виде:

[2]

Примеры линейных булевых функций: тождественный , тождественная , тождественная функция, отрицание, исключающее или, эквиваленция. Конъюнкция и дизъюнкция линейными не являются.[3]

Линейные функции допускают также двойственное определение. Булева функция является линейной тогда и только тогда, когда её кополином Жегалкина имеет первую степень. Линейные функции легко переводятся между представлениями в виде полинома и кополинома при помощи следующих свойств:

Все коэффициенты при переменных у полинома и кополинома линейной функции равны; свободные члены равны, когда в полиноме (кополиноме) чётное число переменных с ненулевыми коэффициентами, а при нечётном — свободные члены противоположны.

Количество линейных функций переменных равно . Переменная линейной функции существенна тогда и только тогда, когда она входит в полином с ненулевым коэффициентом. Функция является линейной тогда и только тогда, когда значения функции на любых двух соседних по существенной переменной наборах отличаются.[2] У любой линейной функции равное количество нулей и единиц.

Линейная булева функция без фиктивных переменных не меняет значение внутри одного слоя булева куба, однако на соседних слоях они противоположны. Поэтому линейная функция без фиктивных имеет характерное геометрическое представление: она просто чередует своё значение на слоях булева куба.

Класс линейных функций

[править | править код]

Множество всех линейных булевых функций образует замкнутый класс,[2] предполный в . Таким образом, класс линейных функций является одним из пяти предполных классов булевой логики. Класс линейных функций обозначается [4] или [2] (обозначение Поста). В четыре предполных класса: (линейные сохраняющие )[5], (линейные сохраняющие )[6], (линейные самодвойственные)[5] и (класс всех функций с не более чем одной существенной переменной)[7]. Любой собственный подкласс может быть достроен до предполного в .[7] Как и для всех замкнутых классов в , для класса линейных функций верен аналог малой теоремы Поста: система линейных функций полна в тогда и только тогда, когда в ней содержится несамодвойственная функция, не сохраняющая функция, не сохраняющая функция и функция, имеющая не менее двух существенных переменных.

Двойственная к линейной функции тоже линейна, то есть класс — самодвойственнен. Примеры базисов в : ,[6]. Минимальное количество функций в базисе — , максимальное — . В нет шефферовой функции. Порядок класса линейных функций равен .[2]

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

Линейная функция самодвойственна тогда и только тогда, когда она содержит нечётное число существенных переменных. Эквивалентно: линейная функция самодвойственна тогда и только тогда, когда в её полиноме (кополиноме) нечётное число переменных с ненулевым коэффициентом. Поэтому, если линейная функция не сохраняет и не сохраняет , то она самодвойственна. Отсюда следует ограничение на минимальное число функций в базисе. Монотонные линейные функции исчерпываются постоянными функциями и селекторами.

Леммы о нелинейных функциях

[править | править код]

Первая лемма о нелинейной функции. Из нелинейной функции, отрицания, тождественной и тождественного можно получить конъюнкцию.[2]

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

Вторая лемма о нелинейной функции. Из нелинейной функции можно получить нелинейную функцию от трёх переменных такую, что тоже нелинейна.[8]

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

Примечания

[править | править код]

Литература

[править | править код]
  • Капитонова Ю. В., Кривой С. Л., Летичевский А. А. Лекции по дискретной математике. — СПб.: БХВ-Петербург, 2004. — С. 112. — ISBN 5-94157-546-7.
  • Couceiro, Miguel; Lehtonen, Erkko (Aug 2020). Linearly definable classes of Boolean functions. ALGOS 2020 - 1st International Conference on Algebras, Graphs and Ordered Sets. Nancy, France.
  • Filmus, Yuval (Published 13 December 2021). "Boolean Functions on Sn Which Are Nearly Linear". DISCRETE ANALYSIS. 2021 (25): 27. {{cite journal}}: Проверьте значение даты: |date= (справка)
  • Яблонский С. В. Введение в дискретную математику. — М.: Наука, 1986. — 384 с.
  • Яблонский С. В., Гаврилов Г. П., Кудрявцев В. Б. Функции алгебры логики и классы Поста. — М.: Наука, 1966. — 120 с.
  • Lau D. Function Algebtas on Finite Sets. — Springer, 2006. — 668 с.