Busqueda por profundizacion iterativa y amplitud iterativa Inteligencia Artificial
taller
1) Para el grafo usted deberá llegar de A a H aplicando los algoritmos:
A) Interactive Debending (I D) Búsqueda profundización iterativa.
B) Amplitud iterativa.
2) Explicar:
A) El pseudocodigo de los algoritmos anteriores.
B) Su complejidad exponencial y temporal (mejor caso, peor caso, caso medio).
C) Completo? Justifique su respuesta.
D) Óptimo? Justifique su respuesta.
solución
profundización iterativa:
es un algoritmo que crea un limite de profundidad que nos permite recorrer el árbol y encontrar la solución, este algoritmo comienza desde la raíz que es el nivel 1 hasta N niveles de profundidad donde este la respuesta.
Árbol correspondiente al grafo
basandonos en el árbol podemos notar que de A a K hay 7 niveles de profundidad.
Es necesario recordar que el algoritmo se desarrolla nivel por nivel ejecutandose varias veces desde la raíz hasta el nodo que es la solución.
ahora realizamos la prueba de escritorio:
el recorrido fue: A,C,E,G,H.
Pseudocodigo Interactive Debending (ID) Búsqueda profundización iterativa.
1) Se define la profundidad.
2) Se desarrolla el árbol realizando una búsqueda en profundidad hasta el limite definido en el punto anterior.
3) Si se encuentra la solución termina.
4) Sino se establece un nuevo limite y volvemos al segundo paso.
Su complejidad exponencial y temporal
d= profundidad b= nodos hijos
Tiempo: exponencial O(b^d)
(d)*b+(d-1)*b^2+....+(2)*b^d-1+(1)*b^d
Espacio: lineal O(b*d), O(d), O(1).
Completo?
Si, porque se va ampliando por niveles y esto lo que hace es que se lleve una búsqueda limitada que permite tener varias búsquedas al tiempo y así lograr encontrar el resultado deseado.
Óptimo?
Si porque a medida que se va haciendo la búsqueda por niveles va a encontrar la solución mas cercana a la raíz.
Amplitud iterativa.
como podemos ver en el árbol que corresponde al grafo comenzamos a desarrollar el algoritmo de amplitud iterativa para encontrar la solución.
Extendiendo solo un hijo
Su complejidad exponencial y temporal
b=nodos hijos
d=profundidad
Tiempo: O(b^d)
Completo?
Si, porque se va ampliando por niveles y el ancho del árbol, si existe una solución la encontrara. cabe aclarar que puede caer en ciclos infinitos y no encontrar la solución.
Óptimo?
Si el coste de paso es 1.
A) Interactive Debending (I D) Búsqueda profundización iterativa.
B) Amplitud iterativa.
2) Explicar:
A) El pseudocodigo de los algoritmos anteriores.
B) Su complejidad exponencial y temporal (mejor caso, peor caso, caso medio).
C) Completo? Justifique su respuesta.
D) Óptimo? Justifique su respuesta.
solución
profundización iterativa:
es un algoritmo que crea un limite de profundidad que nos permite recorrer el árbol y encontrar la solución, este algoritmo comienza desde la raíz que es el nivel 1 hasta N niveles de profundidad donde este la respuesta.
Árbol correspondiente al grafo
basandonos en el árbol podemos notar que de A a K hay 7 niveles de profundidad.
Es necesario recordar que el algoritmo se desarrolla nivel por nivel ejecutandose varias veces desde la raíz hasta el nodo que es la solución.
ahora realizamos la prueba de escritorio:
Profundidad L N Sucesores
1 A A CB
2 CB C E
3
EB E G
4 GB G HF
5 HFB H SOLUCION
Pseudocodigo Interactive Debending (ID) Búsqueda profundización iterativa.
1) Se define la profundidad.
2) Se desarrolla el árbol realizando una búsqueda en profundidad hasta el limite definido en el punto anterior.
3) Si se encuentra la solución termina.
4) Sino se establece un nuevo limite y volvemos al segundo paso.
Su complejidad exponencial y temporal
d= profundidad b= nodos hijos
Tiempo: exponencial O(b^d)
(d)*b+(d-1)*b^2+....+(2)*b^d-1+(1)*b^d
Espacio: lineal O(b*d), O(d), O(1).
Completo?
Si, porque se va ampliando por niveles y esto lo que hace es que se lleve una búsqueda limitada que permite tener varias búsquedas al tiempo y así lograr encontrar el resultado deseado.
Óptimo?
Si porque a medida que se va haciendo la búsqueda por niveles va a encontrar la solución mas cercana a la raíz.
Amplitud iterativa.
Es un algoritmo que combina la búsqueda por anchura y las
iteraciones por cada nivel aumentando el ancho del árbol en cada ciclo para así
llegar a la solución. Es necesario especificar que este algoritmo puede caer en
una rama infinita y no encontrar soluciones.
Extendiendo solo un hijo
Nivel L N SUCESORES
1 A A B
2 B B C
3 C C NO TIENE SUCESORES
Extendiendo dos hijos por nodo
L N SUCESORES
A A CB
CB C E
EB E G
GB G HF
HFB H NO TIENE SUCESORES Y
ES SOLUCIÓN
FB F H
HB H NO TIENE SUCESORES Y
ES SOLUCIÓN
B B D
D D E
E E G
G G HF
HF H NO TIENE SUCESORES Y ES
SOLUCIÓN
F F H
H H NO TIENE SUCESORES Y ES SOLUCIÓN
recorrido es: A,C,E,G,H.
pseudocodigo Amplitud iterativa.Su complejidad exponencial y temporal
b=nodos hijos
d=profundidad
Tiempo: O(b^d)
Espacio: O(bd)
Completo?
Si, porque se va ampliando por niveles y el ancho del árbol, si existe una solución la encontrara. cabe aclarar que puede caer en ciclos infinitos y no encontrar la solución.
Óptimo?
Si el coste de paso es 1.
Comentarios
Publicar un comentario