Chat:Ru/2021-02-14
MadKnight: AlekseyBozhko ага
quasR: а что с СоС? Один тест грузится 3 года
quasR: при чем решение однострочное
quasR: даже без циклов емае:joy:
quasR: да уж сервера тут балдежные
Uljahn: а ты премиум аккаунт оплатил? там круче сервера :)
Uljahn: а если серьёзно, то надо ждать понедельника, админы появятся и будут чинить, а пока баг-репорты надо писать на форум и в дискорд
neff: Решил первый раз запрограммировать бота (игра риверси), программировал дня 3 в итоге бот получил только 126 место в деревянной лиге, и что то я даже особо ума не приложу что и как оптимизировать. Кто писал бота в этой категории, можете подсказать какие то ресурсы, что нужно изучить что бы хотя бы выйти из деревянной лиги?
neff: пытался в боте использовать алгоритм MCTS, до написания бота сним был не знаком, мне кажется у меня за отведённое время 150мс проходит слишком мало симуляций для данонго алгоритма (меньше 1000 единиц)
Razzeeyy: А что за игра? Я так и не найду её)
neff: https://www.codingame.com/ide/puzzle/othello-1
neff: ну она на иностранном отелло называется, но вроде на руссоком чаще пишут риверси
MadKnight: quasR вчера чёт серверам плохо было
MadKnight: но админы уже знают
MadKnight: там вообще все пазлы не грузились
YurkovAS: neff ресурсы https://www.baeldung.com/java-monte-carlo-tree-search https://github.com/Oreshnik/MCTS_TTT
YurkovAS: посмотри в профайлере что тормозит - после первой реализации всегда есть что ускорить
YurkovAS: для мктс-а можно использовать 2 подхода: 1. доигрывать партию рандомными ходами 2. делать 0 - н (10-20) рандомных ходов и через оценочную функцию определять победителя. чем лучше оценочная, тем меньше рандомных ходов надо делать
YurkovAS: и отело у меня тоже долго не хотело хоть как-то играть, пока не нагуглил оценочные.
neff: у меня судя по профайлеру основное время сжирается на определение позиций куда вообще можно ходить, на каждом ходу симуляции приходится их заново искать, вероятно надо не заново искать а как то пересчитывать с предыдущего хода только дельту
neff: спасибо за ссылки, изучу! :)
neff: вообще в текущей реализации, получается достаточно забавно, так как времени на ход мало, то в начале игры бот успевает просчитать только 500 комбинаций, что определенно мало, зато в конце игры уже просчитывает тысяч комбинаций, но ход игры уже переломлен :)
YurkovAS: еще часто ускоряет использование bitboard-ов, т.е. в битах хранить сделанный ход. uint64_t boards[2] - вот так тут храню состояние: у каждого игрока свое состояние и оно умещается в 64бита (8х8) поизучай это тоже, точно не помню на сколько оно быстрее, но все этим пользуются
neff: так как это у меня первый опыт работы с подобными задачами, нужно понять к чему стремиться, пока только понял что 500 симуляций на старте явно не достаточно, но надо понять сколько будет достаточно :) пытаюсь локальный гуи клиент накидать что бы самому поиграть со своим ботом
miklla: в такой маленькой и простой игре, думаю, 100к+ за ход вполне норм (симуляций, а не роллаутов)
miklla: но, наверное, 400к+ вполне возможно
735487: для этой игры еще дебютные книги существуют. можно наверное несколько готовых дебютов заложить
tutubalin: серваки жёстко тормозят
Justnoone: Угу, почти весь день не могу попасть в ide