Управление группой мобильных объектов

Автор работы: Пользователь скрыл имя, 26 Февраля 2013 в 06:52, курсовая работа

Описание работы

Данная курсовая работа посвящена разработке алгоритма интеллектуального управления танком для участия в конкурсе «Российский кубок по программированию искусственного интеллекта CodeTanks 2012 (Russian AI Cup)». В работе рассмотрены принципы наиболее эффективного поведения танка, позволяющие ему эффективно передвигаться по полю, минимизировать повреждения от танков оппонентов и набирать как можно большее количество очков за счет уничтожения танков оппонентов. Алгоритм реализован на языке программирования Python 2.7.3 в среде разработки JetBrains PyCharm 2.6.3.

Содержание работы

Введение 3
1 О мире CodeTanks 2012 4
1.1Общие положения и правила 4
1.2 Описание игрового мира 5
1.3 Описание танков 7
1.4 Описание снарядов и механики попаданий 9
1.5 Описание бонусов 10
1.6 Начисление баллов 11
2 Стратегия управления танком 12
2.1 Выбор танка 12
2.2 Принципы поведения танка 14
2.2.1 Движение танка 15
2.2.1.1 Уворот 19
2.2.1.2 Рикошет 20
2.2.2 Стрельба 22
Заключение 24
Список использованной литературы 25
Приложение А 26

Файлы: 1 файл

kur.docx

— 3.01 Мб (Скачать файл)

Содержание

 

Введение                    3

1 О мире CodeTanks 2012                 4

1.1Общие положения и правила               4

1.2 Описание игрового мира                5

1.3 Описание танков                 7

1.4 Описание снарядов и  механики попаданий             9

1.5 Описание бонусов                10

1.6 Начисление баллов                11

2 Стратегия управления  танком               12

2.1 Выбор танка                 12

2.2 Принципы поведения  танка              14

2.2.1 Движение танка               15

2.2.1.1 Уворот               19

2.2.1.2 Рикошет               20

2.2.2 Стрельба                22

Заключение                  24

Список использованной литературы              25

Приложение А                  26


         

1304.123074.000 ПЗ

         

Изм.

Лист

№ докум

Подп.

Дата

Разраб.

     

Разработка алгоритма интеллектуального  управления группой мобильных объектов

Лит.

Лист

Листов

Пров.

       

 У

 

1

41

Т.контр

       

Н.контр

     

Утв.

     

 

 

 


Изм.

Лист

№ докум.

Подпись

Дата

Лист

3

 1304.123074.000 ПЗ


Введение

 

Данная курсовая работа посвящена  разработке алгоритма интеллектуального  управления танком для участия в  конкурсе «Российский кубок по программированию искусственного интеллекта CodeTanks 2012 (Russian AI Cup)». В работе рассмотрены принципы наиболее эффективного поведения танка, позволяющие ему эффективно передвигаться по полю, минимизировать повреждения от танков оппонентов и набирать как можно большее количество очков за счет уничтожения танков оппонентов. Алгоритм реализован на языке программирования Python 2.7.3 в среде разработки JetBrains PyCharm 2.6.3.

 

1 О мире CodeTanks 2012


CИзм.

Лист

№ докум.

Подпись

Дата

Лист

4

1304.123074.000 ПЗ


odeTanks 2012 – это Российский кубок по програмированию искуственного интеллекта.

Целями конкурса являются:

- повышение общественного  интереса к сфере создания  программных продуктов;

- предоставление участникам  конкурса возможности раскрыть  творческие способности;

- развитие профессиональных  навыков участников конкурса.

1.1 Общие положения и правила

 

Данное соревнование предоставляет  возможность проверить навыки программирования, создав искусственный интеллект (стратегию), управляющий танком в специальном  игровом мире. Танк должен сражаться  на поле боя против боевых подразделений  той же численности нескольких других игроков в режиме «каждый сам  за себя». Победителем считается  игрок, набравший максимальное количество баллов.

