С самых первых дней зарождения игровой индустрии, начиная с таких игр, как Pong, средства искусственного интеллекта стали неотъемлемой частью практически любой компьютерной игры. В связи с тем, что сегодня многие аспекты современных игр (например, графика или звук) достигли удивительной степени совершенства, внимание разработчиков все больше и больше сосредоточивается на усовершенствовании средств искусственного интеллекта. В последние годы наблюдается взрывообразный рост интереса к вопросам разработки игровых средств искусственного интеллекта, причем в новейших игровых программах такие средства даже выдвигаются на передний план.
Для подавляющего большинства людей искусственный интеллект – это мозг могущественных киборгов. Это не удивительно, ведь именно в таком контексте используется этот термин в фантастических фильмах. Для программистов искусственный интеллект – набившее оскомину модное выражение, используемое для обозначения технологии, которая на протяжении XX века вновь и вновь не оправдывала возлагаемые на нее ожидания. Для ученых искусственный интеллект – неисчерпаемый источник интересных задач, открытий и научных степеней.
А какое отношение имеет искусственный интеллект к разработчикам игр?
Следует понимать, что термин искусственный интеллект, строго говоря, имеет два разных значения:
Машинный интеллект
С исторической точки зрения термином «интеллектуальный» человек описывает сам себя. Именно наличием интеллекта человек отличается от животных и растений. В наши дни слово «интеллект» используется для описания одной из отличительных черт людей; если кого-то называют «высокоинтеллектуальным», то под этим подразумевается человек, особенно развитый в умственном отношении.
Универсальная способность
С концептуальной точки зрения, вне всякого сомнения, существует универсальная форма интеллектуальности. И люди, и животные обладают небольшой долей этой способности и обнаруживают в себе конкретные проявления универсальной интеллектуальности. По-видимому, мы, люди, унаследовали большую часть этой универсальной способности. Но в связи с тем, что в основе нашей интеллектуальности лежит биологическая природа, мы лишены некоторых характеристик универсальной интеллектуальности (например, полноты и нейтральности).
Большинство исследователей в области компьютерных наук считают, что биологическая интеллектуальность доступна для воспроизведения и что интеллект не является исключительно атрибутом человека. Из этого предположения по существу следует вывод, что часть универсальной интеллектуальности можно перенести и на машину. Таким образом, искусственный интеллект – это искусственно созданный аналог интеллектуальности, вырабатываемой мозгом человека как биологического существа. Очевидно, что развитие технических средств приводит к получению иных результатов, чем биологическая эволюция, и в этом состоит объяснение того факта, что искусственный интеллект характеризуется другими свойствами по сравнению с человеческим интеллектом (например, доскональностью во всем). Таким образом, искусственный интеллект – это еще одно проявление универсальной интеллектуальности.
Нелегко дать определение такого абстрактного понятия, как универсальная интеллектуальность, особенно в связи с тем, что количество действительно выразительных примеров ее проявления невелико. Но можно попытаться составить определение человеческого интеллекта.
Определение интеллекта
Ввиду отсутствия лучшего определения, будем полагать, что интеллект – это набор умений и навыков, которые позволяют людям решать задачи в условиях ограниченности ресурсов. К этим умениям и навыкам относятся способность к обучению, абстрактное мышление, умение планировать, воображение и творчество. Именно они и составляют самые важные аспекты человеческого интеллекта.
Учитывая, сколь широка палитра умений и навыков, образующих интеллект, мы не можем сформулировать проблему, решение которой можно было бы использовать в качестве теста интеллекта. Так, элементы интеллекта проявляют даже животные: они умеют, например, самостоятельно выживать в естественных условиях и управлять своим временем. Колонии насекомых также умеют быстро адаптироваться к изменениям среды обитания для защиты своих гнезд. Даже популярные тесты IQ измеряют, скорее, не столько уровень интеллекта, сколько уровень тренированности и умение сдавать подобные тесты. Иными словами, такие тесты измеряют интеллект лишь в его узком смысле.
Компьютерным игровым средствам искусственного интеллекта приходится решать в ходе игры такие же задачи, что и людям, но с применением методов искусственного интеллекта. Средства искусственного интеллекта управляют персонажами компьютерных игр, успешно добиваясь создания иллюзии целенаправленной деятельности.
Алгоритмы искусственного интеллекта можно применять для решения практически любых задач, а не только для моделирования человеческого интеллекта. Например, они могут использоваться для управления производственной линией в промышленности или для распознавания образов в медицине. Эти методы становятся частью научного направления, посвященного исследованию задач искусственного интеллекта, в связи с наличием общих характерных особенностей между биологическим и искусственным интеллектами (например, способности к обучению или абстракции).
Искусственный интеллект, как научная дисциплина, находится на пересечении многих других дисциплин (например, компьютерных наук, психологии и математики). Каждая из них, в свою очередь, опирается на огромный пласт накопленных человечеством знаний об окружающей нас природе и о нас самих. Учитывая столь обширный круг вопросов, сопутствующих моделированию искусственного интеллекта, очень сложно сказать, что принадлежит к области научных интересов ученых, занимающихся этой темой, а что — нет. Круг научных интересов специалистов по искусственному интеллекту постоянно расширяется, вторгаясь в другие области человеческих знаний; это свидетельствует о зрелости данного научного направления и соответствии его научного аппарата другим естественно-научным теориям.
Исторически сложилось так, что ученые, занимающиеся проблемами искусственного интеллекта, как правило, сосредоточиваются на достаточно узких проблемах и методах, привязанных к конкретной проблемной области. Такая узкая специализация делает задачу изучения (а равно и практического воплощения) возможных решений относительно несложной. Подобные узкоспециализированные решения получили название слабого искусственного интеллекта, поскольку их очень трудно применить где-либо за пределами проблемных областей, для которых они разработаны.
Подобная слабость искусственного интеллекта постепенно стала чем-то вроде лежащего на дороге валуна, который нельзя ни обойти, ни объехать. Во многих проблемных областях методы искусственного интеллекта зарекомендовали себя с самой лучшей стороны, однако при этом для их корректного применения в подавляющем большинстве случаев требуется наличие человека-эксперта. Когда же предпринимаются попытки собрать эти методы воедино для решения более крупномасштабных проблем, становится понятно, что эти методы слишком специализированы.
Именно поэтому нам нужно заниматься подготовкой инженеров, специализирующихся в области искусственного интеллекта. Если бы теоретические основы искусственного интеллекта были совершенными, в программистах вообще не было бы необходимости. Однако до наступления этого момента еще, как минимум, несколько десятилетий, поэтому мы по-прежнему при разработке технических систем нуждаемся в людях. Все это относится и к реализации технологий искусственного интеллекта в компьютерных играх.