Ruinas Antiguas e Inteligencia Artificial: Cómo revivir el juego ‘Nine Men’s Morris’ (Juego del Molino) en Python con ChatGPT
Figura 3: “Microhistorias: anécdotas y curiosidades de la historia de la informática (y los hackers)“de Fran Ramírez y Rafael Troncoso en 0xWord. |
Historia del juego “Nine Men’s Morris” a.k.a. “Mill”
Pero vamos a centrarnos en esta historia. Hace unos 500 años, durante la construcción del Castillo Ćmielów en Polonia, se talló un tablero de juego en una losa del suelo de arenisca (pieza recientemente encontrada en las ruinas del castillo) Aunque la razón exacta de su existencia no está clara si fue creado por los obreros o los habitantes del castillo por ejemplo – ¡gamers, gamers, gamers everywhere! –, este descubrimiento nos conecta con la historia de los juegos de mesa que se han jugado en diferentes culturas a lo largo de los milenios, como antes hemos comentado.
El juego se lleva a cabo en un tablero con 24 puntos interconectados por líneas como el que se observa en la siguiente figura:
El objetivo principal del juego es formar “molinos”, es decir, una línea recta de tres piezas ya sea horizontal o verticalmente al estilo tres en raya. Cada jugador comienza el juego con 9 piezas. Siempre que se forma un molino, el jugador puede eliminar una de las piezas del oponente del tablero.
Fases del juego
a) Fase de movimiento:
- Una vez que se han colocado todas las piezas en el tablero (por turnos), los jugadores comienzan a mover sus piezas.
- En su turno, un jugador mueve una de sus piezas a un punto adyacente vacío.
- Si un jugador forma un molino durante esta fase, puede eliminar una pieza del oponente siguiendo las mismas reglas que en la fase de colocación.
b) Fase de salto:
- Cuando un jugador se queda con solo 3 piezas, entra en la fase de salto o vuelo.
- En esta fase, el jugador puede mover una de sus piezas a cualquier punto vacío del tablero, no solo a un punto adyacente.
- Si forma un molino, puede eliminar una pieza del oponente.
Reviviendo Mills en Pyhton con ChatGPT
Vamos a hacer un sencillo experimento. Utilizando ChatGPT en su versión GPT-4 (también funciona en GPT 3.5), vamos a pedirle que genere el juego en Python para dos jugadores (humano vs humano), una versión más sencilla sólo para comprobar las reglas en los movimientos. Si queremos una versión en la que juegue la máquina la cosa se complica un poco, pero sería factible.
Figura 7: Libros de Python para Pentesters y Hacking con Python de Daniel Echeverri publicados en 0xWord. |
“Necesito crear un programa en python que simule un tablero y las reglas de juego de Mills o Molinos. El código debe de ser totalmente funcional permitiendo una partida de dos jugadores con todas las reglas implementadas, así como el análisis de todos los posibles movimientos para que la máquina compruebe si es o no legal. El tablero quiero implementarlo en modo texto y utiliza emojis para las fichas.”
Estamos lejos aún de una versión perfecto, sólo quedarían afinar algunos temas de la lógica, depuración de errores, etcétera, pero el código final es lo bastante decente como para afinarlo y llegar a una implementación interesante del juego.
Y éste es el código que nos ha generado en Python para resolver el juego. ¿Funciona¿ ¿Es correcto? ¿Hay que tocarlo?
Conclusiones
La “resurrección” de un juego ancestral como “Nine Men’s Morris” o “Molinos” (o cualquier otro) mediante la inteligencia artificial nos muestra la capacidad de la tecnología para preservar y simular su funcionamiento, sino que también nos puede servir para aplicarlo a otras áreas. La habilidad de la IA para descifrar, aprender y adaptarse a estructuras complejas, como las reglas de un juego, abre enormes posibilidades en campos como la medicina, la investigación científica y la ingeniería.
Happy Hacking Hackers!!!
Contactar con Fran Ramírez en MyPublicInbox |
Powered by WPeMatico