Напишите искусственный интеллект управления командой хоккеистов, соревнуйтесь с другими участниками в чемпионате!
Подробное описание задачи можно найти в разделах Чемпионат «CodeHockey» и Правила.
Russian AI Cup — открытое соревнование по программированию искусственного интеллекта. Попробуйте свои силы в программировании игровой стратегии! Это просто, наглядно и весело!
Чемпионат третьего Russian AI Cup называется CodeHockey. Вам предстоит программировать искусственный интеллект для команды хоккеистов. Ваши стратегии будут соревноваться между собой в Песочнице и чемпионате. Вы можете использовать любой из языков программирования: С++, Java, C#, Python, Pascal или Ruby. Песочница уже открыта. Удачи!
К участию в соревновании приглашаются как начинающие программисты — студенты и школьники, так и профессионалы. Не требуются никакие специальные знания, достаточно базовых навыков программирования.
Начните с Быстрого старта. Написать простейшую стратегию совсем несложно!
Итак, очередное состязание ежегодного чемпионата Russian AI Cup за 2014 год завершено. Последние полтора месяца были очень трудными и напряжёнными как для участников, так и для организаторов мероприятия. Однако мы всё же надеемся, что вы не только получили массу удовольствия и хороших впечатлений, но и улучшили свои навыки программирования, научились чему-то новому.
А теперь самая пора подвести итоги. Сперва напомним список победителей Финала:
Николай Вабищевич - Mr.Smile (Москва, Россия) - Mac Pro. Он становится двукратным победителем Russian AI Cup: этого и 2012-го года.
Сергей Помазанов - alberist (СКФУ, Ставрополь, Россия) - MacBook Pro 13.3"
Олег Кузнецов - recar (Винница, Украина) - MacBook Air 13.3"
Геннадий Короткевич - tourist (Гомель, Беларусь) - iPad mini 7.9"
Александр Санталов - santa324 (Москва, Россия) - iPad mini 7.9"
Иван Тямгин - tyamgin (Таврический НУ, Симферополь, Россия) - iPad mini 7.9"
Евгений Родыгин - Spunya (Москва, Россия) - iPad mini 7.9"
Сергей Лисичкин - serlis (ХНУ Каразина, Харьков, Украина) - iPad mini 7.9"
Далее мы поздравляем победителей Песочницы. Всем же остальным желаем удачи в следующем году. Итак, встречайте:
Антон Чумаченко - antmsu (Москва, Россия) - iPod nano
Роман Удовиченко - Romka (Яндекс, Минск, Беларусь) - iPod nano
Василий Зверев - vzverev (Softgrad Solutions, Новочеркасск, Россия) - iPod nano
Степан Тарасевич - Sanda (NGENIX, Москва, Россия) - iPod nano
Олег Шевченко - olsh (Архангельск, Россия) - iPod nano
Денис Уткин - ud1 (Химки, Россия) - iPod nano
Внимание! Все участники Раунда 2 и Финала должны убедиться, что у них в профиле указан актуальный адрес и размер футболки.
Сейчас Песочница заморожена, однако скоро она возобновит свою работу. Разумеется, все её результаты будут неофициальными. Отметим, что мы не будем осуществлять официальную поддержку Песочницы. Таким образом, не гарантируется её круглосуточная работа и оперативное реагирование разработчиков на сообщения о некорректных играх, попытках, отклонённых с подозрительным вердиктом, и т.д. Также будет отключена часть тестирующих мощностей.
С наилучшими пожеланиями, команды Mail.Ru Group и Саратовского ГУ.
Друзья!
Под звуки фанфар мы торжественно объявляем о завершении Финала Russian AI Cup, являющегося заключительным этапом основной линии соревнования. Тем, кто не попал в список призёров, отчаиваться не стоит: вам предстоит ещё неделя состязаний в Песочнице, и по их итогам лучшие 6 участников получат поощрительные призы. Напоминаем, что в отличие от прошлых чемпионатов призёры Финала будут продолжать участие в соревновании неофициально.
А теперь победители Финала!
Встречайте:
1. Первое место в невероятно напряжённой борьбе занимает Николай «Mr.Smile» Вабищевич (Россия, Москва)! Он становится победителем CodeHockey 2014 и счастливым обладателем Apple Mac Pro.
2. Второе место заслуженно занимает Сергей «alberist» Помазанов (Россия, Ставрополь, СКФУ). Он получает Apple Macbook Pro 13.3" в качестве «утешительного» приза.
Стоит отметить, что всю первую часть Финала Mr.Smile и alberist шли вперёд с минимальным отрывом, часто поравниваясь друг с другом или даже меняясь местами, что долгое время сохраняло интригу и напряжение. Порой казалось, что даже две одинаковые стратегии не могли быть столь близки по эффективности :) По итогам первой части в лидерах оказался alberist с перевесом всего в 2 балла. Но затем в перерыве то ли Mr.Smile сделал рывок вперёд, то ли alberist посадил досадный баг, или же другие участники приняли контрмеры против одного из топов. В итоге Mr.Smile резко ушёл в отрыв, и победитель стал очевиден уже по итогам первого круга второй части Финала.
3. На третьем месте находится Олег «recar» Кузнецов (Украина, Винница), «прыгнувший» на него с 7-й позиции. Как видите, на этом этапе соревнования было множество неожиданных поворотов. Олег получает Apple Macbook Air 13.3".
Ещё пятеро участников получают в подарок Apple iPad mini 7.9":
4. Геннадий «tourist» Короткевич.
5. Александр «santa324» Санталов.
6. Иван «tyamgin» Тямгин.
7. Евгений «Spunya» Родыгин.
8. Сергей «serlis» Лисичкин.
Поздравляем!
Добрый вечер!
Вот и подходит время решающего противостояния. Are you ready?! :) Сегодня в полночь начинается Финал Russian AI Cup 2014. В нём примут участие лучшие 50 стратегий по результатам Раунда 2 и дополнительно лучшие 10 участников Песочницы (за исключением тех, кто уже прошёл). Напоминаем, что для квалификации в Финал участник должен быть не младше 18 лет и явно указать свой возраст в профиле. Если участник не укажет эту информацию до начала Финала, то он может быть не допущен до участия в Финале, а его место достанется следующему кандидату. Также все участники Раунда 2 и Финала должны заполнить в профиле информацию о почтовом адресе для доставки сувенирной футболки.
Система проведения Финала отличается от «волновой» системы Раунда 1 и Раунда 2. Здесь каждая стратегия встретится с каждой другой стратегией, участвующей в Финале. Таким образом, сразу будет создано 1770 игр, составляющих полный круг, и до завершения их тестирования нельзя будет достоверно судить об эффективности и положении кого-либо из участников. Мы рассчитываем протестировать не менее 10 таких кругов в каждой части Финала для уменьшения погрешности определения победителей.
Напоминаем, что подведение итогов Песочницы состоится в 23:59:59 19-го октября 2014 года, и победителей в ней также ждут отличные призы. В отличие от прошлых чемпионатов призёры Финала будут продолжать участие в соревновании неофициально и не смогут претендовать на второй приз.
Желаем удачи!
Вследствие неполадок в тестирующей системе примерно с 3 до 11 часов 12 октября обработка игр и посылок не производилась. Мы выполнили экстренную перезагрузку всех служб и сейчас разбираемся в причинах. Тестирование текущих игр и посылок должно восстановиться, как только будут обработаны все задания, которые уже находятся в очереди. В связи с данным инцидентом было принято решение перенести начало второй части Финала на 8 часов. Приносим наши извинения.
К нашему сожалению, не все участники чемпионата честно соревнуются за право стать призёром Russian AI Cup. Администрацией соревнования было выявлено и заблокировано две группы пользователей, каждый из которых нарушил правила этики и как минимум один из пунктов 3.2.6, 3.2.7 или 3.2.8 Соглашения об участии.
Группа 1:
Группа 2:
Ещё более печально то, что некоторые из этих недобросовестных пользователей участвовали в Раунде 2, занимая тем самым чужие места. Раунд 2 уже прошёл, и его итоги не подлежат пересмотру. Однако мы приняли решение по обновлённым итогам Раунда 1 наградить сувенирными футболками шесть новых участников (по числу лишённых права на получение приза; исключая тех, кто прошёл в Раунд 2 из Песочницы).
Ими стали:
Поздравляем их с честно заработанными призами!
Заблокированные пользователи имеют возможность подать апелляцию на официальный электронный адрес жюри соревнования russianaicup@corp.mail.ru.
К сожалению, в связи со значительным увеличением используемого стратегиями участников процессорного времени, тестирующая система перестала справляться с нагрузкой и не может обеспечивать интервал тестирования 30 минут. У организаторов соревнования сейчас нет возможности нарастить вычислительные мощности системы, поэтому было принятно решение увеличить интервал игр в Песочнице до 45 минут. В отличие от текущей ситуации, когда интервал по факту приближается к этому значению, изменение позволит нивелировать разницу между интервалами участия в Песочнице каждого конкретного участника.
Считаем необходимым пояснить, что заданный тестирующей системе интервал является для неё некоторым ориентиром, но не гарантирует, что промежуток между всеми вашими соседними играми в Песочнице будет в точности равен заявленному значению. Это связано с тем, что перед системой, помимо обеспечения необходимого интервала тестирования, стоят и другие задачи, например, подборка близких по рейтингу противников.
В связи с наплывом вопросов от участников, мы напоминаем условия для прохождения в Финал. Завершающий этап соревнования состоится 11-12 октября, и в нём примут участие лучшие 50 стратегий по итогам Раунда 2 и дополнительно 10 по итогам Песочницы. Итого 60 человек.
Напоминаем, что для квалификации в Финал участник должен быть не младше 18 лет и явно указать свой возраст в профиле. Если участник из Топ-50 Раунда 2 не укажет эту информацию до начала Финала, то он может быть не допущен до участия в Финале, а его место достанется следующему кандидату. Обратите внимание, что результаты Песочницы без участников Финала составлены только по списку участников, достигших 18 лет.
Также все участники Раунда 2 и Финала должны заполнить в профиле информацию о почтовом адресе для доставки сувенирной футболки.
Доступна новая версия Local runner’а. Теперь участники могут записывать реплеи своих игр и воспроизводить их в будущем. Формат реплея аналогичен формату, используемому в официальной системе тестирования, а именно: каждый тик состояние мира сериализуется в JSON и записывается в файл одной (отдельной) строкой.
Спасибо участнику Sanda, благодаря которому были выявлены и устранены следующие два недочёта:
Расширено описание некоторых формул в Правилах. Это сделано в целях улучшения понимания того, как соотносятся между собой константы из правил и поля объекта game.
Документация к игре и клиент Java (исправления в комментариях) уже обновлены на GitHub. Скоро новые версии будут доступны для скачивания и на сайте Russian AI Cup.
Среди прочего стоит отметить также несколько небольших улучшений на сайте, в том числе выполненных по заявкам участников:
Надеюсь, вы успели понять, зачем в команде третий хоккеист :) Ведь до Раунда 2 остался всего один час. А схватка предстоит гораздо более серьёзная: именно в следующие два дня определятся финалисты CodeHockey 2014.
Напоминаем, что в Финал выйдут 50 участников по итогам Раунда 2 и дополнительно 10 по итогам Песочницы. В понедельник же станет доступен третий, завершающий формат игр — 6 на 6 (2x6), в которых вы сможете продолжить совершенствовать управление тремя хоккеистами, а также на практике ознакомитесь с другими изменениями в правилах, которые будут иметь место в играх Финала.
Всем удачи!
Сегодня некоторое время тестирующая система не работала. Мы разобрались в причинах и устранили неполадки. Однако в связи с тем, что количество протестированных рейтинговых игр оказалось меньше ожидаемого участниками, было принято решение уменьшить интервал тестирования в Песочнице с 30 до 15 минут на период до начала Раунда 2. После этого старый период тестирования будет возвращён.
В игровой симулятор (в тестирующей системе и Local runner) внесён ряд небольших исправлений. В том числе:
Теперь при обновлении скорости шайбы, контролируемой хоккеистом, учитывается угловая скорость этого хоккеиста. Раньше скорость шайбы обновлялась только с учётом поступательного движения её владельца. Обращаем ваше внимание на то, что скорость контролируемой шайбы в большинстве случаев ни на что не влияет, так как её местоположение корректируется каждый тик, а при ударе или пасе её скорость мгновенно меняется согласно правилам. Разница проявляется лишь в случае потери шайбы хоккеистом вследствие падения. Помимо этого, угловая скорость хоккеиста обычно равна нулю или имеет околонулевые значения.
Исправлен редкий баг с «телепортацией» шайбы (игра №355527).
Round 1: FIGHT!
Картинка для привлечения внимания :)
Итак, друзья! Раунд 1 почти начался!
Ещё с бета-теста мы внимательно следили за развитием ваших стратегий и к началу первого этапа нашего чемпионата уже успели увидеть немало зрелищных и интересных игр. Надеемся, что в беспощадной схватке за футболки каждый из вас продемонстрирует пару новых фишек, чем ещё больше порадует нас, а своего оппонента, возможно, неприятно удивит.
Напоминаем, что в Раунд 1 пройдут лучшие 900 участников по результатам Песочницы на момент 26 сентября 23:59:59. Этап будет состоять из 2 частей, между которыми будет перерыв (в течение него будет возобновлена работа Песочницы), позволяющий улучшить свою стратегию. Каждая часть будет длиться 12 часов, перерыв — 24 часа. А после окончания этапа для всех участников станет доступным новый формат игр: 3 на 3 (2x3).
Для поддержания интриги мы сделали небольшое изменение в системе. Результаты игры будут отображаться только спустя 15 минут после её создания. Однако смотреть игру можно будет сразу, как только она протестируется системой.
Для скачивания на сайте доступна новая версия Local runner’а. Основные изменения:
Также в экспериментальном режиме добавлена возможность отображения дополнительной информации в визуализаторе игры. Для этого участники могут редактировать Java-класс LocalTestRendererListener, находящийся в папке plugins. Там же находятся скрипты (только Windows) для компиляции плагина. Включать и отключать работу плагина можно, изменяя настройку Runner’а plugins-directory.
Вот и подходит к своему завершению бета-тест CodeHockey 2014. За этот период в игру было внесено значительное число исправлений и улучшений. И вот, перед началом основного чемпионата, мы рады анонсировать ещё два ожидаемых многими участниками события.
Размер поля был увеличен с 1024x768 до 1200x800. Теперь у хоккеистов гораздо больше простора для манёвра. Мы анонсировали это изменение заранее, и кажется, что большинство участников уже подготовились к нему, а их стратегии не стали играть менее эффективно. Стоит отметить, что участникам, которые не хардкодили константы, а использовали значения из API, такие, как game.goalNetTop и player.netFront, возможно, вообще не понадобилось делать правки в своём ИИ.
Мы выражаем благодарность участникам iSerge (Сергей Иванов) и sniper (Александр Мыльцев) за проделанную работу по подготовке пользовательского пакета для языка Scala. Обратите внимание, что поддержка этого пакета осуществляется Сергеем Ивановым, а не командой Russian AI Cup. Все замечания/предложения стоит направлять прямиком ему. Конечно, все языковые пакеты обязаны иметь эквивалентный API, так что это касается в основном реализации. Скачать или выписать пакет вы можете по этой ссылке.
P. S. Напоминаем, что по окончании бета-теста рейтинг всех участников будет сброшен.
Персонаж с нецензурным ником был заблокирован. В посте его приводить не буду, все и так знают, о ком идёт речь. Все комментарии, относящиеся к этому инциденту, также были скрыты.
Также был заблокирован пользователь Yaptro, так как код его стратегии практически полностью совпадал с кодом заблокированного персонажа.
По просьбам участников в Local runner добавлены следующие настройки:
В игру был внесён ряд небольших, но значимых правок, призванных улучшить баланс и динамику игры. Мы проанализировали ряд игр, а также комментариев участников, указывавших, что использовать пас не слишком эффективно из-за его низкой точности и малой вероятности поймать шайбу.
Поэтому мы внесли в игру следующие изменения:
Разумеется, изменённая вероятность перехвата также позволит более эффективно использовать хоккеистов в защите ворот.
Помимо этого, скорость поворота хоккеиста увеличена с 2º до 3º за тик.
Мы рады приветствовать всех участников открытого бета-теста Russian AI Cup: CodeHockey 2014!
Бета-тест продлится до 23:59 14 сентября. Обращаем ваше внимание на то, что в этот период нами могут вноситься существенные изменения. Может поменяться формат турнира, может поменяться игра, например, вместо хоккея будет кёрлинг (шутка). Ваши отосланные (и принятые системой) стратегии могут перестать функционировать. За эту неделю мы постараемся исправить возможные ошибки, оптимизировать производительность, внести какие-либо другие необходимые улучшения. В этом деле мы рассчитываем также на помощь сообщества — вашу помощь.
Интервал игр в Песочнице на период бета-теста составляет 20 минут. После начала чемпионата этот интервал будет изменён в соответствии с оценкой возможностей тестирующей системы.
После завершения бета-теста рейтинг всех участников будет сброшен к начальному состоянию.
Participants | |
View
Details
|
|
View
Details
|
# | Name | Rating |
1 | ![]() |
2915 |
2 | ![]() |
2785 |
3 | ![]() |
2559 |
4 | ![]() |
2514 |
5 | ![]() |
2439 |
6 | ![]() |
2365 |
7 | ![]() |
2358 |
8 | ![]() |
2300 |
9 | ![]() |
2252 |
10 | ![]() |
2241 |
# | Name | Rating |
1 | ![]() |
3856 |
2 | ![]() |
3826 |
3 | ![]() |
3675 |
4 | ![]() |
3654 |
5 | ![]() |
3635 |
6 | ![]() |
3616 |
7 | ![]() |
3596 |
8 | ![]() |
3563 |
9 | ![]() |
3559 |
10 | ![]() |
3551 |