Соревнования по игре PathFinders

Отправлено 28 апр. 2017 г., 3:47 пользователем Максим Карманов   [ обновлено 28 апр. 2017 г., 3:48 ]
В прямоугольном лабиринте случайным образом разбросаны золотые монеты. Задача игроков - собрать наибольшее количество монет. Сложность игры заключается в том, что в сборе сокровищ соревнуются не непосредственные игроки, а их программы. Каждая программа управляет роботом "сборщиком", который передвигается по лабиринту в автоматическом режиме. Участники же должны реализовать наиболее эффективный алгоритм сбора сокровищ. При этом надо помнить, что в лабиринте они соревнуются с другими программами. 

Технически игроки должны реализовать одну функцию на языке Python (v2). В аргументах функции передается карта лабиринта, координаты монет, координаты других участников. Функция должна вернуть одно число, которое обозначает направление следующего хода робота (вверх, вниз, налево, направо). Функция вызывается при каждом ходе, при этом есть ограничения на время работы функции.  
Описание игры, примеры роботов и программу для отображения можно взять здесь: https://github.com/mihbeaver/pathfinders . 
Вопросы технического характера задавать разработчику: mihkulemin@gmail.com

Для того, чтобы принять участие в соревновании вам необходимо написать соответствующую программу и сдать её Егорову Алексею Леонидовичу лично до 16:00 10 мая.
Соревнование будет проведено по мере готовности программ (ориентировочно в начале-середине мая).
Победитель получит главный приз: 5 000 рублей!
Призовой фонд предоставлен МБОУ "ФМЛ №31 г. Челябинска".

Ниже вы можете ознакомиться с основными правилами соревнований.

Правила соревнований PathFinders

Общие положения

1.       Участвовать в соревновании может любой учащийся МБОУ «ФМЛ №31 г.  Челябинска» или команда, состоящая не более, чем из трех учащихся МБОУ «ФМЛ №31 г.  Челябинска».

2.       От каждого учащегося(команды) принимается ровно одна программа, которая используется во всех этапах соревнований.

3.       Вносить изменения в программу после ее сдачи в жюри запрещено.

4.       Программы принимаются до 16:00 10 мая. Программу следует сдать лично Егорову Алексею Леонидовичу.

 

Формат соревнований

5.       Соревнования проводятся в три этапа. Баллы, набранные на каждом этапе, суммируются.

6.       На первом этапе соревнования проводятся на карте 20х20, содержащей от 8 до 15 монет. Время на ход – 0,1 секунды.  Все программы соревнуются попарно (каждая с каждой). Каждая пара программ запускается 3 раза и победителем в паре признается программа одержавшая наибольшее число побед. Программа победитель получает 2 балла, проигравшая – 0 баллов. В случае ничьей обе программы получают по 1 баллу.

7.       На втором этапе соревнования проводятся на карте 70х70, содержащей от 40 до 60 монет. Время на ход – 0,1 секунды. Одновременно запускаются все программы, представленные на конкурс. Второй этап состоит из N\2 раундов, где N – число команд (при нечетном количестве команд округление производится в большую сторону). Баллы за каждый раунд определяются следующим образом: программа, занявшая последнее место, получает 0 баллов, предпоследняя программа – 4 балла, пердпердпоследняя – 8 баллов и так далее. Программы, собравшие одинаковое число монет, занимают одно место. Баллы за все раунды суммируются.

8.       На третьем этапе соревнования проводятся на карте 150х150, содержащей от 150 до 250 монет. Время на ход – 0,1 секунды. Одновременно запускаются все программы, представленные на конкурс. Второй этап состоит из N\2 раундов, где N – число команд (при нечетном количестве команд округление производится в большую сторону). Баллы за каждый раунд определяются следующим образом: программа, занявшая последнее место, получает 0 баллов, предпоследняя программа – 5 баллов, пред предпоследняя – 10 баллов и так далее. Программы, собравшие одинаковое число монет, занимают одно место. Баллы за все раунды суммируются.

 


Comments