книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Создание приложений в среде программирования Borland Delphi. ( Дипломная работа, 61 стр. )
Создание и обработка баз данных средствами VISUAL BASIC 6.0 ( Курсовая работа, 24 стр. )
Создание и обработка Баз данных средствами Visual Basic 6.0 ( Курсовая работа, 48 стр. )
Создание и обработка Баз данных средствами Visual Basic 6.0 (2) ( Курсовая работа, 54 стр. )
Создание Интернет-магазина ( Дипломная работа, 108 стр. )
Создание клавиатурного тренажера 2005-12 ( Контрольная работа, 12 стр. )
Создание клавиатурного тренажера ( Контрольная работа, 12 стр. )
Создание приложений VBA в Access 16 ( Курсовая работа, 42 стр. )
Создание приложения, реализующего изображение вращающегося многогран-ника ( Курсовая работа, 28 стр. )
Создание программного модуля «Расчет значений параметров и построение прямой призмы» 2008-24 ( Контрольная работа, 24 стр. )
Создание программного модуля «Расчет значений параметров и построение прямой призмы» ( Контрольная работа, 24 стр. )
Создание программного комплекса для выполнения лабораторной работы "Изучение емкостных преобразователей" ( Дипломная работа, 128 стр. )
Создание программных продуктов для решения задач ( Курсовая работа, 22 стр. )
Создание программы «Чат» ( Курсовая работа, 20 стр. )
Создание программы "Двоичное дерево" ( Контрольная работа, 28 стр. )
Создание программы "Двоичное дерево" 2008-28 ( Контрольная работа, 28 стр. )
Создание программы для ОС DOS "Тест открытой формы по языку HTML" на языке программирования C/C++ ( Курсовая работа, 23 стр. )
Создание программы для ОС DOS "Тест открытой формы по языку HTML" на языке программирования C/C++ 2008-23 ( Курсовая работа, 23 стр. )
Создание программы на С++ в среде Builder Borland 6.0. ( Контрольная работа, 13 стр. )
Создание рабочего демонстрационного windows-приложения на языке программирования Delphi ( Курсовая работа, 41 стр. )
Создание слайдов ( Контрольная работа, 14 стр. )
Создание стереоизображений ( Курсовая работа, 8 стр. )
Создание файлового менеджера средствами среды программирования Borland Delphi ( Дипломная работа, 89 стр. )
Составить алгоритм и написать программу для ввода пройденного пути и времени в пути и вычисления средней скорости 12 ( Контрольная работа, 14 стр. )
Составить программный продукт исследующие финансовое состояние организации ЗАО "Сельхозсервис" . ( Дипломная работа, 94 стр. )

Содержание

Содержание 2

Введение 4

1.1. Глоссарий 4

1.2. Описание предметной области 4

1.3. Неформальная постановка задачи 5

1.4. Обзор существующих методов решения 5

1.4.1. Java AI Programming Contest 5

1.4.2. Learning Machine Challenge 6

1.4.3. JRobots 6

1.4.4. Arimaa-challenge 6

1.4.5. Real-Time Battle 6

1.4.6. Вывод 6

2. Требования к окружению 7

2.1. Требования к аппаратному обеспечению 7

2.2. Требования к программному обеспечению 7

2.3. Требования к пользователям 7

3. Архитектура системы (общие требования) 9

4. Спецификация данных 11

4.1. Описание формата и структуры данных. 11

4.1.1. Конфигурационный файл системы 11

4.1.2. База данных системы 11

4.1.3. Программы ИИ 11

4.1.4. Файлы карт 11

4.2. Описание сущности 11

4.2.1. Сущность «Профили» (Logins) 11

4.2.2. Сущность «Администратор системы» (iviRoot) 11

4.2.3. Сущность «Тип Игры» (GameType) 12

4.2.4. Сущность «Программа ИИ» (Ai) 12

4.2.5. Сущность «Карта» (Map) 12

4.2.6. Сущность «Турнир» (Tournament) 13

4.2.7. Сущность «Группа матчей» (Batch) 13

4.2.8. Сущность «Участник матча» (MatchMember) 14

4.2.9. Сущность «Матч» (Match) 14

4.2.10. Сущность «Проведение группы матчей» (BatchExecution) 15

4.2.11. Сущность «Проведение матча» (MatchExecution) 15

