Представление функции класса DM с помощью медианы — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 50: Строка 50:
 
: <tex> f(x_1 \dots x_n) = <f_1(x_1, x_2, \bar x), f_2(x_2, x_3, \bar x), f_3(x_3, x_1, \bar x)> </tex>
 
: <tex> f(x_1 \dots x_n) = <f_1(x_1, x_2, \bar x), f_2(x_2, x_3, \bar x), f_3(x_3, x_1, \bar x)> </tex>
 
#Все три аргумента равны {{---}} <tex> x_1 = x_2 = x_3 </tex>, тогда, очевидно, что равенство выполняется.
 
#Все три аргумента равны {{---}} <tex> x_1 = x_2 = x_3 </tex>, тогда, очевидно, что равенство выполняется.
#Равны два аргумента {{---}} <tex> x_1 = x_2 \ne x_3 </tex>  (случаи <tex> x_1 = x_3 \ne x_2 </tex> и <tex> x_2 = x_3 \ne x_3 </tex> доказываются аналогично). Тогда''':'''<br> <tex> f = f(x_1, x_1, x_3, \bar x)</tex>, <tex> f_1 = f(x_1, x_1, x_1, \bar x)</tex>, <tex>f_2 = f(x_3, x_1, x_3, \bar x)</tex>, <tex>f_3 = f(x_1, x_1, x_3, \bar x)</tex>.<br>Рассмотрим два случая''':'''<br><tex> x_1 = x_2 = 0, x_3 = 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> x_1 = x_2 = 1, x_3 = 0 </tex>. Доказывается аналогично.
+
#Равны два аргумента {{---}} <tex> x_1 = x_2 \ne x_3 </tex>  (случаи <tex> x_1 = x_3 \ne x_2 </tex> и <tex> x_2 = x_3 \ne x_3 </tex> доказываются аналогично). Тогда''':'''  
 +
::<tex> f = f(x_1, x_1, x_3, \bar x)</tex>, <tex> f_1 = f(x_1, x_1, x_1, \bar x)</tex>, <tex>f_2 = f(x_3, x_1, x_3, \bar x)</tex>, <tex>f_3 = f(x_1, x_1, x_3, \bar x)</tex>.Рассмотрим два случая''':'''
 +
:::*<tex> x_1 = x_2 = 0, x_3 = 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>.
 +
:::*<tex> x_1 = x_2 = 1, x_3 = 0 </tex>. Доказывается аналогично.
  
 
}}
 
}}
 
