Мой блог
Красная королева в Core War: как ИИ на базе GPT-4.1 mini и MAP-Elites сражался с 317 воинами человека
Созданная в 1984 году программистская забава Core War (или «Война в памяти») уже сорок лет привлекает разработчиков, исследователей и энтузиастов. Эта легендарная виртуальная песочница полезна не только в качестве полигона для фанатов ассемблера: заложенные в неё принципы активно применяются в кибербезопасности, анализе хакерских атак, эмуляции эволюционных биологических процессов и исследовании рыночной конкуренции. Сегодня, с бурным развитием больших языковых моделей (LLM), Core War переживает новый виток эволюции. Исследователи из Sakana AI в сотрудничестве с Массачусетским технологическим институтом (MIT) представили алгоритм Digital Red Queen (DRQ) — новую концепцию развития искусственного интеллекта на основе эволюционного отбора и конкурентной динамики.
Концепция и правила виртуальной битвы Core War
Перед тем как разбирать алгоритм Sakana AI, вспомним, как устроены сражения в Core War. Программисты пишут боевые программы («воинов») на специализированном языке Redcode, напоминающем упрощённый ассемблер. Эти программы загружаются в изолированную оперативную память виртуального компьютера — «Ядро» (Core). Обычно Ядро представляет собой зацикленный массив из 8000 ячеек, в каждой из которых хранится отдельная инструкция.




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

Среди базовых команд языка Redcode выделяются следующие ключевые инструкции:

- MOV — пересылка данных из одной ячейки памяти в другую;
- ADD — математическое сложение двух чисел;
- SUB — вычитание двух значений;
- JMP — безусловный переход к указанной строке кода;
- CMP — сравнение значений в двух ячейках;
- DJN — уменьшение счётчика с последующим переходом, если результат не равен нулю (используется для циклов);
- SPL — расщепление потока выполнения (создание процесса-клона для параллельной работы воина).
Алгоритм Digital Red Queen (DRQ) и метод MAP-Elites
Подход исследователей опирается на гипотезу «Красной Королевы» (Red Queen Hypothesis), описывающую постоянную эволюционную гонку вооружений между видами. В качестве базы оптимизации ученые выбрали алгоритм MAP-Elites (Multi-dimensional Archive of Phenotypic Elites). На мой взгляд, это крайне изящное решение: в отличие от традиционных методов, ищущих единственный глобальный оптимум, MAP-Elites формирует многомерный архив лучшей эффективности для различных поведенческих типов.
Чтобы лучше понять механизм, представьте платформер, где персонаж должен бегать, прыгать и собирать монеты. Если задать поведенческие дескрипторы (BD) по осям «скорость бега» и «высота прыжка», мы получим сетку ячеек (например, 3×3). Функция приспособленности (fitness) в данном примере — количество собранных монет. Алгоритм заполняет ячейки случайными персонажами, после чего запускает процесс мутации: берётся случайный субъект, слегка меняются его характеристики, и проверяется прохождение уровня. Если полученный «потомок» собирает больше монет, чем предыдущий обитатель соответствующей ячейки, он заменяет его в архиве.
В исследовании Sakana AI эта логика переносится на виртуальный код Redcode:
- Ячейки архива определяли поведенческие шаблоны воина (например, агрессивность атаки, частоту деления процессов, оборонительный стиль);
- Функция приспособленности (fitness) отражала боевую результативность и процент побед над оппонентами;
- Операция мутации выполнялась не случайной заменой символов в байт-коде, а с помощью нейросети. LLM генерировала новые программы Redcode с нуля и предлагала осмысленные оптимизации кода на основе контекста.
Эксперимент: ИИ против 317 человеческих воинов
В ходе эксперимента ученые использовали языковую модель GPT-4.1 mini (версия gpt-4.1-mini-2025-04-14). Симуляция проходила в строго фиксированных условиях:
- В каждом бою участвовало N воинов на протяжении T временных шагов;
- Доля очков фитнеса за один шаг высчитывалась пропорционально числу выживших процессов, которые делят очки между собой;
- Суммарный фитнес воина рассчитывался как накопительный итог за все этапы битвы, определяя победителя в дуэли 1 на 1;
- Поведенческими дескрипторами служили общее количество созданных потоков выполнения (инструкция SPL) и суммарно занимаемый объём памяти во время симуляции.
Для первичного обучения модели использовалась база из 96 воинов, созданных человеком. Главный же тест проводился против 317 уникальных человеческих программ, которые нейросеть ранее никогда не видела.
Чтобы корректно оценить результаты, авторы ввели три ключевых понятия:
- Generality — обобщающая способность (соотношение побед и ничьих к общему количеству проведённых боёв);
- Phenotype (фенотип) — вектор показателей фитнеса против невиданных ранее противников-людей;
- Genotype (генотип) — исходный код воина, представленный в виде вектора (эмбеддинга).
Здесь прослеживается четкая биологическая аналогия: один и тот же фенотип может достигаться совершенно разными генотипами, а незначительное изменение кода иногда влечет кардинальное изменение поведения программы.

Результаты эксперимента продемонстрировали следующие важные эффекты:
- Рост универсальности: с увеличением числа эпох обучения воины под управлением DRQ становились всё более устойчивыми к нетипичным человеческим стратегиям. Чем больше кандидатов участвовало в цикле оптимизации (параметр K), тем выше оказывался итоговый процент побед.
- Конвергенция поведенческих типов: вариативность стратегических подходов со временем снижалась — алгоритм выявлял наиболее выигрышные паттерны поведения.
- Экспоненциальная стабилизация: скорость изменения стратегий между раундами стремительно уменьшалась, переводя систему в устойчивое состояние.
- Конвергентная эволюция кода: воины DRQ приходили к схожему боевому фенотипу (агрессивная размножаемость потоков, плотное заполнение памяти), сохраняя при этом фундаментальные различия в исходном коде Redcode. Это наглядно иллюстрирует биологический феномен, когда разные виды независимо развивают аналогичные черты (например, крылья у птиц и насекомых) под давлением среды.
Для снижения вычислительных затрат исследователи попытались предсказывать параметр generality без полноценного прогона боёв. Для этого они применили линейную регрессию поверх векторных представлений кода:
- Модель OpenAI text-embedding-3-small показала точность R² = 0.35;
- Более крупная text-embedding-3-large достигла R² = 0.42.
Это подтверждает, что хотя исходный код воина задаёт потенциал программы, конечный результат боя в значительной степени определяется динамикой непосредственного столкновения в Ядре.
Перспективы и практическое значение исследования
Результаты работы Sakana AI и MIT выходят далеко за рамки ретро-игры 1984 года. Концепция Digital Red Queen и сочетание MAP-Elites с языковыми моделями открывают широкие горизонты для математических и прикладных исследований:
- Изучение сходимости и асимптотики в сложных эволюционных системах;
- Автоматическая оценка качества программного кода и поиска глубоких уязвимостей;
- Создание самообучающихся систем защиты в сферах кибербезопасности;
- Моделирование сложных биологических, экономических и физических процессов.
Исходные материалы и программный код экспериментов авторы выложили в открытый доступ на GitHub, что даёт отличную возможность для самостоятельного анализа и проведения собственных тестов в области эволюционного ИИ.
Источник: habr.com
