Открытое соревнование по программированию искусственного интеллекта

Russian AI Cup — соревнование по программированию искусственного интеллекта

Проект

Песочница

Раунд 1

Раунд 2

Финал

Песочница (на 19 октября 2014 г.)

Последние комментарии

3 ноября 19:39: alevlaber написал комментарий в посте Закрытие Russian AI Cup 2014
3 ноября 19:36: andrey.chernov написал комментарий в посте Закрытие Russian AI Cup 2014
3 ноября 19:33: alevlaber написал комментарий в посте Закрытие Russian AI Cup 2014
3 ноября 19:30: andrey.chernov написал комментарий в посте Закрытие Russian AI Cup 2014
3 ноября 19:26: alevlaber написал комментарий в посте Закрытие Russian AI Cup 2014
1 октября 13:18: andrey.chernov написал комментарий в посте Закрытие Russian AI Cup 2014
29 сентября 10:26: alevlaber написал комментарий в посте Закрытие Russian AI Cup 2014
4 сентября 14:57: steleal написал комментарий в посте Закрытие Russian AI Cup 2014
4 сентября 14:56: steleal написал комментарий в посте Закрытие Russian AI Cup 2014
4 сентября 08:24: zavod написал комментарий в посте Закрытие Russian AI Cup 2014

Группа ВКонтакте

Задача этого года — CodeHockey

Напишите искусственный интеллект управления командой хоккеистов, соревнуйтесь с другими участниками в чемпионате!

Подробное описание задачи можно найти в разделах Чемпионат «CodeHockey» и Правила.

Зарегистрироваться! Быстрый старт

Russian AI Cup — открытое соревнование по программированию искусственного интеллекта. Попробуйте свои силы в программировании игровой стратегии! Это просто, наглядно и весело!

Чемпионат третьего Russian AI Cup называется CodeHockey. Вам предстоит программировать искусственный интеллект для команды хоккеистов. Ваши стратегии будут соревноваться между собой в Песочнице и чемпионате. Вы можете использовать любой из языков программирования: С++, Java, C#, Python, Pascal или Ruby. Песочница уже открыта. Удачи!

К участию в соревновании приглашаются как начинающие программисты — студенты и школьники, так и профессионалы. Не требуются никакие специальные знания, достаточно базовых навыков программирования.

Расписание чемпионата

  • Песочница: с 8 сентября по 19 октября открыта для всех желающих; первая неделя будет проходить в режиме бета-тестирования, в этот период возможны нестабильная работа системы и существенные изменения в правилах, а 15 сентября в 00:00 рейтинг в Песочнице будет сброшен до первоначального состояния
  • Раунд 1: 27–28 сентября.
  • Раунд 2: 4-5 октября.
  • Финал: 11–12 октября.

Начните с Быстрого старта. Написать простейшую стратегию совсем несложно!

Призы и подарки

Информация о призах пока недоступна

Новости чемпионата

19
октября
2014

Закрытие Russian AI Cup 2014

Итак, очередное состязание ежегодного чемпионата Russian AI Cup за 2014 год завершено. Последние полтора месяца были очень трудными и напряжёнными как для участников, так и для организаторов мероприятия. Однако мы всё же надеемся, что вы не только получили массу удовольствия и хороших впечатлений, но и улучшили свои навыки программирования, научились чему-то новому.

А теперь самая пора подвести итоги. Сперва напомним список победителей Финала:

  1. 1 место Николай Вабищевич - Mr.Smile (Москва, Россия) - Mac Pro. Он становится двукратным победителем Russian AI Cup: этого и 2012-го года.

  2. 2 место Сергей Помазанов - alberist (СКФУ, Ставрополь, Россия) - MacBook Pro 13.3"

  3. 3 место Олег Кузнецов - recar (Винница, Украина) - MacBook Air 13.3"

  4. 4-8 место Геннадий Короткевич - tourist (Гомель, Беларусь) - iPad mini 7.9"

  5. 4-8 место Александр Санталов - santa324 (Москва, Россия) - iPad mini 7.9"

  6. 4-8 место Иван Тямгин - tyamgin (Таврический НУ, Симферополь, Россия) - iPad mini 7.9"

  7. 4-8 место Евгений Родыгин - Spunya (Москва, Россия) - iPad mini 7.9"

  8. 4-8 место Сергей Лисичкин - serlis (ХНУ Каразина, Харьков, Украина) - iPad mini 7.9"

