Ejercicio 2: Búsqueda en grafo.
A la nueva versión del programa (search-2.c) se le ha añadido el código para
la búsqueda en grafo, de modo que todos los nodos recorridos se almacenan ahora en una tabla hash.
- Guarda una copia del antiguo search.c.
- Copia search-2.c en tu directorio bajo el nombre search.c. Baja además los ficheros hash.h, hash.c, y la nueva versión de Makefile.
- Examina el código de la nueva función graphSearch.
- Recompila con make.
- El programa admite ahora tres parámetros opcionales en línea de comandos:
search -a <algoritmo> -f <tipodeinsercion> -v
- -a <algoritmo> especifica el tipo de algoritmo que puede ser tree (por defecto) o graph.
- -f <tipodeinsercion> fija el tipo de inserción en la frontera que puede ser depth o breadth (por defecto).
- -v cuando imprime la solución, muestra todos los estados intermedios por los que va pasando.
- Experimenta con varias combinaciones para los dominios 8puzzle y
mission. Por ejemplo, compara el número de nodos expandidos
tanto para 8puzzle como para mission bajo las combinaciones:
search
search -a graph
search -f depth
search -a graph -f depth