4.2.12. Сущность «Очки участника матча» (Score) 16

4.2.13. Сущность «Очередь на проведение» (BatchExecQueue) 16

4.3. Описание протокола 17

4.3.1. Протокол взаимодействия между подсистемой управления соревнованием и web-интерфейсом системы. 17

4.3.2. Протокол взаимодействия между арбитром и подсистемой управления соревнования 17

4.3.3. Протокол взаимодействия между арбитром и программой искусственного интеллекта 18

5. Функциональные требования 18

5.1. Web-интерфейс системы 18

5.2. Подсистема управления соревнованием 19

5.3. Арбитр 19

5.4. Подсистема вывода данных о ходе игры 19

6. Требование к интерфейсу 19

6.1. Web-интерфейс системы 19

6.2. Арбитр 19

6.3. Подсистема управления соревнованием 20

7. Проект 20

7.1. Средства реализации 20

7.1.1. Web-Интерфейс Системы 20

7.1.2. База данных системы 20

7.1.3. Арбитр 20

7.1.4. Подсистема управления соревнованием и подсистема вывода данных о ходе игры 21

8. Модули и алгоритмы 21

8.1. Web-интерфейс системы 21

8.2. Система управления соревнованием. 23

8.3. Арбитр 24

8.4. Подсистема вывода данных о ходе игры 26

8.5. Алгоритмы взаимодействия элементов подсистемы. 26

8.5.1. Управление данными системы. 26

8.5.2. Проведение соревнования. 26

8.6. Проект интерфейса 28

8.6.1. Web-интерфейс системы 28

8.6.2. Арбитр 28

8.6.3. Подсистема управления соревнованием 28

8.6.4. Подсистема вывода данных о ходе игры 29

9. Структуры данных 31

10. Реализация и тестирование 32

10.1. Реализация 32

10.2. Тестирование 33

Заключение 35

Список литературы 36

Введение

1.1. Глоссарий

ИИ – искусственный интеллект.

Программа ИИ – программный продукт, имитирующий искусственный интеллект.

Игрок – автор программы ИИ.

Программа ИИ – программный продукт, имитирующий искусственный интеллект. Данный программный продукт строго определённым интерфейсом.

Соревнование ИИ – последовательность игр с участием некоторого множества программ ИИ, в процессе которой выясняется преимущество одной программы ИИ перед другой.

Арбитр – программный продукт, способный провести соревнование ИИ.

Пошаговая игра – игра, в которой участники ходят по очереди.

Карта игры – набор установленных параметров игры.

Матч игры – игра одного или более программ ИИ на одной карте.

Результаты матча – некоторая числовая характеристика, отражающая деятельность программ ИИ во время матча.

Группа матчей – несколько матчей результаты которых корректно сравнивать.

1.2. Описание предметной области

Каждый год в рамках Весеннего турнира юных программистов проводится конкурс «Игровой искусственный интеллект».

Участникам конкурса предлагается реализовать программу, имитирующую игровой искусственный интеллект, для игры в определённую пошаговую игру. Программа участника конкурса определяет следующий шаг, исходя из текущего состояния игры.

Во время конкурса программы ИИ играют друг с другом. Программа, которая набрала большее число очков, считается лучшей.

Каждый год для проведения этого конкурса организаторами составляются новые правила игры и публикуются на сайте ИМиКН (см.[15]). Программы предоставляются жюри в виде исполняемых файлов. Во время официальной части конкурса все желающие могут наблюдать за ходом соревнования.

В настоящее время для проведения соревнований используется управляющая система, способная организовать и отобразить в реальном времени игру пары игроков. Для поведения соревнования приходится запускать эту систему множество раз для игры каждой пары участников. Если программ ИИ n штук, и правила игры предполагают матчи между двумя программами ИИ, то необходимо провести встреч. Настройка управляющей системы перед каждым раундом соревнований проводится вручную, что с учетом увеличения участников является трудоёмкой задачей.

Задачу сокращения времени проведения конкурса можно решить за счет автоматизации процесса проведения соревнования.

1.3. Неформальная постановка задачи

В рамках данной курсовой работы должен быть разработан программный продукт, предоставляющий ряд функций по автоматизации проведения конкурса

Для организаторов конкурса:

o Генерация турнирной таблицы.

