На сегодняшний день индустрия компьютерных игр является бурно развивающимся сектором экономики. Разработкой игр занимаются как крупные компании мирового уровня, так и небольшие команды разработчиков, известные только узкому кругу пользователей. Некоторые из компьютерных игр являются одними из наиболее требовательных приложений на персональных компьютерах, для создания и воспроизведения которых используются самые передовые технологии. Другие же игры наоборот, не требуют особой производительности от платформы и способны воспроизводиться даже на смартфонах.
Среди всего разнообразия компьютерных игр особое место занимают многопользовательские онлайн игры. Благодаря использованию клиентсерверных технологий давно прошли те дни, когда люди нуждались в личных встречах с друзьями, чтобы играть в игры. Теперь можно играть когда угодно, и где угодно. Некоторые игры настолько просты, но в то же время увлекательны, что в них можно играть в обеденный перерыв, или по пути на работу. Многие из них созданы по мотивам известных настольных или азартных игр. Подобные игры популярны среди людей, которые хотят отвлечься от повседневной суеты или провести своё свободное время в общении с друзьями.
Однако популярность многопользовательских компьютерных игр обуславливается не только живым общением с другими игроками, но ещё и тем, что человек непредсказуем в своём поведении, он не ограничен никакими рамками. В то время как игровые интеллекты, основанные на стандартных алгоритмах, зачастую предсказуемы и достаточно быстро надоедают. Однако существуют определённые подходы в создании игровых интеллектов, которые позволяют имитировать поведение человека. Например, использование искусственных нейронных сетей позволяет создать игровой интеллект, который в своём поведении практически неотличим от человека.
В настоящее время искусственные нейронные сети применяются повсеместно: начиная от систем распознавания речи до распознавания вторичной структуры белка, классификации различных видов рака и генной инженерии. Развитие данной области программирования позволяет как можно ближе приблизиться к созданию полноценного искусственного интеллекта, способного заменить человека во многих областях его деятельности.
Не на последнем месте стоит применение ИНС в покерных интеллектах, над созданием которых бьются исследовательские группы из многих университетов мира. Покер, который по своей сложности в поиске оптимального решения не уступает шахматам, является идеальной задачей для изучения искусственных нейронных сетей и методов их обучения.
Таким образом, в данной работе будут применены активно развивающиеся технологии программирования и исследованы актуальные проблемы на примере решения достаточно нетривиальной задачи. Всё это обеспечивает значительную актуальность данной работы.
В рамках проделанной работы была детально рассмотрена проблема создания искусственных игровых интеллектов. Рассмотрены различные варианты нейросетевых интеллектов, моделирующих поведение игрока в покер. Для тестирования и изучения интеллектов были реализованы различные среды, в том числе многопользовательское клиент-серверное приложение и менеджер игровых интеллектов.
Полученные результаты доказали эффективность применения генетических алгоритмов для обучения искусственных нейронных сетей, предназначенных для решения трудно формализуемых задач. Рассмотренные варианты интеллектов отличались различными наборами параметров искусственной нейронной сети и генетического алгоритма.
Несмотря на то, что рассмотреть все возможные варианты комбинаций параметров ИНС и генетического алгоритма не представляется возможным, с применением эвристического подхода были определены наиболее интересные наборы параметров, имеющие ярко выраженные черты. Например, рассматривались нейронные сети различным количеством межнейронных связей. При этом количество межнейронных связей варьировалось как количеством нейронов в слое, так и количеством скрытых слоёв. Аналогичным образом подбирались параметры генетического алгоритма: изучалось влияние новообразующего фактора на скорость обучения ИНС.
Полученные результаты показали, что в зависимости от структуры ИНС кардинальным образом меняется её способность к обучению и решению поставленной задачи. Слабыми решениями оказались искусственные нейронные сети с минимальным количеством скрытых слоёв: однослойные каскады показали полную неспособность к обучению. Лучшие результаты были получены у ИНС с большим количеством межнейронных связей, при этом внутренняя структура каскадов этих сетей имеет ступенчатый вид: каждый последующий слой имеет большее количество нейронов, чем предыдущий.
Существенным недостатком метода обучения ИНС, применённого в данной работе, является скорость получения результатов: для того, чтобы получить приемлемые для оценки результаты необходимо провести очень большое количество испытаний. Сам процесс испытаний интеллектов также является неоптимальным и требует существенной доработки.
В качестве наиболее перспективных направлений развития данной работы можно выделить следующие:
1. Исследование вариантов интеллектов, основанных на искусственных нейронных сетях с большим количеством межнейронных связей и ступенчатой структурой каскадов.
2. Оптимизация процесса обучения. Необходимо сократить время, затрачиваемое на тестирование приспособленности особей в популяции. Для этого в первую очередь следует отказаться от численного метода Монте- Карло, который используется в текущем решении. Возможно, имеет смысл ввести третий каскад в общую структуру ИНС, который будет отвечать за вычисление вероятности выигрыша.
3. Использованы не все возможности графического «движка». Клиентское приложение может быть модифицировано, как с точки зрения пользовательского интерфейса, так и с точки зрения оптимизации использования компьютерных ресурсов.
1. Зубков Н. В., Сидоров С. Г. Нейронные сети. Их обучение и использование // «Математическое моделирование и информационные технологии»: Материалы региональной научно-технической конференции студентов и аспирантов. - 2011. - С. 54.
2. Формальный нейрон, 2002, Электронный ресурс: http: //nnet. chat. ru/neuron. html.
3. Генетический алгоритм. Просто о сложном, 2011, Электронный ресурс: https: //habrahabr. ru/post/128704/.
4. T. Cormen, Ch. Leiserson, R. Rivest, C. Stein. Introduction to Algorithms (2009) // 3rd edition. - Cambridge, Massachusetts: MIT Press. - 1313 p.
5. Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы // Под ред. В. М. Курейчика. - 2-е изд., исправл. и доп. - М.:ФИЗМАТЛИТ, 2010. - 368 с.
6. Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP | SavePearlHarbor, 2014, Электронный ресурс: http: //savepearlharbor. com/?p=209144.
7. Реферат - Протокол TCP/IP, 2011, Электронный ресурс: www.ronl .ru/referaty/informatika-programmirovanie/104449.
8. Обмен данных в сети, 2010, Электронный ресурс: http://djamaev- mtt.ucoz.ru/publ/lekcii/kompj uternye_seti/obmen_dannykh_v_seti/3 -1-0-3.
9. Изучение Unity, 2016, Электронный ресурс: https://unity3d.com/ru/learn.
10. Unreal Engine 3 Features, 2016 Электронный ресурс:
https: //www.unrealengine.com/previous-versions.
11. CryENGINE® 3 | Crytek, 2016, Электронный ресурс:
http://www.crytek.com/cryengine/cryengine3/overview.
12. "томский политехнический университет" В. Г. Спицын, Ю. Р. Цой представление знаний в информационных системах, 2007, Электронный ресурс: http://rushkolnik.ru/docs/114/index-7094759.html?page=7.
13. Оценивание популяции, 2015, Электронный ресурс
http: //lektsiopedia. org/lek3-15849.html.
14. Известия ЮФУ. Технические науки, 2005, Электронный ресурс: http://izv-tn.tti.sfedu.ru/.
15. Представление знаний в информационных системах (стр. 12 ), 2008, Электронный ресурс: http://pandia.ru/text/80/016/47780-12.php.
16. Иванцов В. В. Разработка и программная реализация нейросетевого алгоритма для принятия решений в интеллектуальной игре «Покер». - 2016
17. Спицын В. Г., Цой Ю. Р. Применение искусственных нейронных сетей для обработки информации. - 2007. - С. 3.
18. Покерные боты: просто о сложном. История и социализация, 2016, Электронный ресурс: http://cop.glavpoker.ru/blogs/document22886.phtml.