Далее мы поздравляем победителей Песочницы. Всем же остальным желаем удачи в следующем году. Итак, встречайте:

  1. 1-6 место Антон Чумаченко - antmsu (Москва, Россия) - iPod nano

  2. 1-6 место Роман Удовиченко - Romka (Яндекс, Минск, Беларусь) - iPod nano

  3. 1-6 место Василий Зверев - vzverev (Softgrad Solutions, Новочеркасск, Россия) - iPod nano

  4. 1-6 место Степан Тарасевич - Sanda (NGENIX, Москва, Россия) - iPod nano

  5. 1-6 место Олег Шевченко - olsh (Архангельск, Россия) - iPod nano

  6. 1-6 место Денис Уткин - ud1 (Химки, Россия) - iPod nano

Внимание! Все участники Раунда 2 и Финала должны убедиться, что у них в профиле указан актуальный адрес и размер футболки.

Сейчас Песочница заморожена, однако скоро она возобновит свою работу. Разумеется, все её результаты будут неофициальными. Отметим, что мы не будем осуществлять официальную поддержку Песочницы. Таким образом, не гарантируется её круглосуточная работа и оперативное реагирование разработчиков на сообщения о некорректных играх, попытках, отклонённых с подозрительным вердиктом, и т.д. Также будет отключена часть тестирующих мощностей.

С наилучшими пожеланиями, команды Mail.Ru Group и Саратовского ГУ.

13
октября
2014

Итоги Финала Russian AI Cup

Друзья!

Под звуки фанфар мы торжественно объявляем о завершении Финала 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» Лисичкин.

Поздравляем!

10
октября
2014

Финал Russian AI Cup

Добрый вечер!

Вот и подходит время решающего противостояния. 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 часов. Приносим наши извинения.

10
октября
2014

Блокировка аккаунтов

К нашему сожалению, не все участники чемпионата честно соревнуются за право стать призёром Russian AI Cup. Администрацией соревнования было выявлено и заблокировано две группы пользователей, каждый из которых нарушил правила этики и как минимум один из пунктов 3.2.6, 3.2.7 или 3.2.8 Соглашения об участии.

Группа 1:

Группа 2:

Ещё более печально то, что некоторые из этих недобросовестных пользователей участвовали в Раунде 2, занимая тем самым чужие места. Раунд 2 уже прошёл, и его итоги не подлежат пересмотру. Однако мы приняли решение по обновлённым итогам Раунда 1 наградить сувенирными футболками шесть новых участников (по числу лишённых права на получение приза; исключая тех, кто прошёл в Раунд 2 из Песочницы).

Ими стали:

Поздравляем их с честно заработанными призами!

Заблокированные пользователи имеют возможность подать апелляцию на официальный электронный адрес жюри соревнования russianaicup@corp.mail.ru.

8
октября
2014

Изменение интервала тестирования в Песочнице

К сожалению, в связи со значительным увеличением используемого стратегиями участников процессорного времени, тестирующая система перестала справляться с нагрузкой и не может обеспечивать интервал тестирования 30 минут. У организаторов соревнования сейчас нет возможности нарастить вычислительные мощности системы, поэтому было принятно решение увеличить интервал игр в Песочнице до 45 минут. В отличие от текущей ситуации, когда интервал по факту приближается к этому значению, изменение позволит нивелировать разницу между интервалами участия в Песочнице каждого конкретного участника.

Считаем необходимым пояснить, что заданный тестирующей системе интервал является для неё некоторым ориентиром, но не гарантирует, что промежуток между всеми вашими соседними играми в Песочнице будет в точности равен заявленному значению. Это связано с тем, что перед системой, помимо обеспечения необходимого интервала тестирования, стоят и другие задачи, например, подборка близких по рейтингу противников.

