El juego más corto de 2 jugadores de Halma

19

En Chess, es posible que el juego termine después de 4 movimientos (2 cada uno) con un Fool's Mate .

Tu objetivo es encontrar el Fool's Mate of Halma : el juego de 2 jugadores de Halma que minimiza el número de turnos jugados.

Hay más de 10 56 estados de la junta, y he visto que el factor de ramificación supera los 1000, por lo que es probable que nadie encuentre la solución óptima. En cambio, estás tratando de encontrar la mejor solución que puedas.

Debe enviar una lista de movimientos y cualquier código que haya utilizado para generar esos movimientos.

Explicación del juego

Halma es similar a las Damas chinas, pero se juega en un tablero cuadrado de 16 * 16.

Inicialmente, el tablero se ve así:

Junta inicial

El objetivo del juego es mover todas tus piezas a las posiciones iniciales de las piezas de tu oponente.

En el turno de un jugador, él / ella puede:

  • Pasa el turno

  • Mueva una de sus piezas a un espacio vacío adyacente. Los espacios adyacentes incluyen diagonales.

  • Tome una de sus piezas y haga lo siguiente varias veces: Salte la pieza sobre una pieza adyacente, aterrizándola en el espacio opuesto a la pieza saltada.

Aquí hay un ejemplo para ilustrar el segundo tipo de movimiento.

Saltos

Reglas

Envíe una lista de movimientos legales que resulten en el final del juego.

Envíe cualquier código que utilizó para generar la lista.

Si obtiene un mejor resultado del código de otra persona, publique el resultado en un comentario o edite su publicación con los nuevos resultados.

Cada movimiento debe ser Nonepara pasar el turno o (x1,y1,x2,y2)para mover una pieza, donde (x1,y1)están las coordenadas de la pieza a mover y (x2,y2)son el destino de esa pieza (para los movimientos de salto, ignore las coordenadas intermedias). Las coordenadas comienzan en (0,0)la esquina superior izquierda. Las coordenadas x aumentan a la derecha, las coordenadas y aumentan hacia abajo. Los movimientos deben estar separados por nuevas líneas.

Puedes usar este script de Python para verificar tus movimientos. Se usa python halma_verify.py < filepara verificar los movimientos file.

La lista más corta gana.

caja de cartón
fuente
66
alguna discusión técnica sobre movimientos, y una solución en 47 movimientos: arxiv.org/pdf/0803.1245.pdf
SeanC

Respuestas: