Как стать автором
Обновить

Комментарии 30

А уравнения физики игрового мира не планируете добавлять в правила? Все-равно большинству придется их доставать как-то самостоятельно, либо из LocalRunner, либо измерениями. Это сэкономило бы кучу потраченного не на разработку стратегии времени.
Скорее всего не получится. Нами используется проект code.google.com/p/phys2d/, который в некотором роде базируется на box2d и распространяется по New BSD License. Там весь код усеян хитрыми формулами, которые вытащить оттуда никак не получится. Кроме того, там есть определенные баги и/или недостатки физики, которые мы закрывали внешними заплатками. В стиле «если происходит такое-то явление, то давайте уменьшим на 30% такое вот перемещение». Такие заплатки не дают возможности просто сослаться на код phys2d. Вероятно, можно просто сослаться на phys2d, но это не поможет участникам — код сложен, запутан, перенести какие-то формулы в свою стратегию крайне сложно. Возможно это даст преимущество Java-участникам, они смогут просто накопировать этот код в стратегию.
А в каких браузерах просмотр игр поддерживается? Safari 7.0.3 жму «Смотреть» — ничего не происходит. После этого даже курсор уже не меняется при наведении на кнопку
С браузером Safari это известная проблема, решим её в ближайшее время.
Я в прошлом году жаловался, что не люблю войнушки. Техподдержка спросила, что бы я предложил. Я предложил хоккей. Видимо, прислушались :) Что ж, грех теперь не поучаствовать.
Python опять без numpy?
Да, вообще полезных библиотек много. Разрешив использовать numpy, тут же придется разрешать scicy, а потом пользователи других языков будут просить каждый свою библиотеку — чем они хуже? В итоге получится много проблем с их настройкой и поддержкой. В настоящее время мы используем формальный критерий — библиотека есть в стандартной поставке языка, мы ее поддерживаем.
По такой логике можно было и языки другие не добавлять, оставить одну джаву и все. А то, разрешив питон, тут же придется и кобол еще разрешить.

Питон без нумпая становится просто тыквой уже ко второму раунду. Невозможно со сложной стратегией уложиться в лимиты по времени. Лучше тогда уберите питон совсем, чтобы народ не смущать.
Ну вот идет финал и на первом-втором месте уверенно держится alberist, у которого стратегия (тадам!) на Питоне (http://russianaicup.ru/profile/alberist/strategies). Ну вот к чему был этот необоснованный скепсис?
Ну значит в этот раз можно было обойтись без алгоритмов с высокой вычислительной сложностью. В прошлые разы так не было. Что я еще могу сказать? )
Только хардкор. Хотя мне в прошлый раз numpy особо не понадобился.
Тут больше логики чем чего то ещё. :)
И какое было место в итоге?
Прям в самое больное… поднимался до 240 но закончил где то 500.
Я поздно начал писать и наступил на все возможные грабли, но в итоге я доволен, так как повысил свой скил.
Даже была идея написать статью: «Как не надо писать для чемпионата...».
А вообще в прошлый раз разонравилось наличие брудфорсеров, теперь вроде с этим более жёстко.
Подавляющее большинство алгоритмов AI основаны на брутфорсе так или иначе. Чистые эвристики типа «если это, значит делать так» редко хорошо играют
Я успел внедрить где то 40 эвристик, не самых простых но это был не брутфорс.

Увы вы правы. Но мне не интересно писать «брутфорсные» алгоритмы, мне хочется написать подобие меня. Наверное глупо, но так лично мне куда интереснее.
Брутфорс тоже брутфорсу рознь. Многие алгоритмы, основанные на брутфорсе, тоже имеют внутри себя очень много domain-specific (специфичных для игры) эвристик, позволяющих раньше узнавать более похожие на правильные ходы или отбрасывать точно плохие, для того, чтобы сделать брутфорс на бОльшую глубину/ширину. Вот это, по-моему, интересно.
Ruby забыли. На нём тоже можно.
Спасибо, что заметили — забыли не упомянуть об этом. В этом году Ruby поддерживается
Такое ощущение, что GDK для Ruby сделали просто «чтобы было», например не согласованы геттеры, где-то просто .x, где-то get_x и т.д.

Более того, я так понимаю, что ruby-код гоняется под JRuby? Почему?
Может тут кто знает: как такое возможно, что стратегия работает на Local Runner, а при отправке вылазит ошибка верификации:
Ваша стратегия «упала» в коротком проверочном бою 2x2.
Процесс стратегии непредвиденно завершился на тике 201.
Вывод runner'а в stdout:
Program successfully terminated
exit code: 239
time consumed: 0.03 sec
time passed: 0.69 sec
peak memory: 2236416 bytes
Вывод стратегии в stdout:
Exception occured: type=EAccessViolation, message=«Access violation».

Причём всегда время на 201 тике. В чём может быть проблема?
Вообще, было бы неплохо, если бы мы имели утилиту, с помощью которой они тестируют стратегии (типа Local Runner). И им работы меньше, и нам легче разобраться. А Repeater у меня не получилось запустить :(
Короткие проверочные бои длятся 200 тиков, так что проблема где-то в самом конце.
Интересно, что тут тогда делает 201й тик? И нет формы обратной связи — как сообщить админам о баге?
В комментариях к чему-нибудь на сайте.
Регистрация в данный момент недоступна
На форуме используется тот же аккаунт, что и на основном сайте (в чемпионате). Соответственно форум доступен только участником.
Зарегистрируйтесь на russianaicup.ru и сможете писать в форум.
Что-то не так.
image
Ничего кроме «странно» сказать не могу. Обращайтесь к разработчикам. В прошлом году я успешно писал письма (мне отвечали) на почту support гав russianaicup.ru.
обратился, исправили.
Проблема решена: наверное, при тестировании, проверялась возможность управления 3+ игроками, а не только тремя, как в песочнице и первом раунде.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий