Búsqueda en Anchura

16

Transcript of Búsqueda en Anchura

Page 1: Búsqueda en Anchura
Page 2: Búsqueda en Anchura

Búsqueda en Anchura(Breadth – First)

Algoritmo:

1. Definir una Lista L con los nodos iniciales. En cualquier momento asumir que L es una lista de los nodos que no han sido examinado.2. Si L está vacía, falla. De otro modo, se toma un nodo N de L.3. Si N es una meta. Regrese el nodo y el trayecto desde el nodo inicial al nodo N.4. Si N no es una meta. Elimine N de L y añada todos los hijos al final de L de N, etiquetándolos con la trayectoria desde el inicio. Retorne al paso 2.

Page 3: Búsqueda en Anchura

• Se tiene un árbol en un estado inicial y se cuenta con cuatro metas: M1, M2, M3 y M4.

Page 4: Búsqueda en Anchura

• Se introduce A como primer elemento de la lista.

Page 5: Búsqueda en Anchura

• Se comprueba que A no es una meta y se elimina de la lista.

• Se introducen los hijos de A en la lista recorriendo el árbol de izquierda a derecha y manteniendo la información del recorrido. Es decir AB y AC.

Page 6: Búsqueda en Anchura

• AB no muestra ninguna meta así que se saca de la lista.

• Se analizan los hijos de B y se introducen al final de la lista como ABD y ABE.

Page 7: Búsqueda en Anchura

• AC tampoco es una meta y es eliminado de la lista.

• Se introducen los hijos de C al final de la lista.

Page 8: Búsqueda en Anchura

• Se siguen sacando de la lista aquellos nodos que no dan como resultado una meta.

• En este caso se introducen al final de la lista los hijos de D.

• Los nuevos nodos introducidos a la lista son H e I.

Page 9: Búsqueda en Anchura

• ABE no muestra ninguna meta y se elimina de la lista.

• Al introducir los hijos de E al final de la lista se puede ver que ha aparecido uno de los nodos meta. En este caso el nodo es M1

Page 10: Búsqueda en Anchura

• Se siguen eliminando los nodos que no son estados meta y agregando a los hijos al final de la lista.

Page 11: Búsqueda en Anchura
Page 12: Búsqueda en Anchura
Page 13: Búsqueda en Anchura
Page 14: Búsqueda en Anchura

• En este punto se elimina ABEJ y se introducen los hijos de J al final de la lista y al frente queda ABEM1 lo que da como resultado el éxito.

Page 15: Búsqueda en Anchura

• Se encuentra la meta M1 y se detiene el algoritmo al haber alcanzado el éxito.

Page 16: Búsqueda en Anchura

• Se traza el camino desde el origen hacia la meta:

• A B E M1• El algoritmo de búsqueda

en anchura se detiene al encontrar un nodo meta sin importar cual sea este.

• En el caso hipotético de que M1 no hubiese sido un nodo meta el algoritmo habría continuado sacando nodos del frente de la lista e introduciendo hijos al final de la misma hasta hallar una meta. En este caso M2.