B. Amplitud iterativa

BUSQUEDA POR AMPLITUD ITERATIVA
La amplitud iterativa (iterative broadening en inglés), a diferencia de la profundidad iterativa, es una busqueda en la cual se aumenta la anchura del arbol en lugar de la profundidad, así , la primera iteración expande el primer hijo de cada nodo, en la iteración siguiente, expande el primer y el segundo hijo de cada nodo, y así sucesivamente. El algoritmo es el siguente:
1. Cota de anchura C <- 1
2. Lista L <- nodo raíz
3. Si L vacía, C <- C+1, ir al paso 2
  Sino, n <- extrae-primero(L)
4. Si n es objetivo, éxito, stop
5. Si no, añadir al principio de L los primeros sucesores  de n, etiquetando cada sucesor con su camino desde la raíz, Ir al paso 3.
Ahora aplicaremos el algoritmo al siguente grafo:

 
Ahora, para facilitarnos la comprensión del algoritmo, mostraremos el grafo anterior en su forma de arbol.

Ahora si le aplicamos el algoritmo nos daría el siguiente recorrido.

Este algoritmo, implica que en lugar de aumentar los niveles de profundidad como en el algoritmo de profundidad iterativa, se van a aumentar la cantidad de nodos hijos de cada nodo ( expandiendo el arbol en anchura), y estos se van generando a medida que se avanza de iteración, por lo que el arbol no se expande completamente, ahorrando tiempo de busqueda y nodos, en busquedas con más de una solución, sin embargo las iteraciones consumen espacio igualmente.

Comentarios