8

Разделение модулей алгоритма и задачи

AI999第4课:现代计算底座与张量化并行演化
00:00

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

Открытая развязанная основа EvoXСхема интерфейсного взаимодействия модуля алгоритма и модуля задачимодуль алгоритмаИнкапсулирует: как искатьГенерация кандидатных решений и инициализация популяцииМутация / скрещивание / отборУправление поиском: число итераций, размер, критерий сходимостиНе зависит от физической формы целевой функциимодуль задачиИнкапсулирует: оценку и обратную связь средыЗначения цели, приспособленность, величина нарушения ограниченийРезультаты взаимодействия со средойРазмерность переменных и диапазоны значенийСогласованная оценка для одной партии кандидатных решенийПартия кандидатных решенийРезультаты оценки: вектор целей / величина нарушения ограниченийИнтерфейсный контрактУзкий и полный① Отправка партии кандидатных решений② Возврат результатов оценки③ Обновление популяции и переход к следующему поколениюОдин цикл «отправка ⇄ возврат» составляет одно поколение эволюцииСтабильный интерфейсный контракт → алгоритм и задача могут независимо заменяться, расширяться и переиспользоваться в разных задачах

Модуль алгоритма: инкапсулирует «как искать»

  • Генерация кандидатных решений и обновление популяции: инициализация, мутация, скрещивание, отбор, элитизм и другие эволюционные механизмы единообразно реализуются модулем алгоритма.
  • Управление поиском: число итераций, размер популяции, перезапуск и критерии сходимости, настройка параметров операторов — всё это решения на стороне алгоритма.
  • Модуль алгоритма опирается лишь на абстрактную предпосылку «кандидатные решения будут оценены» и не интересуется физическим смыслом и конкретной формой целевой функции.

Модуль задачи: определяет «что оценивать и как среда даёт обратную связь»

  • Преобразование кандидатных решений в сравнимую обратную связь: значения цели, приспособленность, величина нарушения ограничений или результат одного взаимодействия со средой.
  • Объявление границ задачи и ограничений: размерность переменных, диапазоны значений, правила допустимой области — чтобы алгоритм знал, где можно генерировать кандидатные решения.
  • Согласованная оценка одной партии кандидатных решений позволяет сравнивать разные особи, разные поколения и разные алгоритмы.

Интерфейсный контракт: партия кандидатных решений ⇄ результаты оценки

Модуль алгоритма передаёт модулю задачипартию кандидатных решений; модуль задачи возвращаетструктурированные результаты оценки(вектор целей, величину нарушения ограничений и необязательную дополнительную диагностическую информацию); на их основе модуль алгоритма обновляет популяцию и переходит к следующему поколению. Этот цикл «отправка — возврат» составляет одно поколение эволюции.

Преимущества развязки

  • Независимое расширение: добавление или замена алгоритма не затрагивает определение задачи; изменение или добавление задачи также не требует переписывать модуль алгоритма.
  • Комбинируемость: один и тот же модуль задачи может подключаться к разным эволюционным алгоритмам, а один и тот же модуль алгоритма — переключаться на разные модули задач.
  • Переносимость: при стабильном интерфейсном контракте алгоритм и задача могут переиспользоваться, заменяться и переноситься между задачами.

Почему это особенно важно в контексте данного урока: многокритериальные компромиссы и дорогостоящая обратная связь

В этом уроке рассматриваются инженерные задачи из реального физического мира — например,проектирование сверхкритического крылового профиляв COMAC. Такие задачи обычно одновременно обладают тремя особенностями: несколько взаимно противоречивых целей (например, рост подъёмной силы часто ведёт к увеличению сопротивления и снижению устойчивости), взаимно вложенные ограничения (например, критический коэффициент подъёмной силы при бафтинге, максимальное напряжение не должно превышать допустимое значение для материала), а такжедорогостоящая и разреженная обратная связь(одна оценка высокоточной симуляции обходится очень дорого). Разделение на модули и создано именно для того, чтобы справляться с этими тремя аспектами.

На стороне модуля задачи многокритериальность и ограничения единообразно сводятся к сравнимому результату оценки: вектор целей описывает отдельные показатели, величина нарушения ограничений — степень выхода за границы, а при необходимости используютсясуррогатные моделидля дешёвой приближённой оценки, что ослабляет узкое место обратной связи, создаваемое высокоточной симуляцией. На стороне модуля алгоритма поиск больше не стремится к преждевременной сходимости к единственному «оптимальному ответу», а поддерживаетнабор разнообразных кандидатных решений, позволяя экспертам оптимизировать предпочтения и делать компромиссный выбор между подъёмной силой, сопротивлением и запасом безопасности.

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

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