Обсуждение участника:Sancho20021 — различия между версиями
(→Оценка на количество линейных программ над \{\downarrow\} длины r) |
(→Оценка на количество линейных программ над \{\downarrow\} длины r) |
||
Строка 44: | Строка 44: | ||
|id=Лемма1 | |id=Лемма1 | ||
|statement=<tex>\exists</tex> булева функция <tex>f: size_B(f) \geq \frac{2^n}{2n}</tex> | |statement=<tex>\exists</tex> булева функция <tex>f: size_B(f) \geq \frac{2^n}{2n}</tex> | ||
− | |proof= | + | |proof=Посчитаем число линейных программ длиной <tex>r < \frac{2^n}{2n} </tex> |
<tex>\log_2{K_{n, r}} \leq 2 r \log_2 {(n+r)} < \frac{2 \cdot 2^n}{2n} \log_2{(n+ \frac{2^n}{2n})} \leq \frac{2^n}{n} \log_2 {2^n} = 2^n \Rightarrow</tex> | <tex>\log_2{K_{n, r}} \leq 2 r \log_2 {(n+r)} < \frac{2 \cdot 2^n}{2n} \log_2{(n+ \frac{2^n}{2n})} \leq \frac{2^n}{n} \log_2 {2^n} = 2^n \Rightarrow</tex> | ||
− | <tex>K_{n, r} < 2^{2^n}</tex> {{---}} | + | <tex>K_{n, r} < 2^{2^n}</tex> {{---}} это меньше, чем число всех линейных программ, следовательно, <tex>\exists \; f_n: r> \frac{2^n}{2n} </tex> |
Обобщим для произвольного <tex>c</tex> | Обобщим для произвольного <tex>c</tex> | ||
Строка 56: | Строка 56: | ||
<tex>K_{n,r}<2^{\frac{2^n}{c}} !!! </tex> | <tex>K_{n,r}<2^{\frac{2^n}{c}} !!! </tex> | ||
}} | }} | ||
+ | Таким образом, количество линейных программ длины <tex>< \frac{2^n}{2cn}</tex> меньше <tex>2^{\frac{2^n}{c}}</tex> | ||
+ | ===Возвращение к теореме о нижней оценке=== | ||
+ | <tex>|F_g| \leq 2^{\frac{2^n}{c}} \Rightarrow \frac{|F_g|}{2^{2^n}} \leq \frac{2^\frac{2^n}{c}}{2^{2^n}} = 2^{2^n (\overset{< 0}{\frac{1}{c}-1})}\rightarrow 0</tex> |
Версия 20:30, 7 июня 2020
Теорема о нижней оценке на число элементов в схеме
Теорема: |
Большинство булевых функций требуют для реализации порядка функциональных элементов, где — количество аргументов функции.
Формальная запись теоремы: Тогда |
Для доказательства этой теоремы нам понадобится доказать несколько вспомогательных утверждений.
Определение: |
Линейная программа — список строк вида | , где (базис), , — индексы переменных.
Пример линейной программы
Линейная программа для функции
над базисом
Длина линейной программы — количество строк.
Теорема: |
Для булевой функции линейная программа длины схема, использующая функциональных элементов. |
Доказательство: |
Чтобы построить по схеме программу, можно занумеровать элементы схемы в порядке топологической сортировки, и для каждого элемента с функцией и входами сопоставить строчку линейной программы с номером вида . Построение функциональной схемы по линейной программе очевидно. |
Оценка на количество линейных программ над длины
— количество аргументов булевой функции.
Количество линейных программ
Лемма: |
булева функция |
Доказательство: |
Посчитаем число линейных программ длиной — это меньше, чем число всех линейных программ, следовательно, Обобщим для произвольного
|
Таким образом, количество линейных программ длины
меньшеВозвращение к теореме о нижней оценке