Асимптотически оптимальный метод О. Б. Лупанова синтеза СФЭ

Метод Лупанова улучшает метод Шеннона за счёт ДУМ. После разбиения переменных на группы кофакторы не берутся как самостоятельные выходы огромного универсального блока. Каждый кофактор представляется дизъюнкцией функций из компактного ДУМ, а функции ДУМ реализуются в СФЭ один раз и многократно используются.1

Теорема 6.1 курса даёт для любой \(f\in P_2(n)\) СФЭ со сложностью \(L(\Sigma_f)\le (2^n/n)\cdot (1+(5 \log n+O(1))/n)\). В сочетании с мощностной нижней оценкой это даёт точную асимптотику \(L^C(n)\sim 2^n/n\). Для почти всех ФАЛ сложность имеет ту же асимптотику, то есть в классе СФЭ имеет место эффект Шеннона.1

Что важно запомнить
  • Метод сохраняет разложение функции на кофакторы, как в методе Шеннона.
  • Каждый кофактор дополнительно раскладывается через функции специального ДУМ.1
  • Функции ДУМ реализуются один раз и используются многими кофакторами, что снижает стоимость общего блока.
  • Теорема 6.1 даёт \(L(\Sigma_f)\le (2^n/n)\cdot (1+(5 \log n+O(1))/n)\).1
  • Следствие: \(L^C(n)\sim 2^n/n\).
  • Почти все n-местные ФАЛ имеют сложность, асимптотически равную \(L^C(n)\). Это эффект Шеннона для СФЭ.1

От метода Шеннона к методу Лупанова

В методе Шеннона после фиксации части переменных требуется уметь выбирать произвольные кофакторы от q переменных. Лупанов сохраняет это разложение, но отказывается от прямой реализации всего множества P₂(q). Вместо этого выбирается стандартное ДУМ G, а каждый кофактор представляется дизъюнкцией p функций из G.1

Совместная реализация ДУМ

СФЭ реализует систему функций G единожды. Затем для каждого кофактора нужные выходы G соединяются дизъюнктивной частью, а адресные переменные выбирают соответствующий кофактор. Ключевое преимущество СФЭ здесь состоит в свободном разветвлении результатов: один выход, реализующий функцию из G, может участвовать сразу в большом числе кофакторов.1

Асимптотическая оптимальность

Параметры разбиения и высоты ДУМ выбираются так, чтобы стоимость реализации G, дизъюнктивных сборок и селекторной части была сбалансирована. Теорема 6.1 даёт для любой f

\(L(\Sigma_f)\le (2^n/n)\cdot (1+(5 \log n+O(1))/n)\). 1

Поскольку мощностный метод уже даёт \(L^C(n)\ge (1-o(1))2^n/n\), верхняя и нижняя оценки совпадают в главном члене. Поэтому \(L^C(n)\sim 2^n/n\). Более того, почти все функции имеют ту же асимптотическую сложность, что и самая сложная функция.1

Пример простыми словами

В методе Шеннона можно представить ситуацию так: для каждого нужного кофактора требуется готовый отдельный выход универсального устройства. В методе Лупанова кофакторы собираются из общего набора деталей G. Если одна функция из G нужна сотням кофакторов, она всё равно реализуется в СФЭ только один раз.

Частые ошибки
  • Считать ДУМ набором отдельных независимых реализаций для каждого кофактора. Выигрыш возникает из совместного использования функций G.
  • Заменять асимптотику утверждением \(L^C(f)=2^n/n\) для каждой функции. Теорема даёт универсальную верхнюю оценку, а точная асимптотика относится к функции Шеннона.
  • Переносить результат \(2^n/n\) на формулы. Для формул порядок сложности другой.
  • Называть коэффициенты метода Шеннона 8 и метода Лупанова 1 точными конечными значениями. Сравнение является асимптотическим.

Другие вопросы

Источники

  1. 1 Ложкин С. А. Лекции по основам кибернетики Вариант 2017 г. (гр. 311–319), глава 3, §6, теорема 6.1 и следствие, МГУ, факультет ВМК