← Модуль 11/Классика vs ML
EN
Модуль 11 · Синтез

Классика vs ML: что выбрать

Карта связей всего модуля. Одна фраза, которую стоит унести: классика — для контроля, ML — для контента.
конспект~15 мин
Суть за 20 секунд
Классический AI — для контроля (FSM, BT, A*, GOAP): 60 FPS, детерминизм, отлаживаемость, один и тот же NPC сегодня и завтра. ML / генеративный AI — для контента (LLM-диалоги, diffusion-ассеты, world models): генерирует то, что слишком дорого или статично авторить руками. Они не заменяют друг друга — сосуществуют. Спрашиваешь себя: мне нужно надёжно управлять или дёшево порождать?

Решающее дерево

Управление или генерация контента? control content Карта/правила известны? Можно зажать правилами? да нет A* / FSM /BT / GOAP RL / поиск(дорого) да нет WFC / BSP /grammar LLM /diffusion control → бирюзовое (классика, детерминизм) content → розовое (генерация, тем дороже, чем меньше ограничений) Правило: бери самый «тупой» инструмент, который решает задачу.

Пять паттернов модуля

Свод того, что повторяется во всех темах:

🕹 В какие игры поиграть — и что заметить

Один вопрос — «откуда берётся сильное поведение агента» — и весь спектр ответов: от нуля ML до чистого deep RL. Кейсы расставлены по тому, сколько в агенте обучения, а не скрипта. Заметь, где ML реально доезжает до прода, а где остаётся research-демкой.

F.E.A.R. 2005 · ноль ML, чистый планировщик

Эталон «умного» ИИ — и в нём нет ни одной нейросети. Это GOAP (Goal-Oriented Action Planning, Джефф Оркин): ~десяток действий с pre/post-условиями + A*-планировщик по пространству состояний. Фланги, подавляющий огонь, прыжки через укрытия, опрокидывание столов — эмерджентны из планировщика и громких реплик («Flanking!»), а не заскриптованы и не выучены. Классика для контроля в чистейшем виде.

🎮 Сыграй: запусти F.E.A.R., вступи в бой с Replica-солдатами. Заметь, как они обходят с фланга и подавляют огнём, пока один перебегает — и что это повторяемо и отлаживаемо. «Выглядит как ML» ≠ «является ML».

AlphaGo / AlphaZero 2016–17 · гибрид: поиск + обученная оценка

Не «нейросеть играет в го», а MCTS-поиск, которому сеть подсказывает, куда смотреть (policy) и кто выигрывает (value). Убери поиск — упадёшь до уровня сильного любителя; убери сеть — MCTS заливает бессмысленное дерево. AlphaGo обыграл Ли Седоля 4:1 (март 2016); AlphaZero (2017) дошёл до сверхчеловеческого с нуля через self-play, без партий людей. Это канон «ML делает классический поиск умнее, не заменяя его».

🎮 Поковыряй: поставь KataGo (open-source, та же архитектура) с анализом — увидишь дерево визитов MCTS и оценку сети поверх. Подробнее в 🔧 ниже.

OpenAI Five · AlphaStar 2018–19 · чистый deep RL на фронтире

Никакого поиска в рантайме — выученная политика (нейросеть) напрямую выдаёт действия. OpenAI Five обыграл чемпионов мира OG по Dota 2 (апрель 2019); AlphaStar дошёл до грандмастера в StarCraft II (выше 99.8% игроков, Nature, окт 2019). Возможно — но цена дикая: OpenAI Five это 256 GPU + 128 000 CPU-ядер через PPO, ~250 лет симуляции Dota в день, десятки тысяч лет суммарно. Сверхчеловек, которого нельзя зашипить как рядового NPC.

🎮 Посмотри: записи матчей OpenAI Five vs OG и реплеи AlphaStar. Заметь нечеловеческую слаженность и микроконтроль — и то, что это research-демо, а не противник в коробочной игре.

GT Sophy 2023 · RL-контроль, который реально зашипили

Редчайший случай, когда ML-контроль доехал до коммерческой игры. Sony AI обучила RL-агента (QR-SAC) гонять сверхчеловечески и при этом «честно», без грязных тычков. Сначала — обложка Nature (фев 2022) за обгон чемпионов в Gran Turismo Sport, затем дебют у игроков — ивент «Race Together» в Gran Turismo 7, обновление 1.29 (запуск 21 фев 2023). Условия, при которых RL-контроль вообще шипится: узкий, чётко заданный домен с богатым симулятором — и даже тогда понадобились Sony AI и публикация в Nature.

