Chat:Ru/2021-12-19

From CG community
Jump to navigation Jump to search

aangairbender: winwinwin это название алгоритма?

YurkovAS: это ник игрока

YurkovAS: ура, проскочил в легу! сам не понял как так получилось. с минимаксом

wlesavo: поздравляю! :slight_smile:

YurkovAS: спасибо!

wlesavo: я думаю сегодня еще одну большую идею проверю и на этом закончу, хочу заменить симуляцию противника на вероятностное предсказание

YurkovAS: у тебя же противник всегда wait, а в минимаксе такое не работает

YurkovAS: я еще проверю другие поиски: мс или эвалюционный

wlesavo: это да, у меня так и не получилось завести сколько нибудь нормальное предсказание соперника

YurkovAS: просто мне не нравится как у меня стреляет, если добавлять 2-3 разных выстрела, то миник уже не справляется может другие поиски как раз смогут

wlesavo: с выстрелами все сложно конечно

YurkovAS: и бимсерч может неплохо играть

wlesavo: YurkovAS мне кажется не, тут большая глубина не особо нужна, потому что с появляением новых ядер предсказание тутже актуальность теряет

wlesavo: вообще мне конечно кажется что чтото типа миника должно играть, но прунинг нужен очень хороший

YurkovAS: у рекурса же миник

YurkovAS: вначале был мс, потом брутформ, потом миник

YurkovAS: у тебя же дисконт есть? может брутфорс проверить, в нем проще с дисконтом сделать, или мне кажется... не получилось в минике

wlesavo: там должна быть стрельба какая-то с определением ключевых точек по которым стрелять

wlesavo: дисконт есть, да, в мс важно очень это

aangairbender: ох уж эти термины) что такое дисконт?

YurkovAS: это коэфф, обычно меньше 1, чтобы начальная глубина давала больший приоритет

YurkovAS: например: 0.9^depth

YurkovAS: на каждой глубине оцениваем, умножаем на этот дисконт и суммируем в итоговый скор.

aangairbender: ага, окей, слышал это под названием decay

YurkovAS: эх, еще 3ч ждать, уже охото сабмитнуть, а в голде страшно уже, вдруг удача просто

wlesavo: неплохо пошел сабмит у тебя)

YurkovAS: скоро перебалансируется в обратную сторону :)

YurkovAS: не ожидал такого

YurkovAS: в great-scape в леге 200шт, мой приземлился в 30-ку, хотя еле прошел золотого босса

wlesavo: ну у тебя от босса нормальный отрыв был сейчас, так что в районе 30го ожидаемо

wlesavo: сабмиты черепашьи конечно

YurkovAS: против твоих мин плохо играет

wlesavo: у меня мины в симе, фактически ставятся когда 100% в них можно на инерции влететь

wlesavo: ладно, меня мид легенды впринципе устраивает, наверное закончу на этом, думаю ближе к следующей неделе код оф кутулу начну

wlesavo: кстати ровно середина, 43/86 :slight_smile:

YurkovAS: да, отличный результат. я так и не пробовал другие алгоритмы, есть еще идеи, может попроверяю

YurkovAS: в код оф кутулу тоже сложная сима

wlesavo: хочу настроить еще эйлеровский выкачиватель реплеев, устал дебажить в cgшной ide чето :slight_smile:

wlesavo: на работе кайфовал когда настроил для visual студии чтобы в дебагере можно было изображения просматривать которые в переменных хранятся

YurkovAS: а как он работает? применяешь такие же действия, как в реплее и сравниваешь следующее состояние игры чтобы совпало с реплеевским?

YurkovAS: типа валидатора

YurkovAS: intellij idea тоже показывает картинки, стандартные swing-овые в яве

wlesavo: ну получается там входные данные с рефери за каждый ход просто приходят, находишь реплей в котором поведение не нравится, а дальше уже можешь дебажить как хочешь

wlesavo: ну у нас там своя библиотека MinImg, и для нее прямо стандартных средств нету, но есть плагины для студии которые можно правильно сконфигурить

YurkovAS: у рекурса читал про валидацию на реплеях. а так, хз, даже, локальный комп по другому все насчитает, но наверное можно прокрутить принудительно к нужному ходу

wlesavo: когда с картинками много нужно работать без этого вообще тяжело, иначе приходится миллионами отписывать картинки

wlesavo: YurkovAS я так понимаю там скорее валидация симы получается? я что-то похожее пробовал но в сильно более простых играх

YurkovAS: да, валидация: скачал несколько реплеев и ходит так же как и там ходили все: след состояние должно совпасть

wlesavo: для дебага можно сделать остановку роллаутов по количеству или глубину какую-нибудь зафиксировать

wlesavo: а ну так круто конечно, да

YurkovAS: я обычно локально тестирую импуты, как в игре, а потом их в stdin подсовываю и все работает стандартно

YurkovAS: вот так: http://chat.codingame.com/pastebin/6ba3b25b-7a48-4f14-8fa5-2566a3a110f1

YurkovAS: msg - там 1 строка для примера, а обычно все что подается на вход в нее надо вставить

wlesavo: ну так я тоже делаю, просто хочу наконец автоматизировать, чтобы все выкачивалось и автоматом в инпут подсовывалось

wlesavo: все заработало, прикольно, и парсится нормально и в инпут подсовывается из файла, я думал это сложнее, так бы давно уже сделал

Default avatar.png TTeaLL: из файла?

Default avatar.png TTeaLL: что?

aangairbender: а есть где-то формат реплеев? или туториал как вытянуть json?

Default avatar.png TTeaLL: тут можно как-то играть с подключёнными файлами?