Está en la página 1de 58

Bsqueda no Informada

2005-I

Algoritmos de bsqueda
Bsqueda ciega no informada

Primera en amplitud
Primera uniforme
Primera en profundidad
Profundizacin iterativa primera en profundidad
Bidireccional

Bsqueda Heuristica Informada


Bsqueda Greedy, Ascenso de Colina (hill climbing), Heuristicas

Conceptos importantes:

Completitud
Complejidad de tiempo
Complejidad de espacio
Calidad de Solucin

Profesor Juan Gamarra Moreno

Bsqueda No Informada 2

Bsqueda basada en rbol


Idea bsica:
Exploracin de espacio de estados al generar los sucesores de los
estados ya explorados (denominada expansin de estados).
Cada estado se evalua: es este un estado meta?

En la prctica, el espacio solucin puede ser un grafo y no un


rbol
Por ejemplo puzle 8
Un enfoque ms general es la bsqueda de grafo
La bsqueda de rbol puede repetitivamente visitar los mismos
nodos
A menos que se mantenga rastro de todos los nodos visitados
pero esto podra usar bastas cantidades de memoria

Profesor Juan Gamarra Moreno

Bsqueda No Informada 3

Ejemplo de bsqueda de rbol

Profesor Juan Gamarra Moreno

Bsqueda No Informada 4

Ejemplo de bsqueda de rbol

Profesor Juan Gamarra Moreno

Bsqueda No Informada 5

Ejemplo de bsqueda de rbol

Profesor Juan Gamarra Moreno

Bsqueda No Informada 6

Ejemplo de bsqueda de rbol

La estrategia es lo
que diferencia los
diferentes
algoritmos de
bsqueda

Profesor Juan Gamarra Moreno

Bsqueda No Informada 7

Estados versus Nodos

Un estado es una (representacin de) configuracin fsica

Un nodo es una estructura de datos que forma parte de un rbol de


bsqueda y contiene informacin tales como: estado, nodo padre, accin,
costo de camino g(x), profundidad

La funcin Expandirir crea nuevos nodos, llenando los campos de


informacin y usando la funcin sucesora FnSucesora del problema para
crear los estados correspondientes.

Profesor Juan Gamarra Moreno

Bsqueda No Informada 8

rbol de bsqueda para el problema puzle 8

Profesor Juan Gamarra Moreno

Bsqueda No Informada 9

Estrategias de bsqueda
Una estratega de bsqueda se define por el orden en el que se
escoge el nodo a Expandirir
Las estrategias se evalan considerando las siguientes
dimensiones:

completitud: siempre encuentra una solucin si esta existe?


complejidad de tiempo: nmero de nodos generados
complejidad de espacios: nmero mximo de nodos en memoria
optimalidad: siempre encuentra una solucin de menor costo?

La complejidad de tiempo y espacio se miden en trminos de


b: factor de ramificacin mximo del rbol de bsqueda
d: profundidad de la solucin de menor costo
m: profundidad mxima del espacio de estados (puede ser )

Profesor Juan Gamarra Moreno

Bsqueda No Informada 10

Bsqueda Primera en Amplitud


Breadth-First Search (BFS)

Expandirir el nodo no Expandirido menos profundo

Alternativa: los nodos que esperan en una cola para ser explorados,
tambin son llamados ABIERTOS

Implementacin:
Para BFS, la alternativa es una cola FIFO
Los nuevos sucesores se van al final de la cola

Estados repetidos?
Estrategia Simple: no aadir los padres de un nodo como una hoja

Profesor Juan Gamarra Moreno

Bsqueda No Informada 11

Ejemplo: Navegacin de Mapa


Espacio de estados:
S = inicio, G = meta, otros nodos = estados intermedios, enlaces = transiciones legales

Profesor Juan Gamarra Moreno

Bsqueda No Informada 12

rbol de Bsqueda BFS


A

C
G

S
D

Cola = {S}

Seleccionar S
Meta(S) = verdadero?
Si no, Expandir(S)

Profesor Juan Gamarra Moreno

