Комментарии 49
А видео боёв есть ли? )
Наверное, это его профиль.
Там можно глянуть повторы.
Там можно глянуть повторы.
Спасибо, добавил ссылку в статью.
У меня маленькое подозрение по просмотренным матчам и коду, что у вас поворот башни и танка не учитывают, что поворот со значения угла (2*pi-epsilon) до значения 0 очень маленкое, и башня как бы крутится только в одну сторону. Успокойте меня, и скажите что все правильно. :)
Прочитал на одном дыхании, спасибо за детальный рассказ.
Очень пожалел, что не нашёл времени поучаствовать в конкурсе.
НЛО прилетело и опубликовало эту надпись здесь
Как бои посмотреть? на все что можно уже нажимал.
Справа от списка участников боя — четыре колонки с числами и ещё правее должна быть кнопка «Смотреть» (ответ на коммент выше, промазал)
Вы злодей!
В хорошем смысле слова, сам с простенькой стратегией был в топ500 — потом дисквалифицировали и интерес пропал
В хорошем смысле слова, сам с простенькой стратегией был в топ500 — потом дисквалифицировали и интерес пропал
А за что дисквалифицировали то?
Я сам виноват, мультиакк, но то, каким образом сняли с «российского соревнования по ИИ» — напоминает неуважение администрации во всяких браузерках по отношению к игрокам.
Подробнее — увидел инфу о соревновании, зарегился в первые дни. Потом воткнул стратегию которая на месте крутила пушкой и палила рандомом. И где то на неделю забыл.
Появилось время, начал допиливать во что-то более осмысленное, пока допиливал увидел хрень с движением стратегии в песочнице, скопировал проверить в другой акк — и действительно мест на 300 выше вылез.
Ну а дальше уже 2й акк допиливал по ночам. Где-то дней 8 потратил, и в момент начала первого раунда всех блокнули.
Могли бы и сразу заблочить, а так получилось что впустую по ночам сидел.
Подробнее — увидел инфу о соревновании, зарегился в первые дни. Потом воткнул стратегию которая на месте крутила пушкой и палила рандомом. И где то на неделю забыл.
Появилось время, начал допиливать во что-то более осмысленное, пока допиливал увидел хрень с движением стратегии в песочнице, скопировал проверить в другой акк — и действительно мест на 300 выше вылез.
Ну а дальше уже 2й акк допиливал по ночам. Где-то дней 8 потратил, и в момент начала первого раунда всех блокнули.
Могли бы и сразу заблочить, а так получилось что впустую по ночам сидел.
Сразу подумалось, что будет выигрыш в производительности по сравнению с участниками, пишущими на языках типа Java/Python
На самом деле нет, ведь тик не заканчивается, пока все игроки не ответили.
по всей видимости, имеется ввиду ограничение процессорного времени, выделяемого стратегии на один тик.
Интересно, было ли оно разным для разных языков.
Интересно, было ли оно разным для разных языков.
deleted
на питоне довольно быстро упираешься в предел.
у меня размер сетки для поля опасности 16х10 каждый тик я его расчитывать не могу, при этом я считаю только расстояние до танка, направление дула и летящие снаряды.
у меня размер сетки для поля опасности 16х10 каждый тик я его расчитывать не могу, при этом я считаю только расстояние до танка, направление дула и летящие снаряды.
Не уверен, но вдруг кого заинтересует алгоритм на python3 для моих танков. Суть алгоритма можно понять сразу.
Отличная статья, спасибо!
Сам тоже участвовал, но мало времени было на разработку алгоритма, в итоге только попадание во второй раунд =(
Сам тоже участвовал, но мало времени было на разработку алгоритма, в итоге только попадание во второй раунд =(
Очень надеялся, что победитель напишет подобную статью. Искреннее спасибо!
Поздравляю с победой.
Поздравляю с победой.
Поздравляю!) Вы написали алгоритм управления танком практически бесплатно :)
И еще неизвестно, чей это будет танк:(
И еще неизвестно, чей это будет танк:(
Надо же так и думал что ктонить распотрошит локалрунер для тестирования разных стратегий.
Мне во втором раунде возможности прокатать стратегию несколько десятков раз и сравнить с другой очень не хватало.
Спасибо за статью и поздравляю с победой.
Мне во втором раунде возможности прокатать стратегию несколько десятков раз и сравнить с другой очень не хватало.
Спасибо за статью и поздравляю с победой.
Поздравляю с победой :)
отчет 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 недели )
Я хоть не победил и потратил уйму времени — всё равно получил удовольствие, респект организаторам.
Я хоть не победил и потратил уйму времени — всё равно получил удовольствие, респект организаторам.
Очень понравилась статья, автору спасибо и поздравления!
Наша оборонка по вам плачет!
> Мое физическое образование подсказывало заменить скалярное поле опасности на квадрупольное
И тут я понял, что надеяться мне там было не на что. :-) Скажите каким опытом разработки физических движков и ИИ вы обладали до этого конкурса?
Сам первый раз участвовал в подобном соревновании, тоже пришел к разбиению поля на квадраты и начислению баллов каждому квадрату в зависимости от бонусов, близости противников, приближении снарядов и прочих параметров, но выше 120 места так и не взобрался, к концу стратегия скатилась в 400-500 места. Сделать поворот корпуса на нужный угол, тоже была попытка, но нехватило знаний, для адекватной реализации — просто не успевал поворачиваться под снаряды, на дальней дистанции просто уходил из под огня. Да и стрелял танк с простым упреждением на угловую скорость и направление движения. У вас конечно все куда круче! Поздравляю!
И тут я понял, что надеяться мне там было не на что. :-) Скажите каким опытом разработки физических движков и ИИ вы обладали до этого конкурса?
Сам первый раз участвовал в подобном соревновании, тоже пришел к разбиению поля на квадраты и начислению баллов каждому квадрату в зависимости от бонусов, близости противников, приближении снарядов и прочих параметров, но выше 120 места так и не взобрался, к концу стратегия скатилась в 400-500 места. Сделать поворот корпуса на нужный угол, тоже была попытка, но нехватило знаний, для адекватной реализации — просто не успевал поворачиваться под снаряды, на дальней дистанции просто уходил из под огня. Да и стрелял танк с простым упреждением на угловую скорость и направление движения. У вас конечно все куда круче! Поздравляю!
Ну, «опыт разработки» это очень сильно сказано. Скорее я просто интересуюсь вопросом. В свое время выводил формулы для переданных импульсов, пытался писать что-то вроде Box2D. Делал разные физические симуляции. По поводу ИИ: писал когда-то перебор вариантов для крестиков-ноликов и морского боя, игрался с нейронными сетями. Так что подготовка у меня больше теоретическая и сыграла свою роль скорее широта кругозора, чем практические навыки.
Браво!
Отсылку к этой статье можно использовать как аргумент в холиварах «нужно ли программисту высшее образование».
Отсылку к этой статье можно использовать как аргумент в холиварах «нужно ли программисту высшее образование».
А главное математика )
Зачем физика/математика саперу? Или 1Снику? Или клепателю сайтов на джумле?
геймдев — да. Но это очень ограниченная область.
геймдев — да. Но это очень ограниченная область.
А разве в определении «клепатель сайтов на джумле» где-то подразумевается программист?
Математика в той или иной степени нужна любому программисту. Программист без математики — это кодописатель.
Математика в той или иной степени нужна любому программисту. Программист без математики — это кодописатель.
Вы говорите так, что можно подумать будто люди рождаются САПерами, 1Сниками и прочими поварами с юристами, а не становятся ими в процессе взросления/обучения.
Жизнь — довольно непредсказуемая штука и предвидеть, что пригодится в жизни, а что нет — невозможно.
P.S. САПом, 1С, допиливанием джумлы и геймдевом список областей не заканчивается, есть и сотни других.
Жизнь — довольно непредсказуемая штука и предвидеть, что пригодится в жизни, а что нет — невозможно.
P.S. САПом, 1С, допиливанием джумлы и геймдевом список областей не заканчивается, есть и сотни других.
Статья прекрасная! Подход тоже.
Но все же есть не раскрытые вопросы. Например, меня заинтересовала следующая фраза:
Как до этого Вы дошли, и почему решили использовать интегрирование? Мне не понятно…
Если можно прокомментируйте пожалуйста.
Но все же есть не раскрытые вопросы. Например, меня заинтересовала следующая фраза:
Используя выбранную модель движения, я проводил интегрирование поля опасности с весом, линейно спадающим со временем:
Как до этого Вы дошли, и почему решили использовать интегрирование? Мне не понятно…
Если можно прокомментируйте пожалуйста.
Ну, у меня была цель заставить танк перебираться в более безопасные места, при этом стараясь не пересекать слишком опасных и как можно более быстро. Следовательно я должен учесть опасности всех точек на пути и, с большим весом, опасность конечной точки. Причем, чем позже точка достигается, тем ее вес должен быть меньше, ибо точность предсказания падает со временем, ну и надо мотивировать танк ездить быстрее. Вот я и суммирую (численно интегрирую) опасности по пути движения.
Кстати, изначально предполагалось (и потом было реализовано): .
Кстати, изначально предполагалось (и потом было реализовано): .
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Путь к победе на Russian AI Cup 2012