¿Cómo crear una buena función de evaluación para un juego?

Escribo programas para jugar variantes de juegos de mesa a veces. La estrategia básica es la poda alfa-beta estándar o búsquedas similares, a veces aumentadas por los enfoques habituales de los juegos finales o las aperturas. He jugado principalmente con variantes de ajedrez, así que cuando llega el momento de elegir mi función de evaluación, utilizo una función de evaluación de ajedrez básica.

Sin embargo, ahora estoy escribiendo un programa para jugar un juego de mesa completamente nuevo. ¿Cómo elijo una función de evaluación buena o incluso decente?

Los principales desafíos son que las mismas piezas siempre están en el tablero, por lo que una función material habitual no cambiará según la posición, y el juego se ha jugado menos de mil veces, por lo que los humanos no necesariamente lo hacen lo suficiente. bien aún para dar una visión. (PS. Consideré un enfoque de MoGo, pero no es probable que terminen los juegos al azar).

Detalles del juego: El juego se juega en un tablero de 10 por 10 con seis piezas fijas por lado. Las piezas tienen ciertas reglas de movimiento e interactúan de cierta manera, pero ninguna pieza es capturada. El objetivo del juego es tener suficientes piezas en ciertos cuadrados especiales en el tablero. El objetivo del programa de computadora es proporcionar un jugador que sea competitivo o mejor que los jugadores humanos actuales.

Respuestas a la pregunta(8)

Su respuesta a la pregunta