Quiero crear una IA que pueda jugar cinco en raya / gomoku. Como mencioné en el título, quiero usar el aprendizaje de refuerzo para esto.
Utilizo el método de gradiente de políticas , a saber, REINFORCE, con línea de base. Para el valor y la aproximación de la función política, utilizo una red neuronal . Tiene capas convolucionales y totalmente conectadas. Todas las capas, excepto la salida, se comparten. La capa de salida de la política tiene (el tamaño de la placa) unidad de salida y softmax en ellas. Entonces es estocástico. Pero, ¿qué pasa si la red produce una probabilidad muy alta de un movimiento no válido? Un movimiento no válido es cuando el agente quiere marcar un cuadrado que tiene una "X" u "O" en él. Creo que puede atascarse en ese estado del juego.
¿Podría recomendar alguna solución para este problema?
Mi conjetura es utilizar el método actor-crítico . Para un movimiento no válido, debemos dar una recompensa negativa y pasar el turno al oponente.