Обсуждение участника:Sancho20021 — различия между версиями
м (→Оценка на количество линейных программ над \{\downarrow\} длины r) |
|||
Строка 35: | Строка 35: | ||
Построение функциональной схемы по линейной программе очевидно. | Построение функциональной схемы по линейной программе очевидно. | ||
}} | }} | ||
− | ===Оценка на количество линейных программ над <tex>\{\downarrow\}</tex> длины <tex>r</tex>=== | + | ===Оценка на количество линейных программ над <tex>\{\downarrow\}</tex>(стрелка Пирса является базисом) длины <tex>r</tex>=== |
<tex>n</tex> {{---}} количество аргументов булевой функции. | <tex>n</tex> {{---}} количество аргументов булевой функции. | ||
+ | |||
+ | В первой строчке мы можем выбрать одну из <tex>n</tex> переменных (<tex>x_1, \ldots, x_n</tex>) и применить к ней <tex>\downarrow</tex>. Получим еще одну переменную <tex>y_1</tex>. Во второй строчке программы нам на выбор доступны уже <tex>n+1</tex> переменных (<tex>x_1, \ldots, x_n, y_1</tex>). В общем случае на <tex>i</tex>-й строчке (нумерация с единицы) мы можем применить стрелку Пирса к одной из <tex>n+i-1</tex> переменных. Из этого следует формула ниже. | ||
Количество линейных программ <tex>= K_{n, r} = n^2 \cdot (n+1)^2 \cdot (n+2)^2 \cdot \ldots \cdot (n+r-1)^2 \leq (n+r)^{2r}</tex> | Количество линейных программ <tex>= K_{n, r} = n^2 \cdot (n+1)^2 \cdot (n+2)^2 \cdot \ldots \cdot (n+r-1)^2 \leq (n+r)^{2r}</tex> |
Версия 15:01, 10 июня 2020
Теорема о нижней оценке на число элементов в схеме
Теорема: |
Большинство булевых функций требуют для реализации порядка функциональных элементов, где — количество аргументов функции.
Формальная запись теоремы: Тогда |
Для доказательства этой теоремы нам понадобится доказать несколько вспомогательных утверждений.
Определение: |
Линейная программа — список строк вида | , где (базис), , — индексы переменных.
Пример линейной программы
Линейная программа для функции
над базисом
Длина линейной программы — количество строк.
Теорема: |
Для булевой функции линейная программа длины схема, использующая функциональных элементов. |
Доказательство: |
Чтобы построить по схеме программу, можно занумеровать элементы схемы в порядке топологической сортировки, и для каждого элемента с функцией и входами сопоставить строчку линейной программы с номером вида . Построение функциональной схемы по линейной программе очевидно. |
Оценка на количество линейных программ над (стрелка Пирса является базисом) длины
— количество аргументов булевой функции.
В первой строчке мы можем выбрать одну из
переменных ( ) и применить к ней . Получим еще одну переменную . Во второй строчке программы нам на выбор доступны уже переменных ( ). В общем случае на -й строчке (нумерация с единицы) мы можем применить стрелку Пирса к одной из переменных. Из этого следует формула ниже.Количество линейных программ
Лемма: |
булева функция |
Доказательство: |
Посчитаем число линейных программ длиной
Обобщим для произвольного
|
Таким образом, количество линейных программ длины
меньшеВозвращение к теореме о нижней оценке