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