4

Преобразование задачи: от выбора алгоритма к процессу поиска

AI999第3课:现实世界的复杂性与多目标权衡
00:00

В практическом применении эволюционных вычислений распространённая ошибка на старте — получив задачу, сразу спрашивать: «Что мне использовать — DE или PSO?» Эта фраза ставитвыбор алгоритмав самое начало решения, но она отвечает лишь на вопрос «каким инструментом искать», а не на вопросы «что искать, что считать хорошим и что категорически нельзя нарушать». А решает успех или провал именнокачество постановки задачи.

Так называемоепреобразование задачи— это переформулировка вопроса «какой алгоритм выбрать» в вопрос «как спроектировать исследуемый процесс»: сначала определить, что в реальной задаче может меняться, как оценивать изменения и какие ограничения должны выполняться, а затем позволить алгоритму итеративно генерировать и отбирать кандидатов в этом пространстве поиска. Выбор алгоритма становится одним из этапов проектирования процесса поиска, а не его отправной точкой.

Преобразование задачи: от выбора алгоритма к процессу поискаРеальная задачаЦели, явления и контекст1Изменяемые объектыПараметры · структура · стратегия → кодирование2Метод оценкиЦелевая функция · метрики · предпочтения3Ключевые ограниченияЖёсткие ограничения vs мягкие предпочтенияформализация4Процесс поискаГенерация кандидатов → оценка → обратная связь → повторная генерация: результаты оценки возвращаются в следующий цикл генерацииЗамкнутая итерацияГенерация кандидатовВыборка по пространству поискаОценкаЦелевая функция + проверка ограниченийОбратная связьОбновление распределения и давления отбораПовторная генерацияФормирование нового поколения по обновлённому распределениюРезультаты оценки возвращаются, запуская следующий цикл генерацииВывод набора допустимых решений-кандидатовГруппа решений-кандидатовДопустимые решения с хорошим распределением по компромиссам между целями — передаются для инженерных и продуктовых решений

Четыре определения, которые нужно зафиксировать в первую очередь

  • Изменяемые объекты: определить, какие параметры, структуры, стратегии или процессы допускают изменение, — так формируются пространство поиска и границы кодирования. Без этого решения-кандидаты невозможно ни представить, ни сгенерировать.
  • Метод оценки: определить, как после изменения судить о лучшем и худшем, включая целевую функцию, метрики оценки, направление предпочтений, а также меры допустимости и разнообразия. Способ оценки по сути определяет, в каком направлении пойдёт поиск.
  • Ключевые ограничения: разграничить жёсткие ограничения, которые обязательно должны выполняться, и мягкие предпочтения, допускающие компромисс. Если «срезать угол», подмешав жёсткие ограничения в целевую функцию, легко получить решения с высокими оценками, которые невозможно развернуть.
  • Процесс поиска: формализовать задачу как замкнутый цикл «генерация кандидатов — оценка — обратная связь — повторная генерация», чтобы результаты оценки влияли на последующую генерацию, а не жёстко задавали подход к решению заранее.

Что меняет такое преобразование

Столкнувшись с задачей оптимизации параметров, по привычке действуют так: «сначала выбрать алгоритм — например, DE или PSO — а потом начать подбирать параметры». После преобразования подход иной — нужно последовательно ответить на три вопроса: какие параметры настраиваются? по каким метрикам (или по каким конкурирующим метрикам) оценивать? какие ограничения категорически нельзя нарушать? Ответив на эти три вопроса, задача уже формализована как многокритериальная задача, подключаемая к эволюционному решателю; и только после этого решение о том, какой алгоритм и с какой конфигурацией операторов использовать для поиска, становится заменяемым инженерным решением внутри замкнутого цикла. Иными словами, алгоритм — не сам ответ, он лишь настраиваемое звено процесса поиска, а качество постановки задачи определяет верхнюю границу поиска.

Типичное заблуждение
Приписывать «плохую работу алгоритма» самому алгоритму, упуская три более принципиальные вещи: размытое определение пространства поиска, оторванность метрик оценки от реальных бизнес-целей и отсутствие жёстких ограничений. Сначала исправить постановку задачи, а потом говорить о замене алгоритма, — зачастую эффективнее, чем раз за разом менять алгоритмы.