Классика vs ML: что выбрать
Решающее дерево
Пять паттернов модуля
Свод того, что повторяется во всех темах:
- Классика выигрывает в контроле, ML — в генерализации. Известная задача с чёткими правилами → классика. Высокоразмерная/незнакомая → ML.
- Процедурная генерация требует ограничений. Рандом без правил = шум; красивый контент = зажатый рандом (WFC).
- Планирование ≠ обучение. A*/GOAP/MCTS ищут в известной модели мира; RL учит политику пробами. Разные инструменты под разные незнания.
- Эмерджентность > скрипт. Лучшее поведение возникает из взаимодействия простых правил, а не из 1000 заскриптованных случаев — но эмерджентность надо спроектировать.
- Реал-тайм требует приближений. 16 мс на кадр: точное решение часто недостижимо — берут эвристику, амортизацию, иерархию (почему LLM не вставить в боевой цикл).
🕹 В какие игры поиграть — и что заметить
Один вопрос — «откуда берётся сильное поведение агента» — и весь спектр ответов: от нуля ML до чистого deep RL. Кейсы расставлены по тому, сколько в агенте обучения, а не скрипта. Заметь, где ML реально доезжает до прода, а где остаётся research-демкой.
Эталон «умного» ИИ — и в нём нет ни одной нейросети. Это GOAP (Goal-Oriented Action Planning, Джефф Оркин): ~десяток действий с pre/post-условиями + A*-планировщик по пространству состояний. Фланги, подавляющий огонь, прыжки через укрытия, опрокидывание столов — эмерджентны из планировщика и громких реплик («Flanking!»), а не заскриптованы и не выучены. Классика для контроля в чистейшем виде.
🎮 Сыграй: запусти F.E.A.R., вступи в бой с Replica-солдатами. Заметь, как они обходят с фланга и подавляют огнём, пока один перебегает — и что это повторяемо и отлаживаемо. «Выглядит как ML» ≠ «является ML».
Не «нейросеть играет в го», а MCTS-поиск, которому сеть подсказывает, куда смотреть (policy) и кто выигрывает (value). Убери поиск — упадёшь до уровня сильного любителя; убери сеть — MCTS заливает бессмысленное дерево. AlphaGo обыграл Ли Седоля 4:1 (март 2016); AlphaZero (2017) дошёл до сверхчеловеческого с нуля через self-play, без партий людей. Это канон «ML делает классический поиск умнее, не заменяя его».
🎮 Поковыряй: поставь KataGo (open-source, та же архитектура) с анализом — увидишь дерево визитов MCTS и оценку сети поверх. Подробнее в 🔧 ниже.
Никакого поиска в рантайме — выученная политика (нейросеть) напрямую выдаёт действия. 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-демо, а не противник в коробочной игре.
Редчайший случай, когда 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 / AI (твой senior-навык): классический baseline перед deep learning — логрег/градиентный бустинг часто бьют сетку на табличке; regex до NER, эвристика до модели, правила до RL. Знать, когда НЕ ML — то, за что ценят на твоём уровне в Artificial Agency.
Вся инженерия: build vs buy, простое vs умное; «не доставай нейросеть / распределёнку / микросервисы, пока monolith/эвристика вывозит».
Принцип: оптимально ≠ модно; вкус выбора инструмента (и смелость выбрать скучный) — главный инженерный навык.
Почему шипнутый игровой AI не делают Nash-оптимальным?
Когда какой алгоритм: minimax, MCTS или CFR?
«Планирование ≠ обучение» — а MCTS в AlphaGo это что?
Utility AI — какое у него строгое обоснование?
argmax_a E[U(a)] рукотворной U — то есть скоринг не «на глаз», а аппроксимация EU-максимизатора (со всеми оговорками про то, как вручную задана U).Elo/TrueSkill в матчмейкинге — это теория игр?
- Модуль 11, разделы 1.6 («Why classical > ML») и «Key Patterns».
- Раздел 6 модуля — связь Game AI ↔ ML-концепции (FSM↔Markov, BT↔decision trees, Utility↔value functions).
- Все пять тем модуля выше — эта страница их сшивает.