Методы верхней и нижней оценки сложности конкретных ФАЛ и систем ФАЛ

Оценка сложности конкретной ФАЛ или системы всегда начинается с фиксации модели схем U и функционала L. Верхняя оценка доказывается явной конструкцией схемы. Нижняя оценка доказывает, что никакая схема выбранного класса не может быть меньше заданной границы. Если оценки совпадают, сложность установлена точно.1

Для системы \(F=(f_{1},\ldots,f_m)\) всегда выполняется \(\max_i L(f_i)\le L(F)\le \sum_i L(f_i)\). Верхняя граница получается объединением независимых схем, а реальная совместная реализация может быть меньше суммы благодаря общим промежуточным вычислениям.1

Что важно запомнить
  • Перед оценкой нужно указать модель схем и меру сложности. Одна ФАЛ имеет разные сложности в формулах, СФЭ и КС.
  • Верхняя оценка требует конкретной реализации: СДНФ, контактного дерева, каскада, декомпозиции, метода Шеннона или Лупанова либо конструкции под специальную структуру.
  • Нижние оценки получают из обязательных ресурсов схемы: существенных переменных, необходимых полярностей, ограничений функции, мощностных или специальных инвариантных аргументов.
  • Для индивидуальной функции мощностная оценка всего класса сама по себе недостаточна.
  • Для системы F справедливо \(\max_i L(f_i)\le L(F)\le \sum_i L(f_i)\).1
  • Совпадение конструктивной верхней и доказанной нижней оценки устанавливает точную сложность.

Шаг 1. Зафиксировать модель

Запись L(f) имеет смысл только относительно конкретного класса схем и функционала. Например, число функциональных элементов и число контактов — разные ресурсы. Поэтому сначала выбирают U и L, а затем формулируют обе оценки в одной и той же модели.1

Шаг 2. Построить верхнюю оценку

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

Шаг 3. Доказать нижнюю оценку

Простейшие нижние границы выводятся из существенной зависимости и необходимости определённых элементов или контактов. Более сильные индивидуальные оценки могут использовать ограничения функции: если после фиксации части входов получается уже известная трудная функция, исходная схема не может быть проще её ограничения. Для функций Шеннона и больших классов применяется мощностный метод. Важно не переносить такой неконструктивный результат автоматически на заранее выбранную f.1

Системы функций

Для \(F=(f_{1},\ldots,f_m)\) при функционале L выполняется \(\max_i L(f_i)\le L(F)\le \sum_i L(f_i)\). Левая часть обязательна, потому что общая схема должна реализовать каждую компоненту. Правая часть получается объединением минимальных схем компонентов. Но общая схема часто может быть меньше суммы за счёт совместного использования подвычислений.

Когда сложность известна точно

Если построена схема сложности U и доказано, что любая схема имеет сложность не меньше U, получаем равенство. Например, для \(f=x_{1}\vee \ldots \vee x_n\) контактная реализация из n параллельных контактов даёт \(L^K(f)\le n\). Существенная зависимость от всех n переменных даёт \(L^K(f)\ge n\). Следовательно, \(L^K(f)=n\).

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

Полезно мыслить так: верхняя оценка отвечает на вопрос «как сделать не дороже U», а нижняя — «почему дешевле L невозможно». Если удалось получить L=U, задача сложности решена полностью.

Частые ошибки
  • Говорить о сложности без указания модели схем и функционала.
  • Принимать найденную конструкцию за минимальную только потому, что она выглядит простой.
  • Использовать нижнюю оценку для всего класса как доказательство трудности конкретной функции.
  • Считать \(\Sigma_iL(f_i)\) нижней оценкой системы. Это лишь универсальная верхняя граница; нижняя граница равна по меньшей мере \(\max_iL(f_i)\).

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

Источники

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