Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Красная королева в Core War: как ИИ на базе GPT-4.1 mini и MAP-Elites сражался с 317 воинами человека

Красная королева в 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 нейросетью
Сравнение исходного и оптимизированного участка Redcode-кода после обработки ИИ.
Диаграмма сходимости фенотипов в процессе эволюции
Снижение разнообразия стратегических фенотипов при сохранении гибкости генотипа.
Сравнение показателей выживаемости воинов человека и ИИ
Процентное превосходство алгоритма Digital Red Queen над тестовой базой из 317 программ.
Обзор открытого репозитория исследования Sakana AI и MIT
Репозиторий с кодом симулятора Core War и модулями интеграции LLM.

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

Реклама
Схема работы алгоритма Digital Red Queen
Структурная схема эволюционного цикла Digital Red Queen для оптимизации боевых программ.

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

Пример сетки поведенческих дескрипторов MAP-Elites
Распределение решений по ячейкам архива MAP-Elites на основе их поведения.
  • 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) в данном примере — количество собранных монет. Алгоритм заполняет ячейки случайными персонажами, после чего запускает процесс мутации: берётся случайный субъект, слегка меняются его характеристики, и проверяется прохождение уровня. Если полученный «потомок» собирает больше монет, чем предыдущий обитатель соответствующей ячейки, он заменяет его в архиве.

Формула совокупного фитнеса программы-воина
Оценка совокупной эффективности воина Redcode по всем этапам симуляции.

В исследовании Sakana AI эта логика переносится на виртуальный код Redcode:

Динамика деления потоков и памяти в симуляторе
Зависимость количества параллельных процессов от используемой памяти Ядра.
  • Ячейки архива определяли поведенческие шаблоны воина (например, агрессивность атаки, частоту деления процессов, оборонительный стиль);
  • Функция приспособленности (fitness) отражала боевую результативность и процент побед над оппонентами;
  • Операция мутации выполнялась не случайной заменой символов в байт-коде, а с помощью нейросети. LLM генерировала новые программы Redcode с нуля и предлагала осмысленные оптимизации кода на основе контекста.

Эксперимент: ИИ против 317 человеческих воинов

В ходе эксперимента ученые использовали языковую модель GPT-4.1 mini (версия gpt-4.1-mini-2025-04-14). Симуляция проходила в строго фиксированных условиях:

Сравнение моделей генерации воинов на базе GPT-4.1 mini
Эффективность языковой модели GPT-4.1 mini при создании новых инструкций Redcode.
  • В каждом бою участвовало N воинов на протяжении T временных шагов;
  • Доля очков фитнеса за один шаг высчитывалась пропорционально числу выживших процессов, которые делят очки между собой;
  • Суммарный фитнес воина рассчитывался как накопительный итог за все этапы битвы, определяя победителя в дуэли 1 на 1;
  • Поведенческими дескрипторами служили общее количество созданных потоков выполнения (инструкция SPL) и суммарно занимаемый объём памяти во время симуляции.

Для первичного обучения модели использовалась база из 96 воинов, созданных человеком. Главный же тест проводился против 317 уникальных человеческих программ, которые нейросеть ранее никогда не видела.

Реклама

Чтобы корректно оценить результаты, авторы ввели три ключевых понятия:

Тестирование алгоритма на тестовой выборке из 317 человеческих воинов
Соотношение побед и ничьих воинов ИИ против баз человеческих программ.
  • Generality — обобщающая способность (соотношение побед и ничьих к общему количеству проведённых боёв);
  • Phenotype (фенотип) — вектор показателей фитнеса против невиданных ранее противников-людей;
  • Genotype (генотип) — исходный код воина, представленный в виде вектора (эмбеддинга).

Здесь прослеживается четкая биологическая аналогия: один и тот же фенотип может достигаться совершенно разными генотипами, а незначительное изменение кода иногда влечет кардинальное изменение поведения программы.

Графики эксперимента по эволюции воинов Красной Королевы
Сводный анализ показателей ротации стратегий, универсальности и изменения кода DRQ.

Результаты эксперимента продемонстрировали следующие важные эффекты:

Предсказание эффективности воинов с помощью OpenAI text-embedding-3-small
Корреляция предсказанной generality и реального результата для модели text-embedding-3-small.
  • Рост универсальности: с увеличением числа эпох обучения воины под управлением DRQ становились всё более устойчивыми к нетипичным человеческим стратегиям. Чем больше кандидатов участвовало в цикле оптимизации (параметр K), тем выше оказывался итоговый процент побед.
  • Конвергенция поведенческих типов: вариативность стратегических подходов со временем снижалась — алгоритм выявлял наиболее выигрышные паттерны поведения.
  • Экспоненциальная стабилизация: скорость изменения стратегий между раундами стремительно уменьшалась, переводя систему в устойчивое состояние.
  • Конвергентная эволюция кода: воины DRQ приходили к схожему боевому фенотипу (агрессивная размножаемость потоков, плотное заполнение памяти), сохраняя при этом фундаментальные различия в исходном коде Redcode. Это наглядно иллюстрирует биологический феномен, когда разные виды независимо развивают аналогичные черты (например, крылья у птиц и насекомых) под давлением среды.

Для снижения вычислительных затрат исследователи попытались предсказывать параметр generality без полноценного прогона боёв. Для этого они применили линейную регрессию поверх векторных представлений кода:

Предсказание эффективности с помощью text-embedding-3-large
Рост точности прогнозирования результата боя до R²=0.42 с моделью text-embedding-3-large.
  • Модель 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

01.