книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Метод Рунге-Кутта решения дифференциального уравнения ( Контрольная работа, 9 стр. )
МЕТОД СОРТИРОВКИ ПО ГЛУБИНЕ. АЛГОРИТМ ХУДОЖНИКА ( Курсовая работа, 27 стр. )
МЕТОД СОРТИРОВКИ ПО ГЛУБИНЕ. АЛГОРИТМ ХУДОЖНИКА ( Контрольная работа, 27 стр. )
Методика обучения основам программирования на уроках информатики ( Дипломная работа, 68 стр. )
Методические указания: "Создание видео во Flash для презентаций" ( Контрольная работа, 9 стр. )
Методология RAD написания приложений с применением объектно-ориентированной СУБД ( Курсовая работа, 30 стр. )
Методология организации пользовательского интерфейса в ORM приложениях на платформе Microsoft .NET ( Курсовая работа, 20 стр. )
Методы и искусство программирования ( Реферат, 17 стр. )
Многооконный документ на языке Microsoft Visual C++ 6.0 ( Курсовая работа, 115 стр. )
Моделирование геохимических полей с использованием генетических алгоритмов ( Курсовая работа, 14 стр. )
МОДЕЛИРОВАНИЕ МНОГОФАЗОВОЙ СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ* ( Курсовая работа, 29 стр. )
Моделирование процесса взаимодействия подводных роботов и надводных объектов ( Курсовая работа, 11 стр. )
Моделирование работы ветроэнергетической установки с асинхронизированным синхронным ге-нератором, работающей параллельно с промыш-ленной сетью, с помощью Matlab 7 ( Курсовая работа, 28 стр. )
Моделирование роста кристалла арсенида галлия ( Дипломная работа, 100 стр. )
Моделирование систем с одним прибором и очередью ( Контрольная работа, 8 стр. )
Моделирование случайных полей ( Курсовая работа, 18 стр. )
Модернизация инфраструктуры локальной вычислительной сети на предприятии ЗАО «СИБЦНИИТС»- дипломная ( Дипломная работа, 96 стр. )
Модернизация схемы измерителя импеданса (ИИ) на основе дискретного преобразования Фурье. Замена микропроцессора (МП) с целью повышения производительности. Замена АЦП с целью повышения точности измерений." ( Курсовая работа, 35 стр. )
Модуль редактирования таблиц для утилиты FlameRobin ( Курсовая работа, 11 стр. )
Модульное и структурное программирование ( Контрольная работа, 7 стр. )
На основе базового приложения написать программу обработки сообщений нажатия клавиш клавиатуры и кнопок мыши. ( Контрольная работа, 3 стр. )
Назначение устройств чтения и хранения информации. ( Реферат, 22 стр. )
Написать программу «Лототрон 5 из 36». Реализовать игру «Быки и коровы» ( Контрольная работа, 15 стр. )
Написать программу для микропроцессора семейства Intel 8051 ( Курсовая работа, 15 стр. )
Написать программу для тестового стенда на базе микроконтроллера Intel 8051, позволяющую выполнять сложение, вычитание, умножение и деление положительных целых чисел ( Курсовая работа, 28 стр. )

Содержание

Содержание 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»