Исследования 🇷🇺 23.07.2026 00:03

MAP-Elites: алгоритм поиска лучшего решения в каждой нише

MAP-Elites — алгоритм Quality-Diversity оптимизации, который не ищет единственный глобальный максимум, а заполняет пространство поведений лучшими решениями в каждой нише. Статья объясняет принцип работы, сложность, реализацию на Python и особенности покрытия архива.
MAP-Elites (Multi-dimensional Archive of Phenotypic Elites) — это алгоритм, предложенный в 2015 году, который решает задачу Quality-Diversity оптимизации: вместо поиска одного глобального максимума он стремится заполнить пространство поведенческих дескрипторов лучшими решениями в каждой нише. Алгоритм использует архив-сетку, где каждая ячейка соответствует определённому поведению (дескриптору), и хранит в ней наилучшее найденное решение. Работа начинается с инициализации случайными решениями, затем на каждой итерации из архива случайно выбирается родитель, мутируется, оценивается приспособленность и поведенческий дескриптор потомка, и если ячейка пуста или потомок лучше — решение заменяется. Современные версии (CMA-ME, pyribs, QDax) используют более сложные эмиттеры для генерации кандидатов. В статье приведён пример реализации на Python для игрушечной задачи с сеткой 20×20, где после 5000 итераций было заполнено 379 из 400 ячеек. Автор отмечает, что из-за локальной мутации некоторые ячейки могут остаться недостижимыми, а в реальных задачах часть поведенческого пространства физически нереализуема, поэтому цель — не 100% покрытие, а разнообразие в достижимых нишах.
Сокращения
MAP-Elites = Multi-dimensional Archive of Phenotypic Elites — Многомерный архив фенотипических элит
QD = Quality-Diversity — Качество-Разнообразие
CMA-ES = Covariance Matrix Adaptation Evolution Strategy — Эволюционная стратегия с адаптацией ковариационной матрицы
CMA-ME = CMA-ES MAP-Elites — MAP-Elites на основе CMA-ES
Источник: Habr — хаб ML — оригинал

Наши прошлые публикации по теме

Есть свежие новости