company_banner

Итоги первого раунда Russian AI Cup



    Пару дней назад окончился первый раунд ежегодного чемпионата Russian AI Cup. И по его результатам мы сегодня подготовили для вас всевозможную статистику. К моменту начала первого раунда более 1500 участников загрузили в систему свои стратегии. Из них 900 лучших по значению рейтинга в Песочнице сражались за право участвовать во втором раунде чемпионата. Конкурс составлял три человека на место, поэтому адреналина хватило всем.

    Первый раунд состоял из двух частей, каждая по 12 часов непрерывного обсчета. Между частями был суточный перерыв, во время которого участники имели возможность доработать свои стратегии. В среднем конкурсанты приняли участие более чем в 100 играх в ходе каждой из частей первого раунда. Любопытно, что во второй части удалось провести чуть меньше боев, что, наверное, объясняется усложнением стратегий и проведением работы над ошибками в ходе суточного перерыва.

    Результаты игр на сайте обновлялись не сразу, а с 15-ти минутной задержкой. Это сделано специально для создания большей интриги, в эти 15 минут многие из участников смогли почувствовать себя Анатолием Тарасовым, сопереживая своей команде. А уж сколько адреналина выплеснулось в ходе просмотров самих игр!

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

    Итак, в первом раунде победу одержал загадочный участник recar, оставивший в профиле очень мало информации о себе. Победитель Чемпионата 2012-го года Николай «Mr.Smile» Вабищевич занял достойное шестое место.

    Результаты раунда — http://russianaicup.ru/contest/2/standings

    Статистика

    Рейтинг городов:
    Город Количество участников Рейтинг Топ-3
    1 Москва 97 559,80 cheeser Mr.Smile santa324
    2 Минск 55 529,51 Romka paul_ik Contemplator
    3 Санкт-Петербург 55 515,95 NS_Serg Nikita.Podguzov turbotankist
    4 Екатеринбург 15 465,58 mopdobopot anton_sh Fireworks
    5 Нижний Новгород 15 455,03 sokolik tegArt partizan
    6 Харьков 8 437,82 sdya aszinovyev serlis
    7 Ижевск 14 434,45 4stalker LOKKI Poma
    8 Челябинск 12 425,61 valex crain ildarka
    9 Саратов 8 420,41 meradin RomanX Eran
    10 Иваново 8 410,93 mortido PieceOfNonsense aides

    Распределение по городам:



    Распределение по странам:



    Распределение по языкам:



    Распределение по возрасту:



    Суммарный размер посылок по языкам:
    Python 2 45.66 MB
    Python 3 33.25 MB
    C# 201.96 MB
    C++11 103.19 MB
    Pascal 17.66 MB
    Scala 10.71 MB
    Ruby 18.36 MB
    C++ 123.02 MB
    Java 254.23 MB

    Кстати, обратите внимание на средний размер посылок на разных языках:
    Python 2 14.78 kB
    Python 3 10.08 kB
    C# 22.56 kB
    C++11 21.35 kB
    Pascal 9.92 kB
    Ruby 15.55 kB
    Scala 24.58 kB
    C++ 15.17 kB
    Java 19.25 kB

    С чем, по вашему мнению, связан средний размер посылок на языке Scala (24,58 Кб), учитывая присущую ему лаконичность?

    По ссылкам ниже вы можете посмотреть ход трёх особенно любопытных игр:

    russianaicup.ru/game/view/562470 — Победитель песочницы recar против aton4eg
    russianaicup.ru/game/view/661824 — Победитель чемпионата 2012-го года Mr.Smile против SkyHawk
    russianaicup.ru/game/view/639640 — чемпион мира ACM-ICPC 2012 и 2-е место RCC прошлого года tourist против Moonkin63

    Второй раунд чемпионата начинается 4 октября. Но участвовать в нём могут не только 300 лучших участников первого раунда, но и первые 60 конкурсантов по рейтингу Песочницы. Подробнее о правилах второго раунда вы можете прочитать на сайте чемпионата. Даже если вам не удалось пройти во второй раунд, то вы всё ещё можете побороться за ценные призы, вручаемые за успехи в Песочнице.

    Mail.Ru Group

    862,00

    Строим Интернет

    Поделиться публикацией
    Комментарии 16
      –5
      Почему вы не делаете возможность участия людям, пишущим на haskell?
        –2
        потому что о людях не думают. Уровень организации ужасный. Языковой пакет руби — java лапшекод на руби.
        Запустить 2 своих стратегии — танец с бубном.
          0
          А зачем вам его смотреть, информацию по API есть. Эта нормальная цена за +1 язык. Я думаю многие согласились на подобную «кальку» для своего любого языка.
            +2
            Там все пакеты — портированный джава лапшекод. И все бы ничего, но обычному программисту на C++\python\whatever очень непривычно писать длинные сивмолы типа, world.getSomethingICouldGetByAPropertyButStupidJavistsRuindEverything().
              +2
              знаете, когда у некоторых классов есть метод x, а у других — get_x — это жесть и ужас! Можете хоть -100 сделать — это не улучшит организацию соревнований.

              Кроме того, пулл реквест с организацией стартового пакета на руби и скриптом релиза — не приняли.
              И запрос на автоматическую отправку решения — тоже.

              Зиповать руками файлы, а потом тащить их на сайт драгндропом — ужас!

              Можно сделать для луюдей, а можно — через задницу. Тут явно второй вариант
                0
                когда можно будет поучаствовать в вашем соревновании сделанном для людей?
                  +4
                  я не организатор соревнований, я лишь указал на то, что мне кажется сделанным плохо. И там, где я мог сделать лучше — я сделал и предложил (пулл реквест).
                    +2
                    Спасибо за фидбек. Отвечу как один из организаторов.

                    В самом деле избавиться от get_ в именах методов в пакете для ruby нормальная идея, но эту мысль мало кто высказывал (только вы?) и не на официальном сайте (либо в комментариях, либо через форму связи с администрацией, либо послав pull request), а в промопосте здесь. Занимаясь улучшениями системы и поддержкой по множественному фидбеку на официальном сайте во время беты, ваш комментарий здесь просто не был во время замечен и рассмотрен. Отсутствие предложений пофиксить это от нескольких участников намекает, что это не сильно востребованное улучшение.

                    Отмечу, что и сейчас все довольно единообразно: все методы начинаются с глагола, а то что без — это ридеры атрибутов. Есть еще тонкость, что подобная правка ломает обратную совместимость — поэтому правильным решением наверное было бы оставить лапшу из двух вариантов, что тоже не выглядит элегантно. К сожалению, практика некоторого неединообразия в именовании характерна даже для стандартных библиотек большинства языков.

                    Ваш пулл реквест с rakefile-ом ломает кроссплатформенность, автоматизируя тривиальные вещи: архивация файликов в директории и запуск двух команд. Мне кажется любой программист пишет подобный скрипт для себя за минуту-другую под свой процесс разработки и настроенное окружение.
                      0
                      извините, но я не знаю ни одного рубиста, который разрабатывает на windows. Кроме того, rakefile ничего не ломает, а лишь добавляет.
                      Я писал через официальные каналы — мне ответили отпиской.
                      Кроме того, если вам не нравится, что в моем пулл-реквесте нет кроссплатформенности — можно об этом написать в комментарии. Оставить же пулл-реквест без ответа — попахивает плохим подходом к организации работы.

                      Про отсутствие единообразия — можно делать хорошо, а можно как «в php».

                      Элементарные задачи, например сборка и отправка решения, это мелкие приятности. Видя приятности людям будет приятно знать, что о них подумали, а не сделали на «как-нибудь».

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

                      Ниже в комментарии я отвечу про закрытый мир, хак физики и изменение размеров пооля.
              –1
              Основные проблемы этого соревнования не в языках (и не в API), а в том, что добраться до соревнований именно по AI не так-то просто.
              Чтобы писать нормальные стратегии, нужно сначала ревёрснуть физику, реализовать подсчёты вероятностей и написать кучу прочего (нудного) кода. Даже банальное «свои ворота всегда слева», т.е. зеркалирование координат в случае ворот справа, и то нужно делать самому.
              Вот кому сдались размеры мира, если размер поля заметно меньше?

              Я не буду говорить за всех, но именно это и оттолкнуло меня от написания чего-то путного. Ограничился только банальными улучшениями, лишь бы выиграть у стратегий коллег.
              Впрочем, один из моих коллег, в прошлый раз вышедший во второй раунд из песочницы (начал поздно), в этот раз именно по этим причинам совсем отказался участвовать.
                +1
                Ну хакать физику — это даже интересно. Пришлось вспоминать матан.

                Зеркалирование ворот и написание вероятностей — это малая часть. Основная задача для таких алгоритмов — просчитывать механику игры на несколько тиков вперед.

                НО!!! Например, для просчета физики шайбы пришлось писать свой враппер вокруг «игровой» шайбы только для того, чтобы удобно считать ее кординаты и отскоки. Такая же фигня с игроком.

                А еще запрет на раскладывание файлов по папкам ломает стандартные правила в руби — приходится извращаться.

                В итоге множество мелких недочетов напрочь отбивает желание участвовать.
              +8
              да, и где Ада?! Окамл? Dlang, в конце концов?
                +1
                Забыли про Rust!
                  0
                  Черт возьми, пофиг на ваш Rust. Где же мой любимый GoLang? ;)
                  +3
                  И труЪ ИИ-шных Лиспа с Прологом тоже нету :(
                +1
                Улыбнуло, что игроки могут выводить друг друга из строя, при этом издавая характерные звуки. Напоминает атмосферу Speedball 2: Brutal Deluxe.

                Надо еще сделать зазывания продавца «Ice Cream» в паузах :)

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое