Chat:Ru/2021-02-14

From CG community
Jump to navigation Jump to search

MadKnight: AlekseyBozhko ага

Default avatar.png quasR: а что с СоС? Один тест грузится 3 года

Default avatar.png quasR: при чем решение однострочное

Default avatar.png quasR: даже без циклов емае:joy:

Default avatar.png quasR: да уж сервера тут балдежные

Uljahn: а ты премиум аккаунт оплатил? там круче сервера :)

Default avatar.png quasR: хпхпхпх

Default avatar.png quasR: :thumbsup:

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: серваки жёстко тормозят

Default avatar.png Justnoone: Угу, почти весь день не могу попасть в ide