o Автоматическое проведение соревнований программ ИИ по турнирной таблице.

o Удобный ввод данных об участниках, турнирах, программах ИИ.

Для участников конкурса:

o Регистрация в системе.

o Проведение соревнований своей программы ИИ и программ ИИ других участников.

o Обеспечение возможности наблюдения за ходом соревнований.

o Просмотр итогов конкурса.

Необходимо выполнение следующих условий:

• Система для организации онлайн соревнований программ ИИ должна быть реализована как клиент-серверное приложение.

• Администрирование и доступ к данным должен быть доступен по сети.

• Система должна быть гибкой: переход к новой игре должен быть максимально простым.

• Для примера, система должна позволять проводить соревнования программ ИИ по правилам игры Весеннего турнира академии юных программистов 2007 года.

• Система должна быть хорошо документирована.

1.4. Обзор существующих методов решения

В настоящий момент существует множество систем автоматического проведения соревнований ИИ в сети.

1.4.1. Java AI Programming Contest

Система, расположенная по адресу: http://ece.fsa.ucl.ac.be/adagneli/aicontest/, предназначена для проведения онлайн соревнований программ ИИ в симуляторе гонок. Цель ИИ провести болид между всеми маячками, учитывая инерцию, возможность столкновения и т.п.

Программа просмотра реализована как Java-applet. Данная система является закрытой и поддерживает только программы ИИ написанные на языке Java.

1.4.2. Learning Machine Challenge

Официальный сайт системы www.a-i.com. Система для проведения соревнований chat-bot’ов.

Исходный код системы тестирования является открытым, но представляет собой аналог управляющей системы, существующей в ИМиКН на данный момент.

1.4.3. JRobots

Система, расположенная по адресу http://jrobots.sourceforge.net/, по принципу работы аналогична системе Java AI Programmig contest, но в данной системе программы ИИ управляют действиями боевых роботов.

1.4.4. Arimaa-challenge

Система, расположенная по адресу http://www.arimaa.com, предназначена для проведения онлайн соревнований программ ИИ в игре Arimaa – аналог шахмат. Данный сайт предоставляет возможности просмотра записи ходов в наглядной программе просмотра.

Программа просмотра реализована как Java-applet. Данная система является закрытой.

1.4.5. Real-Time Battle

Список литературы

[1] Российская ассоциация искусственного интеллекта. http://www.raai.org

[2] Рожков М. В. Дипломная работа «Система автоматического тестирования программ и организации соревнований по программированию»

[3] Вентцель Е.С. Введение в исследование операций, М.: Изд. «Советское радио», 1964

[4] Оуэн Г. Теория игр. М.: Мир, 1971. 229с.

[5] Бикнер К. Экономичный Web-дизайн /Кэрри Бикнер; Пер. с англ. Д.С. Ремизова М.: НТ Пресс, 2005. -248с.: ил.

[6] Гото К. и Котлер Э. Вёб-редизайн: книга Келли Гото и Эмили Котлер. – пер. с англ. – СПб: Символ-Плюс, 2003. – 376с. цв. ил.

[7] Нильсен Я. Веб-дизайн: книга Якоба Нильсена – Пер.с анг. СПб: Символ-Плюс, 2003 – 512 с. цв. ил.

[8] Драхвелидзе П.Г., Марков Е.П. Delphi 2005 для Win32 – СПб.: БХВ-Питербург, 2005 – 1136 с.:ил.

[9] Фелёнов М.Е. Библия Delphi – СПб.: БХВ-Питербур, 2004 – 880 с.:ил.

[10] Культин Н.Б. Delphi6, Программирование на Object Pascal

[11] Спецификация HTML 4.0 http://www.w3.org/TR/REC-html40

[12] Cascading Style Sheets, level 2 CSS2 Specification (Каскадные Таблицы Стилей, уровень 2 Спецификация CSS2) http://www.w3.org/TR/REC-CSS2

[13] Template Toolkit (русская редакция) http://www.template-toolkit.ru

[14] Кленин А. С. Технология Методические указания по подготовке и защите отчётов на специализации «Прикладная математика. Системное программирование», ДВГУ, 2006,

[15] Сайт ИМиКН http://imcs.dvgu.ru

приложений нет

2000-2024 © Copyright «DipMaster-Shop.ru»