На выбор игроку дано 3 типа танков, различающихся по целому ряду параметров: средний танк (СТ), тяжелый танк (ТТ) и самоходное противотанковое орудие (ПТ). Каждая стратегия во время инициализации выбирает себе тип танка, которым и будет управлять во время боя.

 


Изм.

Лист

№ докум.

Подпись

Дата

Лист

5

1304.123074.000 ПЗ


1.2 Описание игрового мира

 

Игровой мир представляет собой некоторую двумерную прямоугольную  область, ограниченную нерушимыми стенами. Размер области 1280х800 точек. Ось абсцисс  направлена слева направо, ось ординат  – сверху вниз, а положительный  угол вращения означает вращение по часовой  стрелке. Боевые подразделения игроков  расположены на окружности, центр  которой совпадает с центром  игрового мира. Расстояния между любыми двумя соседними взводами танков равны. Изначально все танки направлены в центр игрового мира.

Время в игре дискретное и измеряется в «тиках». В начале каждого «тика» игра получает от стратегий  желаемые действия танков в этот тик  и обновляет состояние танков в соответствии с этими желаниями и ограничениями мира. Затем происходит расчет изменения мира и объектов в нем за этот тик, и процесс повторяется снова с обновлёнными данными. Максимальная длительность каждой игры – 5000 тиков. Существуют случаи, в которых игра может закончиться раньше этого времени, например, в случае, если не уничтоженными остался только танк одного игрока, либо стратегии всех игроков «упали». «Упавшая» стратегия больше не может управлять танками.

Стратегия считается «упавшей»  в одном из двух случаев:

- Процесс, в котором  запущена стратегия, непредвиденно  завершился, либо произошла ошибка  в протоколе взаимодействия между  стратегией и игровым сервером;


- Стратегия превысила  одно (любое) из отведенных ей  ограничений по времени. Стратегии  на один тик выделяется не  большее 2 секунд реального времени.  Но в сумме за всю игру  стратегии выделается 50 х <длительность игры в тиках> миллисекунд реального времени и 20 х <длительность игры в тиках> Изм.

Лист

№ докум.

Подпись

Дата

Лист

6

1304.123074.000 ПЗ


миллисекунд процессорного  времени.

В мире CodeTanks 2012 существует 3 типа объектов. Далее приведено их физических и геометрических параметров:

- Танк – объект прямоугольной  формы, управляемый игроком (подробнее  управление танком будет описано  далее). У танка есть башня с  орудием, угол поворота которой  может отличаться от угла поворота  корпуса танка. Ни башня, ни  орудие никаким образом не  взаимодействуют с другими объектами,  таким образом танки могут  подъехать вплотную, даже если  их оружия направлены друг  на друга. На движение танка  могут воздействовать внешние  факторы, такие, как соударение  с другими объектами, сила трения, сила сопротивления воздуха. Скорость  танка при столкновении с другим  объектом изменяется естественным  образом в зависимости от начальных  скоростей танка и объекта  и их масс. При столкновении  двух танков на большой скорости  они оба получают урон.

- Снаряд – небольшой  объект прямоугольной формы, появляющийся  при выстреле из танка. Центр  его совпадает с концом орудия  танка, а направление – с  направлением башни танка. Снаряд  имеет некоторую начальную скорость, зависящую от типа снаряда,  и далее стратегией не управляется.  При попадании в танк, снаряд  либо взрывается, нанося урон, либо, в зависимости от угла соударения, рикошетит от танка и продолжает  лететь дальше. В любом случае, скорость как снаряда, так и  танка после соударения изменяется  в зависимости от их масс.


- Бонус (полезный предмет)  – статический объект квадратной  формы, появляющийся случайным  образом в различных точках  мира. При попадании снаряда в  бонус, оба они уничтожаются  и исчезают из мира. Танк может Изм.

Лист

№ докум.

Подпись

Дата

Лист

7

1304.123074.000 ПЗ


подобрать бонус, коснувшись его. При этом скорость танка изменяется так, как если бы он столкнулся с  бонусом.

1.3 Описание танков

 

Как уже было сказано выше, в игре существует три типа танков.

