Comments 49
А видео боёв есть ли? )
+4
Наверное, это его профиль.
Там можно глянуть повторы.
Там можно глянуть повторы.
+1
Спасибо, добавил ссылку в статью.
+2
У меня маленькое подозрение по просмотренным матчам и коду, что у вас поворот башни и танка не учитывают, что поворот со значения угла (2*pi-epsilon) до значения 0 очень маленкое, и башня как бы крутится только в одну сторону. Успокойте меня, и скажите что все правильно. :)
0
Прочитал на одном дыхании, спасибо за детальный рассказ.
+7
Очень пожалел, что не нашёл времени поучаствовать в конкурсе.
+2
UFO just landed and posted this here
Как бои посмотреть? на все что можно уже нажимал.
0
Справа от списка участников боя — четыре колонки с числами и ещё правее должна быть кнопка «Смотреть» (ответ на коммент выше, промазал)
0
Вы злодей!
В хорошем смысле слова, сам с простенькой стратегией был в топ500 — потом дисквалифицировали и интерес пропал
В хорошем смысле слова, сам с простенькой стратегией был в топ500 — потом дисквалифицировали и интерес пропал
+2
А за что дисквалифицировали то?
0
Я сам виноват, мультиакк, но то, каким образом сняли с «российского соревнования по ИИ» — напоминает неуважение администрации во всяких браузерках по отношению к игрокам.
Подробнее — увидел инфу о соревновании, зарегился в первые дни. Потом воткнул стратегию которая на месте крутила пушкой и палила рандомом. И где то на неделю забыл.
Появилось время, начал допиливать во что-то более осмысленное, пока допиливал увидел хрень с движением стратегии в песочнице, скопировал проверить в другой акк — и действительно мест на 300 выше вылез.
Ну а дальше уже 2й акк допиливал по ночам. Где-то дней 8 потратил, и в момент начала первого раунда всех блокнули.
Могли бы и сразу заблочить, а так получилось что впустую по ночам сидел.
Подробнее — увидел инфу о соревновании, зарегился в первые дни. Потом воткнул стратегию которая на месте крутила пушкой и палила рандомом. И где то на неделю забыл.
Появилось время, начал допиливать во что-то более осмысленное, пока допиливал увидел хрень с движением стратегии в песочнице, скопировал проверить в другой акк — и действительно мест на 300 выше вылез.
Ну а дальше уже 2й акк допиливал по ночам. Где-то дней 8 потратил, и в момент начала первого раунда всех блокнули.
Могли бы и сразу заблочить, а так получилось что впустую по ночам сидел.
+2
Сразу подумалось, что будет выигрыш в производительности по сравнению с участниками, пишущими на языках типа Java/Python
На самом деле нет, ведь тик не заканчивается, пока все игроки не ответили.
+3
по всей видимости, имеется ввиду ограничение процессорного времени, выделяемого стратегии на один тик.
Интересно, было ли оно разным для разных языков.
Интересно, было ли оно разным для разных языков.
+1
deleted
0
на питоне довольно быстро упираешься в предел.
у меня размер сетки для поля опасности 16х10 каждый тик я его расчитывать не могу, при этом я считаю только расстояние до танка, направление дула и летящие снаряды.
у меня размер сетки для поля опасности 16х10 каждый тик я его расчитывать не могу, при этом я считаю только расстояние до танка, направление дула и летящие снаряды.
+1
Не уверен, но вдруг кого заинтересует алгоритм на python3 для моих танков. Суть алгоритма можно понять сразу.
+1
Отличная статья, спасибо!
Сам тоже участвовал, но мало времени было на разработку алгоритма, в итоге только попадание во второй раунд =(
Сам тоже участвовал, но мало времени было на разработку алгоритма, в итоге только попадание во второй раунд =(
0
Очень надеялся, что победитель напишет подобную статью. Искреннее спасибо!
Поздравляю с победой.
Поздравляю с победой.
+5
Поздравляю!) Вы написали алгоритм управления танком практически бесплатно :)
И еще неизвестно, чей это будет танк:(
И еще неизвестно, чей это будет танк:(
-10
Надо же так и думал что ктонить распотрошит локалрунер для тестирования разных стратегий.
Мне во втором раунде возможности прокатать стратегию несколько десятков раз и сравнить с другой очень не хватало.
Спасибо за статью и поздравляю с победой.
Мне во втором раунде возможности прокатать стратегию несколько десятков раз и сравнить с другой очень не хватало.
Спасибо за статью и поздравляю с победой.
+1
Поздравляю с победой :)
отчет GreenTea — brunneng.blogspot.ru/2012/12/russian-ai-cup-2012-tanks.html
«Причем сначала урон идет в броню и только после пробития брони в здоровье экипажа.»
Вот эта фраза коряво написана — читается как «сначала пробивается вся броня и только потом»
отчет GreenTea — brunneng.blogspot.ru/2012/12/russian-ai-cup-2012-tanks.html
«Причем сначала урон идет в броню и только после пробития брони в здоровье экипажа.»
Вот эта фраза коряво написана — читается как «сначала пробивается вся броня и только потом»
+2
Жаль, что все сорцы так мало прокомментированы и содержат столь много магии.
0
А есть какая-нибудь визуализация поля опасности?
+1
Ох уж эти бессонные 2 недели )
Я хоть не победил и потратил уйму времени — всё равно получил удовольствие, респект организаторам.
Я хоть не победил и потратил уйму времени — всё равно получил удовольствие, респект организаторам.
0
Очень понравилась статья, автору спасибо и поздравления!
+2
Наша оборонка по вам плачет!
+4
> Мое физическое образование подсказывало заменить скалярное поле опасности на квадрупольное
И тут я понял, что надеяться мне там было не на что. :-) Скажите каким опытом разработки физических движков и ИИ вы обладали до этого конкурса?
Сам первый раз участвовал в подобном соревновании, тоже пришел к разбиению поля на квадраты и начислению баллов каждому квадрату в зависимости от бонусов, близости противников, приближении снарядов и прочих параметров, но выше 120 места так и не взобрался, к концу стратегия скатилась в 400-500 места. Сделать поворот корпуса на нужный угол, тоже была попытка, но нехватило знаний, для адекватной реализации — просто не успевал поворачиваться под снаряды, на дальней дистанции просто уходил из под огня. Да и стрелял танк с простым упреждением на угловую скорость и направление движения. У вас конечно все куда круче! Поздравляю!
И тут я понял, что надеяться мне там было не на что. :-) Скажите каким опытом разработки физических движков и ИИ вы обладали до этого конкурса?
Сам первый раз участвовал в подобном соревновании, тоже пришел к разбиению поля на квадраты и начислению баллов каждому квадрату в зависимости от бонусов, близости противников, приближении снарядов и прочих параметров, но выше 120 места так и не взобрался, к концу стратегия скатилась в 400-500 места. Сделать поворот корпуса на нужный угол, тоже была попытка, но нехватило знаний, для адекватной реализации — просто не успевал поворачиваться под снаряды, на дальней дистанции просто уходил из под огня. Да и стрелял танк с простым упреждением на угловую скорость и направление движения. У вас конечно все куда круче! Поздравляю!
+2
Ну, «опыт разработки» это очень сильно сказано. Скорее я просто интересуюсь вопросом. В свое время выводил формулы для переданных импульсов, пытался писать что-то вроде Box2D. Делал разные физические симуляции. По поводу ИИ: писал когда-то перебор вариантов для крестиков-ноликов и морского боя, игрался с нейронными сетями. Так что подготовка у меня больше теоретическая и сыграла свою роль скорее широта кругозора, чем практические навыки.
0
Браво!
Отсылку к этой статье можно использовать как аргумент в холиварах «нужно ли программисту высшее образование».
Отсылку к этой статье можно использовать как аргумент в холиварах «нужно ли программисту высшее образование».
+13
А главное математика )
+4
Зачем физика/математика саперу? Или 1Снику? Или клепателю сайтов на джумле?
геймдев — да. Но это очень ограниченная область.
геймдев — да. Но это очень ограниченная область.
0
А разве в определении «клепатель сайтов на джумле» где-то подразумевается программист?
Математика в той или иной степени нужна любому программисту. Программист без математики — это кодописатель.
Математика в той или иной степени нужна любому программисту. Программист без математики — это кодописатель.
+2
Вы говорите так, что можно подумать будто люди рождаются САПерами, 1Сниками и прочими поварами с юристами, а не становятся ими в процессе взросления/обучения.
Жизнь — довольно непредсказуемая штука и предвидеть, что пригодится в жизни, а что нет — невозможно.
P.S. САПом, 1С, допиливанием джумлы и геймдевом список областей не заканчивается, есть и сотни других.
Жизнь — довольно непредсказуемая штука и предвидеть, что пригодится в жизни, а что нет — невозможно.
P.S. САПом, 1С, допиливанием джумлы и геймдевом список областей не заканчивается, есть и сотни других.
0
Статья прекрасная! Подход тоже.
Но все же есть не раскрытые вопросы. Например, меня заинтересовала следующая фраза:
Как до этого Вы дошли, и почему решили использовать интегрирование? Мне не понятно…
Если можно прокомментируйте пожалуйста.
Но все же есть не раскрытые вопросы. Например, меня заинтересовала следующая фраза:
Используя выбранную модель движения, я проводил интегрирование поля опасности с весом, линейно спадающим со временем:
Как до этого Вы дошли, и почему решили использовать интегрирование? Мне не понятно…
Если можно прокомментируйте пожалуйста.
+1
Ну, у меня была цель заставить танк перебираться в более безопасные места, при этом стараясь не пересекать слишком опасных и как можно более быстро. Следовательно я должен учесть опасности всех точек на пути и, с большим весом, опасность конечной точки. Причем, чем позже точка достигается, тем ее вес должен быть меньше, ибо точность предсказания падает со временем, ну и надо мотивировать танк ездить быстрее. Вот я и суммирую (численно интегрирую) опасности по пути движения.
Кстати, изначально предполагалось (и потом было реализовано):
.
Кстати, изначально предполагалось (и потом было реализовано):
+1
Sign up to leave a comment.
Путь к победе на Russian AI Cup 2012