Представление функции класса DM с помощью медианы — различия между версиями
| м (rollbackEdits.php mass rollback) | |||
| (не показано 15 промежуточных версий 5 участников) | |||
| Строка 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>  P_1(x) =  | + | <tex>  P_1(x) = \langle x, x, x\rangle  </tex>.   | 
| Бинарных функций из класса DM всего две. | Бинарных функций из класса DM всего две. | ||
| − | Рассмотрим эти функции  | + | Рассмотрим эти функции : | 
| − | #<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,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) = \lnot f(1,0)</tex> | #<tex> ~f(0,1) = \lnot f(1,0)</tex> | ||
| Из первого и второго пункта видно, что  подходят только проекторы {{---}} <tex> P_1,P_2 </tex> | Из первого и второго пункта видно, что  подходят только проекторы {{---}} <tex> P_1,P_2 </tex> | ||
| − | Теперь покажем, как эти функции можно представить с помощью медианы  | + | Теперь покажем, как эти функции можно представить с помощью медианы : | 
| − | <tex>  P_1 =  | + | <tex>  P_1 = \langle  x, x, y \rangle, P_2 = \langle  x, y, y\rangle</tex>. | 
| − | Только четыре тернарные  функции принадлежат классу DM. Рассмотрим эти функции  | + | Только четыре тернарные  функции принадлежат классу DM. Рассмотрим эти функции : | 
| Заметим, что для всех таких функций | Заметим, что для всех таких функций | ||
| − | <tex> f(0,0,0) < f(1,1,1)  | + | <tex> f(0,0,0) < f(1,1,1)</tex> и <tex> f(0,0,0) = \lnot f(1,1,1), </tex> следовательно <tex>, f(0,0,0) = 0 </tex> и <tex> f(1,1,1) = 1 </tex> | 
| #<tex>f(1,0,0)= 1 \Rightarrow\left\{\begin{matrix} f(0,1,1) = \lnot f(1,0,0) = 0   | #<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= | + | \end{matrix}\right.\Rightarrow f=P_1 </tex>   | 
| #<tex>f(0,1,0)= 1 \Rightarrow\left\{\begin{matrix} f(1,0,1) = \lnot f(0,1,0) = 0   | #<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= | + | \end{matrix}\right.\Rightarrow f=P_2 </tex>   | 
| #<tex>f(0,0,1)= 1 \Rightarrow\left\{\begin{matrix} f(1,1,0) = \lnot f(1,0,0) = 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= | + | \end{matrix}\right.\Rightarrow f=P_3 </tex>   | 
| − | #<tex>f(1,0,0) = f(0,1,0) = f(0,0,1) = 0 </tex> следовательно | + | #<tex>f(1,0,0) = f(0,1,0) = f(0,0,1) = 0, </tex> следовательно, <tex> f = \langle x_1,x_2,x_3\rangle  </tex>   | 
| − | <tex> f =  | + | Покажем как эти функции представляются с помощью медианы : | 
| − | Покажем как эти функции представляются с помощью медианы  | + | #<tex> P_1 = \langle x, x, y\rangle </tex> | 
| − | #<tex> P_1 =  | + | #<tex> P_2 = \langle x, y, y\rangle </tex>   | 
| − | #<tex> P_2 =  | + | #<tex> P_3 = \langle x, z, z\rangle  </tex>. | 
| − | #<tex> P_3 =  | ||
| − | Теперь рассмотрим произвольную монотонную самодвойственную функцию <tex> f : \mathbb{B}^n \rightarrow \mathbb{B} </tex> для  | + | Теперь рассмотрим произвольную монотонную самодвойственную функцию <tex> f : \mathbb{B}^n \rightarrow \mathbb{B} </tex> для <tex> n > 3 </tex>. Обозначим аргументы <tex> x_4, x_5 \dots x_n </tex> за <tex> \bar x </tex>, то есть <tex> f(x_1, x_2, x_3, x_4 \dots x_n) = f(x_1, x_2, x_3, \bar x) </tex>. Тогда введем три функции от <tex>n - 1</tex> аргумента : | 
| − | : <tex> f_1(x_1, x_2, \ | + | : <tex> f_1(x_1, x_2, \bar x) = f(x_1, x_2, x_2, \bar x) </tex> | 
| − | : <tex> f_2(x_2, x_3, \ | + | : <tex> f_2(x_2, x_3, \bar x) = f(x_3, x_2, x_3, \bar x) </tex> | 
| − | : <tex> f_3(x_3, x_1, \ | + | : <tex> f_3(x_3, x_1, \bar x) = f(x_1, x_1, x_3, \bar x) </tex> | 
| − | Очевидно, они также самодвойственны и монотонны из определения <tex>f</tex>, и <tex>f</tex> можно выразить одной из функций <tex> f_1, f_2, f_3 </tex>, так как  | + | Очевидно, они также самодвойственны и монотонны из определения <tex>f</tex>, и <tex>f</tex> можно выразить одной из функций <tex> f_1, f_2, f_3 </tex>, так как два из трех аргументов точно совпадут. Теперь выразим <tex>f</tex> через <tex> f_1, f_2, f_3 </tex> : | 
| − | : <tex> f(x_1 \dots x_n) =  | + | : <tex> f(x_1 \dots x_n) = \langle f_1(x_1, x_2, \bar x), f_2(x_2, x_3, \bar x), f_3(x_3, x_1, \bar x) \rangle  </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_2 \ne x_3 </tex>  (случаи <tex> x_1 = x_3 \ne x_2 </tex> и <tex> x_2 = x_3 \ne x_1 </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://math.stackexchange.com/questions/5523/monotone-self-dual-boolean-functions-clone Monotone self-dual boolean functions clone]. | ||
| + | [[Категория: Дискретная математика и алгоритмы]] | ||
| + | [[Категория: Булевы функции]] | ||
Текущая версия на 19:35, 4 сентября 2022
| Теорема: | 
| Любую монотонную самодвойственную булеву функцию (self-Dual, Monotone) можно представить как некоторую суперпозицию функции медианы(majority function, median operator). | 
| Доказательство: | 
| Единственная унарная функция из класса DM — проектор. С помощью медианы её можно выразить так: . Бинарных функций из класса DM всего две. Рассмотрим эти функции : 
 Из первого и второго пункта видно, что подходят только проекторы — Теперь покажем, как эти функции можно представить с помощью медианы : . 
 Только четыре тернарные функции принадлежат классу DM. Рассмотрим эти функции : Заметим, что для всех таких функций и следовательно и 
 Покажем как эти функции представляются с помощью медианы : 
 
 Теперь рассмотрим произвольную монотонную самодвойственную функцию для . Обозначим аргументы за , то есть . Тогда введем три функции от аргумента : Очевидно, они также самодвойственны и монотонны из определения , и можно выразить одной из функций , так как два из трех аргументов точно совпадут. Теперь выразим через : 
 
 | 
