2 Búsqueda

60
1 Búsqueda Busquen primeramente el reino de Dios y su justicia porque el resto viene como ipegüe. Jesucristo

description

Busquen primeramente el reino de Dios y su justicia porque el resto viene como ipegüe. Jesucristo 1 •Antecedentes •Informada (heurística) vs. No informada (ciega) •Cualquier camino vs. El camino óptimo •Implementación y desempeño •Idea principal: La búsqueda permite explorar alternativas 2 raíz A Árbol Terminal (hoja) Nodo (vértice) Conector 3 Árbol B es padre de C C es hijo de B A es ancestro de C C es descendiente d A Terminal (hoja) Nodo (vértice) Conector 4

Transcript of 2 Búsqueda

Page 1: 2 Búsqueda

1

Búsqueda

Busquen primeramente el reino de Dios y su justicia porque el resto viene como ipegüe.

Jesucristo

Page 2: 2 Búsqueda

2

Por qué buscar?

• Idea principal: La búsqueda permite explorar alternativas

• Antecedentes• Informada (heurística) vs. No informada (ciega)• Cualquier camino vs. El camino óptimo• Implementación y desempeño

Page 3: 2 Búsqueda

3

Árboles y grafos

Árbolraíz

A

B

C

Terminal (hoja)

Conector

Nodo (vértice)

Page 4: 2 Búsqueda

4

Árboles y grafos

Árbolraíz

A

B

C

B es padre de CC es hijo de BA es ancestro de CC es descendiente d A

Terminal (hoja)

Conector

Nodo (vértice)

Page 5: 2 Búsqueda

5

Árboles y grafos

Árbolraíz

A

B

C

B es padre de CC es hijo de BA es ancestro de CC es descendiente d A

Terminal (hoja)

Conector

Nodo (vértice)

Grafo dirigido(calles de una vía)

Page 6: 2 Búsqueda

6

Árboles y grafos

Árbolraíz

A

B

C

B es padre de CC es hijo de BA es ancestro de CC es descendiente d A

Terminal (hoja)

Conector

Nodo (vértice)

Grafo no dirigidoGrafo dirigido

(calles de una vía)

Page 7: 2 Búsqueda

7

Ejemplos de grafos

Rutas de avión

Managua

Tegucigalpa

San Salvador

México

Guatemala

Page 8: 2 Búsqueda

8

Ejemplos de grafos

Rutas de avión

Managua

Tegucigalpa

San Salvador

México

Guatemala

A B

B

B

B

B

C

C

C

C

C

A

A

A

A

Planeando acciones

(grafo de posibles estados del mundo)

PonerC en A

PonerC en B

PonerB en C

PonerA en C

Poner C en A

Page 9: 2 Búsqueda

9

Paradigma para resolver problemas• ¿Que son los estados(los aspectos relevantes del

problema)?• Organización de piezas ( un plan de montaje)• Ubicación de camiones(plan de distribución de

paquetes)• Ciudad(plan de un viaje)• Conjunto de datos (ej. Para probar un teorema de

geometría)

Page 10: 2 Búsqueda

10

Paradigma para resolver problemas• ¿Que son los estados(los aspectos relevantes del

problema)?• Organización de piezas ( un plan de montaje)• Ubicación de camiones(plan de distribución de

paquetes)• Ciudad(plan de un viaje)• Conjunto de datos (ej. Para probar un teorema de

geometría)• ¿Cuales son las acciones(operadores)?(determinístico y

discreto)• Montar dos piezas• Mover un camión a una nueva posición• Volar a una nueva ciudad• Aplicar el teorema

Page 11: 2 Búsqueda

11

Paradigma para resolver problemas• ¿Que son los estados(los aspectos relevantes del

problema)?• Organización de piezas ( un plan de montaje)• Ubicación de camiones(plan de distribución de paquetes)• Ciudad(plan de un viaje)• Conjunto de datos (ej. Para probar un teorema de geometría)

• ¿Cuales son las acciones(operadores)?(determinístico y discreto)• Montar dos piezas• Mover un camión a una nueva posición• Volar a una nueva ciudad• Aplicar el teorema

• ¿Cual es la prueba de meta?(condiciones para el éxito)• Todas las piezas en su lugar• Todos los paquetes enviados• Alcanzar la ciudad de destino• Derivar datos finales

Page 12: 2 Búsqueda

12

Búsqueda en grafo como búsqueda en árbol

• Los árboles son grafos dirigidos sin ciclos y con nodos que tienen <= 1 padre.

