I.E.S. Izpisúa Belmonte

Departamento de Matemáticas
Taller de Matemáticas


INTELIGENCIA ARTIFICIAL CON CAJAS DE CERILLAS


 

 Autores Objetivo El juego Resultados del proyecto Conclusión

 

Autores

Durante el curso 2007-2008 se formó en el IES Izpisúa Belmonte un grupo de investigación con el objetivo de desarrollar un proyecto para presentarlo en el mes de Mayo de 2008 en la II Feria Vive la Ciencia de Albacete, organizada por los CPE’s de la provincia. El grupo quedó formado, definitivamente, por las siguientes personas:

Alumnos Profesores
Carlos Martínez (3º ESO) Mercedes Valcárcel (4º ESO)

María Bellver (IES Sierra del Segura, Elche de la Sierra)

Stalin Guayanay (3º ESO) Pedro José García (4º ESO)
José Carlos Mercado (3º ESO) Juan José Narro (4º ESO)

Javier Serrano (IES Izpisúa Belmonte, Hellín)

  Juan Antonio Balsalobre (4º ESO)
  Melody Jiménez (4º ESO)  

 

Subir al principio

Objetivo

El principal objetivo de este proyecto de investigación era la construcción de un modelo fabricado con cajas de cerillas y botones de colores que funcione como un ordenador capaz de aprender a ganar (o, mejor dicho, a no perder) a un sencillo juego con peones, ilustrando así, de forma tan simple, cómo se pueden construir máquinas capaces, en apariencia, de razonar y aprender o, en otras palabras, nos propusimos construir un modelo no electrónico de inteligencia artificial.

Subir al principio

El juego

Es de dos jugadores: un humano, al que llamaremos Jugador y que siempre tiene el primer turno de la partida, y nuestro robot, que siempre hace la segunda jugada. El resto de jugadas se desarrolla mediante turnos alternativos. En un tablero de 3 × 3 casillas se disponen tres peones blancos y tres peones negros. Los peones negros se colocan en la fila inferior del tablero y los blancos en la superior (figura 1). El Jugador llevará las blancas y el robot las negras.

En cada turno, un jugador puede hacer uno de los siguientes movimientos:

Adelantar un peón una casilla: este movimiento es siempre vertical y se puede realizar cuando la casilla de destino esté vacía.

Comer un peón contrario: este movimiento es siempre diagonal y se puede realizar cuando en la casilla de destino esté situado el peón contrario.

La partida es ganada por el jugador que logre comerse todos los peones contrarios o bien por el jugador que logre colocar uno de sus peones en la fila de salida enemiga. Si se llega a una posición en la que ninguno de los jugadores puede realizar un movimiento, porque todos los peones están bloqueados, entonces se produce una situación de Tablas.

Subir al principio

Resultados del proyecto

Utilizando el lenguaje informático, el robot consta de las siguientes partes:

Hardware: lo forma las partes físicas. Son las siguientes:

Cajas de cerillas (sin cerillas). Cada caja representa una de las posibles posiciones que el Jugador puede dejar en el tablero tras hacer una jugada, es decir, los distintos tableros que el robot puede encontrarse cuando es su turno. Para realizar su primer movimiento, el Jugador tiene tres opciones, aunque dos de ellas son simétricas respecto de la vertical que pasa por el centro del tablero; se decidió suprimir las simétricas. Así pues, se dibujaron dos tableros con los dos tableros resultantes de estos dos movimientos del Jugador y cada dibujo se numeró y se pegó sobre una caja de cerillas. Estos dibujos de los tableros fueron llamados etiquetas. Después se analizaron las posibles respuestas del robot ante estas jugadas y luego las posibles respuestas del Jugador, etc., hasta que se llegaba a algún final de la partida y hasta que se analizaron todas las posibles partidas. Con todas estas partidas se organizó un diagrama de árbol que puede verse en el fichero arbolcompleto.pdf.

Etiquetas. Hay una etiqueta por cada caja y por cada posible tablero que deja el Jugador, como ya se ha explicado. Además del dibujo del tablero y de la posición de la fichas, cada etiqueta lleva señalados, mediante flechas de distinto color, los posibles movimientos que puede hacer el robot como respuesta a un movimiento del Jugador. Suprimidas las jugadas simétricas a otras, se encontró que el Jugador sólo puede dejar 19 tableros distintos, por lo que se dibujaron 19 etiquetas y se pegaron en 19 cajas. Estas etiquetas pueden verse en el archivo etiquetas cajas.pdf. Además, para facilitar el manejo del robot, en cada etiqueta está indicado si se trata de la 2ª, 4ª o 6ª jugada (el robot sólo hace las jugadas pares pues el juego lo inicia el Jugador ). También aparece el código numérico asignado a cada jugada. Esto es útil si se quiere seguir la partida usando el árbol completo del juego.

Botones. En el interior de cada caja se introdujeron botones de colores. Tantos botones como flechas aparecen en la etiqueta de la caja correspondiente y, además, de los mismos colores que las flechas dibujadas.

Conductor del robot. Es la parte móvil del robot y la forma la persona que lo maneja.

Software: es el conjunto de instrucciones que el robot da a su conductor para que ejecute las distintas acciones que le encomiende. Son las siguientes:

Cuando es el turno del robot, comprobar si la partida está terminada o no.

Si no está terminada la partida, el robot da las siguientes órdenes, que el conductor debe ejecutar sin equivocarse:

1.- Localizar la caja que representa la posición actual del tablero.

2.- Abrir la caja localizada y eligir, al azar, uno de los botones de su interior.

3.- Elegido el botón, identificar en la etiqueta de la caja la flecha del mismo color que el botón seleccionado. Esta flecha indica un movimiento de las fichas negras, que son las que maneja el robot.

4.- Identificado el movimiento, ejecutarlo moviendo la ficha adecuada.

5.- Guardar el botón en su caja, cerrar ésta y devolverla a su sitio.

6.- Devolver el turno al Jugador

Si está terminada, ejecutar una de las siguientes órdenes:

1.- Si el robot ha ganado o empatado, la partida ha terminado. Retar al Jugador a otra. Si acepta, iniciar nueva partida. Si no, cerrar.

2.- Si el robot ha perdido la partida, retirar el último botón seleccionado para jugar. Retar al Jugador a otra partida.

La última de las instrucciones es la que provoca el aprendizaje del robot. Si el robot pierde se retira el último botón jugado, de forma que ya no vuelve a perder de esta forma (aunque podría perder con otras jugadas). El caso es que, el robot, ya no repite esta jugada (porque ya no existe el botón que la acciona) y podemos decir que ha aprendido a no repetir la jugada perdedora. En cuanto el robot pierda de todas las formas posibles (en cinco o seis partidas), ya sólo quedarán jugadas ganadoras o, al menos, jugadas no perdedoras. Es como, si del árbol completo del juego, quitamos o podamos todas las ramas que terminan en victoria de blancas. Entonces sólo quedan las ramas que terminan en victoria de negras o en tablas. Este árbol podado puede verse en el fichero arbolpodado.pdf.

Subir al principio

Conclusión

Con unas cuantas cajas de cerillas y botones, hemos construido un modelo no electrónico de inteligencia artificial que dejó asombrados a cuantos se acercaron a nuestro stand de la II Feria Vive la Ciencia, que duró tres días. El proyecto recibió el primer premio en la categoría de proyectos matemáticos.

Subir al principio


Página principal