Bsqueda No Informada 13

rbol de Bsqueda BFS


A

C
G

S
A

Cola = {A, D}

Seleccionar A
Meta(A) = verdadero?
Si no, Expandir(A)

Profesor Juan Gamarra Moreno

Bsqueda No Informada 14

rbol de Bsqueda BFS


A

D
D

C
G

S
A

Cola = {D, B, D}

Seleccionar D
Meta(D) =
verdadero?
Si no, Expandir(D)

Profesor Juan Gamarra Moreno

Bsqueda No Informada 15

BFS Search Tree


A

G
D

A
D

Cola = {B, D, A, E}

Seleccionar B
etc.

Profesor Juan Gamarra Moreno

Bsqueda No Informada 16

rbol de Bsqueda BFS


A

D
E

G
D

E
B

Nivel 3
Cola = {C, E, S, E, S, B, B, F}

Profesor Juan Gamarra Moreno

Bsqueda No Informada 17

rbol de Bsqueda BFS


A

G
D

Nivel 4
Expandir Cola hasta que G este en frente
Seleccionar G
Meta(G) = verdadero
Profesor Juan Gamarra Moreno

Bsqueda No Informada 18

Bsqueda BFS

Profesor Juan Gamarra Moreno

Bsqueda No Informada 19

Bsqueda Primera en Profundidad


Depth-First Search (DFS)

Expandir el nodo no expandido ms profundo

Implementacin:
Para DFS, la alternativa es una cola FIFO
Los nuevos sucesores se van al inicio de la cola

Nodos Repetidos?
Estrategia simple: No aadir un estado como hoja si este estado
esta en el camino de la raz al nodo actual

Profesor Juan Gamarra Moreno

Bsqueda No Informada 20

rbol de Bsqueda DFS


A

C
G

S
A

Cola = {A,D}

Profesor Juan Gamarra Moreno

Bsqueda No Informada 21

rbol de Bsqueda DFS


A

Profesor Juan Gamarra Moreno

C
G

S
A

Cola = {B,D,D}

Bsqueda No Informada 22

rbol de Bsqueda DFS


A

B
C

C
G

S
A

Cola = {C,E,D,D}

Profesor Juan Gamarra Moreno

Bsqueda No Informada 23

rbol de Bsqueda DFS


A

C
G

S
A

Cola = {D,F,D,D}

Profesor Juan Gamarra Moreno

Bsqueda No Informada 24

rbol de Bsqueda DFS


A

C
G

S
A

Cola = {G,D,D}

F
G

Profesor Juan Gamarra Moreno

Bsqueda No Informada 25

Evaluacin de los algoritmos de bsqueda


Completitud
siempre encuentra una solucin si es que existe?

Optimalidad
siempre encuentra una solucin de menor costo (o de mnima
profundidad)?

Complejidad de tiempo
Nmero de nodos generados (peor de los casos)

Complejidad de espacio
Nmero de nodos en memoria (peor de los casos)

La complejidad de tiempo y espacio se miden en trminos de


b: factor de ramificacin mximo del rbol de bsqueda
d: profundidad de la solucin de menor costo
m: profundidad mxima del espacio de estados (puede ser )
Profesor Juan Gamarra Moreno

Bsqueda No Informada 26

Propiedades BFS
Completo? Si
ptimo? Only if path-cost = non-decreasing function of depth
Complejidad de tiempo O(bd)
Complejidad de espacio O(bd)

Inconveniente prctico principal? Complejidad de tiempo


exponencial

Profesor Juan Gamarra Moreno

Bsqueda No Informada 27

Complejidad de BFS

Complejidad de Tiempo
Asuma (en el peor de los casos) que
exista una hoja meta al lado de la
mano derecha a la profundidad d
as BFS generar
= b + b2+ ..... + bd + bd+1 - b
= O (bd+1)

Complejidad de Espacio
cuntos nodos pueden estar en la
Cola (en el peor de los casos)?
A la profundidad d existen bd+1 nodos
no expandidos en la cola Q = O (bd+1)

Profesor Juan Gamarra Moreno

d=0
d=1
d=2
G

d=0
d=1
G

d=2

Bsqueda No Informada 28

Ejemplos de requerimineto de tiempo y memoria


para la bsqueda BFS
Asumiendo b=10, 10000 nodos/seg, 1kbyte/node

Profundidad de
Solucin

Nodos
Generados

Tiempo

Memoria

1100

0.11 segundos

1 MB

111,100

11 segundos

106 MB

109

31 horas

1 TB

12

1013

35 aos

10 PB

Profesor Juan Gamarra Moreno

Bsqueda No Informada 29

Qu es la complejidad de DFS?
Complejidad de Tiempo
Profundidad de rbol mxima= m
asuma (en el peor de los casos)
que exista una hoja meta en la
hoja del lado de la mano derecha
a la profundidad d
as DFS generar O (bm)

Complejidad de Espacio
Cuantos nodos pueden estar en
la cola (en el peor de los casos)?
A la profundidad m tenemos b
nodos
y b-1 nodos en las profundidades
ms tempranas
total = b + (m-1)*(b-1) = O(bm)

Profesor Juan Gamarra Moreno

d=0
d=1
d=2
G

d=0
d=1
d=2
d=3
d=4
Bsqueda No Informada 30

Ejemplos de requerimientos de Tiempo y Memoria


para DFS
Asumienso b=10, m = 12, 10000 nodos/sec, 1kbyte/node

Prof. de
Solucin

Nodos
Generados

Tiempo

Memoria

1012

3 years

120kb

1012

3 years

120kb

1012

3 years

120kb

12

1012

3 years

120kb

Profesor Juan Gamarra Moreno

Bsqueda No Informada 31

Propiedades DFS
Completo?
No completo si el rbol no tiene profundidad limitada

ptimo?
No

Complejidad de tiempo?
Exponencial

Complejidad de espacio?
Lineal

Profesor Juan Gamarra Moreno

Bsqueda No Informada 32

Comparando DFS y BFS


Complejidad de tiempo: el mismo, pero
En el peor de los casos BFS es siempre mejor que DFS
Algunas veces, en promedio DFS es mejor si:
muchas Metas, no bucles y no caminos infinitos

BFS es mucho peor en el uso de memoria


DFS tiene espacio lineal
BFS puede almacenar el espacio de bsqueda completo.

En general
BFS es mejor si la meta no est profunda, si los caminos son
infinitos, si existen muchos lazos, si el espacio de bsqueda es
pequeo.
DFS es mejor si existen muchas metas, no muchos lazos,
DFS es mucho mejor en trminos de memoria

Profesor Juan Gamarra Moreno

Bsqueda No Informada 33

DFS con un lmite de profundidad L


Estndar DFS, pero el rbol no es explorado debajo de algn
lmite de profundidad L
Resuelve el problema de camino de profundidad infinita sin
soluciones
Pero ser incompleta si la solucin esta por debajo del lmite de
profundidad.

El lmite de profundidad puede seleccionarse basado en el


conocimiento del problema
Ej., dimetro del espacio de estado:
Ej., mximo nmero de pasos entre 2 ciudades
Pero tpicamente no conocido a priori en la prctica

Profesor Juan Gamarra Moreno

Bsqueda No Informada 34

Bsqueda Primera en Profundidad con un


lmite de profundidad L = 5

Profesor Juan Gamarra Moreno

Bsqueda No Informada 35

Bsqueda Primera en Profundidad con un


lmite de profundidad

Profesor Juan Gamarra Moreno

Bsqueda No Informada 36

Profesor Juan Gamarra Moreno

Bsqueda No Informada 37

Bsqueda con profundizacin iterativa


Iterative Deepening Search (IDS)
Ejecuta mltiples bsquedas DFS con incremento del
lmite de profundidad

Bsqueda con profundizacin iterativa


L=1
Mientras no exista solucin, hacer
DFS desde el estado inicial S0 con lmite L
Si se encuentra Meta,
Parar y devolver la solucin,
sino,
Incrementar el lmite de profundidad L