Page 13: 2 Búsqueda

13

Búsqueda en grafo como búsqueda en árbol

• Los árboles son grafos dirigidos sin ciclos y con nodos que tienen <= 1 padre.

• Podemos cambiar el problema de la búsqueda en grafo por el problema de la búsqueda en árbol:

• Reemplazando los enlaces sin dirección por 2 enlaces dirigidos• Evitando ciclos en el camino(mantener un registro de los nodos

visitados)

S

A

B

CG

D

Page 14: 2 Búsqueda

14

Búsqueda en grafo como búsqueda en árbol

• Los árboles son grafos dirigidos sin ciclos y con nodos que tienen <= 1 padre.

• Podemos cambiar el problema de la búsqueda en grafo por el problema de la búsqueda en árbol:

• Reemplazando los enlaces sin dirección por 2 enlaces dirigidos• Evitando ciclos en el camino(mantener un registro de los nodos

visitados)

S

A

B

CG

D

SA

CB

D

C

D

G

G

GC

Page 15: 2 Búsqueda

15

Términos importantes• Estado: Usado para referirnos a los vértices de un grafo de búsqueda, o

sea, estados en el dominio del problema, ejemplo, una ciudad, un arreglo de bloques o el arreglo de partes de un rompecabezas.

• Podemos alcanzar los mismos estados del mundo real por diferentes rutas.

Page 16: 2 Búsqueda

16

Términos importantes• Estado: Usado para referirse a los vértices de un grafo de

búsqueda. Son estados “reales” en el dominio de un problema en el cual podemos buscar.

• Podemos alcanzar los mismos estados del mundo real por diferentes rutas.

• Nodo de búsqueda:Se refiere a los vértices del árbol de búsqueda los cuales están siendo generados por el algoritmo de búsqueda. Cada nodo se refiere a un estado del mundo, muchos nodos pueden referirse al mismo estado. Muy importante, es que un nodo implícitamente representa

un camino(del estado inicial de la búsqueda al estado asociado con el nodo), por ser una estructura de datos que se construye mientras se busca.

Debido a que los nodos de búsqueda son parte de un árbol de búsqueda, ellos tienen un único nodo ancestro.

Page 17: 2 Búsqueda

17

Clases de Búsqueda• Clase Nombre Operación

Cualquier camino Primero en profundidad Exploración sistemática de No informado Primero en anchura todo el árbol hasta que la meta sea encontrada

Page 18: 2 Búsqueda

18

Clases de Búsqueda • Clase Nombre Operación

Cualquier camino Primero en profundidad Exploración sistemática de No informado Primero en anchura todo el árbol hasta que la

meta sea encontrada

Cualquier camino Primero el mejor Usa mediciones heurísticas en informado cada estado ej: distancia

estimada al objetivo

Page 19: 2 Búsqueda

19

Clases de Búsqueda • Clase Nombre Operación

Cualquier camino Primero en profundidad Exploración sistemática de todo el no informado Primero en anchura árbol hasta que la meta sea encontrada

Cualquier camino Primero el mejor Usa mediciones heurísticas en cada informado estado ej: distancia estimada al objetivo.

Optimo Costo Uniforme Usa” medidas” del camino. No informado Encuentra el camino “ mas corto”

Page 20: 2 Búsqueda

20

Clases de Búsqueda• Clase Nombre Operación

Cualquier camino Primero en profundidad Exploración sistemática de todo el No informado Primero en anchura árbol hasta que la meta sea encontrada

Cualquier camino Primero el mejor Usa mediciones heurísticas en cada Informado estado ej: distancia estimada al objetivo

Optimo Costo Uniforme Usa medidas del camino. Encuentra el No informado camino “ mas corto” sumando los pesos.

Optimo A* Usa mediciones de longitud del caminoInformado y heurística. Encuentra el camino más corto

Page 21: 2 Búsqueda

21

Algoritmo para una búsqueda sencilla• Un nodo de búsqueda es un camino desde algún estado X al estado inicial, ej:

(XBAS)• El estado de un nodo de búsqueda es el mas reciente estado del camino, ej: X• Sea Q una lista de nodos de búsqueda ej. ((X B A S), (C B A S)...)• Se nombra S como el estado inicial

1.- Inicialice Q con el nodo de búsqueda (s) como única entrada; haga visitado = (s)

2.- Si Q está vacío, falla, de lo contrario tome algún nodo de búsqueda N de Q.

3.- Si el estado (N) es una meta, retorne N (se ha alcanzado la meta).4.- (de lo contrario) borre N de Q.

