В предыдущей лекции эволюционная система накапливала свои возможности благодаря замкнутому циклу «генерация — оценка — отбор — наследование». В этой лекции мы делаем следующий шаг внутрь: алгоритм должен не просто решать задачи, а улучшать сами алгоритмы.MetaDE — это именно такая вложенная эволюционная архитектура: она разделяет дифференциальную эволюцию (DE) на внутренний и внешний уровни, превращая идею «алгоритм оптимизирует алгоритм» в вычислимый процесс.
I. Разделение обязанностей: кто решает, кто эволюционирует
MetaDE организует DE в два уровня, и объекты работы этих уровней полностью различны:
- Внутренний DE (уровень задачи): работает с реальной задачей оптимизации, поддерживает популяцию кандидатных решений, многократно выполняет мутацию, скрещивание и отбор, постепенно приближаясь к качественному решению. Он отвечает на вопрос «насколько хорошо решена эта задача».
- Внешний DE (метауровень): работает с самим алгоритмом; каждая особь в популяции — это не решение задачи, а целостная конфигурация «стратегия мутации + параметры», например, какой способ мутации применяется, какие значения принимают масштабирующий фактор и вероятность скрещивания. Он отвечает на вопрос «насколько хорошо работает эта конфигурация алгоритма».
Поэтому внешний уровень не оптимизирует переменные задачи напрямую — ими всегда занимается внутренний уровень; внешний уровень изменяет лишь «инструкцию по эксплуатации» внутреннего уровня.
II. Замкнутый цикл взаимодействия: передача конфигураций и возврат производительности
Уровни связаны двунаправленным каналом, образуя замкнутый цикл: внешний уровень создаёт конфигурацию алгоритма и передаёт её (→) внутреннему уровню; внутренний уровень работает с этой конфигурацией на задаче и по завершении возвращает производительность на задаче (→) внешнему уровню; на её основе внешний уровень сохраняет и рекомбинирует более эффективные конфигурации, после чего создаёт следующую конфигурацию. Весь процесс можно обобщить так: конфигурация внешнего уровня → решение внутреннего уровня → производительность на задаче → обновление внешнего уровня, и так по кругу.
Этот замкнутый цикл даёт ключевое свойство: стратегия мутации и параметры внутреннего алгоритма больше не задаются человеком раз и навсегда, а непрерывно переписываются в ходе поиска внешнего уровня — так алгоритм получает канал самоулучшения.
III. Условие выполнимости: параллелизм и компромисс по затратам
Вложенная структура не обходится без издержек. Каждая оценка на внешнем уровне требует полного прогона одной конфигурации на задаче, из-за чего затраты на оценку заметно возрастают; чем больше популяция внешнего уровня, тем выше общие расходы. Именно поэтому MetaDE опирается на параллелизм GPU: несколько конфигураций внутреннего уровня можно оценивать одновременно, время одной итерации внешнего уровня существенно сокращается, и вложенная метаэволюция становится практически реализуемой. И наоборот: если доступных параллельных ресурсов недостаточно, сокращение масштаба внешнего уровня или снижение точности оценки внутреннего уровня зачастую реалистичнее, чем слепое расширение поиска.
