Технологии обучаемости аниматов

Для реализации обоих сценариев моделирования обучаемости аниматов в играх могут использовать различные технологии, основанные на теории ИИ: нейронные сети (neural network), деревья принятия решений (decision tree), генетические алгоритмы (genetic algorithm), обучение с подкреплением (reinforcement learning), системы классификаторов (classifier systems) и т.д. Все эти технологии в той или иной степени будут рассмотрены в этой книге. С концептуальной же точки зрения можно вьщелить лишь четыре категории алгоритмов.
> Контролируемое обучение (supervised learning) может осуществляться в том случае, если соответствующим алгоритмам предоставляются необходимые примеры. Помимо накопления фактов или поведенческих реакций, такие алгоритмы умеют распознавать типовые образы или шаблоны в предоставленных для обучения примерах. В результате происходит обобщение (generalization), благодаря которому на определенном этапе алгоритмы начинают успешно справляться с корректной обработкой незнакомых им примеров.
> Обучение с подкреплением (reinforcement learning) происходит в том случае, если каждое действие анимата оценивается по опрецеленной шкале без предоставления каких-либо конкретных примеров. Полученные оценки используются для организации обратной связи, которая позволяет со временем адаптировать то или иное правило к конкретной ситуации.
> Эволюционные подходы (evolutionary approach) сводятся к получению скалярной оценки за определенную последовательность действий. Иными словами, при их использовании выполняется оценка не коніфетного действия или движения, а всего эпизода в целом.
> Свободное обучение (unsupervised learmng) не связано с непосредственным обучением как таковым. Вместо этого проектировщик создает высокоуровневые цели, например оценку достигнутых результатов.
Естественно, все перечисленные выше категории алгоритмов можно интегрировать между собой или даже можно использовать алгоритмы одной категории для решения задач, относящихся к реализациям алгоритмов другой категории (например обучение с самоконтролем). Выбор конкретных категорий алгоритмов и их комбинаций происходит после того, как на этапе проектирования четко сформулирована проблема, которую эти алгоритмы должны решать.
Любой алгоритм обучения (независимо от наличия или отсутствия контроля) можно применить к анимату несколькими различными способами.
> Преподавание (teaching) — обучение с участием человека, предлагающего ряд примеров, которые помогают анимату сформировать у себя нужные преподавателю устойчивые поведенческие реакции.
> Пачражанне (imitation) — обучение, при котором анимат копирует действия другого игрока (обычно человека). Иными словами, анимат может обучиться основным поведенческим реакциям на основе стороннего опыга.
> Формирование (shaping) — обучение идет в виде решения задач, уровень сложности которых постепенно возрастает. Когда анимат начинает справляться с простыми задачами, ему предлагают более сложные.
> Метод проб и шпибок (trial and error) — анимат помещается в естественную среду обитания, где он должен самостоятельно обучиться правильным поведенческим реакциям, используя все доступные ему подходы.
Каждый из перечисленных выше методов можно применить как на этапе разработки, так и в ходе собственно игры. В этой книге они часто используются для решения различных практических проблем без акцентирования особого внимания на том, что тот или иной метод относится к методам обучения. Тем не менее, глава 35, "Проектирование обучающихся средств ИИ", посвящена исключительно вопросам проектирования и технической реализации систем, использующих эти методы.