5.- Encuentre todos los hijos del estado (N) que No están en visitado y cree todos las extensiones de un paso de N a cada descendiente.

6.- Agregue los caminos expandidos a Q, agregue los hijos del estado (N) a Visitados.

7.- Vaya al paso 2

Page 22: 2 Búsqueda

22

Algoritmo para una búsqueda sencilla• Un nodo de búsqueda es un camino desde algún estado X al estado inicial, ej:

(XBAS)• El estado de un nodo de búsqueda es el mas reciente estado del camino, ej: X• Sea Q una lista de nodos de búsqueda ej. ((X B A S), (C B A S)...)• Se nombra S como el estado inicial

1.- Inicialice Q con el nodo de búsqueda (s) como única entrada; haga visitado = (s)2.- Si Q está vacío, falla, de lo contrario tome algún nodo de búsqueda N de Q.

3.- Si el estado (N) es una meta, retorne N (se ha alcanzado la meta).4.- (de lo contrario) borre N de Q.

5.- Encuentre todos los hijos del estado (N) que No están en visitado y cree todos las extensiones de un paso de N a cada descendiente.

6.- Agregue los caminos expandidos a Q, agregue los hijos del estado (N) a visitados.7.- Vaya al paso 2

Decisiones críticas:paso 2: tome N de Qpaso 6: agregue extensiones de N a Q

Page 23: 2 Búsqueda

23

Implementando las estrategias de búsqueda• Primero en profundidad

• Tome el primer elemento de Q• Agregue las extensiones del camino al frente de Q

• Primero en anchura• Tome el primer elemento de Q• Agregue las extensiones del camino al final de Q

Page 24: 2 Búsqueda

24

Evaluación de la meta• El algoritmo se detiene en el paso 2, cuando el estado(N) = G, en

general, cuando el estado (N) satisface la meta.

• Podríamos realizar la evaluación en el paso 6 cuando cada camino es expandido y agregado a Q. Esto podría llevarnos a una finalización mas temprano y ser correcto para las búsquedas que hemos visto al inicio.

• Pero, hacer la evaluación en el paso 6 será incorrecto para una búsqueda óptima. Hemos escogido poner la evaluación en el paso 3 para mantener la uniformidad con las próximas búsquedas.

Page 25: 2 Búsqueda

25

Otros términos• Visitados – un estado M es visitado cuando un camino a M se agrega a Q.

En general, un estado se dice que ha sido visitado, si ha sido colocado en un nodo

de búsqueda en Q. La intuición es que lo hemos “visitado” brevemente para

ubicarlos en Q, pero aun no le haya examinado cuidadosamente.

Page 26: 2 Búsqueda

26

Otros términos• Visitados –un estado M es visitado cuando un camino a M se agrega

a Q. En general, un estado se dice que ha sido visitado, si ha sido colocado en un nodo de búsqueda en Q. La intuición es que lo hemos “visitado” brevemente para ubicarlos en Q, pero aun no le haya examinado cuidadosamente.

• Expandido – un estado M será expandido cuando sea el estado de un nodo de búsqueda que es sacado de Q. En este punto, los descendientes de M son visitados (si los hay) y el camino a M es expandido para elegir el descendiente.En principio, un estado puede ser expandido múltiples veces. Algunas veces nos referiremos, como siendo expandido, al nodo de búsqueda que lleva a M (en vez de solo M) . De todos modos, una vez que un nodo ha sido expandido, no necesitaremos expandirlo de nuevo. De hecho lo descartaremos de Q.

Page 27: 2 Búsqueda

27

Otros términos• Visitados –un estado M es visitado cuando un camino a M se agrega

a Q. En general, un estado se dice que ha sido visitado, si ha sido colocado en un nodo de búsqueda en Q. La intuición es que lo hemos “visitado” brevemente para ubicarlos en Q, pero aun no le haya examinado cuidadosamente.

• Expandido – un estado M será expandido cuando sea el estado de un nodo de búsqueda que es sacado de Q. En este punto, los descendientes de M son visitados (si los hay) y el camino a M es expandido para elegir el descendiente.En principio, un estado puede ser expandido múltiples veces. Algunas veces nos referiremos, como siendo expandido, al nodo de búsqueda que lleva a M (en vez de solo M) . De todos modos, una vez que un nodo ha sido expandido, no necesitaremos expandirlo de nuevo. De hecho lo descartaremos de Q.

