Я хочу створити AI, який може грати з п’яти в ряд / гомоку. Як я вже згадував у назві, я хочу використовувати для цього підкріплення.
Я використовую метод градієнта політики , а саме REINFORCE з базовою лінією. Для наближення значення та політики я використовую нейронну мережу . Він має згорнуті і повністю пов'язані шари. Усі шари, крім виведення, є спільними. Вихідний рівень політики містить (розмір плати) вихідний блок і softmax на них. Так це стохастично. Але що робити, якщо мережа створює дуже високу ймовірність недійсного ходу? Недійсний хід - це коли агент хоче перевірити квадрат, у якому є одне "X" або "O". Я думаю, що це може застрягти в такому ігровому стані.
Чи можете ви порадити якесь рішення цієї проблеми?
Моя здогадка - використовувати метод актора-критика . За недійсний хід нам слід дати негативну винагороду і передати черга супернику.