Представление функции класса DM с помощью медианы — различия между версиями
Строка 1: | Строка 1: | ||
{{Утверждение | {{Утверждение | ||
− | |statement= Любую монотонную самодвойственную функцию(self-'''D'''ual, '''M'''onotone) можно представить с использованием медианы(majority function, median operator). | + | |statement= Любую монотонную самодвойственную [[Определение булевой функции|булеву функцию]] (self-'''D'''ual, '''M'''onotone) можно представить с использованием медианы(majority function, median operator). |
|proof= | |proof= | ||
− | Единственная унарная функция из класса DM | + | Единственная унарная функция из класса DM {{---}} проектор. С помощью медианы её можно выразить так: |
− | <tex> | + | <tex> P_1(x) = <x, x, x> </tex>. |
Бинарных функций из класса DM всего две. | Бинарных функций из класса DM всего две. | ||
Рассмотрим эти функции ''':''' | Рассмотрим эти функции ''':''' | ||
− | #<tex> ~f(0,0)<f(1,1) | + | #<tex> ~f(0,0)< f(1,1)</tex> и <tex> f(0,0) = \lnot f(1,1)</tex>, следовательно <tex> f(0,0)=0</tex> и <tex> f(1,1)=1 </tex> |
− | #<tex> ~f(0,1) = \ | + | #<tex> ~f(0,1) = \lnot f(1,0)</tex> |
− | Из первого и второго пункта видно, что подходят только | + | Из первого и второго пункта видно, что подходят только проекторы {{---}} <tex> P_1,P_2 </tex> |
Теперь покажем, как эти функции можно представить с помощью медианы ''':''' | Теперь покажем, как эти функции можно представить с помощью медианы ''':''' | ||
Строка 17: | Строка 17: | ||
− | Только четыре тернарные функции принадлежат классу DM.Рассмотрим эти функции ''':''' | + | Только четыре тернарные функции принадлежат классу DM. Рассмотрим эти функции ''':''' |
Заметим, что для всех таких функций | Заметим, что для всех таких функций | ||
− | <tex> f(0,0,0) < f(1,1,1) \land f(0,0,0) = \ | + | <tex> f(0,0,0) < f(1,1,1) \land f(0,0,0) = \lnot f(1,1,1)</tex> следовательно <tex> f(0,0,0) = 0 \land f(1,1,1) = 1 </tex> |
− | #<tex>f(1,0,0)= 1 \Rightarrow\left\{\begin{matrix} f(0,1,1) = \ | + | #<tex>f(1,0,0)= 1 \Rightarrow\left\{\begin{matrix} f(0,1,1) = \lnot f(1,0,0) = 0 |
\\ f(0,0,1) = f(0,1,0)= 0 | \\ f(0,0,1) = f(0,1,0)= 0 | ||
\\ f(1,0,1) = f(1,1,0) = 1 | \\ f(1,0,1) = f(1,1,0) = 1 | ||
\end{matrix}\right.\Rightarrow f=p_1 </tex> | \end{matrix}\right.\Rightarrow f=p_1 </tex> | ||
− | #<tex>f(0,1,0)= 1 \Rightarrow\left\{\begin{matrix} f(1,0,1) = \ | + | #<tex>f(0,1,0)= 1 \Rightarrow\left\{\begin{matrix} f(1,0,1) = \lnot f(0,1,0) = 0 |
\\ f(0,0,1) = f(1,0,0)= 0 | \\ f(0,0,1) = f(1,0,0)= 0 | ||
\\ f(1,1,0) = f(0,1,1)= 1 | \\ f(1,1,0) = f(0,1,1)= 1 | ||
\end{matrix}\right.\Rightarrow f=p_2 </tex> | \end{matrix}\right.\Rightarrow f=p_2 </tex> | ||
− | #<tex>f(0,0,1)= 1 \Rightarrow\left\{\begin{matrix} f(1,1,0) = \ | + | #<tex>f(0,0,1)= 1 \Rightarrow\left\{\begin{matrix} f(1,1,0) = \lnot f(1,0,0) = 0 |
\\ f(1,0,0) = f(0,1,0) = 0 | \\ f(1,0,0) = f(0,1,0) = 0 | ||
\\ f(1,0,1) = f(0,1,1) = 1 | \\ f(1,0,1) = f(0,1,1) = 1 | ||
\end{matrix}\right.\Rightarrow f=p_3 </tex> | \end{matrix}\right.\Rightarrow f=p_3 </tex> | ||
− | #<tex>f(1,0,0) = f(0,1,0) = f(0,0,1) = 0 | + | #<tex>f(1,0,0) = f(0,1,0) = f(0,0,1) = 0 </tex> следовательно |
− | + | <tex> f = <x_1,x_2,x_3> </tex> | |
Покажем как эти функции представляются с помощью медианы ''':''' | Покажем как эти функции представляются с помощью медианы ''':''' | ||
#<tex> p_1 = <x, x, y></tex> | #<tex> p_1 = <x, x, y></tex> | ||
Строка 44: | Строка 44: | ||
− | Теперь рассмотрим произвольную монотонную самодвойственную функцию <tex> f : \mathbb{B}^n \rightarrow \mathbb{B} </tex> для '''n > 3'''. Обозначим аргументы <tex> x_4, x_5 \dots x_n </tex> за <tex> \ | + | Теперь рассмотрим произвольную монотонную самодвойственную функцию <tex> f : \mathbb{B}^n \rightarrow \mathbb{B} </tex> для '''n > 3'''. Обозначим аргументы <tex> x_4, x_5 \dots x_n </tex> за <tex> \lnot x </tex>, то есть <tex> f(x_1, x_2, x_3, x_4 \dots x_n) = f(x_1, x_2, x_3, \lnot x) </tex>. Тогда введем три функции от n - 1 аргумента: |
− | : <tex> f_1( | + | : <tex> f_1(x_1, x_2, \lnot x) = f(x_1, x_2, x_2, \lnot x) </tex> |
− | : <tex> f_2( | + | : <tex> f_2(x_2, x_3, \lnot x) = f(x_3, x_2, x_3, \lnot x) </tex> |
− | : <tex> f_3( | + | : <tex> f_3(x_3, x_1, \lnot x) = f(x_1, x_1, x_3, \lnot x) </tex> |
− | Очевидно, они также самодвойственны и монотонны из определения f, и f можно выразить одной из функций <tex> f_1, f_2, f_3 </tex>, так как 2 из 3 аргументов точно совпадут. Теперь выразим f через <tex> f_1, f_2, f_3 </tex>: | + | Очевидно, они также самодвойственны и монотонны из определения <tex>f</tex>, и <tex>f</tex> можно выразить одной из функций <tex> f_1, f_2, f_3 </tex>, так как 2 из 3 аргументов точно совпадут. Теперь выразим <tex>f</tex> через <tex> f_1, f_2, f_3 </tex>: |
− | : <tex> f(x_1 \dots x_n) = <f_1(x_1, x_2, \ | + | : <tex> f(x_1 \dots x_n) = <f_1(x_1, x_2, \lnot x), f_2(x_2, x_3, \lnot x), f_3(x_3, x_1, \lnot x)> </tex> |
− | + | #<tex> x_1 = x_2 = x_3 </tex>. Очевидно, выполняется. | |
− | + | #<tex> x_1 = x_2 \ne x_3 </tex>. Тогда''':'''<br><tex> f = f(a, a, c, \bar x). f_1 = f(a, a, a, \bar x), f_2 = f(c, a, c, \bar x), f_3 = f(a, a, c, \bar x). </tex> Получили 2 случая''':'''<br><br><tex> a = b = 0, c = 1.</tex> <br>Тогда можно упорядочить <tex> f_1, f_2, f_3 </tex> по возрастанию наборов их переменных(используя свойство их монотонности)''':'''<br><tex> f(0, 0, 0, \bar x) \le f(0, 0, 1, \bar x) \le f(1, 0, 1, \bar x) </tex>. Так как <tex> f(0, 0, 1, \bar x) </tex> - между остальными, то оно и будет медианой <tex> f_1, f_2, f_3 </tex>.<br><br><tex> a = b = 1, c = 0 </tex>. Доказывается аналогично. | |
− | + | # <tex> x_1 = x_3 \ne x_2 </tex> - симметричный случай. | |
− | + | # <tex> x_2 = x_3 \ne x_1 </tex> - симметричный случай. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | + | Интересный сайт,где можно посмотреть [http://oeis.org/A001206 количество таких функций при каждом n]. | |
− | |||
− |
Версия 09:17, 8 декабря 2011
Утверждение: |
Любую монотонную самодвойственную булеву функцию (self-Dual, Monotone) можно представить с использованием медианы(majority function, median operator). |
Единственная унарная функция из класса DM — проектор. С помощью медианы её можно выразить так: .Бинарных функций из класса DM всего две. Рассмотрим эти функции :
Из первого и второго пункта видно, что подходят только проекторы — Теперь покажем, как эти функции можно представить с помощью медианы : .
Только четыре тернарные функции принадлежат классу DM. Рассмотрим эти функции : Заметим, что для всех таких функций следовательно
Покажем как эти функции представляются с помощью медианы :
Теперь рассмотрим произвольную монотонную самодвойственную функцию для n > 3. Обозначим аргументы за , то есть . Тогда введем три функции от n - 1 аргумента:Очевидно, они также самодвойственны и монотонны из определения , и можно выразить одной из функций , так как 2 из 3 аргументов точно совпадут. Теперь выразим через :
|
Интересный сайт,где можно посмотреть количество таких функций при каждом n.