• Esta distinción es clave en nuestra discusión sobre los diferentes algoritmos de búsqueda; estúdielo cuidadosamente.

Page 28: 2 Búsqueda

28

Estados Visitados• Mantener la traza de los estados visitados generalmente

incrementa la eficiencia del tiempo cuando se busca en grafos. Observe que requiere un espacio adicional sustancial para mantener esta traza.

• Aunque se habla de lista de Visitados, esta no es la implementación preferida debido al tiempo de búsqueda, es mejor una tabla hash.

Page 29: 2 Búsqueda

29

Otros términos

• Heurística- La palabra generalmente se refiere a algo que puede ser útil en algunos casos pero no siempre. Generalmente se usa como contraste con “garantizado” u “optimo”.

Page 30: 2 Búsqueda

30

Otros términos

• Heurística- La palabra generalmente se refiere a algo que puede ser útil en algunos casos pero no siempre. Generalmente se usa como contraste con “garantizado” u “optimo”.

• Función heurística- Una función que calcula un valor, el cual puede ser muy útil para guiar la búsqueda y puede disminuir el tiempo de búsqueda.

Page 31: 2 Búsqueda

31

Otros términos

• Heurística- La palabra generalmente se refiere a algo que puede ser útil en algunos casos pero no siempre. Generalmente se usa como contraste con “garantizado” u “optimo”.

• Función heurística- Una función definida sobre un estado-nodo que puede ser útil en guiar la búsqueda pero la cual no garantiza obtener el resultado deseado. Usar ésta función puede ayudarnos a encontrar, en promedio, la meta en menor tiempo.

Page 32: 2 Búsqueda

32

Implementando las estrategias de búsqueda

• Primero en profundidad• Tome el primer elemento de Q• Agréguelo al frente de Q

• Primero en anchura• Tome el primer elemento de Q• Agréguelo al final de Q

Page 33: 2 Búsqueda

33

Implementando las estrategias de búsqueda

• Primero en profundidad• Tome el primer elemento de Q• Agréguelo al frente de Q

• Primero en anchura• Tome el primer elemento de Q• Agréguelo al final de Q

• Primero el mejor• Tome “el mejor” (medido por el valor heurístico del estado)

elemento de Q• Agregue las extensiones del camino en cualquier lugar de

Q(puede ser más eficiente mantener ordenada Q de alguna forma para que resulte mas fácil encontrar el “mejor”)

Page 34: 2 Búsqueda

34

Formas de implementación: Encontrando el mejor modo

• Hay varias formas posibles de encontrar el “mejor” en Q.• Ordenando Q y tomar el primer elemento• Mantener Q ordenada y hacer una inserción “ordenada”• Examinar Q para encontrar el elemento con el valor menor.

– ¿Cuál de todos es mejor?– Dependerá de cuantos nodos hijos tengan en promedio. Esto se

verá con más detalle.

Page 35: 2 Búsqueda

35

Tiempo de corrida del peor caso• El número de estados en el

espacio de búsqueda puede ser exponencial basado en algún “parámetro” de profundidad;

ejemplo. Número de acciones en un plan, número de movimientos en un juego.

d = 1

d = 0

d = 2

b=2

d es la profundidadb es el factor de ramificaciónbd < (b d +1 –1) /( b- 1) < b d+1

Estados en el árbol

Page 36: 2 Búsqueda

36

Tiempo de corrida del peor caso• El numero de estados en el

espacio de búsqueda puede ser exponencial basado en algún parámetro de profundidad; ej. Número de acciones en un plan, número de movimientos en un juego.

• Todas las búsquedas, con o sin lista de visitados, pueden tener que visitar todos los estado al menos una vez, en el peor de los casos.

• Así, todas las búsquedas tendrán el peor caso en el tiempo de corrida que será al menos proporcional al número total de estados y por tanto exponencial con respecto al parámetro profundidad.

d = 1

d = 0

d = 2

b=2

d es la profundidadb es el factor de ramificaciónbd < (b d +1 –1) /( b- 1) < bd+1

Estados en el árbol

Page 37: 2 Búsqueda

37

Espacio de memoria en el peor caso

VisitadosExpandidos

En Primero en profundidad el tamaño máximo de Q será (b-1)d≈bd

Tamaño Max Q= #Visitados - #Expandidos

Page 38: 2 Búsqueda

38

Espacio de memoria en el peor caso

VisitadosExpandidos

En Primero en profundidad el tamaño máximo de Q será ≈ bd

Tamaño Max Q= #Visitados - #Expandidos

Para búsqueda en anchura el tamaño máximo de Q es bd

Page 39: 2 Búsqueda

39

Primero en profundidad• Tome el primer elemento de Q. Agregue los caminos extendidos al frente de Q.

• Se muestra el camino en orden inverso.

Q Visitados1 (s) s2345

S

A

B

D

C

G

1

Page 40: 2 Búsqueda

40

Primero en profundidad• Tome el primer elemento de Q. Agregue los caminos extendidos al

frente de Q.

• Se muestra el camino en orden inverso.

Q Visitados1 (s) s2 (AS)(BS) A,B,S

345

S

A

B

D

C

G

1

2

Page 41: 2 Búsqueda

41

Primero en profundidad• Tome el primer elemento de Q. Agregue los caminos extendidos al frente de Q.

• Se muestra el camino en orden inverso.

Q Visitados1 (s) s2 (AS)(BS) A,B,S

3 (CAS)(DAS)(BS) C,D,B,A,S

45

S

A

B

D

C

G

1

2

3

Page 42: 2 Búsqueda

42

Primero en profundidad• Tome el primer elemento de Q. Agregue los caminos extendidos al frente de Q.

• Se muestra el camino en orden inverso.

Q Visitados1 (s) s2 (AS)(BS) A,B,S

3 (CAS)(DAS)(BS) C,D,B,A,S

4 (DAS) (BS) C,D,B,A,S

5

S

A

B

D

C

G

1

2

3

4

Page 43: 2 Búsqueda

43

Primero en profundidad• Tome el primer elemento de Q. Agregue los caminos extendidos al frente de Q.

• Se muestra el camino en orden inverso.

Q Visitados1 (s) s2 (AS)(BS) A,B,S

3 (CAS)(DAS)(BS) C,D,B,A,S

4 (DAS) (BS) C,D,B,A,S

5 (GDAS)(BS) G,C,D,B,A,S

S

A

B

D

C

G

1

2

3

4

5

Page 44: 2 Búsqueda

44

Primero en profundidad• Tome el primer elemento de Q. Agregue los caminos extendidos al frente de Q.

• Se muestra el camino en orden inverso.

Q Visitados1 (s) s2 (AS)(BS) A,B,S

3 (CAS)(DAS)(BS) C,D,B,A,S

4 (DAS) (BS) C,D,B,A,S

5 (GDAS)(BS) G,C,D,B,A,S

S

A

B

D

C

G

1

2

3

4

5

Page 45: 2 Búsqueda

45

Primero en profundidadTome el primer elemento de Q. Agréguelo al frente de Q.

» Otra forma (mas fácil) de verlo.

SA B

S

A

B

1

1

El número indica el orden en que son sacados de Q (expandidos)

Relleno en rojo= visitado y expandidoRelleno en anaranjado = visitado

SB

S

D

1

1

22

3

SB

S

C

G

1

1

Page 46: 2 Búsqueda

46

Primero en profundidadTome el primer elemento de Q. Agréguelo al frente de Q.

» Otra forma (mas fácil) de verlo.

SB

S

B

D

C

G

1

El numero indica el orden en que son sacados de Q (expandidos)

Relleno en rojo= visitado y expandidoRelleno en anaranjado = visitado

SB

D

C

1

22

A

1

22

3A

1

DC

22

1

Page 47: 2 Búsqueda

47

Primero en profundidadTome el primer elemento de Q. Agréguelo al frente de Q.

» Otra forma (mas fácil) de verlo.

SB

S

B

D

C

G

1

El numero indica el orden en que son sacados de Q (expandidos)

Relleno en rojo= visitado y expandidoRelleno en anaranjado = visitado

SB

D

1

22

A

1

22A

1

DC

22

1

3

3

Page 48: 2 Búsqueda

48

Primero en profundidadTome el primer elemento de Q. Agréguelo al frente de Q.

» Otra forma (mas fácil) de verlo.

El número indica el orden en que son sacados de Q (expandidos)

Relleno en rojo= visitado y expandidoRelleno en anaranjado = visitado

1

3

3

S

B

D

C

G

1

D

1

2A

1

22

14

SB

SB

22A

DC

2

C GC no es visitado

4

Page 49: 2 Búsqueda

49

Primero en profundidad(backtracking)

5

SA B

S

A

B

D

C

G

1

DC

22

3

3

GC

4 4

15

El numero indica el orden en que son sacados de Q (expandidos)

Relleno en rojo= visitado y expandidoRelleno en anaranjado = visitado