Интересный сайт, где можно посмотреть [http://oeis.org/A001206 количество таких функций при каждом n].
 
Интересный сайт, где можно посмотреть [http://oeis.org/A001206 количество таких функций при каждом n].

Версия 10:10, 15 декабря 2011

Утверждение:
Любую монотонную самодвойственную булеву функцию (self-Dual, Monotone) можно представить как некоторую суперпозицию функции медианы(majority function, median operator).
[math]\triangleright[/math]

Единственная унарная функция из класса DM — проектор. С помощью медианы её можно выразить так: [math] P_1(x) = \lt x, x, x\gt [/math].

Бинарных функций из класса DM всего две. Рассмотрим эти функции :

  1. [math] ~f(0,0)\lt f(1,1)[/math] и [math] f(0,0) = \lnot f(1,1)[/math], следовательно, [math] f(0,0)=0[/math] и [math] f(1,1)=1 [/math]
  2. [math] ~f(0,1) = \lnot f(1,0)[/math]

Из первого и второго пункта видно, что подходят только проекторы — [math] P_1,P_2 [/math]

Теперь покажем, как эти функции можно представить с помощью медианы :

[math] P_1 = \lt x, x, y\gt , P_2 = \lt x, y, y\gt [/math].


Только четыре тернарные функции принадлежат классу DM. Рассмотрим эти функции :

Заметим, что для всех таких функций

[math] f(0,0,0) \lt f(1,1,1)[/math] и [math] f(0,0,0) = \lnot f(1,1,1), [/math] следовательно [math], f(0,0,0) = 0 [/math] и [math] f(1,1,1) = 1 [/math]

  1. [math]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(1,0,1) = f(1,1,0) = 1 \end{matrix}\right.\Rightarrow f=p_1 [/math]  
  2. [math]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(1,1,0) = f(0,1,1)= 1 \end{matrix}\right.\Rightarrow f=p_2 [/math]  
  3. [math]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,1) = f(0,1,1) = 1 \end{matrix}\right.\Rightarrow f=p_3 [/math]
  4. [math]f(1,0,0) = f(0,1,0) = f(0,0,1) = 0, [/math] следовательно, [math] f = \lt x_1,x_2,x_3\gt [/math]

Покажем как эти функции представляются с помощью медианы :

  1. [math] P_1 = \lt x, x, y\gt [/math]
  2. [math] P_2 = \lt x, y, y\gt [/math]
  3. [math] P_3 = \lt x, z, z\gt [/math].


Теперь рассмотрим произвольную монотонную самодвойственную функцию [math] f : \mathbb{B}^n \rightarrow \mathbb{B} [/math] для [math] n \gt 3 [/math]. Обозначим аргументы [math] x_4, x_5 \dots x_n [/math] за [math] \lnot x [/math], то есть [math] f(x_1, x_2, x_3, x_4 \dots x_n) = f(x_1, x_2, x_3, \bar x) [/math]. Тогда введем три функции от [math]n - 1[/math] аргумента:

[math] f_1(x_1, x_2, \bar x) = f(x_1, x_2, x_2, \bar x) [/math]
[math] f_2(x_2, x_3, \bar x) = f(x_3, x_2, x_3, \bar x) [/math]
[math] f_3(x_3, x_1, \bar x) = f(x_1, x_1, x_3, \bar x) [/math]

Очевидно, они также самодвойственны и монотонны из определения [math]f[/math], и [math]f[/math] можно выразить одной из функций [math] f_1, f_2, f_3 [/math], так как два из трех аргументов точно совпадут. Теперь выразим [math]f[/math] через [math] f_1, f_2, f_3 [/math]:

[math] f(x_1 \dots x_n) = \lt f_1(x_1, x_2, \bar x), f_2(x_2, x_3, \bar x), f_3(x_3, x_1, \bar x)\gt [/math]
  1. Все три аргумента равны — [math] x_1 = x_2 = x_3 [/math], тогда, очевидно, что равенство выполняется.
  2. Равны два аргумента — [math] x_1 = x_2 \ne x_3 [/math] (случаи [math] x_1 = x_3 \ne x_2 [/math] и [math] x_2 = x_3 \ne x_3 [/math] доказываются аналогично). Тогда:
[math] f = f(x_1, x_1, x_3, \bar x)[/math], [math] f_1 = f(x_1, x_1, x_1, \bar x)[/math], [math]f_2 = f(x_3, x_1, x_3, \bar x)[/math], [math]f_3 = f(x_1, x_1, x_3, \bar x)[/math].Рассмотрим два случая:
  • [math] x_1 = x_2 = 0, x_3 = 1.[/math]
    Тогда можно упорядочить [math] f_1, f_2, f_3 [/math] по возрастанию наборов их переменных (используя свойство их монотонности):
    [math] f(0, 0, 0, \bar x) \le f(0, 0, 1, \bar x) \le f(1, 0, 1, \bar x) [/math]. Так как [math] f(0, 0, 1, \bar x) [/math] - между остальными, то оно и будет медианой [math] f_1, f_2, f_3 [/math].
  • [math] x_1 = x_2 = 1, x_3 = 0 [/math]. Доказывается аналогично.
[math]\triangleleft[/math]

Интересный сайт, где можно посмотреть количество таких функций при каждом n.