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

Пост №21

Проект

Песочница

Раунд 1

Раунд 2

Финал

Песочница (на 15 декабря 2013 г.)

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

4 сентября 19:00: risi написал комментарий в посте Закрытие Russian AI Cup 2013
28 февраля 02:59: puk написал комментарий в посте Закрытие Russian AI Cup 2013
26 февраля 21:12: amurushkin написал комментарий в посте Закрытие Russian AI Cup 2013
26 февраля 13:17: alevlaber написал комментарий в посте Закрытие Russian AI Cup 2013
20 февраля 17:33: Megabyte написал комментарий в посте Закрытие Russian AI Cup 2013
20 февраля 10:10: mopdobopot написал комментарий в посте Закрытие Russian AI Cup 2013
20 февраля 09:28: aleex написал комментарий в посте Закрытие Russian AI Cup 2013
18 февраля 23:13: santa324 написал комментарий в посте Закрытие Russian AI Cup 2013
17 февраля 14:43: m16a написал комментарий в посте Закрытие Russian AI Cup 2013
17 февраля 06:26: PAX написал комментарий в посте Закрытие Russian AI Cup 2013

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

Обновление

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

  • Добавлен метод world.getCellVisibilities(), позволяющий получить доступ к массиву (или его копии, в зависимости от языкового пакета) досягаемостей клеток. Обратите внимание, что в целях унификации во всех пакетах многомерные массивы досягаемости заменены одномерными.

  • Версия правил изменена с 0.6b до 1.0.

  • Исправлен небольшой баг в игре, из-за которого боец, находящийся в клете с бонусом, не подбирал его после использования аналогичного бонуса в руках.

  • Добавлена новая карта: cheeser.map :) Как не сложно догадаться, карта сделана по проекту участника cheeser, занявшего второе место при подведении промежуточных итогов бета-теста.

  • Добавлен протокол участия стратегии в игре. Кликнув на иконку языка программирования на странице игры, вы можете увидеть количество потраченного процессорного времени и пиковое значение используемой вашей стратегией памяти. А, в случае падения, также короткий комментарий сервера игры.



cygwin

cygwin

Минск

Чизера надо бить :), новая карта рвет все стратегии в кашу.

12.11.2013 20:33:45
cheeser

cheeser

Glowbyte

cygwin

cygwin

Минск

Чизера надо бить :), новая карта рвет все стратегии в кашу.

Извините :) Мою, кстати, тоже рвёт :D

12.11.2013 20:39:38
cygwin

cygwin

Минск

cheeser

cheeser

Glowbyte

Извините :) Мою, кстати, тоже рвёт :D

Я уже вроде бы пофиксил… Жаль, что нельзя выбирать карту при создании боя. Придется до победного создавать) Хотя на самом деле хорошо, что есть такая карта, из за неё многие алгоритмы требует улучшения, а это хорошо) Челлендж всё таки.

12.11.2013 20:51:13
Hohol

Hohol

Maxifier

cheeser

cheeser

Glowbyte

Извините :) Мою, кстати, тоже рвёт :D

Офигенная карта, кстати!

12.11.2013 20:53:45
cheeser

cheeser

Glowbyte

Hohol

Hohol

Maxifier

Офигенная карта, кстати!

Спасибо, гранаты на ней решают =)

12.11.2013 21:05:14
tyamgin

tyamgin

Симферополь

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

не сказал бы что баг был небольшой, я из-за этого зависал, пока на добавил на это костыль.

12.11.2013 21:13:20
SladeThe

SladeThe

Команда Russian AI Cup

HiVaccessdenied

HiVaccessdenied

ООО "Мера НН"

Эм… А нельзя так же оперативно получить отклик на http://russianaicup.ru/forum/index.php?topic=48.0? :-)

Нет :)

А если серьёзно, есть как минимум два аргумента против сильного уменьшения интервала:

  1. Возможности тестирующей системы. Причём здесь скорее упираемся не в мощности CPU (из в избытке), а в траффик. У нас к сожалению нет возможности разместить все компоненты системы в локальной сети, а это накладывает свои ограничения. Тем более количество участников ещё будет расти.

  2. Возможность быстро подняться в рейтинге, например не выкладывая свою лучшую стратегию до определённого момента и не давая противникам тестить свои против неё. А незадолго до начала раунда, подведения итогов Песочницы и т.д. можно выложить последнюю версию и «взлететь».

Мы рассмотрим все “за” и “против”, а потом решим, стоит ли уменьшать интервал тестирования или нет.

12.11.2013 21:17:37
SladeThe

SladeThe

Команда Russian AI Cup

vovo4ka

vovo4ka

