Двойственная булева функция

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

Двойственная булева функция к булевой функции f:E2n→E2 — функция f∗:E2n→E2, определяемая соотношением

f∗(x1,…,xn)=f(x1‾,…,xn‾)‾Шаблон:Sfn

Понятие «двойственной функции» является очень важным в теории булевых функций и широко используется в ней:

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

Функция, двойственная к двойственной, совпадает с исходной функцией, то есть f∗∗=f.Шаблон:Sfn Функция, двойственная к которой совпадает с ней собой, называется самодвойственной.Шаблон:Sfn

Примеры

c=0
c∗=1
f(x)=x
f∗(x)=x
f(x)=x‾
f∗(x)=x‾
f(x,y)=x∨y
f∗(x,y)=x∧yШаблон:Sfn
f(x,y)=x⊕y
f∗(x,y)=x↔yШаблон:Sfn
f(x,y)=x→y
f∗(x,y)=x↚y
f(x,y)=x←y
f∗(x,y)=x↛yШаблон:Sfn
f(x,y)=x|y
f∗(x,y)=x↓yШаблон:Sfn

Принцип двойственности

Введём понятие двойственной булевой формулы. Пусть Φ — булева формула. Двойственная к ней формула Φ∗ индуктивно определяется следующим образом:

  • Если Φ имеет вид Φ=x, где x — переменная, то
Φ∗=x;
  • Если Φ имеет вид Φ=f(φ1,…,φn), где f — функция арности n, φ1,…,φn — некоторые формулы, то
Φ∗=f∗(φ1∗,…,φn∗)

Принцип двойственности: если формула Φ задаёт относительно набора переменных x1,…,xn функцию f(x1,…,xn), то формула Φ∗ задаёт относительно набора переменных x1,…,xn функцию f∗(x1,…,xn).Шаблон:Sfn

Из принципа двойственности следует следующее: если верно некоторое тождество Φ(x1,…,xn)=Ψ(x1,…,xn), то двойственное к нему тождество Φ∗(x1,…,xn)=Ψ∗(x1,…,xn) тоже верно. Это позволяет выводить новые тождества из известных, просто заменив все функции в тождестве на двойственные. Пример:

  • Возьмём верное тождество x∧y‾=x‾∨y‾. Заменив левую и правую формулы на двойственные получим x∨y‾=x‾∧y‾ — тоже верное тождество.Шаблон:Sfn

Такое тождество называют двойственным тождеством.

Шаблон:Якорь Для различных нормальных форм можно получать двойственные к ним формы. Например, каждая функция f представляется в виде дизъюнктивной нормальной формы. Представим в ДНФ двойственную к ней функцию f∗(x1,…,xn)=Φ(x1,…,xn), а затем по принципу двойственности получим представление (x1,…,xn)=Φ∗(x1,…,xn). Мы получили другую нормальную форму, перейдя к двойственной формуле. Такая нормальная форма называется двойственной нормальной формой к исходной нормальной форме. Двойственная нормальная форма к ДНФ — конъюнктивная нормальная форма. Аналогично можно получить, например, двойственную форму к полиному Жегалкина, которая также будет выглядеть как многочлен, но роль умножения в ней будет играть дизъюнкция, а роль сложения — эквиваленция. Такая нормальная форма называется кополином Жегалкина.Шаблон:Sfn

Двойственные системы функций

Понятие двойственности распространяется на системы функций. Пусть K⊆P2 — система булевых функций. Двойственная система K∗ определяется следующим образом:

K∗={f∗|f∈K}

Примером двойственных систем является, например, класс функций, сохраняющих 0, и класс функций, сохраняющих 1.Шаблон:Sfn Классы линейных, самодвойственных, монотонных и всех булевых функций — самодвойственны.

Для операции дуализации систем верны следующие соотношения:

  • K=K∗∗
  • если K⊆L, то K∗⊆L∗
  • если K=[L], то K∗=[L∗]

Из третьего соотношения непосредственно следует, что

  • двойственная система к замкнутому классу — замкнутый класс;
  • если система K полна в замкнутом классе L, то и K∗ полна в замкнутом классе L∗;
  • если система K базис в замкнутом классе L, то и K∗ базис в замкнутом классе L∗.

Поэтому для самодвойственных замкнутых классов двойственная к базису система тоже является базисом. Примеры двойственных базисов в P2:

  • {¬,∨} и {¬,∧};
  • {⊕,∧,1} и {↔,∨,0};
  • {|} и {↓};

Примечания

Шаблон:Примечания

Литература