Румянцев Е.В. Мои Университеты и факультет информатики

Март 2017
Статья посвящена одной из форм учебной исследовательской деятельности учащихся – проекту «Мои Университеты» и работе факультета информатики. В данной работе рассматривается учебный проект «Искусственный интеллект», осуществленный в рамках работы зимней сессии «Моих Университетов» 2016 – 2017 учебного года.
Научные исследования обучающихся в ГБОУ СОШ №257 – это специально организованная деятельность обучающихся по развитию исследовательских навыков: выбор области исследования, знакомство с литературой по теме, выдвижение гипотез, подготовка сообщений.
Научные исследования обучающихся в рамках работы «Моих Университетов» проводятся в течение двух учебных дней (сессий) трижды в каждом учебном году.
При реализации проекта решаются следующие учебно-воспитательные задачи:
  • создание условий для развития творческих способностей учащихся, их самоопределения и самореализации; 
  • приобретение первоначального опыта в различных сферах научно-образовательной деятельности: точных и гуманитарных науках, искусстве; 
  • развитие исследовательских навыков; 
  • развитие у учащихся личностного смысла в приобретении познавате­льного опыта и интереса к дальнейшему обучению после окончания школы; 
  • обучение действиям по самоподготовке и саморазвитию учащихся. 
На время проведения научных исследований формируются учебные группы (факультеты) обучающихся, которые на этот период имеют право свободного выбора факультета. Содержание деятельности обучающихся во время проведения научных исследований включает: обсуждение темы исследования с руководителем факультета, предъявление результатов работы с литературой по теме и обсуждение тезисного плана выступления, подготовка к выступлению, презентации результатов и публичная защита результатов.
Факультет информатики состоит из двух разновозрастных групп (6-11 классы), возглавляемых учителями информатики и ИКТ. Тема зимней сессии «Моих Университетов» 2016 – 2017 учебного года – «Коммуникации, взаимодействие».
Учащийся 6б класса Приходько Никита темой своего учебного проекта выбрал «Искусственный интеллект».
Цель учебного проекта: исследование возможностей применения систем искусственного интеллекта при разработке компьютерных игр.
Для достижения поставленной цели были поставлены следующие задачи:
  • определение перечня основных понятий искусственного интеллекта в компьютерных играх; 
  • описание основных критериев игр для дальнейшей реализации искусственного интеллекта; 
  • определение среды разработки в целях дальнейшей реализации искусственного интеллекта для выбранного языка программирования; 
  • реализация компьютерной игры с применением искусственного интеллекта. 
Для решения поставленных задач были использованы следующие методы:
  • анализ учебно-методической литературы по данной проблеме; 
  • метод практического эксперимента. 
Проект проводился в три этапа:
  • анализ учебно-методической литературы; 
  • выбор среды разработки для дальнейшей реализации проекта; 
  • реализация компьютерной игры с применением искусственного интеллекта. 

Основные понятия искусственного интеллекта в компьютерных играх

Игровой искусственный интеллект (англ. Game artificial intelligence) — набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИИ, помимо методов традиционного искусственного интеллекта, включает также алгоритмы теории управления, робототехники, компьютерной графики и информатики в целом.
Основным препятствием на пути развития игрового искусственного интеллекта является недостаточная развитость методологии практического применения средств искусственного интеллекта. К этим средствам относятся:
  1. Искусственные нейронные сети (ИНС). ИНС построены таким образом, чтобы имитировать работку клеток головного мозга человека и, таким образом, быть способными принимать сложные решения и обучаться на основе получаемого опыта (при помощи специализированных алгоритмов). ИНС могут иметь самое широчайшее применение для реализации сложного поведения объектов. 
  2. Эволюционные алгоритмы, которые можно использовать для обучения и адаптации искусственного интеллекта. 
  3. Использование специализированных архитектур построения системы искусственного интеллекта. 
  4. Подход к реализации ИИ в форме воплощённого анимата. Анимат – это автономное виртуальное существо. Его отличие от классического искусственного интеллекта заключается в его воплощении в виртуальном теле и соответственном ограничении его знаний и способов получения информации, что значительно влияет на правдоподобность поведения. 
Часть вышеописанных средств ИИ была использована автором данного проекта при проектировании системы игрового ИИ. В качестве правил игровой среды для разрабатываемой системы ИИ были выбраны условия классической аркадной игры с видом сверху и возможностью отдачи команд отдельным боевым единицам.

Основные критерии игр для реализации искусственного интеллекта

Простейшей формой искусственного интеллекта является система на основе правил. Такая система дальше всего стоит от настоящего искусственного интеллекта. Набор заранее заданных алгоритмов определяет поведение игровых объектов. С учетом разнообразия действий конечный результат может быть неявной поведенческой системой, хотя такая система на самом деле вовсе не будет «интеллектуальной».
Классическим игровым приложением, где используется такая система, является Pac-Man. Игрока преследуют четыре привидения. Каждое привидение действует, подчиняясь простому набору правил. Одно привидение всегда поворачивает влево, другое всегда поворачивает вправо, третье поворачивает в произвольном направлении, а четвертое всегда поворачивает в сторону игрока. Если бы на экране привидения появлялись по одному, их поведение было бы очень легко определить и игрок смог бы без труда от них спасаться. Но поскольку появляется сразу группа из четырех привидений, их движения кажутся сложным и скоординированным выслеживанием игрока. На самом же деле только последнее из четырех привидений учитывает расположение игрока.
Из этого примера следует, что правила не обязательно должны быть жестко заданными. Они могут основываться на воспринимаемом состоянии (как у последнего привидения) или на редактируемых параметрах объектов. Такие переменные, как уровень агрессии, уровень смелости, дальность обзора и скорость мышления, позволяют получить более разнообразное поведение объектов даже при использовании систем на основе правил.
В более сложных и разумных системах в качестве основы используются последовательности условных правил. В тактических играх правила управляют выбором используемой тактики. В стратегических играх правила управляют последовательностью строящихся объектов и реакцией на конфликты. Системы на основе правил являются фундаментом ИИ.
Способность точно предугадывать следующий ход противника крайне важна для адаптивной системы. Для выбора следующего действия можно использовать различные методы, например, распознавание закономерностей прошлых ходов или случайные догадки.
Определение языка программирования и среды разработки для дальнейшей реализации искусственного интеллекта
Автором данного проекта при проектировании системы игрового ИИ был использован Construct 2, позволяющий создавать 2D-игры, даже не имея навыков программирования.
Scirra Construct 2 – это конструктор 2D-игр, позволяющий разрабатывать игры любого жанра и направленности в формате технологии HTML5. Получаемые посредством Construct 2 игры поддерживаются популярными web-браузерами и мобильными устройствами ОС типа Android или iOS.
Логика игр в Construct 2 создается с помощью системы событий (англ. events) и связанных с ними действий (англ. actions). На данный момент программа имеет более 20 встроенных поведений, включая Platformer, 8 Direction, Bullet, Car, Pathfinding, Turret, Drag'n'drop и т.д., которые облегчают процесс создания игры.
События создаются путем выбора возможных условий и связанных с ними действий. В результате получается четко организованный список событий, сделанный максимально понятным и читабельным для разработчика игр. Целые списки событий могут быть многократно использованы на разных уровнях или сохранены для воссоздания событий на других уровнях.

Реализация компьютерной игры с применением искусственного интеллекта

Оборудование и программное обеспечение:
  • Процессор Intel Core i3;
  • Windows 7 Начальная;
  • Scirra Construct 2, релиз от 19.08.14.
Ход практического эксперимента:
  • в рабочей области создается объект (Фон);
  • создается объект (анимат), применяется поведение – турель (turret);
  • происходит обучение ИИ: создаются правила с помощью системы событий, реализующие такие простейшие действия, как передвижение и атаку. Главная задача, которая должна выполняться системой ИИ заключается в минимизации урона, полученного единицей, и, с другой стороны, максимизации урона, который единица наносит противнику с выбором оптимального вооружения;
  • тестирование кода компьютерной игры;
  • конвертация кода компьютерной игры в HTML5.
Результаты
В результате реализации эпизода компьютерной игры с применением искусственного интеллекта установлено:
  • объект (анимат) на базе ИИ успешно реализует выигрышную тактику по нанесению урона противнику;
  • объект (анимат) на базе ИИ оптимизирует применение оружия для разноуровневого противника;
  • путем усложнения правил можно получить практически непобедимого соперника и, наоборот, можно уменьшить уровень сложности игры;
  • цель проекта: исследование возможностей применением систем искусственного интеллекта при разработке компьютерных игр – достигнута.
В заключение хочется отметить, что проект «Мои Университеты» решает поставленные задачи, вовлекая обучающихся в исследовательскую деятельность, создавая условия для развития творческих способностей учащихся.