Рязань

А world.getCellVisibilities() точно добавили? Я у себя в cpp sdk его не нашёл

Попробуйте скачать сейчас.

12.11.2013 21:18:32
tairesh

tairesh

Екатеринбург

Почему рейтинг за игру не зачислился? http://russianaicup.ru/game/view/41296

12.11.2013 21:26:51
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

А как по мне то не очень карта. Слишком много узких проходов. кого в нем поймают тому и тапки. Да и искать в ней друг друга можно очень долго и еще и не найти.

12.11.2013 21:29:51
vovo4ka

vovo4ka

Рязань

SladeThe

SladeThe

Команда Russian AI Cup

Попробуйте скачать сейчас.

Метод появился! Спасибо

12.11.2013 21:33:09
iamnp

iamnp

Зеленоград

В связи с новой картой возник вопрос: помещаются ли в World.Bonuses те бонусы, которые находятся за стеной? Грубо говоря, те, которые нельзя увидеть.

12.11.2013 21:44:36
Hohol

Hohol

Maxifier

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

А как по мне то не очень карта. Слишком много узких проходов. кого в нем поймают тому и тапки. Да и искать в ней друг друга можно очень долго и еще и не найти.

А ульта командира вам на что?

12.11.2013 21:57:13
iamnp

iamnp

Зеленоград

iamnp

iamnp

Зеленоград

В связи с новой картой возник вопрос: помещаются ли в World.Bonuses те бонусы, которые находятся за стеной? Грубо говоря, те, которые нельзя увидеть.

Все, разобрался. Высота бонуса равна высоте лежащего солдата

12.11.2013 21:57:39
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Hohol

Hohol

Maxifier

А ульта командира вам на что?

на самом деле представим ситуацию что мы находимся в разных углах по диагонали. используем ульту, на следующем ходу начинаем движение на перехват. при этом есть 50% вероятность что мы не угадаем куда пойдет соперник. и будем бегать по кругу искать друг друга. и тратить ходы на ульту. При этом еще и карта извилистая пути немного длиннее будут. Да еще и стен куча. И опять же. Ульта дает погрешность 5 клеток. а для этой карты 5 клеток это может быть огромное расстояние

12.11.2013 22:09:40
Cooler

Cooler

Минск

Ура! Протокол - это супер! :) Как-раз хотел это предложить! :)

13.11.2013 0:39:08
DVS

DVS

здесь может быть Ваша компания! :)

вот не понятно что означают строки: time consumed: 0.27 sec time passed: 5.05 sec расшифруйте пожалуйста.

13.11.2013 13:39:32
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

DVS

DVS

здесь может быть Ваша компания! :)

вот не понятно что означают строки: time consumed: 0.27 sec time passed: 5.05 sec расшифруйте пожалуйста.

ваша стратегия затратила времени 0.27 секунд. Бой длился 5 секунд. Как то так

13.11.2013 13:43:25
DVS

DVS

здесь может быть Ваша компания! :)

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

ваша стратегия затратила времени 0.27 секунд. Бой длился 5 секунд. Как то так

куда делись эти 4,7 секунды? сколько времени можно еще думать над ходом?

13.11.2013 13:55:38
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

DVS

DVS

здесь может быть Ваша компания! :)

куда делись эти 4,7 секунды? сколько времени можно еще думать над ходом?

ну в бою участвуют 4 стратегии. Об остальном все в правилах есть

13.11.2013 14:04:00
AdmiralShadow

AdmiralShadow

ХГТУ

Cooler

Cooler

Минск

Ура! Протокол - это супер! :) Как-раз хотел это предложить! :)

1+. За это поклон вам до земли, дороги наши организаторы.

13.11.2013 14:32:20
Ixanezis

Ixanezis

Яндекс

Если б ещё эту и другие карты в local-runner :)

13.11.2013 17:41:35
Wato

Wato

Prognoz

Было бы круто видеть какой игрок за какой цвет играет уже в момент отсчета времени, а то по пока сопоставишь уже пару итерций проморгаешь.

13.11.2013 17:56:37
imbeat

imbeat

МИЭТ

Wato

Wato

Prognoz

Было бы круто видеть какой игрок за какой цвет играет уже в момент отсчета времени, а то по пока сопоставишь уже пару итерций проморгаешь.

+1

13.11.2013 18:39:58
riadwaw

riadwaw

МФТИ

Может быть стоит в протоколе еще добавить вывод в stdin/stderr самой программы?

14.11.2013 0:42:17
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

riadwaw

riadwaw

МФТИ

Может быть стоит в протоколе еще добавить вывод в stdin/stderr самой программы?

