Búsqueda por profundidad Inteligencia Artificial

Algoritmo 


1) Lista L<- nodo raíz.
2) Si (L ϵ 0) fallo stop.
Sino N <- extrae el primero.
3) Genera los sucesores de N. Si alguno es solución stop.
Sino adicionara al principio de L todos los sucesores.
4) Ir a 2






Complejidad:
Tiempo
Peor caso:


Mejor caso: (b*d).

Espacio:





Desarrollar el siguiente problema por el método de profundidad y responder:

Se tienen 3 sapos y 3 ranas cada sapo y cada rana solo puede saltar por encima de otro si el lugar esta vació, ej: el sapo2 puede saltar por encima del sapo3 y quedar en el espacio en blanco o la rana1 puede saltar al espacio en blanco. con base en los ejemplos queda demostrado las dos formas de moverse.

Estado inicial:                                                                                   




 Estado final:



Operadores:
Saltar 1 hacia la derecha espacio en blanco.
Saltar 1 hacia la izquierda espacio en blanco.
Saltar 2 hacia la derecha espacio en blanco.
Saltar 2 hacia la izquierda espacio en blanco.





Cuantos nodos genero:
Nodos generados: 4^18
4 ya que son los posibles comienzos a la 18 que son los movimientos en resolverse.

Cuanto se expandió:
Nodos expandidos: 4^17
4 ya que son los posibles comienzos a la 17 ya que el ultimo nodo no se abre.

factor de ramificacion: 4
Estados posibles: 7! =5040.

podemos deducir que el algoritmo de busqueda en profundidad encontraria la mejor solucion en 18 pasos, si y solo si los sucesores se dan de la manera en que aparecen en la imagen, de tal forma que siempre escogeria el mejor camino y daria con la solucion.
En caso de que los sucesores se den de otra manera, podria demorarse mas en la solucion, y por ende podria entrar en un ciclo y nunca encontrar la solucion al problema planteado.

Comentarios

Entradas más populares de este blog

Proyecto Perceptron Simple (Código C++)

IDA* Algoritmo Inteligencia Artificial

Proyecto Minimax-Scout (Código C++)