Page 50: 2 Búsqueda

50

Primero en profundidad (sin visitados)

Q1 (s)2 (AS)(BS)

3 (CAS)(DAS)(BS)

4 (DAS) (BS)

5 (CDAS)(GDAS)(BS)

6 (GDAS) (BS)

S

A

B

D

C

G

Mostramos los caminos en orden reverso.No extendemos un camino a un estado si el camino resultante producirá un bucle.

Page 51: 2 Búsqueda

51

Primero en anchuraTome el primer elemento de Q. Agregue el camino expandido al final de Q

Q Visitados1 (s) s23

45

S

A

B

D

C

G

Mostramos los caminos en orden reverso.

Page 52: 2 Búsqueda

52

Primero en anchuraTome el primer elemento de Q. Agregue el camino expandido al final de Q

Q Visitados1 (s) s2 (AS) (BS) A,B,S

3

45

S

A

B

D

C

G

Mostramos los caminos en orden reverso.

Page 53: 2 Búsqueda

53

Primero en anchuraTome el primer elemento de Q. Agregue el camino expandido al final de Q

Q Visitados1 (s) s2 (AS) (BS) A,B,S

3 (BS)(CAS)(DAS) C,D,B,A,S

45

S

A

B

D

C

G

Mostramos los caminos en orden reverso.

Page 54: 2 Búsqueda

54

Primero en anchuraTome el primer elemento de Q. Agregue el camino expandido al final de Q

Q Visitados1 (s) s2 (AS) (BS) A,B,S

3 (BS)(CAS)(DAS) C,D,B,A,S

4 (CAS)(DAS)(GBS)* G,C,D,B,A,S

56

S

A

B

D

C

G

Mostramos los caminos en orden reverso.*Podríamos habernos detenido aquí, cuando el primer camino a la meta fue generado.

Page 55: 2 Búsqueda

55

Primero en anchuraTome el primer elemento de Q. Agregue el camino expandido al final de Q

Q Visitados1 (s) s2 (AS) (BS) A,B,S

3 (BS)(CAS)(DAS) C,D,B,A,S

4 (CAS)(DAS)(GBS)* G,C,D,B,A,S

5 (DAS)(GBS) G,C,D,B,A,S

6

S

A

B

D

C

G

Mostramos los caminos en orden reverso.*Podríamos habernos detenido aquí, cuando el primer camino a la meta fue generado.

Page 56: 2 Búsqueda

56

Primero en anchuraTome el primer elemento de Q. Agregue el camino expandido al final de Q

Q Visitados1 (s) s2 (AS) (BS) A,B,S

3 (BS)(CAS)(DAS) C,D,B,A,S

4 (CAS)(DAS)(GBS)* G,C,D,B,A,S

5 (DAS)(GBS) G,C,D,B,A,S

6 (GBS) G,C,D,B,A,S

S

A

B

D

C

G

Mostramos los caminos en orden reverso.*Podríamos habernos detenido aquí, cuando el primer camino a la meta fue generado.

Page 57: 2 Búsqueda

57

Primero en anchuraTome el primer elemento de Q. Agregue el camino expandido al final de Q

Q Visitados1 (s) s2 (AS) (BS) A,B,S

3 (BS)(CAS)(DAS) C,D,B,A,S

4 (CAS)(DAS)(GBS)* G,C,D,B,A,S

5 (DAS)(GBS) G,C,D,B,A,S

6 (GBS) G,C,D,B,A,S

S

A

B

D

C

G

Mostramos los caminos en orden reverso.*Podríamos habernos detenido aquí, cuando el primer camino a la meta fue generado.

Page 58: 2 Búsqueda

58

Primero en anchuraOtra forma de verlo (mas fácil?)

S

A

B

D

C

G

SB

SB

22A

DC

2

DG

1

3

4 5

D no es visitado de nuevo

1

2

3

4

566

Page 59: 2 Búsqueda

59

Primero en anchura (sin lista de visitados)

Q1 (S)

2 (AS)(BS)

3 (BS)(CAS)(DAS)

4 (CAS)(DAS)(DBS)(GBS)

5 (DAS)(DBS)(GBS)

6 (DBS)(GBS)(CDAS)(GDAS)

7 (GBS)(CDAS)(GDAS)(CDBS)(GDBS)

S

A

B

D

C

G

1

2

3

4

56

7

Page 60: 2 Búsqueda

60

Tomado del

www.owc.mit.edu6.034 Artificial Intelligence 2004

Archivo: ch2-search1.pdf