Chat:Ru/2022-05-31
wlesavo: ну у меня это самый легкий топ15 точно, просто переписал у ейлера симу, переписал у магуса коллизии, сделал какую-то версию смитси и все, буквально пара дней
wlesavo: заодно проверил как на мой визуализатор новая игра ложится, оказалось вообще без проблем, буквально пол часа и готово
wlesavo: ща еще надо столкновения оптимизировать, ато у меня всего в районе 100 сим на втором ходу на большом количестве фишек :smiley: и это еще немного оптимизировано, было вообще 20
Uljahn: кстати, по поводу визуализаций - сегодня наткнулся на целый фреймворк для RTS/TBS https://github.com/egg-west/Stratega
wlesavo: ох, ну это уж слишком, мне только линии да кружочки рисовать))
aangairbender: wlesavo а много ходов симулируешь? у меня как оказалось всего 2 хода на действия и еще 8 ходов просто wait
aangairbender: http://chat.codingame.com/pastebin/8ebf5896-c25b-4a10-9d50-adde9e9c9283
aangairbender: вот в таком конфиге (на 4 игрока) у меня 35 playouts
tutubalin: Uljahn прикольно. забукмаркал на всякий случай
wlesavo: aangairbender у меня похожая идея, 4 хода симуляции, потом 3 вейта, еще не сильно экспериментировал, с 2+8 в таком сетапе 60 плейаутов
aangairbender: wlesavo а ты пишешь на нормальных плюсах или на "си к классами"? прагмы я думаю все используют, а вот манера написания кода
aangairbender: я последние соревнования на плюсах писал, так вот по ощущениям намного проще чем на расте. На расте сейчас пишу и хочется сделать красиво (язык то позволяет) и из-за этого долго пишу
aangairbender: вообще хз как люди на плюсах пишут, посмотрел бы чей-то код для практики
tutubalin: aangairbender ну на гитхабе :) даже вот тот, который Ульян выше запостил
aangairbender: я имел в виду код для кодингейма
aangairbender: то есть учитывая -О0
wlesavo: aangairbender ну смотря что под нормальными плюсами понимать, думаю ближе к си с классами, но кое где есть темплейты итп, в большинстве случаев просто не нужно ничего. ну и конечно можно было бы сделать какие-то общие интерфейсы скелетные и реализации алгоритмов библиотечные, но мне это не сильно интересно пока, плюс надо заморачиваться потом с автоматическим собиранием этого всего в один файл
wlesavo: можешь посмотреть нетленную классику :slight_smile: https://github.com/kmyk/codingame-hypersonic/blob/master/Answer.cpp
wlesavo: там есть интересные фичи, но в целом это тяжело назвать полноценными плюсами
aangairbender: просто есть некие фишечки, например если хочется идти по вектору и удалять некоторые элементы, то можно идти с конца и свопать с последним по условию
aangairbender: в расте такая фишечка не заведется
aangairbender: зато в расте есть .swap_remove(index) у вектора, в плюсах я не нашел
aangairbender: точней в расте заведется все что и в плюсах, но это уже не совсем раст)
aangairbender: я кстати переписал когда-то uttt с плюсов на раст и был одинаковый перфоманс, потом переделал на более идиматичный раст и стало чуть медленее
aangairbender: например для отсутсвия значения использовал не -1, а Option<i32>
wlesavo: ремувать из вектора для cg вообще звучит не очень эффективной идеей
aangairbender: swap_remove же о(1) просто swap с последним и pop_back
aangairbender: я обычно просто inactive помечаю, но может фрагментацию делать иногда полезно
aangairbender: *дефрагментацию
wlesavo: а, так да, не сразу понял о чем ты, да я тоже помечаю inactive обычно, помню что как то пробовал делать дефрагментацию но ничего хорошего не придумал и было медленнее все-равно
wlesavo: YurkovAS раззадорили тебя разговорами и решил ресабмитнуть?))
YurkovAS: ресабмитить - не мешки ворочать :smiley:
wlesavo: у тебя число сим отображается это число ходов или полных плейаутов на всю глубину?
YurkovAS: 2-8 сабмитнул
wlesavo: а было?
YurkovAS: секрет а то обойдете)
wlesavo: у меня 2-8 хуже играет как-то
wlesavo: более менее 3-6 или 407
wlesavo: 4-7
YurkovAS: это были симуляции
wlesavo: полные?
wlesavo: офигеть тогда
YurkovAS: да у меня в том конфиге на 2м ходу 400 роллаутов
wlesavo: у тебя как-то коллизии хорошо прунятся лишнии видимо
YurkovAS: https://www.codingame.com/replay/638462094
wlesavo: а, 400 норм, порядок разницы, по цифрам мне казалось там раз в 30 разница с моими
YurkovAS: это 2-8 и та карта с 4 игроками
wlesavo: хм, так так пишет 2400
YurkovAS: 5й ход = 2ход как я понял
wlesavo: а погоди, я на смитси смотрю
YurkovAS: да, там роллауты и симы вывел
wlesavo: но у него видимо число ходов
wlesavo: просто у тебя раньше было тоже вроде sims: xxx
YurkovAS: было и скрою, пока не обыграли)
wlesavo: ну тогда норм в целом, у меня вроде есть идеи как ускорить немного
wlesavo: спасибо за инсайды, постараемся не обыгрывать))
wlesavo: а у тебя без avx это?
YurkovAS: без
YurkovAS: тут еще от кол-ва углов же зависит, наверное)
wlesavo: вообще я думаю долго не буду экспериментировать тут, может еще что начну лучше
YurkovAS: это да, согласен
YurkovAS: мне просто лень что-то начинать
wlesavo: от количества углов по логике не зависит число роллаутов, ботлнек там точно в коллизиях
YurkovAS: охото такое же простое найти, чтобы симуляцией затащить
wlesavo: ну тут как-то слишком легко получилось высоко забраться, даже визуализатор сильно не пригодился
YurkovAS: xmass-rush тоже смитсимакс
wlesavo: о, вот туда может схожу, давно смотрел на нее
wlesavo: там визуализатор конечно посложнее прикрутить будет, зато интересно
YurkovAS: недавно делал - тяжело было, еле вышел из золота пока всего бота не переписал и все пм-ы не поэкспериментировал
wlesavo: я пока стараюсь без пмов делать, смитси макс тож делал не читая плейграунд сначала, набил своих шишек, потом пошел смотреть как он обошел это
wlesavo: сегодня только понял что у меня деревья так скоррелированы были, что всегда у всех фишек одинаковый мув выбирался
YurkovAS: без ПМ-ов это круто!
wlesavo: потому что скор был просто общая масса, плюс нормировку он классную придумал конечно, я долго думал как отбалансить эксплор
wlesavo: в гостбастерах в итоге пошел читать, но ничего интересного не нашел, в итоге помогло то что свои баги все вычистил с визуализатором и трекинг сильно улучшил
YurkovAS: надо почитать к этой игре. давно ее делал - вроде сам придумал оценочную и без нормализации
wlesavo: ну нормализация там в плейграунде у смитси, что дерево мониторит минимальный и максимальный скор свой
YurkovAS: это про ксб?
wlesavo: ага
wlesavo: вообще сам алгоритм очень интересный, действительно большой потенциал у него, оособенно в таких играх, надо бы еще чокудай освоить =)
wlesavo: ладно, доброй ночи :slight_smile:
YurkovAS: спс и тебе!