Свой первый обучающий курс по системам искусственного интеллекта (ИИ) я прошёл в 2008-м году. Тематика «думающих машин» ещё с детства увлекала меня, а после более плотного знакомства с практической стороной – вопросы компьютерного мышления вошли в сферу моих профессиональных интересов. Сейчас я разрабатываю, исследую и экспериментирую с разными подходами к созданию ИИ:
- как ИИ для решения сложных научно-практических задач,
- так и игрового ИИ для реализации осмысленно ведущих себя компьютерных оппонентов.
Любимые методики
Универсального решения в области ИИ (пока) не существует – однако, расскажу о некоторых из моих разработок, находящих практическое применение. Моим ноу-хау в области ИИ является воплощение в компьютерных системах базовых принципов бихевиоризма – подхода к низкоуровневому описанию поведения живых существ.
Бихевиоризм рассматривает поведение существа на рефлекторном уровне. Возникающие стимулы (отрицательные или положительные, внешние или внутренние) побуждают его к проявлению тех или иных реакций. Иногда стимулы могут быть достаточно приземлёнными (боль, голод, удовольствие), иногда – достаточно сложными (достижение некоторой цели).
Так или иначе, такого рода системы мотивации оказалась достаточно удобными для того, чтобы сформировать базу сложного поведения компьютерного персонажа.
Простейший из используемых подходов – это система “стимул-реакция”. Любое живое существо имеет совокупность стимулов – внешних и внутренних раздражителей, оказывающих влияние на состояние его нервной системы. Интерес, боль, голод, агрессия, усталость, тревога – всё это, накапливаясь выше определённого порога, порождает реакцию. Испытывающее сильный голод животное займётся поисками пищи, чем-то испуганное – примет меры для защиты или бегства. Если животное находится под воздействием нескольких стимулов одновременно (например, хочет есть и спать) – будет выбран имеющий высший приоритет или просто наиболее сильный.
Скорость накопления того или иного стимула можно регулировать. Это полезно для воплощения в жизнь персонажей, ведущих себя реалистично – крайне просто создать характер конкретного противника. Задав высокую скорость роста Страха, можно легко создать оппонента-труса, предпочитающего спасаться бегством при первом же ранении; сделав её небольшой или нулевой, можно создать берсеркера. Населяя виртуальный мир животными, можно, к примеру, заранее задать самке кабана, охраняющей своё потомство, заведомо завышенную Агрессию (при встрече с нею игрок будет сразу же атакован), а лесному оленю – высокое значение Осторожности (чуть заслышав игрока, тот бросится бежать, забыв о прочих своих делах).
Более продвинутой схемой табличной логики являются марковские цепи. Обычно марковские цепи используются для работы с текстами – однако, они имеют огромный потенциал в принятии решений. Правильно настроенный математический аппарат марковских цепей позволяет компьютерным оппонентам не только реагировать напрямую на происходящие события, но и строить прогнозы для любых игровых ситуаций, выдвигать собственные оценки и гипотезы насчёт дальнейшего их развития. Этот подход позволяет реализовывать отдельные подсистемы ИИ, отвечающие за оценку событий, принятие решений и формулирование управляющих выводов.
К примеру, компьютерный оппонент может перед боем оценить вероятность уничтожения игрока имеющимся вооружением – и занять оборону или отступить. Произведя несколько выстрелов, он может, вычислив вероятность вывода из строя игрока различными способами и применить наиболее действенный. Совершенствуя алгоритм, можно создать практически непобедимого противника – или наоборот, сделать его человечным. ИИ может, потеряв игрока из вида, выдвигать несколько “гипотез”, и вычислять наиболее вероятный его маршрут. При этом игрок может запутывать преследователей, используя отвлекающие манёвры, уловки – и ИИ, подобно человеку, пойдёт по ложному следу. Такие приёмы позволяют сделать поведение персонажей под управлением компьютерного оппонента гораздо более живыми, интересными и правдоподобными.
К сожалению, я ограничен крайне жёстким NDA, потому я не могу показать ряд крайне любопытных практических результатов. Тем не менее, вопросы применения моих наработок в области ИИ отчасти описаны ниже, отчасти поднимаются в других разделах моего сайта.
Больше?
За годы работы в данной области, я опубликовал ряд научных и технических статей, освещающих различные аспекты разработки ИИ:
- Клёнов И.Л. Элементы игрового ИИ на основе табличной логики и марковских цепей. Разработка игр Gamedev.ru, 2012 г. URL: https://gamedev.ru/code/articles/Markov_chain_AI
- Клёнов И.Л. Марковские цепи как метод динамического прогнозирования в многообъектных многокритериальных системах управления летательными аппаратами. Молодёжный научно-технический вестник МГТУ им. Н.Э. Баумана. М.: МГТУ им Н.Э. Баумана, #04, апрель 2013.
- Клёнов И.Л. Разработка центральной вычислительной системы барражирующей крылатой ракеты. Молодёжный научно-технический вестник #12, декабрь 2014.
- Клёнов И.Л. Разработка системы принятия решений мобильного исследовательского космического аппарата. Молодёжный научно-технический вестник #13, декабрь 2015.
- Клёнов И.Л. Забытое секретное оружие Unity – UnityEvents. Интернет-издание Хабр, 2016. URL: https://habr.com/ru/post/308570/
- Клёнов И.Л. Алгоритм оценки эффективности расположения боевых единиц на морском театре военных действий на основании показателей RICAL. Инженерный журнал: наука и инновации, 2017, вып. 11.
- Клёнов И.Л. Оценка эффективности применения группировки береговых ракетных комплексов при её расширении вертолётным комплексом целеуказания. Труды 22 секции им В.Н. Челомея XXLII Академических чтений по космонавтике им. С.П. Королёва, 2017 г.
- Клёнов И.Л., Виноградов А.Г. Алгоритм оценки эффективности ПБРК при различных источниках целеуказания. Материалы секции III (закр.) I научно-технической конференции по перспективным разработкам РКТ АО “ВПК “НПО машиностроения”, 2018 г.
- Клёнов И.Л., Виноградов А.Г. Верификация алгоритма прогнозирования результатов применения КР с использованием дерева сценариев. Сборник статей АО “Концерн “Гранит-Электрон” для закрытых материалов, 2019 г.
- Клёнов И.Л. Автоматизация анализа конфликтной ситуации с использованием алгоритма на базе дерева сценариев. Труды 22 секции им В.Н. Челомея XXLVI Академических чтений по космонавтике им. С.П. Королёва, 2020 г.