7
октября
2014

Правила прохождения в Финал

В связи с наплывом вопросов от участников, мы напоминаем условия для прохождения в Финал. Завершающий этап соревнования состоится 11-12 октября, и в нём примут участие лучшие 50 стратегий по итогам Раунда 2 и дополнительно 10 по итогам Песочницы. Итого 60 человек.

Напоминаем, что для квалификации в Финал участник должен быть не младше 18 лет и явно указать свой возраст в профиле. Если участник из Топ-50 Раунда 2 не укажет эту информацию до начала Финала, то он может быть не допущен до участия в Финале, а его место достанется следующему кандидату. Обратите внимание, что результаты Песочницы без участников Финала составлены только по списку участников, достигших 18 лет.

Также все участники Раунда 2 и Финала должны заполнить в профиле информацию о почтовом адресе для доставки сувенирной футболки.

6
октября
2014

Обновление Local runner'а и другие улучшения

Доступна новая версия Local runner’а. Теперь участники могут записывать реплеи своих игр и воспроизводить их в будущем. Формат реплея аналогичен формату, используемому в официальной системе тестирования, а именно: каждый тик состояние мира сериализуется в JSON и записывается в файл одной (отдельной) строкой.

Спасибо участнику Sanda, благодаря которому были выявлены и устранены следующие два недочёта:

  1. Исправлено значение game.overtimeTickCount в верификационных играх. Теперь оно равно 200, что соответствует Правилам и его реальной длительности в таких играх.
  2. Исправлено несоответствие в разных местах формул для расчёта шанса сбить с ног хоккеиста: использование среднего значения или максимального из атрибутов ловкость и сила. Теперь всё приведено в соответствие с формулой 2.12 из Правил.

Расширено описание некоторых формул в Правилах. Это сделано в целях улучшения понимания того, как соотносятся между собой константы из правил и поля объекта game.

Документация к игре и клиент Java (исправления в комментариях) уже обновлены на GitHub. Скоро новые версии будут доступны для скачивания и на сайте Russian AI Cup.

Среди прочего стоит отметить также несколько небольших улучшений на сайте, в том числе выполненных по заявкам участников:

  • в «карусели» достижений (личная страница участника, справа) при загрузке страницы будет отображаться последний/текущий этап турнира; таким образом, теперь вам не придётся выполнять переключение для просмотра актуальной информации;
  • начальный отсчёт при просмотре игры значительно ускорен;
  • атрибуты хоккеистов в визуализаторе игр на сайте выделены разными цветами, аналогично тому, как это сделано в Local runner’е.

Обновлено:

  • 6 октября 21:20: Исправлена замена хоккеистов при включенной настройке Local runner’а swap-sides.
3
октября
2014

Раунд 2

Надеюсь, вы успели понять, зачем в команде третий хоккеист :) Ведь до Раунда 2 остался всего один час. А схватка предстоит гораздо более серьёзная: именно в следующие два дня определятся финалисты CodeHockey 2014.

Напоминаем, что в Финал выйдут 50 участников по итогам Раунда 2 и дополнительно 10 по итогам Песочницы. В понедельник же станет доступен третий, завершающий формат игр — 6 на 6 (2x6), в которых вы сможете продолжить совершенствовать управление тремя хоккеистами, а также на практике ознакомитесь с другими изменениями в правилах, которые будут иметь место в играх Финала.

Всем удачи!

3
октября
2014

Временные неполадки в тестирующей системе

Сегодня некоторое время тестирующая система не работала. Мы разобрались в причинах и устранили неполадки. Однако в связи с тем, что количество протестированных рейтинговых игр оказалось меньше ожидаемого участниками, было принято решение уменьшить интервал тестирования в Песочнице с 30 до 15 минут на период до начала Раунда 2. После этого старый период тестирования будет возвращён.

3
октября
2014

Багфиксинг

