SYSTEM ATLASЗагрузка материала

Теорема No Free Lunch

No Free Lunch Theorem

Нет алгоритма, который лучше всех на всех возможных задачах.

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

Метод, который лучше других на одних задачах, неизбежно будет хуже на каких-то других, если рассматривать все возможные задачи. Как один инструмент: молоток превосходен для гвоздей, но не становится лучшим для каждого ремонта. Поэтому алгоритм нужно выбирать под структуру конкретной задачи, а не по обещанию универсального превосходства.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на условия, ограничения, взаимодействия и наблюдаемые последствия. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

В задаче «Выбор стратегии» сразу применить привычное решение и назвать происходящее «Теорема No Free Lunch», не проверив, действительно ли работает этот механизм. Так можно улучшить один симптом и пропустить основную причину.

Системный подход

Использовать «Теорема No Free Lunch» как гипотезу: сначала определить границы ситуации и исходное состояние, затем менять только то, что связано с проверяемым механизмом, и смотреть на результат.

Ограничения

Теоремы усредняют по полному классу целевых функций при специальных предпосылках; они не запрещают превосходство алгоритма на структурированном практическом классе задач.

Источник

David H. Wolpert; William G. Macready, “No Free Lunch Theorems for Optimization”, 1997.

Первоисточник