СТ – небольшой лёгкий и мобильный танк, основным преимущество которого являются не броня и высокая  прочность корпуса, а способности  уходить от атак, заходить во фланг  противнику, а также быстро собирать бонусы. В дополнение к этому СТ может двигаться задним ходом  ненамного медленнее, чем вперед.

ТТ имеет чуть большие  размеры и гораздо массивнее. Он менее подвижен, чем СТ. Главным  преимуществом ТТ является повышенная прочность корпуса и достойное  лобовое и бортовое бронирование.

ПТ в большинстве случаев  представляет собой стационарную турель – боевую единицу поддержки. ПТ имеет  высокую прочность корпуса и  очень толстую лобовую броню. Однако бортовая броня тоньше. Чем  у среднего танка, а ограничение  угла поворота орудия не позволяет  стрелять по противникам, если только они не находятся в узком секторе  перед ПТ. Вдобавок к выше сказанному, ПТ не слишком мобильно. Это делает его уязвимым к фланговым обходам, а также практически исключается  возможность сбора бонусов.

 


Изм.

Лист

№ докум.

Подпись

Дата

Лист

8

1304.123074.000 ПЗ


В следующей таблице приведены  основные характеристики танков.

Таблица 1. Основные характеристики танков

Характеристика танка

СТ

ТТ

ПТ

Ширина, точек

90

105

112,5

Высота, точек

60

75

67,5

Длина орудия, точек

67,5

82,5

97,5

Масса танка, ед. массы

10

30

20

Мощность двигателя, ед. мощности

7500

13500

7500

Коэфф. мощности при движении назад 

0,75

0,65

0,5

Скорость поворота башни, град/тик

1

0,75

1,5

Макс. угол поворота башни, град

-

-

20

Макс. здоровье экипажа

100

100

100

Макс. прочность корпуса

200

250

250

Толщ. лобовой брони, мм

175

200

250

Толщ. бортовой брони, мм

150

175

250

Толщ. кормовой брони, мм

100

100

100

Длительность перезарядки, тиков

150

150

125



Помимо геометрического  положения, у танка есть 3 параметра, отображающих его текущее состояние: прочность корпуса, здоровье экипажа  и количество премиумных снарядов. Если значение прочности корпуса  или здоровья экипажа опускается до нуля, танк считается уничтоженным и далее Изм.

Лист

№ докум.

Подпись

Дата

Лист

9

1304.123074.000 ПЗ


не управляется стратегией. Тем не менее, танк не исчезает из мира, а остается как пассивный объект. Уничтоженный танк под воздействием внешних сил может быть смещен. С уменьшением здоровья экипажа  эффективность управления танком падает: он начинает медленнее двигаться, поворачивать башню, увеличивается время перезарядки  орудия. Премиумные снаряды лучше  обычных по большинству параметров, но их количество ограничено, в то время  как количество обычных снарядов бесконечно

1.4 Описание снарядов и механики попаданий

 

Единственным преимуществом  обычных снарядов является высокая  начальная скорость полёта. Недостатков  множество: падение бронепробиваемости пропорционально падению скорость, небольшой урон, вероятность рикошета.

Премиумные снаряды этих недостатков лишено, однако начальная  скорость полёта у них меньше, что  делает проблематичной стрельбу на большие  дистанции, и количество таких снарядов строго ограничено.

Основные характеристики снарядов приведены в следующей  таблице:

Таблица 2. Основные характеристики снарядов

Характеристика

Обычный снаряд

Премиумный снаряд

Длина, точек

22,5

22,5

Ширина, точек

7,5

7,5

Масса, ед. массы

1

0,5

Начальная скорость, точек/тик

16,7

13,3

Урон

20

35

Бронепробиваемость, мм

215

250

Падение бронепробиваемости

Да

Нет

Угол рикошета, град

60

-



Изм.

Лист

№ докум.

Подпись

Дата

Лист

10

1304.123074.000 ПЗ


Пояснения к некоторым  характеристикам:

- Бронепробиваемость –  максимальная толщина брони, которую  может пробить снаряд.

Информация о работе Управление группой мобильных объектов