Chat:Ru/2022-06-27
ilt: улучшился немного
YurkovAS: шиш :smile:
YurkovAS: скоро напишут ПМ-ы интересно, как другие сделали
YurkovAS: японцы скорее всего чокудай используют
aangairbender: YurkovAS а у тебя один мкст? или тоже ансамбль какой-то?
aangairbender: у меня идея была сделать N штук mcts, чтоб у каждого свой рандом был. (то есть при итерации сумулятор работал бы одинаково)
aangairbender: и тогда сделать M итераций в каждом дереве и взять лучшее действие в среднем
BorisZ: а кто симуляции делал - вы до конца доигрывали ролауты или останавливались и оценивали позицию?
aangairbender: я 100 фаз делал (или до терминальной если раньше)
aangairbender: но у меня не завелось, поэтому не учитываем))
BorisZ: просто если не до конца то как-то очень сложно понять, у кого лучше позиция
aangairbender: я думаю как раз в этом и вся сложность:joy:
YurkovAS: aangairbender у меня mcts только для своих первых ходов
BorisZ: точнее не у кого лучше а какая лучше и насколько )
YurkovAS: а дальше доигрывание МС
YurkovAS: без прунинга и МС с евристикой это не работает вообще
BorisZ: YurkovAS до конца доигрывание?
YurkovAS: да и статистика в нода почти одинаковая
aangairbender: то есть у тебя без оценки? просто до терминального?
YurkovAS: по 10 полных ходов (move + play card + release) = 1 ходу
YurkovAS: с оценкой и небольшим дисконтом
YurkovAS: чем глубже, тем хуже оценка
aangairbender: для меня магия МС еще закрыта)) ни разу не писал, сразу почему-то мктс берусь кодить
YurkovAS: тем меньше оценка
aangairbender: имхо оценка прям супер решает в этой игре
YurkovAS: в моем случае не оцень либо не нашел хорошую
aangairbender: ну я к тому что как боту понять что надо заниматься автоматизацией? это либо далеко вперед играть и смотреть что с ней проще релизить или как-то в оценку включать
YurkovAS: а ну вот этого у меня нет просто евристикой возможные ходы оцениваю и выбираю рандомно преимущественно лучшие
YurkovAS: короче не очень алгоритм
aangairbender: а, то есть ты оцениваешь ходы а не состояние?
aangairbender: ходы возможно чуть проще оценить (если жадно оценивать)
YurkovAS: когда заполняю след доступные ходы: у каждого есть оценка потом рандомно выбираю, но приоритет у лучших больше
YurkovAS: оценка хода по текущему состоянию
YurkovAS: ну типа : мув через адиминистрацию хуже
YurkovAS: или не релизим с большим штрафом и т.п.
YurkovAS: перенес все евристики из первого простово if-ного бота
aangairbender: эх, звучит норм. Чтож так сложно догадаться до норм решений:sweat_smile:
YurkovAS: просто на 1ход они плохо играли потом прикрутил играть глубже: с рандомным состоянием карт противника
aangairbender: я вот тоже так хотел, но не додумался что можно ходы оценивать
aangairbender: просто тоже ни разу такое не кодил, обычно состояния оценвиваю
BorisZ: ну это вроде те же яйца примерно - если через администрацию прошел то лишился карт или тех долг получил - значит оценка хуже будет
BorisZ: состояния
YurkovAS: тут смысл - чтобы он рандомно более менее нормально играл
aangairbender: все ж когда я состояния оценивал я пытался оценить близость к победе. иногда отдать карты чтоб автоматизировать/релизнуть вполне себе норм
aangairbender: оценить стейт таким образом сложно, а вот если ходы, то норм, ведь авто/релиз даст оценку выше чем проход через админ и будет зьс
aangairbender: збс
YurkovAS: когда до лимита по ходам доходит без победы (по 10 пачек ходов у каждого), тогда уже оцениваю по состоянию: счет, кол-во карт + нормализация и умножаю на дисконт по глубине
YurkovAS: в этот алгоритм: если хорошую оценку ходов добавить, то по идее должен улучшиться
YurkovAS: иначе: использовать что-то нормальное в минимакс стиле или чокудай
YurkovAS: минимакс наверное не осилит, т.к. там под 40 ходов штучных
YurkovAS: а надо 10-20 разных наборов карт противника прогнать
wlesavo: сегодня-завтра тоже начну, неделька вроде более менее свободная пока раик не начнется
BorisZ: самое время :smirk:
YurkovAS: мне так даже проще, вне конкурса когда не только из-за наличия ПМ-в, а в общем спокойнее, есть больше времени подумать
wlesavo: BorisZ не ну на питончике то я сделал что мог) а так времени не было нормально поиграть, обы выходных что первые что вторые выпадали полностью, так что я сразу решил казуальненько поучаствовать
BorisZ: в этом то и проблема - когда ничего не давит, можно сейчас попилить, можно завтра, бросаю все моментально
wlesavo: не, мне норм наоборот, когда можно спокойно думать как улучшить не беспокоясь о том что не успеешь и все
BorisZ: угу, у меня тоже этот контест выпрыгнул как-то неожиданно, я только в пятницу про него узнал, да и правила замороченные поначалу
BorisZ: надо бы к райку подготовиться конечно, там еще в этом году и платформа новая и в правилах изменения какие-то, народ возмущается в чатике
BorisZ: хотя в райке народ всегда возмущается )
wlesavo: ага, но тема раика прямо интересная, интересно что они в рамках нее придумают
AntonBlockchain: правила выглядят как боевое тз. куча текста и bizz word green-green. Я так и сказал сыну - это прямо как на работе тз есть а что делать не понятно.
BorisZ: я только анонс читал - что-то типа пубг, бегалка стрелялка с сужением поля постепенным
wlesavo: не факт что стрелялка, может чето типа мобы будет
BorisZ: 2 питона в топ 20 - значит дело в оценке, к бабке не ходи )
ilt: у меня бфс подобная симуляция
ilt: глубина от 1 до 2 своих хода
YurkovAS: и все?
YurkovAS: т.е. и противником не ходишь
ilt: плюс в оценка элементы прогноза прикручены
ilt: да
YurkovAS: ого, круто
ilt: противник учитывается
ilt: но по сути там два действия
ilt: не давать карты
YurkovAS: да я имел ввиду глубже ходы - чтобы противником потом ходить, потом опять ты и т.д
ilt: релизить то что ему хорошо подходит
YurkovAS: ооо, точно)
YurkovAS: а есть не релизить со штрафом > 2-4?
YurkovAS: дождусь ПМ-ов и поэкспериментирую с этим алгоритмом
YurkovAS: думаю у него есть потенциал с хорошей оценочной
ilt: с учетом того что я на тех долг забиваю, то релизить то , на что сыграны авто скиллы
ilt: да я тоже поэкспериментирую
YurkovAS: только автоскилами?
ilt: на большее не хватило
ilt: тут есть пространство для улучшения
YurkovAS: всмысле реально - релиз только автоскилами?
ilt: нет любой автоскил
ilt: автоматизировал ты 5
ilt: я все приложения с пятерками из доступных убираю
ilt: 4 Java идут с разницей в 5 мест
YurkovAS: я сабмитил 2 раза: 22 и 40 место
YurkovAS: надо было ресабмитнуть повыше
ilt: немного рандома в мою пользу пожалуйста
YurkovAS: ну с 40 поднялся до 30го
ilt: сейчас же пересчет идет
YurkovAS: я думал будет подинамичнее
YurkovAS: в лидерборде
YurkovAS: пересчет стартует с прежних позиций
ilt: по моему ему в целом пофиг на позиции
ilt: если всех сразу пересчитывает
YurkovAS: я где был, там же остался при пересчете а динамика очень медленная
YurkovAS: ну да ладно, не футболку же проигрываю :smiley:
YurkovAS: https://www.codingame.com/forum/t/green-circle-feedback-strategies/196574
aropan: А я чего-то не оч понимаю как делать сдачу карт в мктс. Все варианты рассматривать и усреднять получается?
aropan: YurkovAS: ?
YurkovAS: у меня только свои первые move, play card, release
YurkovAS: в play card есть еще остановка, где карты у себя подмешиваем
YurkovAS: а дальше у противника генерю набор карт и запускаю рандомное доигрываение примерно на 50 ходов
YurkovAS: и вся магия в рандомном доигрывании - чем лучше оно играет, тем точнее в итоге статистика
YurkovAS: нормально заиграло, как только в рандомно доигрывании добавил оценку у ходов
YurkovAS: у move - за расстояние, потенциальный релиз, штраф за админку
YurkovAS: у release в оценке тех долг и запрет релиза с долгом > 2
aropan: А после свои опять не генерил?
BorisZ: у меня в оценке релиза вторым параметром его полезность для врага - из двух с одинаковым долгом выбираю тот, каких карт больше у врага вколоде
YurkovAS: aropan дерево? в него больше ничего не добавлял
aropan: Мне просто показалось, что ты сказал, что генерил 10 ходов.
YurkovAS: да оно почти одинакого играет, даже если только 1 ход свой добавить в дереве что у меня и было в начале
aropan: и 1 ход это цепочка от move до release.
YurkovAS: рандомных ходов много
YurkovAS: в mcts tree 1ход (не цепочка) в рандомном доигрывании: по 10 цепочек у каждого (все как в игре)
YurkovAS: точнее чейчас у меня так: в mcts tree 1 ход (цепочка move,play,release) но можно и только 1ход (не цепочку)
YurkovAS: ну ты понял логику :)
ilt: YurkovAS give туда тоже надо добавлять
ilt: Это моя ошибка кстати, что я его впилил только в последний момент
ilt: мне кстати выдали ачивку топ50
ilt: :)
YurkovAS: It sounds “huak huak release new issue in production” in Russian :smile:
YurkovAS: ilt :thumbsup: