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