Profesor Juan Gamarra Moreno

Bsqueda No Informada 38

Bsqueda con profundizacin iterativa L=0

Profesor Juan Gamarra Moreno

Bsqueda No Informada 39

Bsqueda con profundizacin iterativa L=1

Profesor Juan Gamarra Moreno

Bsqueda No Informada 40

Bsqueda con profundizacin iterativa L=2

Profesor Juan Gamarra Moreno

Bsqueda No Informada 41

Bsqueda con profundizacin iterativa L=3

Profesor Juan Gamarra Moreno

Bsqueda No Informada 42

Bsqueda con profundizacin iterativa

Profesor Juan Gamarra Moreno

Bsqueda No Informada 43

Propiedades de Bsqueda con profundizacin


iterativa

Complejidad de espacio = O(bd)


(ya que esta es como la bsqueda primera en profundidad n diferentes
tiempos, con un lmite de profundidad mximo d)

Complejidad de Tiempo
b + (b+b2) + .......(b+....bd) = O(bd)
(por ej. Asintticamente lo mismo como BFS o DFS para limitar la
profundidad d en el peor de los casos)

Completo?
Si

Optimal
Solo si el costo de camino es una funcin que decrece en la profundidad

IDS combina el uso pequeo de memoria de DFS, y tiene la garanta


de completitud de BFS

Profesor Juan Gamarra Moreno

Bsqueda No Informada 44

IDS en la Prctica
No es IDS derrochador?
Repetidas bsquedas en diferentes iteraciones

Compare IDS y BFS:


E.g., b = 10 and d = 5
N(IDS) ~ db + (d-1)b2 + bd = 123,450
N(BFS) ~ b + b2 + bd

= 111,110

La diferencia es cerca del 10%


La mayora del tiempo se pasa en la profundidad d, la cuak es
la misma cantidad de tiempo en ambos algoritmos

En la prctica, IDS es el mtodo de bsqueda uniforme preferido


con grandes espacios de bsqueda y profundidad de solucin
desconocida

Profesor Juan Gamarra Moreno

Bsqueda No Informada 45

Bsqueda Bidireccional
Idea
Simultneamente se busca hacia adelante desde S y hacia atrs
desde G
Parar cuando ambos se encuentren en el medio
Necesidad de mantener rastro de la interseccin de 2 conjuntos
abiertos de nodos

Qu es lo que la bsqueda hacia atrs desde G significa


Necesita una forma para especificar el predecesor de G
Esto puede ser difcil,
Ej.: predecesores de jaque mate en el ajedrez?
qu si existen mltiples estados meta?
qu si existe solo una prueba de meta, no una lista explicita?

Complejidad
Complejidad de tiempo en el mejor de los casos: O(2 b(d/2)) = O(b
(d/2))
complejidad de memoria es la misma
Profesor Juan Gamarra Moreno

Bsqueda No Informada 46

Bsqueda Bidireccional

Profesor Juan Gamarra Moreno

Bsqueda No Informada 47

Bsqueda de Costo uniforme


Optimalidad: camino encontrado = costo ms bajo
Los algortimos hasta aqu son ptimos slo bajo circunstancias
restringidas

Hagamos g(n) = costo desde el estado inicial S al nodo n

Bsqueda de costo uniforme:


Siempre expandir el nodo en la alternativa con costo g(n) mnimo
Note que sis los costos son iguales (o casi iguales) se comportarn
similarmente a BFS.

Profesor Juan Gamarra Moreno

Bsqueda No Informada 48

Bsqueda de Costo uniforme

Profesor Juan Gamarra Moreno

Bsqueda No Informada 49

Optimalidad de Bsqueda de Costo


uniforme
Asuma que cada paso cuesta al menos e > 0
Prueba de completitud:
Dado que cada paso costar ms que 0, y asumiendo un factor de
ramificacin finito, existe un nmero finito de expansiones
requeridas antes que el costo total del camino sea igual al costo
del camino del estado meta. Por lo tanto, lo alcanzaremos en un
nmero finito de pasos.

