Добавить в корзину Удалить из корзины Купить |
Система для организации онлайн-соревнований программ искусственного интеллекта ID работы - 743975 программирование (курсовая работа) количество страниц - 36 год сдачи - 2007 СОДЕРЖАНИЕ: Содержание Содержание 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 Цена: 750.00руб. |
ЗАДАТЬ ВОПРОС
Copyright © 2009, Diplomnaja.ru