🎮 Сыграй: в GT7 выйди против Sophy. Заметь чистые обгоны и оборону по корнерам — и что всё вокруг (меню, ивенты, физика, остальной ИИ) осталось классическим. Исключение, подтверждающее правило из дерева выше.

Хардкор: теория игр — когда она реально применима (и почему AI в играх не Nash-оптимален)можно пропустить

Под капотом Utility AI — теория решений

Аксиомы фон Неймана–Моргенштерна: если предпочтения полны, транзитивны, непрерывны и удовлетворяют независимости, они представимы максимизацией ожидаемой полезности. Utility AI = приближение argmax_a E[U(a)] рукотворной U. Это его формальное обоснование, а не «скоринг на глаз».

Где применима собственно теория игр (несколько стратегических агентов)

  • Идеальная инфа, zero-sum, последовательная (шахматы, го): минимакс; значение существует (Цермело). Решается minimax+αβ или MCTS+value-net (AlphaGo).
  • Неполная инфа (покер): Nash через Counterfactual Regret Minimization (CFR) — regret matching сходится к ε-Nash в self-play (Libratus/Pluribus).
  • Одновременные ходы / general-sum (RTS, социалка): равновесий Нэша может быть много, а вычислять их в общем виде PPAD-полно (Daskalakis et al.) — практически нерешаемо.

Сложность «решить игру»

Обобщённые версии настольных игр обычно PSPACE- или EXPTIME-полны (обобщённое го — EXPTIME-полно, Robson 1983; generalized geography — PSPACE-полно). Поэтому точное решение нереально → эвристический поиск + обученная оценка вместо «решения».

Почему шипнутый AI НЕ Nash-оптимален

Цель — удовольствие игрока, а не победа. Оптимальный AI часто не-весел: слишком силён, эксплойтит, нечитаем. Дизайнеры намеренно ослабляют AI (rubber-banding, телеграфирование атак). Теоретико-игровая оптимальность нужна лишь там, где соревнование — самоцель: файтинги (frame data), покер-боты, матчмейкинг по рейтингу (Elo/TrueSkill — байесовская модель навыка, не теория игр).

Хардкор · экономика и инженерия: AI как статья затрат, а не магияможно пропустить
  • Build vs buy: своя ML-фича = команда ML-инженеров, данные, инфра; готовое (Inworld и т.п.) = подписка + вендор-лок. Есть кому это поддерживать?
  • Тех-долг ML: модель дрейфует, вендор меняет API, нужен ретрейн/мониторинг. Классический FSM не «протухает» сам — ML протухает.
  • QA недетерминизма: «умный» AI, который нельзя предсказуемо протестировать и сбалансировать, часто дороже, чем приносит. Стоимость отладки — реальная статья.
  • Вывод: ML оправдан, когда генерализация/контент дают ценность, которую руками не сделать, и команда потянет эксплуатацию. Иначе самый дешёвый инструмент, решающий задачу, побеждает (см. дерево решений выше).
Аналогия
Это как выбор между часовым механизмом и художником. Часы (классика) делают одно и то же точно, предсказуемо, дёшево — идеально, когда нужно надёжное поведение. Художник (ML) рисует бесконечно разное, но дорого, медленно и непредсказуемо — нужен, когда авторить руками всё невозможно. Инженер не выбирает «что круче», а ставит каждый инструмент туда, где он силён.
Почему это важно
Главная ошибка 2024–26 — тянуть LLM/RL туда, где классика лучше, потому что «модно». Зрелость — обратное: взять самый простой инструмент, решающий задачу, и доставать ML только там, где классика принципиально не вывозит (открытый диалог, генерация ассетов, контент-под-каждого-игрока). Эта страница — фильтр, через который стоит прогонять любое «а давай прикрутим нейросеть».
🔁 За пределами игр — куда это переносится
Сам тезис «бери самый простой инструмент, решающий задачу; ML — для генерализации, не по умолчанию» — общеинженерное суждение, не про игры:

