Chat:Ru/2022-05-10

From CG community
Jump to navigation Jump to search

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: а, ну ничё. я как раз поосваиваюсь пока ))