В игровой симулятор (в тестирующей системе и Local runner) внесён ряд небольших исправлений. В том числе:

  1. Теперь при обновлении скорости шайбы, контролируемой хоккеистом, учитывается угловая скорость этого хоккеиста. Раньше скорость шайбы обновлялась только с учётом поступательного движения её владельца. Обращаем ваше внимание на то, что скорость контролируемой шайбы в большинстве случаев ни на что не влияет, так как её местоположение корректируется каждый тик, а при ударе или пасе её скорость мгновенно меняется согласно правилам. Разница проявляется лишь в случае потери шайбы хоккеистом вследствие падения. Помимо этого, угловая скорость хоккеиста обычно равна нулю или имеет околонулевые значения.

  2. Исправлен редкий баг с «телепортацией» шайбы (игра №355527).

26
сентября
2014

Начало Раунда 1

Round 1: FIGHT!

Картинка для привлечения внимания :)

Итак, друзья! Раунд 1 почти начался!

Ещё с бета-теста мы внимательно следили за развитием ваших стратегий и к началу первого этапа нашего чемпионата уже успели увидеть немало зрелищных и интересных игр. Надеемся, что в беспощадной схватке за футболки каждый из вас продемонстрирует пару новых фишек, чем ещё больше порадует нас, а своего оппонента, возможно, неприятно удивит.

Напоминаем, что в Раунд 1 пройдут лучшие 900 участников по результатам Песочницы на момент 26 сентября 23:59:59. Этап будет состоять из 2 частей, между которыми будет перерыв (в течение него будет возобновлена работа Песочницы), позволяющий улучшить свою стратегию. Каждая часть будет длиться 12 часов, перерыв — 24 часа. А после окончания этапа для всех участников станет доступным новый формат игр: 3 на 3 (2x3).

Для поддержания интриги мы сделали небольшое изменение в системе. Результаты игры будут отображаться только спустя 15 минут после её создания. Однако смотреть игру можно будет сразу, как только она протестируется системой.

24
сентября
2014

Обновление Local runner'а

Для скачивания на сайте доступна новая версия Local runner’а. Основные изменения:

  • добавлена настройка swap-sides, позволяющая изменить стороны команд;
  • значительно увеличен интервал настройки tick-count: теперь верхняя граница равна 10 млн. тиков;
  • стрелка вправо позволяет покадрово проигрывать игру в режиме паузы.

Также в экспериментальном режиме добавлена возможность отображения дополнительной информации в визуализаторе игры. Для этого участники могут редактировать Java-класс LocalTestRendererListener, находящийся в папке plugins. Там же находятся скрипты (только Windows) для компиляции плагина. Включать и отключать работу плагина можно, изменяя настройку Runner’а plugins-directory.

Обновлено:

  • 25 сентября 12:15: Устранено ограничение Local runner’а, в связи с которым было невозможно установить длительность игры более 99999 тиков.
14
сентября
2014

Итоги бета-теста и приятные изменения

Вот и подходит к своему завершению бета-тест CodeHockey 2014. За этот период в игру было внесено значительное число исправлений и улучшений. И вот, перед началом основного чемпионата, мы рады анонсировать ещё два ожидаемых многими участниками события.

Изменение размера поля

Размер поля был увеличен с 1024x768 до 1200x800. Теперь у хоккеистов гораздо больше простора для манёвра. Мы анонсировали это изменение заранее, и кажется, что большинство участников уже подготовились к нему, а их стратегии не стали играть менее эффективно. Стоит отметить, что участникам, которые не хардкодили константы, а использовали значения из API, такие, как game.goalNetTop и player.netFront, возможно, вообще не понадобилось делать правки в своём ИИ.

Поддержка языка Scala

Мы выражаем благодарность участникам iSerge (Сергей Иванов) и sniper (Александр Мыльцев) за проделанную работу по подготовке пользовательского пакета для языка Scala. Обратите внимание, что поддержка этого пакета осуществляется Сергеем Ивановым, а не командой Russian AI Cup. Все замечания/предложения стоит направлять прямиком ему. Конечно, все языковые пакеты обязаны иметь эквивалентный API, так что это касается в основном реализации. Скачать или выписать пакет вы можете по этой ссылке.

P. S. Напоминаем, что по окончании бета-теста рейтинг всех участников будет сброшен.

