Chat:Ru/2022-05-10
An.Petrovich: http://chat.codingame.com/pastebin/3965eef2-6834-434d-a614-babdeea18c41
An.Petrovich: упс... как интересно сообщение отправилось...
An.Petrovich: если тыцкнуть ссылочку там будет мой вопрос залу ))
An.Petrovich: про мктс вопрос снял, догадался из описания
BorisZ: An.Petrovich во всех этих вариантах нужно создать в программе модель игры, точную или приближенную, которая сможет обрабатывать входящие данные - ходы игроков и выдавать позицию на следующий ход
BorisZ: на вход подаются разные ходы, проигрывается несколько туров, потом позиция как-то оценивается, подаются другие ходы, оценки сравниваются, и так далее пока время не выйдет
BorisZ: это общий для всех момент
BorisZ: на примере гонок - даешь на вход угол и ускорение для всех 4 машинок, получаешь позицию всех 4х на следующий ход, так на какую-то глубину посчитал - потом оценил, сколько чекпоинтов набрал ты, чколько враг
BorisZ: при этом надо обрабатывать столкновения корректно
BorisZ: ну и чекпоинты считать, для машинок больше ничего не надо
wlesavo: только сейчас понял что у bowwowforeach первое мето в кодбастерах тоже
An.Petrovich: ага, суть идеи понятна, спасибо. Только непонятно как при этом строят прогноз следующих тиков, для этого же нужно иметь хоть какую-то модель поведения машинки ))
An.Petrovich: или тут тупо "рандом в глубину" ))))
An.Petrovich: под моделью поведения я имею ввиду не динамику, а модель управления
An.Petrovich: а можно плиз расшифровать самми термины - минимаксы, генетика, ГА ?
BorisZ: минимакс - это перебор всех возможных вариантов своих ходов, потом всех возможных вариантов ходов врага на каждый свой ход и так далее
BorisZ: очень быстро дерево растет, даже при небольшом числе вариантов
An.Petrovich: Ок, понял, спасибо ) а генетика и ГА ? Я пока за прогноз столкновений не брался, у меня сейчас каждая машинка управляется как буд-то она она вообще одна на поле.
wlesavo: генетика и ГА это одно и тоже, гугли генетические алгоритмы
BorisZ: ГА - генетический алгоритм
An.Petrovich: понял, спасибо! а то по ГА мне гугл гражданскую авиацию выдаёт ))))
BorisZ: случайным образом генерится последовательности они же хромосомы
BorisZ: оцениваются, потом как-то скрещиваются или мутируются, получается следующее поколение
An.Petrovich: ясно, ну дальше я погуглю, теперь понятно где копать, спасибо за разъяснения ))
An.Petrovich: будет время, прикручу коррекцию на коллизии, мож удастся ещё немножко мест отыграть. Но в нейронки и в ГА я пока морально не готов, это поле для меня неведомое пока...
wlesavo: ну это игра такая в которой нейронки хорошо играют и относительно легко имплементируются. для того чтобы разные алгоритмы попробовать тут очень много других интересных игр
BorisZ: An.Petrovich в люмо случае - это все кроме нейронок - просто разные способы искать последовательность лучших ходов для симуляции игрового мира
wlesavo: для минимакса можно тот же трон попробовать, там сима максимально простая
BorisZ: угу мне тоже кажется что гонки не самая прикольная игра. Есть игры где надо придумывать свои велосипеды и как-то их совмещать, традиционные способы плохо применимы
BorisZ: если охота изучить все эти традиционные игровые алгоритмы то да, на каждый есть свои игры где он хорошо играет
BorisZ: ну и мне нравится когда понимаешь что твой бот делает - типа последнего контеста
BorisZ: а то в большинстве игр что-то там он делает и хрен поймешь почему (
An.Petrovich: ))) меня эти нейросети "себе на уме" тоже настораживают
An.Petrovich: а то напишешь бота, а он потом поедет в ближайший бар вместо финиша
ilt: меня на 100 мест опустили в паучках, надо наконец в легу забраться
An.Petrovich: А я смотрю, тут CP тоже с косяками считаются. Если заглянуть к себе в профиль, то там в Space Shooter - 326 игроков (уже не первый день). BASE, соответственно, 3260 CP. Но 6-е место по их формуле (из описания) даёт 2880 CP, а мне приписывают 2909. Эти 2909 были бы если бы игроков было не 326 а 329. Но тогда и база была бы 3290, а она 3260. При этом если заглянуть в лидборду, то там игроков 328. ))) Бардак-с!
An.Petrovich: Формула для XP для каждого LEVEL тоже нифига не ихняя (LEVEL ^ 1.5) * 10, у них "ошибка на единицу" ))) Реальная формула - ((LEVEL+1)^ 1.5) * 10
An.Petrovich: А, я понял, они под LEVEL имеют ввиду тот, который надо достичь )) Ну ок, тогда всё норм.
YurkovAS: An.Petrovich для гонок можно начать с изучения http://files.magusgeek.com/csb/csb_en.html тут стартер, сделано по статье с эвалюционным алгоритмом (почти ГА) https://github.com/inoryy/csb-ai-starter/blob/master/main.cpp
YurkovAS: после изучения и исправления стартера доберешься до топ50 100%
AntonBlockchain: это готовый уже бот в золоте.
AntonBlockchain: и он круче чем я написал самолично на js\ts
YurkovAS: я давно делал гонки, этот стартер удобен, что сделан по статье Почитал ПМ-ы к гонкам и без проблем сделал версию на топ50
YurkovAS: ну и автор стартера в топ20
An.Petrovich: Спасибо! Видел тебя в топ 5, снимаю шляпу, круто! )
YurkovAS: залез опять в гоночки, в очередной раз говорю себе: лучшее - враг хорошего
wlesavo: ))
wlesavo: YurkovAS на контест таки не хватило времени да?
AntonBlockchain: нет мой на ts\js круче чем стартер
YurkovAS: wlesavo да я сразу же предчувствовал, что там будут if-ристики, а в них я не силен
YurkovAS: зато добил xmas-rush
wlesavo: ну в итоге там было место для симы, но да, эвристик слишком много
An.Petrovich: это вы про паучков?
wlesavo: ага
wlesavo: я думаю гостбастеров попилить, у меня там что-то в голде на питоне старое лежит, хочу нормального бота
An.Petrovich: Вот дуумаю тоже ввязаться в этих паучков. Я сам контест пропустил, не очень понимал пока на тот момент как CG устроен, да и думал что там только крутованы файтятся. Потом почитал правила, понял что в принципе даже в хвосте этой пищевой цепочки есть шансы какие-то CP поиметь. Надо будет попробовать осенью влезть в драку )) С паучакми хотя бы понятно куда копать, не то что всякие шахматы и прочие карточные игры... ))
An.Petrovich: Вообще платформа огонь. Затягивает.
An.Petrovich: Я попробовал на LeetCode сходить - там скукота по сравнению с тут )))
wlesavo: осенью конечно не факт что что-то будет, но шансы вроде не нулевые
An.Petrovich: да? я думал тут пару раз в год, судя по хистори
wlesavo: предыдущий контест заменили на escape room
wlesavo: и между контестами фактически год прошел
An.Petrovich: а, ну ничё. я как раз поосваиваюсь пока ))