**snake & deep reinforcement learning ** давно не писал как у меня дела ML-wise. поэтому летс го

на прошлой неделе говорил с своим масетром (? он мастер, не проф.) о том как можно подойти к созданию и обучению нейросети которая играет в шахматы.

для контекста, объясню на примере других игр почему это не такая простая задача.

в игре крестики-нолики действий которые нейронка может принимать всего 9. девять клеток, девять действий, хотя не все валидные. нейронка смотрит на доску, и возвращает вероятности победы к каждому дествию если его совершить. убираем те, что не возможны (например, поставить нолик на крестик) и выбираем тот у которого наибольшая вероятность.

в игре го (вы ее можете знать как точки) действий которые нейронка может принять всего 19x19 = 361 (размер доски). аналогично, нейронка смотрит на состояние доски в настоящие время и возвращает вероятности к каждому дейтсвию. убираем те что не возможны и выбираем тот что самый вероятный. вроде изи))

не знаю, как Deep Mind сделал AlphaGo, но думаю что что-то похожее. как узнаю и пойму обязательно напишу.

в игре змейка действий три. нейронка говорит насколько вероятно выиграть совершив дейтсвие и выбирается самое лучшее.

кажется закономерность понятна.

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

задача казалась сложной, ни как не мог понять как это сделать. хотелось еще самому догадаться , или узнать у кого-то лично. в инете прочитать можно, но так не инетерсно)))

корч спросил у мастера как это делать. он сказал хз)) но он описал метод как он бы сделал это сам. записываем все ходы которые может сделать каждая фигура. например, у пешки 3 (атака влево, шаг вперед, атака вправо), у коня 8, у ладьи 28, у слона 28.

тут мы не смотрим на ограничения доски, а выписываем все возможные ходы каждой фигуры.

далее, нейронка будет дано расположение фигур на доске а возвращать она будет вероятности к каждому шагу (который рассмотрели ранее).

потом руками убераем те что по правилам не возможны и выбираем тот у которого большая вероятность.

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

вот так начался мой путь в deep RL