Russian AI Cup 2015: CodeRacing

Revision ru2, by MaximShipko, 2015-11-13 20:13:13

Всем привет!

Всего через два дня, 16 ноября в 00:00 официально стартует ставшее уже ежегодным соревнование Russian AI Cup — Российский кубок по программированию искусственного интеллекта. В этом году темой соревнования являются гонки без правил. Участникам предстоит не только научить свой кодемобиль быстро и правильно ездить, но также и помешать соперникам добраться до финиша раньше вас. Бета-тест мероприятия уже идёт, и если вас не пугают недоработки системы и возможные изменения правил, то вы можете начать создавать свою стратегию прямо сейчас. Не волнуйтесь выступить неудачно: рейтинг всех участников перед релизом будет сброшен к начальному значению.

Что?

Russian AI Cup — крупнейший в России чемпионат по программированию искусственного интеллекта и третье по счёту открытое соревнование для талантливых IT-специалистов, являющееся частью стратегии Mail.Ru Group по формированию и развитию конкурентной в мировых масштабах российской IT-индустрии.

Официально поддерживаются следующие языки программирования: C++, C#, Java, Pascal, Python 2 и Python 3. Однако, как и все прошлые годы, мы готовы поддержать языковые пакеты, разработанные сообществом. В этот раз, благодаря Марату Якупову и Александру Гришину, вы можете создать стратегию на языке Scala.

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

Простейшая стратегия, способная доехать до финиша, состоит всего из десятка строк. Вот пример на языке Java:

import model.*;

import static java.lang.StrictMath.*;

public final class MyStrategy implements Strategy {
    @Override
    public void move(Car self, World world, Game game, Move move) {
        double nextWaypointX = (self.getNextWaypointX() + 0.5D) * game.getTrackTileSize();
        double nextWaypointY = (self.getNextWaypointY() + 0.5D) * game.getTrackTileSize();

        double angleToWaypoint = self.getAngleTo(nextWaypointX, nextWaypointY);
        double speedModule = hypot(self.getSpeedX(), self.getSpeedY());

        move.setWheelTurn(angleToWaypoint * 32.0D / PI);
        move.setEnginePower(0.75D);

        if (speedModule * speedModule * abs(angleToWaypoint) > 2.5D * 2.5D * PI) {
            move.setBrake(true);
        }
    }
}

Когда?

  • Песочница: с 9 ноября до 20 декабря открыта для всех желающих; первая неделя будет проходить в режиме бета-тестирования, в этот период возможны нестабильная работа системы и существенные изменения в правилах, а 16 ноября в 00:00 рейтинг в Песочнице будет сброшен до первоначального состояния
  • Раунд 1: 28–29 ноября.
  • Раунд 2: 5-6 декабря.
  • Финал: 12–13 декабря.

Призы

В этом году лучшие стратегии, помимо традиционной "яблочной" продукции, смогут претендовать на специальные призы от партнёров мероприятия — компаний WD и Kingston. Также все участники Раунда 2 получат футболку, а все финалисты — толстовку с символикой соревнования.

Призы

Полезные ссылки

Удачи!

Tags russian ai cup, 2015, coderacing

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru2 Russian MaximShipko 2015-11-13 20:13:13 0 (опубликовано)
ru1 Russian MaximShipko 2015-11-13 17:14:25 3487 Первая редакция (сохранено в черновиках)