Обновлено:

  • Интервал игр в Песочнице теперь составляет 30 минут.
  • 15 сентября 14:30: Исправлена работа настройки seed Local runner’а.
14
сентября
2014

Блокировка аккаунтов

Персонаж с нецензурным ником был заблокирован. В посте его приводить не буду, все и так знают, о ком идёт речь. Все комментарии, относящиеся к этому инциденту, также были скрыты.

Также был заблокирован пользователь Yaptro, так как код его стратегии практически полностью совпадал с кодом заблокированного персонажа.

Обновлено:

  • Пользователь Yaptro разблокирован под подписку о невыезде обещание больше не нарушать правила.
12
сентября
2014

Обновление Local runner'а

По просьбам участников в Local runner добавлены следующие настройки:

  • render-to-screen-scale - позволяет изменять размер окна Local runner’а от 0.5 до 2.0 от оригинала, значение по умолчанию 1.0;
  • tick-count - позволяет устанавливать длительность основного времени игры в интервале от 1000 до 100000 тиков, значение по умолчанию 6000.
11
сентября
2014

Изменения в правилах

В игру был внесён ряд небольших, но значимых правок, призванных улучшить баланс и динамику игры. Мы проанализировали ряд игр, а также комментариев участников, указывавших, что использовать пас не слишком эффективно из-за его низкой точности и малой вероятности поймать шайбу.

Поэтому мы внесли в игру следующие изменения:

  • случайное стандартное отклонение угла паса уменьшено с 2º до 1.5º (для удара оно осталось прежним);
  • базовая вероятность перехватить шайбу, не контролируемую другим хоккеистом, изменена со 150% до 160% (вероятность перехвата сразу после удара теперь 60%).

Разумеется, изменённая вероятность перехвата также позволит более эффективно использовать хоккеистов в защите ворот.

Помимо этого, скорость поворота хоккеиста увеличена с 2º до 3º за тик.

7
сентября
2014

Открытый бета-тест

Мы рады приветствовать всех участников открытого бета-теста Russian AI Cup: CodeHockey 2014!

Бета-тест продлится до 23:59 14 сентября. Обращаем ваше внимание на то, что в этот период нами могут вноситься существенные изменения. Может поменяться формат турнира, может поменяться игра, например, вместо хоккея будет кёрлинг (шутка). Ваши отосланные (и принятые системой) стратегии могут перестать функционировать. За эту неделю мы постараемся исправить возможные ошибки, оптимизировать производительность, внести какие-либо другие необходимые улучшения. В этом деле мы рассчитываем также на помощь сообщества — вашу помощь.

Интервал игр в Песочнице на период бета-теста составляет 20 минут. После начала чемпионата этот интервал будет изменён в соответствии с оценкой возможностей тестирующей системы.

После завершения бета-теста рейтинг всех участников будет сброшен к начальному состоянию.

Обновлено:

  • 8 сентября 15:30: Правила игры и все языковые пакеты опубликованы на GitHub.
  • 9 сентября 16:00: Обновлены языковые пакеты C++ (добавлено больше проектных файлов) и Ruby (исправлен вызов atan2 и hypot), пока только на GitHub.
  • 9 сентября 17:54: Обновлён пакет Ruby в тестирующей системе.
Последние игры лидеров
Участники  
ud1 ud1
Смотреть
Детали
Смотреть
Детали
Финал
Имя Рейтинг
1 Mr.Smile Mr.Smile 2915
2 alberist alberist 2785
3 Recar Recar 2559
4 tourist tourist 2514
5 santa324 santa324 2439
6 tyamgin tyamgin 2365
7 Spun Spun 2358
8 serlis serlis 2300
9 ud1 ud1 2252
10 Romka Romka 2241
Песочница
Имя Рейтинг
1 Mr.Smile Mr.Smile 3856
2 alberist alberist 3826
3 santa324 santa324 3675
4 Recar Recar 3654
5 ud1 ud1 3635
6 tourist tourist 3616
7 Romka Romka 3596
8 WildCat WildCat 3563
9 Spun Spun 3559
10 Sanda Sanda 3551