ML / AI (твой senior-навык): классический baseline перед deep learning — логрег/градиентный бустинг часто бьют сетку на табличке; regex до NER, эвристика до модели, правила до RL. Знать, когда НЕ ML — то, за что ценят на твоём уровне в Artificial Agency.

Вся инженерия: build vs buy, простое vs умное; «не доставай нейросеть / распределёнку / микросервисы, пока monolith/эвристика вывозит».

Принцип: оптимально ≠ модно; вкус выбора инструмента (и смелость выбрать скучный) — главный инженерный навык.

🔧 Запусти и поковыряй — на домашнем компе
Во что играть — выше (🕹). Здесь — пощупать «поиск + обученная оценка» руками и прогнать свой кейс через дерево решений:
🔧 Поковырять (debug) ~40 мин, KataGo
Поставь KataGo (open-source, AlphaZero-архитектура) с GUI анализа (KaTrain / Lizzie). Включи визиты MCTS и винрейт. Сравни max visits = 1 (чистая policy-сеть, без поиска) против высоких визитов (полный MCTS) на одной позиции — почувствуй, сколько добавляет именно поиск поверх сети. Это «ML делает поиск умнее» вживую. Сломай: дай тактическую позицию-ловушку — увидишь, как сеть «на глаз» и поиск расходятся.
🧪 Прогнать через фильтр (decide) ~15 мин
Возьми три поведения из игр, что у тебя стоят: враг-шутер, соперник-гонщик, реплика NPC. Каждое прогони через дерево решений сверху: контроль или контент? правила известны? зажимается правилами? Предскажи «классика / ML» — и проверь, как студия сделала на самом деле. Это и есть фильтр против «давай прикрутим нейросеть».
Чеклист: увидел разницу policy-only vs MCTS в KataGo; прогнал ≥3 кейса через дерево; поймал хотя бы один, где «модно ≠ оптимально».
Связи — карта модуля
контроль
FSM и Behavior Trees — ядро «классика для контроля».
контроль
Pathfinding A*/NavMesh — известная карта → классика выигрывает у RL всухую.
контент+правила
Wave Function Collapse — генерация, зажатая ограничениями: средняя точка спектра.
контент
LLM-NPC — «ML для контента» в чистом виде; контроль вокруг него остаётся классическим.
контент
World models — крайняя точка генерации: сам кадр мира сгенерирован.
Вопросы пытливого ума
Почему шипнутый игровой AI не делают Nash-оптимальным?
Цель — fun, не победа. Оптимальный противник обычно не-весел (нечитаем, эксплойтит, слишком силён), а вычислять Nash в общем случае ещё и PPAD-полно. Поэтому AI намеренно ослабляют и делают читаемым (телеграф атак, rubber-banding). Игровая оптимальность нужна лишь там, где соревнование — самоцель (файтинги, покер-боты).
Когда какой алгоритм: minimax, MCTS или CFR?
По структуре информации и суммы. Идеальная инфа + zero-sum + последовательная → minimax/αβ или MCTS (+value-net для больших деревьев, как AlphaGo). Неполная инфа (покер) → CFR (сходится к Nash в self-play). Одновременные ходы/general-sum → Nash, но он бывает множественным и PPAD-полным. Сначала классифицируй игру, потом выбирай инструмент.
«Планирование ≠ обучение» — а MCTS в AlphaGo это что?
Гибрид: MCTS — планирование в известной модели (правила го), value/policy-сеть — обучение, которое делает поиск умнее. AlphaGo — про связку: учим эвристику, ищем ею. В играх та же логика: ML усиливает классический поиск, не заменяя его.
Utility AI — какое у него строгое обоснование?
Теорема фон Неймана–Моргенштерна: «разумные» предпочтения представимы максимизацией ожидаемой полезности. Utility AI и есть приближение argmax_a E[U(a)] рукотворной U — то есть скоринг не «на глаз», а аппроксимация EU-максимизатора (со всеми оговорками про то, как вручную задана U).
Elo/TrueSkill в матчмейкинге — это теория игр?
Нет, это байесовская модель навыка: латентный рейтинг + вероятностная модель исхода (TrueSkill — факторный граф с обновлением по Байесу). Теория игр про стратегии внутри игры, а рейтинг — про оценку силы игроков для подбора равных. Частая путаница.
Что почитать