Inteligencia Artificial (Optativa 1º ciclo)

Solución al 8-puzzle


El codigo se encuentra en http://www.dc.fi.udc.es/ai/people/barreiro/iadocen/puzzle8-98/codigo.tgz
El manual del programa se puede consultar en http://www.dc.fi.udc.es/ai/people/barreiro/iadocen/puzzle8-98/indice.html




Para usar el programa puzzle:

$ gunzip codigo.tgz
$ tar -xvf codigo.tar
$ cd puzzle
$ make
Al compilar con make, se genera un ejecutable puzzle que resuelve el problema del 8-puzzle.
Hay tres formas de ejecutar el programa puzzle:
  1. Directamente, pasándole argumentos a puzzle
    $ puzzle <algoritmo> <heuristica>

    donde tanto el algoritmo como la búsqueda son enteros 0<=x<=3.
    Se utiliza un fichero inicial y final con el estado inicial y final, y despues de la búsqueda se genera un fichero generales con datos sobre la busqueda y un fichero solucion con los movimientos.

    Los ficheros inicial y final se leen en leerEstadosIF. El fichero generales se escribe en main y el fichero solucion en escribirPaso. Revise el código de estas funciones antes de probar el programa.
     

  1. La interfaz con la librería curses, se invoca con el programa entrada.
  2. El interfaz grafico de Tcl-Tk, se invoka con el script frontal.tcl.

  3. Para ello puede que haya que cambiar la primera linea de los dos ficheros con extension tcl.
    Obtener el path del interprete de Tcl-Tk (wish) con el comando which.
    $ which wish
    /apps/sparc-sun-solaris/default/default/2.7/bin/wish
    y cambiar
    #!/usr/local/bin/wish -f
    por
    #!/apps/sparc-sun-solaris/default/default/2.7/bin/wish -f
    y ejecutar frontal.tcl
Para adaptar el programa a otros problemas de búsqueda, será necesario: