Автономное управление шаговым агентом. Олимпиада по программированию

Содержание

Слайд 2

Цель и задание ЦЕЛЬ Достигнуть агентом выхода с карты за минимальное

Цель и задание

ЦЕЛЬ
Достигнуть агентом выхода с карты за минимальное время и

минимальное количество шагов
ЗАДАЧА
Разработать программную модель автономного управления шаговым агентом
Слайд 3

Исходные данные Карта Агент в точке входа Точка выхода Препятствия Препятствия

Исходные данные

Карта

Агент в точке входа

Точка выхода

Препятствия

Препятствия

Слайд 4

Условия игры Точки входа и выхода располагаются произвольным образом За один

Условия игры

Точки входа и выхода располагаются произвольным образом

За один шаг агент

проходит одну клетку карты

Клетка видна агенту, только после того как он попытался зайти на неё

Зайти на препятствие нельзя

Достигнув выхода игрок побеждает

Игрок проигрывает если истекло 15 минут или сделаны более 1000 шагов

Препятствие располагаются согласно сложности карты

Слайд 5

Командный интерфейс агента Открыть игровую сессию Шаг вниз Шаг вверх Шаг

Командный интерфейс агента

Открыть игровую сессию
Шаг вниз
Шаг вверх
Шаг вправо
Шаг влево

Игровая сессия

открывается только после предоставления игроком своего идентификатора и идентификатора карты

PS: Основная проблема, которая должна быть решена при моделировании – это отсутсвие возможности агента видеть всю карту!

Слайд 6

Уровни программного интерфейса REST API: HTTP Запросы к серверу API Win32:

Уровни программного интерфейса

REST API: HTTP Запросы к серверу
API Win32: C++
API

.Net Framework: C#.Net
Обмен файлами:
Ваш язык программирования

(сокр. от англ. Representational State Transfer — «передача состояния представления») — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.

Слайд 7

REST API Открыть игровую сессию Шаг вправо Шаг влево Шаг вверх

REST API

Открыть игровую сессию

Шаг вправо

Шаг влево

Шаг вверх

Шаг вниз

Идетификатор участника

Идетификатор карты

Ответ сервера

– идентификатор сессии

cmd=move-right

cmd=move-left

cmd=move-up

cmd=move-down

Если ответ отличен от ОК, то агент столкнулся с препятствием

Слайд 8

API Win32: C++ Описание PROXY класса для REST API Объект моделирующий

API Win32: C++

Описание PROXY класса для REST API

Объект моделирующий агента

Идентификаторы

участника и арены для начала сессии

Основной цикл пока агент активен

Методы для выполнения шагов агентом. Возвращают:
true, если шаг сделан
false, если агент наткнулся на препятствие

Слайд 9

API .Net Framework: C#.Net Описание PROXY класса для REST API вынесено

API .Net Framework: C#.Net

Описание PROXY класса для REST API вынесено

в отдельный файл но содержится в том же пространсве имён что и Program, поэтому не надо объялять

Объект моделирующий агента

Идентификаторы участника и арены для начала сессии

Основной цикл пока агент активен

Методы для выполнения шагов агентом. Возвращают:
true, если шаг сделан
false, если агент наткнулся на препятствие

Слайд 10

Обмен файлами Для обмена нужно: Запустить программу ConsoleAgentFileBehavior Для передачи сообщений

Обмен файлами

Для обмена нужно:
Запустить программу ConsoleAgentFileBehavior
Для передачи сообщений использовать файл

in.txt
Для начала сессии записать в файл begin-session;[Ключ пользователя];[Ключ карты]
Для передачи команд использовать только их наименование move-down (up, left, right)
Если агенту удалось сделать шаг, то в файл out.txt будет записано [имя команды]; true
Слайд 11

Методика разработки Регистрация на сайте системы моделирования Шаговых агентов Получить ключ

Методика разработки

Регистрация на сайте системы моделирования Шаговых агентов
Получить ключ Участника

на карточке Профиль
Выбрать из списка Карт подходящую по сложности (зашифровано в названии), получить её ключ через соответсвующую карточку
Выбрать программный интерфейс работы с агентом
Выполнить обучающее моделирование на тренировочных данных (если данные тренировочные, то это отражено в названии карты)
Выполнить конкурсное моделирование на тестовых данных (если данные тестовые, то это отражено в названии карты)
Результаты моделирования будут отражены в интерфейса пользователя через сайт системы (для получения свежих результатов не забывайте обновлять страницу карточки карты)
Слайд 12

Интерфейс системы моделирования: вход

Интерфейс системы моделирования: вход

Слайд 13

Интерфейс системы моделирования: регистрация

Интерфейс системы моделирования: регистрация

Слайд 14

Интерфейс системы моделирования: список карт

Интерфейс системы моделирования: список карт

Слайд 15

Интерфейс системы моделирования: профиль ВНИМАНИЕ: Ваш ключ Участника

Интерфейс системы моделирования: профиль

ВНИМАНИЕ: Ваш ключ Участника

Слайд 16

Интерфейс системы моделирования: профиль ВНИМАНИЕ: Ключ Карты

Интерфейс системы моделирования: профиль

ВНИМАНИЕ: Ключ Карты

Слайд 17

Уровни сложности 00.01: Under dogs 00.02: Bubble gun 00.03:Desert of fear

Уровни сложности

00.01: Under dogs
00.02: Bubble gun
00.03:Desert of fear
00.04:In The Hall Of

The Mountain King
00.05: Space deep

Чем выше уровень, тем больше свободного пространства и следовательно меньше шансов найти выход

Слайд 18

Карта: 00.01: Under dogs

Карта: 00.01: Under dogs

Слайд 19

Карта: 00.02: Bubble gun

Карта: 00.02: Bubble gun

Слайд 20

Карта: 00.03:Desert of fear

Карта: 00.03:Desert of fear

Слайд 21

Карта: 00.04:In The Hall Of The Mountain King

Карта: 00.04:In The Hall Of The Mountain King

Слайд 22

Карта: 00.05: Space deep

Карта: 00.05: Space deep