а не боитесь что такой вывод замедлит вашу же стратегию и она упадет?

14.11.2013 0:46:17
riadwaw

riadwaw

МФТИ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

а не боитесь что такой вывод замедлит вашу же стратегию и она упадет?

Ну пока что я вывожу и не падает:) Если будет тормозить, буду выпиливать, а пока приятно было бы видеть то, что я вывел, раз уж я вывел

14.11.2013 1:01:32
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

riadwaw

riadwaw

МФТИ

Ну пока что я вывожу и не падает:) Если будет тормозить, буду выпиливать, а пока приятно было бы видеть то, что я вывел, раз уж я вывел

Зато организаторам я думаю не очень приятно хранить километры текста

14.11.2013 1:37:19
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Зато организаторам я думаю не очень приятно хранить километры текста

а то что выводит ваша стратегия вы можете и в репитере посмотреть

14.11.2013 1:37:42
riadwaw

riadwaw

МФТИ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

а то что выводит ваша стратегия вы можете и в репитере посмотреть

Спасибо, забыл про него

14.11.2013 2:11:28
Megabyte

Megabyte

ООО Сибтел-крипто

Прочитал в посте о протоколе боя следующее: “вы можете увидеть количество потраченного процессорного времени и пиковое значение используемой вашей стратегией памяти”

При клике на своем ярлыке, вижу такие строки:

exit code: 0 time consumed: 0.70 sec time passed: 26.32 sec peak memory: 53518336 bytes

у соседа по бою:

exit code: 0 time consumed: 19.69 sec time passed: 25.97 sec peak memory: 63639552 bytes

Как узнать сколько времени я потратил, и сколько осталось до лимитов падения? Категорически не улавливаю связь этого протокола с описанием лимитов:

2 сек на ход, и 77 секунд на игру с тремя юнитами.

Оба игрока выжили до конца боя и не упали.

На обсчет стратегии всего боя я потратил 0.7 сек?

23.11.2013 14:08:30
SladeThe

SladeThe

Команда Russian AI Cup

Megabyte

Megabyte

ООО Сибтел-крипто

Прочитал в посте о протоколе боя следующее: “вы можете увидеть количество потраченного процессорного времени и пиковое значение используемой вашей стратегией памяти” При клике на своем ярлыке, вижу такие строки: exit code: 0 time consumed: 0.70 sec time passed: 26.32 sec peak memory: 53518336 bytes …

«На обсчет стратегии всего боя я потратил 0.7 сек?»

Да.

23.11.2013 19:40:46
Megabyte

Megabyte

ООО Сибтел-крипто

SladeThe

SladeThe

Команда Russian AI Cup

«На обсчет стратегии всего боя я потратил 0.7 сек?» Да.

Спасибо, приступаю к улучшению стратегии. Хотел узнать, не будет ли это напрасной тратой сил, если расход процессора возрастет в четверо, и стратегия начнет падать : ) Оказывается еще есть сто кратный запас : ).

23.11.2013 20:57:58
puk

puk

Усть-Каменогорск

А что означает цифра “time passed”?

23.11.2013 23:58:10
Megabyte

Megabyte

ООО Сибтел-крипто

puk

puk

Усть-Каменогорск

А что означает цифра “time passed”?

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

24.11.2013 5:23:57
SladeThe

SladeThe

Команда Russian AI Cup

puk

puk

Усть-Каменогорск

А что означает цифра “time passed”?

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

24.11.2013 11:02:54
SladeThe

SladeThe

Команда Russian AI Cup

Megabyte

Megabyte

ООО Сибтел-крипто

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

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

24.11.2013 11:04:43
ud1

ud1

Химки

SladeThe

SladeThe

Команда Russian AI Cup

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

Конкретно под линукс, отключение алгоритма Нейгла в C++ языковом пакете существенно ускоряет время работы. Без него любая отправка сообщение от клиента ранеру и обратно занимаем 40мс, что помноженное на количество таких вызовом составляет несколько секунд. Под windows возможно такой ситуации нет.

24.11.2013 11:45:19
SladeThe

SladeThe

Команда Russian AI Cup

ud1

ud1

Химки

Конкретно под линукс, отключение алгоритма Нейгла в C++ языковом пакете существенно ускоряет время работы. Без него любая отправка сообщение от клиента ранеру и обратно занимаем 40мс, что помноженное на количество таких вызовом составляет несколько секунд. Под windows возможно такой ситуации нет.

Да, мы тестируем только под Windows. Для удобства участников можем добавить отключение алгоритма в клиент, но, скорее всего, те, кому нужно, и так уже это сделали.

24.11.2013 11:51:25