Prueba de optimalidad dada la completitud:


Asuma que UCS no es ptima.
Luego debe existir un estado meta con un costo de camino ms
pequeo que el estado meta que fue encontrado (invocado en la
completitud)
Sin embargo, esto es imposible porque UCS debera haber
expandido ese nodo por definicin.
Contradiccin.

Profesor Juan Gamarra Moreno

Bsqueda No Informada 50

Complejidad de costo uniforme


Hagamos que C* sea el costo de la solucin ptima
Asuma que cada paso cuesta al menos e > 0

La complejidad de tiempo y espacio en el peor de los casos es:

O( b [1 + floor(C*/e)] )
Por qu?
floor(C*/e) ~ profundidad de la solucin si todos los costos
son aproximadamente iguales

Profesor Juan Gamarra Moreno

Bsqueda No Informada 51

Comparacin de Algoritmos de busqueda no


informados

Profesor Juan Gamarra Moreno

Bsqueda No Informada 52

Complejidad de caso promedio de estos algoritmos


Cmo haramos un anlisis de caso promedio de estos
algoritmos?
Ej., una Meta en un rbol de profundidad mxima m
Solucin aleatoriamente ubicada a la profundidad d?
Solucin aleatoriamente ubicada en el rbol de bsqueda?
Solucin aleatoriamente ubicada en el espacio de estados?

Qu al respecto de soluciones mltilpes?

Profesor Juan Gamarra Moreno

Bsqueda No Informada 53

Evitar estados repetidos


S

B
S

Espacio de estados
Ejemplo de un rbol de bsqueda
Solucin posible
no agregar nodos que estn en el camino de la raz
Evita los caminos que contengan ciclos (lazos)
fcil de revisar en DFS

Evitar rboles de profundidad infinita (para problemas de


estados finitos) pero no evitar visitar los mismos estados otra
vez en otras ramas.
Profesor Juan Gamarra Moreno

Bsqueda No Informada 54

Estados repetidos
Si se falla en detectar estados repetidos se puede convertir un
problema lineal en uno exponencial!

Profesor Juan Gamarra Moreno

Bsqueda No Informada 55

Bsqueda en malla: muchos caminos para


los mismos estados

Estructura en malla del espacio de estados


Cada estado tiene b = 4 sucesores
As el tamao del rbol de bsqueda completo es 4d
Pero existen solamente 2d2 estados distintos con d pasos de cualquier
estado
Ej., d = 20: 1012 nodos en el rbol de busqueda, pero solamente 800
estados distintos

Profesor Juan Gamarra Moreno

Bsqueda No Informada 56

Grafo de bsqueda vs. rbol de bsqueda


Registra cada estado visitado y solamente genera estados que
no estn en esta lista
Modifique el algoritmo de Bsqueda de rbol
Agregue una estructura de datos llamada lista-cerrada
Almacena cada nodo previamente expandido
(alternativas de nodos no expandidos se llaman lista-abierta)

Si el nodo actual est en la lista-cerrada, esta se descarta, no se


expande
Puede tener requerimientos de memoria exponencial
Sin embargo, en problemas con muchos estados repetidos (pero
un espacio de estados pequeo), la bsqueda de grafos puede ser
ms eficiente que la bsqueda de rbol.

Profesor Juan Gamarra Moreno

Bsqueda No Informada 57

Resumen
Revisin de bsqueda
Un espacio de bsqueda consiste de estados y operadores: esto es
un grafo
Un rbol de bsqueda representa una exploracin particular de un
espacio de bsqueda

Existen varias estrategias para bsqueda no informada

Primera en amplitud
Primera en profundidad
Profundizacin iterativa
Bsqueda bidireccional
Bsqueda de costo uniforme

Varias compensaciones entre estos algoritmos


el mejor algoritmo depender de la naturaleza del problema de
bsqueda

Profesor Juan Gamarra Moreno

Bsqueda No Informada 58

También podría gustarte