Google
 

miércoles, octubre 18, 2006

IA Básico: Ejemplo

He subido el código fuente de un ejemplo que resuelve un pequeño juego usando la técnica más básica.

Seguro que todos conoceréis el juego; en un tablero de tres por tres casillas tenemos desordenados ocho cubos numerados del 1 al 8, el objetivo consiste en ordenarlos de una forma predeterminada (la que más os guste) arrastrando un cubo al hueco que queda, pero ojo, únicamente podemos mover los cubos contiguos al agujero.

El funcionamiento del programa no debería daros demasiado problema. Lo único que hace es probar todas las combinaciones posibles y escoger la ganadora. Lo que realmente ocurre es que mediante algún algoritmo (Breadth First o Depth First) elegimos en el grafo (todos los movimientos posibles) un camino que nos lleve a la victoria.

Es un método bastante simple pero sólo sirve para usarlos en juegos en los que participe un único jugador, que tengamos toda la información del juego en todo momento y que el número de movimientos sea mínimo pues consume demasiada memoria y CPU.

3 comentarios:

Juanmi dijo...

Ahora mucho mejor ;) Aunque en realidad si nos ponemos a ser realistas no hay que tratar con un grafo sino con un árbol (sí, todos los árboles se pueden considerar grafos conexos y demás, pero siempre verlo como un árbol es más cómodo :))

samsaga2 dijo...

Hay que ver lo quisquillosos que sois ;)

El problema es que siempre me dejo llevar por las prisas.

Juanmi dijo...

jejeje, perdona, no pretendo ser un criticón como yayo ni desmerecer tu trabajo, cuesta mucho ponerse a implementar solo por colgar el ejemplo en el blog y encima que te regañen.. xD espero que no te desanimemos! ;)