Из этой главы вы узнаете:
► об основах искусственного интеллекта (ИИ);
► о различных типах ИИ, применяемых в играх;
► как самостоятельно разработать стратегию ИИ;
► как создать спрайты, проявляющие агрессию и способные преследовать друг друга;
► как в мобильной игре создать спрайты с ИИ, которые могут преследовать игрока.
Минимум, что вы должны знать об ИИ
Если вы видели фильмы «ИИ» («A.I.») или «Я, робот» («I, robot»), то вы, вероятно, можете представить на что способен искусственный интеллект. Хорошо или плохо, но идея создания компьютеров, способных думать, как человек, восхищает. Искусственный интеллект (ИИ) определяется как методы, используемые для имитации мышления человека в компьютере. Это самое общее определение искусственного интеллекта. Искусственный интеллект – это обширное пространство для исследования, а игровой ИИ – это очень маленькая часть этого пространства. Цель этой главы – познакомиться с основополагающими концепциями создания искусственного интеллекта и его применения в играх.
Конечно, мышление человека имитировать очень сложно, вот почему ИИ – столь богатая область для исследований. Несмотря на то что есть множество подходов к реализации искусственного интеллекта, все можно свести к попытке имитации человеческого мозга компьютерными средствами. Большинство традиционных систем с ИИ для принятия решений применяют разнообразные информационные алгоритмы, точно так же, как люди используют накопленный опыт и определенные правила. В прошлом информационные алгоритмы были полностью детерминированными: любое решение принималось чисто логически. На рис. 13.1 показана схема чисто логического мышления человека. Очевидно, что человеческое мышление работает несколько иначе. Если бы все было, как на схеме, то этот мир был бы очень скучным! Рациональная скука.
Рис. 13.1. Полностью логическое мышление человека – очевидные доводы, и ничего более
В итоге исследователи ИИ поняли, что детерминированный подход к искусственному интеллекту не подходит для моделирования мышления человека. Интерес ученых переместился в область создания более реалистичных моделей, приближенных к мыслительному процессу человека, например, принятие решения лучшей догадкой (best-guess decision). Люди могут принимать такие решения на основе прошлого опыта, собственных взглядов и/или текущего эмоционального состояния – все это дополняет полностью логический процесс принятия решений. На рис. 13.2 показан пример реального мыслительного процесса. Дело в том, что люди принимают не всегда предсказуемые наукой решения на основании своего опыта и логического вывода. Вероятно, мир был бы лучше, если бы все было правильно, однако он был бы безумно скучным!
Рис. 13.2. Более реалистичный процесс мышления содержит эмоциональную и иррациональную составляющие
Логическая схема, показанная на рис. 13.1, – это идеальный сценарий, в котором каждое решение принимается на основе полностью объективного логического вывода. На рис. 13.2 показан более реалистичный вариант принятия решения, в котором учитываются такие факторы, как эмоциональное состояние человека, а также его материальное состояние (есть ли у него страховка). Если рассмотреть второй вариант с логической точки зрения, то человеку нет смысла бросать молоток, потому что это замедлит работу.
Однако это достаточно распространенная реакция человека на боль. Для ИИ плотничной системы, чтобы эффективно отработать такую ситуацию, необходимо предусмотреть код «бросания молотка»!
Приведенный пример мышления должен дать вам понять, какое количество различных факторов формируют человеческую мысль. Поэтому, чтобы эффективно имитировать мыслительный процесс человека, необходима сложная система искусственного интеллекта. В большинстве случаев это утверждение истинно. Однако слово «эффективно» позволяет некоторую степень интерпретации в зависимости от области применения ИИ. Для наших целей «эффективный ИИ» – это ИИ, который делает мобильные игры более реалистичными и захватывающими.
В последние годы исследователи ИИ сосредоточились на проблемах, аналогичных рассмотренным в примере с молотком. Одна из особенно интересных областей – это нечеткая логика (fuzzy logic), которая пытается принимать решения, не следуя железной логике традиционных систем искусственного интеллекта. Другая интересная область – это генетические алгоритмы (genetic algorithms) в играх, с помощью которых имитируется процесс мышления, подобно тому, как это происходит в природе. Игры, в которых применяются генетические алгоритмы, теоретически были бы обучаемыми, тем самым делая процесс игры интереснее.
Типы алгоритмов игрового ИИ
Читать дальше
Конец ознакомительного отрывка
Купить книгу