Sunteți pe pagina 1din 60

INTELIGENCIA ARTIFICIAL

Bsqueda no Informada

Mg. Samuel Oporto Daz

Mapa Conceptual del Curso

2 /54

Tabla de Contenido
1. Estrategias de Bsqueda
2. Bsqueda no Informada.
i.
ii.
iii.
iv.
v.
vi.

Bsqueda por Amplitud


Bsqueda por Costo Uniforme
Bsqueda en Profundidad
Bsqueda Limitada por Profundidad
Bsqueda por Profundidad Iterativa
Bsqueda Bidireccional

3. Bibliografa

3 /54

Objetivos
Presentar los conceptos acerca de
estrategas de bsqueda no informada.

las

4 /54

ESTRATEGIAS DE BSQUEDA

5 /54

Estrategias de Bsqueda
Bsqueda No Informada
(Ciega)

1. Bsqueda preferente por


amplitud
2. Bsqueda de costo
uniforme
3. Bsqueda preferente por
profundidad
4. Bsqueda limitada por
profundidad
5. Bsqueda por
profundizacin iterativa
6. Bsqueda bidireccional

Bsqueda Informada
(Heurstica)

1.
2.
3.
4.

Bsqueda avara
Bsqueda A*
Bsqueda A*PI
Bsqueda A*SRM

6 /54

Bsqueda en el Espacio de Estados


La resolucin de un problema con esta
representacin pasa por explorar el espacio de
estados
Partimos del estado inicial evaluando cada paso
hasta encontrar un estado final
En el caso peor exploraremos todos los posibles
caminos entre el estado inicial del problema
hasta llegar al estado final
Definiremos una representacin del espacio de
estados para poder implementar algoritmos que
busquen soluciones
7 /54

Estructura del espacio de estados

Estructuras de datos: rboles y Grafos


Estados = Nodos
Operadores = Arcos entre nodos (dirigidos)
rboles: Solo un camino lleva a un nodo
Grafos: Varios caminos pueden llevar a un nodo

8 /54

Algoritmo Bsico
Basado en bsqueda y recorrido en rboles y grafos
La estructura la construimos a medida que hacemos la
bsqueda
Algoritmo para una solucin:
Seleccionar el primer estado como el estado actual
mientras el estado actual no es el estado final hacer
Generar y guardar sucesores del estado actual (expansin)
Escoger el siguiente estado entre los pendientes (seleccin)
fin-mientras

La seleccin del siguiente nodo determinar el tipo de


bsqueda (orden de seleccin o expansin)
Es necesario definir un orden entre los sucesores de un
nodo (orden de generacin)
9 /54

Algoritmo Bsico
Nodos abiertos: Estados generados pero an no
visitados
Nodos cerrados: Estados visitados y que ya se han
expandido
Tendremos una estructura para almacenar los nodos
abiertos
Las diferentes polticas de insercin en la estructura
determinarn el tipo de bsqueda
Si exploramos un grafo puede ser necesario tener en
cuenta los estados repetidos (esto significa tener una
estructura para los nodos cerrados). Merece la pena si
el nmero de nodos diferentes es pequeo respecto al
nmero de caminos
10 /54

Evaluacin de las Estrategias


Las estrategias se evalan de acuerdo a su:
Completez. La estrategia garantiza encontrar una
solucin, si sta existe?
Complejidad temporal. Cunto tiempo se necesitar
para encontrar una solucin?
Complejidad espacial. Cunta memoria se necesita
para efectuar la bsqueda?
Optimalidad. Con esta estrategia se encontrar una
solucin de la ms alta calidad, si hay varias soluciones?
Las complejidades temporal y espacial se miden en trminos de:
b mximo factor de ramificacin del rbol de bsqueda (branching factor)
d profundidad de la solucin de menor coste
m profundidad mxima del espacio de estados (puede ser )
11 /54

BUSQUEDA NO INFORMADA

12 /54

Estrategias de bsqueda no informada


No existe informacin sobre la cantidad de
estados intermedios o el costo de ruta para
pasar del estado actual a la meta.
Slo se sabe distinguir si estamos en el estado
meta o no
A esta bsqueda se le conoce tambin como
bsqueda ciega

13 /54

Estrategias de bsqueda no informada


1.
2.
3.
4.
5.
6.

Bsqueda preferente por amplitud


Bsqueda de costo uniforme
Bsqueda preferente por profundidad
Bsqueda limitada por profundidad
Bsqueda por profundizacin iterativa
Bsqueda bidireccional

14 /54

BUSQUEDA POR AMPLITUD


(DFS)
S
L
M
N

O
F

F
15 /54

1. Bsqueda preferente por amplitud


En este caso, primero se expande el nodo raz y
luego todos los nodos generados por ste, luego sus
sucesores y as sucesivamente.
Todos los nodos que estn a profundidad d se
expanden antes que los nodos con profundidad d+1.

16 /54

Bsqueda preferente por amplitud


1. Abiertos(n0); Cerrados( )
2. Si Abiertos = ( ), fin devolviendo fallo
3. nprimer elemento de Abiertos; eliminar n de
Abiertos y llevarlo a Cerrados; Suc( )
4. Si n es meta, fin con xito, devolviendo el camino
5. expandir n, colocando sus hijos en Suc, como hijos de n
6. eliminar de Suc cualquier nodo cuyo estado ya est
asociado a algn nodo de Abiertos o Cerrados
7. colocar los nodos de Suc al final de Abiertos
8. Ir a 2

17 /54

18 /54

0
0
1

321

19 /54

0
10
1

cba32

20 /54

0
210
1

f edcba3

21 /54

0
3210
1

i hg f edcba

22 /54

0
a3210
1

i hg f edcb

23 /54

0
b a 32 1 0
1

i hg f edc

24 /54

Bsqueda preferente por amplitud


Si hay solucin, es seguro que se encontrar
mediante la bsqueda preferente por amplitud.
Si son varias soluciones, siempre encontrar
primero el estado de meta ms prximo (menos
profundidad, ms a la izquierda).
La bsqueda preferente por amplitud es
completa y ptima siempre y cuando el costo de
ruta sea una funcin que no disminuya al
aumentar la profundidad del nodo.

Completez, Complejidad Temporal, Complejidad Espacial, Optimalidad.


25 /54

Complejidad Temporal
Si b es el factor de ramificacin de los
estados, y la solucin est a una profundidad d,
entonces la cantidad mxima de nodos
expandidos antes de encontrar la solucin es:
1+ b + b2 + b3 + ... + bd + (bd+1 b)

La complejidad de este algoritmo es O(bd+1).

26 /54

Complejidad Espacial y Temporal


Si b=10, se analizan 10,000 nodos por segundo y
cada nodo requiere 1000 bytes de almacenamiento:
Profundidad

Nodos

Tiempo

Memoria

1100

.11 segundos

1 Megabyte

111,100

11 segundos

106 Megabytes

107

19 minutos

109

31 horas

1 Terabyte

10

1011

129 das

101 Terabyte

12

1013

35 aos

10 Petabytes

14

1015

3523 aos

10 Gigabytes

1 Exabyte
27 /54

Resumen (BFS)
Los nodos se visitan y generan por niveles
La estructura para los nodos abiertos es una cola (FIFO)
Un nodo es visitado cuando todos los nodos de los
niveles superiores y sus hermanos precedentes han sido
visitados
Caractersticas:
Completidud: El algoritmo siempre encuentra una solucin
Complejidad temporal: Exponencial respecto al factor de
ramificacin y la profundidad de la solucin O(bd+1).
Complejidad espacial: Exponencial respecto al factor de
ramificacin y la profundidad de la solucin O(bd+1).
Optimalidad: La solucin que se encuentra es ptima en nmero de
niveles desde la raz
28 /54

Ejercicio 1
Determine el orden en que un agente
basado en metas busca el objetivo
(orden en que se visitan y orden en
que se aperturan):

A
B
D

VISITA (nodos cerrados)

C
E

APERTURA (nodos abiertos)

29 /54

Ejercicio 2
Diga para el siguiente rbol el
orden en que se aperturan
(nodos abiertos) y orden en
que se visitan los nodos
(nodos cerrados).

Tenga en consideracin lo siguiente:


1. Existe dos colas de nodos, nodos abiertos y nodos cerrados.
2. La cola de nodos abiertos siempre se inicializa con el primer nodo del rbol, la cola
de nodos cerrados se inicializa vaco.
3. Para visitar un nodo este primero debe ser abierto.
4. La visita a un nodo, permite generar la lista de nodos abiertos (nodos hijos)
5. El primer nodo que se visita en un rbol siempre es el primer nodo del rbol.
6. La vista de un nodo permite que este pase a la lista de nodos cerrados.
7. La tcnica de bsqueda no informada se diferencia por el orden en que se vistan
los nodos, no por el orden en que se abren los nodos.
30 /54

BUSQUEDA POR COSTO


UNIFORME
Uniform-Cost Search (UCS)

31 /54

Bsqueda de costo uniforme


Con la bsqueda anterior no siempre se
encuentra la solucin de costo de ruta mnimo.
La bsqueda de costo uniforme expande
siempre el nodo de menor costo en el margen,
medido por el costo de ruta g(n) en vez del nodo
de menor profundidad.
Si se cumplen ciertas condiciones, es seguro
que la primera solucin encontrada ser la ms
barata.
La bsqueda en amplitud es una bsqueda de
costo uniforme donde g(n) = profundidad(n)
32 /54

Bsqueda de costo uniforme


A
1
S

15

10
5

G
5

Problema: Ir de S a G al
menor costo posible
NOTA: NO SE GENERARN
NUEVAMENTE LOS
ESTADOS ANALIZADOS
PREVIAMENTE

S es el nico nodo en la frontera


(nodos pendientes por expandir)
Debido a que no es la meta, se
procede a su expansin...

33 /54

Bsqueda de costo uniforme


A
1
S

15

S
10
5

G
5

B
1

C
5

15

Frontera

Hay 3 nodos en la frontera (A, B y C), y se


elige el de menor costo de ruta (A). Como
no es una meta, se procede a su
expansin...

34 /54

Bsqueda de costo uniforme


A
1
S

15

10
5

G
5

C
5

C
G

15

Frontera

11

Hay 3 nodos en la frontera (G, B y C), de los cuales B es el que


tiene el menor costo de ruta, por lo que se procede a
expandirlo. Note que aunque ya hay una solucin en la
frontera (G), el algoritmo la ignora porque la rama S-B tiene
posibilidades de encontrar una solucin mejor que S-A-G.
35 /54

Bsqueda de costo uniforme


A
1
S

15

10
5

G
5

C
15

C
G

11

Frontera

10

Hay 3 nodos en la frontera (G, G y C), de los cuales el segundo G es el


que tiene el menor costo de ruta, por lo que se procede a expandirlo. En
ese momento se detecta que es una solucin (slo genera nodos ya
analizados) y la bsqueda termina. Note que hay dos nodos (las dos Gs
en la frontera) que representan a un mismo estado, y que el algoritmo ni
siquiera intenta expandir C, que no tiene posibilidades de llevar a una
mejor solucin (S-C ya tiene un costo de 15).
36 /54

Bsqueda de costo uniforme


Este mtodo puede encontrar la solucin ms barata
siempre y cuando se satisfaga un requisito sencillo.
El costo de ruta nunca debe ir disminuyendo conforme
avanzamos por la ruta, es decir, g(Sucesor(n)) g(n)
para todos los nodos n.
Para que el costo de la ruta no disminuya el costo de
aplicar un operador no debe ser negativo.
Qu pasa si el costo de un operador de negativo?

37 /54

Resumen (UCS)
Se visitan y expanden los nodos del borde con menor
costo.
La estructura para los nodos abiertos es una cola (FIFO)
Un nodo es visitado si su costo de ruta es el menor de
todos.
Caractersticas:
Completitud: Se encuentra la ruta siempre y cuando el costo no
disminuya conforme se avanza g(sucesor(n)) g(n)
Complejidad temporal: Exponencial respecto al factor de ramificacin
y la profundidad de la solucin O(bd+1).
Complejidad espacial: Exponencial respecto al factor de ramificacin
y la profundidad de la solucin O(bd+1).
Optimalidad: La solucin es ptima si el costo de un operador > 0,
en caso contrario hay que buscar exhaustivamente
38 /54

Ejercicio 3

Use la estrategia de costo uniforme


para encontrar la ruta de menor costo
para ir de:
A D.
Recuerde que para la estrategia de
costo uniforme se usa la funcin:
f = g + h : donde h = 0.
Donde g es el costo de la ruta
avanzada

2
4

G
2

4
1

Recomendaciones:
Sustente su respuesta presentando el
rbol de bsqueda generado
No apertura nodos ya visitados en la
misma ruta.
39 /54

Ejercicio 3
A
g=0

B
g=2

C
g=5

G
g=6

D
g=9

G
g=4

G
g=3

C
g=4

D
g=8

D
g=8

E
g=5

F
g=7

B
g=5

C
g=5

C
g=8

D
g=9

D
g=9

F
g=1

E
g=6

F
g=8

G
g=5

B
g=6

C
g=6

D
g=10

E
g=7

E
g=7

D
g=6

40 /54

Bsqueda preferente por


profundidad (DFS)
S
L
M
N

O
F

F
41 /54

Bsqueda preferente por profundidad


En esta bsqueda siempre se expande uno de
los nodos que se encuentre en lo ms profundo
del rbol.
Slo si la bsqueda conduce a un callejn sin
salida (un nodo que no es meta y que no tiene
expansin), se revierte la bsqueda y se
expanden los nodos de niveles menos
profundos.
Lo anterior se logra mediante el algoritmo de
Bsqueda-General, con una funcin de lista de
espera que ponga los estados recin generados
al principio de la lista.
42 /54

Bsqueda preferente por profundidad


NOTA:
Se supone
que el factor
de
ramificacin
es b = 2 y
que los nodos
de nivel m =
3 no tienen
sucesores.

Bsqueda preferente por profundidad


Slo es necesario guardar la ruta que va del
nodo raz al nodo hoja, junto con los nodos
restantes no expandidos, por cada nodo de la
ruta.
Si un espacio de estados tiene factor de
ramificacin b y profundidad mxima m, se
requieren almacenar bm nodos.
La complejidad temporal es de O(bm).

44 /54

Bsqueda preferente por profundidad


Si la cantidad de soluciones en un problema es
grande, se recomienda esta bsqueda (BFS)
sobre la bsqueda preferente por amplitud
(DFS).
La desventaja de esta bsqueda es que se
puede quedar estancada al avanzar por una
ruta equivocada, ya que muchos rboles de
bsqueda pueden ser muy profundos o infinitos.
Por lo tanto, la BPPP no es ni la mas completa
ni la ms ptima.
45 /54

Resumen (DFS)
Los nodos se visitan y generan buscando los nodos a mayor
profundidad y retrocediendo cuando no se encuentran nodos
sucesores
La estructura para los nodos abiertos es una pila (LIFO)
Para garantizar que el algoritmo acaba debe imponerse un
lmite en la profundidad de exploracin
Caractersticas
Completidud: El algoritmo encuentra una solucin si se impone un
lmite de profundidad y existe una solucin dentro de ese lmite
Complejidad temporal: Exponencial respecto al factor de ramificacin y
la profundidad del lmite de exploracin O(b m).
Complejidad espacial: Si no se controlan los nodos repetidos el coste
es lineal respecto al factor de ramificacin y el lmite de profundidad
O(bm). Si tratamos repetidos el coste es igual que en anchura. Si la
implementacin es recursiva el coste es O(m).
Optimalidad: No se garantiza que la solucin sea ptima
46 /54

Ejercicio 4
Considere el siguiente grfico.
Los nodos sombreados ya fueron
visitados y se han extendido.
Dibuje el rbol de la bsqueda
que corresponde a este grfico,
dnde la bsqueda se inici en A
y se expandi hasta R, y puede
visitar un nodo en el grfico ms
de una vez.

1.
2.
3.
4.

Indicar el borde en el rbol de bsqueda.


En BFS, qu nodo se extendera?
En UCS, qu nodo se extendera?
En DFS, qu nodo se extendera?

47 /54

Ejercicio 5
Imagine un escenario con un robot
que intenta navegar en el siguiente
laberinto desde (S) hasta la meta (G).
A cada paso, el robot puede seguir
una de las cuatro direcciones del
compas. El robot contempla las
alternativas en el orden siguiente:
Moverse al Sur
Moverse al Este
Moverse al Norte
Moverse al Oeste

1. Formula el problema como un problema de bsqueda.


2. Marcar el conjunto de estados que se expanden durante la bsqueda, en el
orden ellos se expanden, colocando un 1 en el primer estado, un 2 por el
segundo, y as sucesivamente (Pon 1 en la celda marcada como S). Asume
que la bsqueda es Primero en Profundidad (DFS). Use la versin de DFS
que evita los ciclos y el re-expansin de un estado que est en el camino
actual.
3. Usando la misma notacin marca el conjunto de estados que el BFS puede
expandir, en el orden en el cual son expandidos.
48 /54

Bsqueda limitada por


profundidad
(DLS)

49 /54

Bsqueda limitada por profundidad


Con esta bsqueda se eliminan las dificultades de la
bsqueda preferente por profundidad, al imponer un
lmite a la profundidad mxima de una ruta.
El establecer este lmite es difcil, ya que no conocemos
mucho sobre el espacio de estados.
La bsqueda limitada puede no ser completa ni ptima:
un lmite de profundidad muy pequeo puede que no
contenga la solucin, y uno muy grande puede que
contenga soluciones no ptimas que son encontradas
primero.
La complejidad espacio-temporal de la bsqueda
limitada por profundidad es similar a la de la bsqueda
preferente por profundidad: requiere un tiempo de O(bl)
y un espacio O(bl), donde l es el lmite de profundidad.
50 /54

Bsqueda por profundizacin


iterativa
(IDS)

51 /54

Bsqueda por profundizacin iterativa


Elimina la dificultad de elegir un lmite adecuado de
profundidad en la bsqueda limitada por
profundidad.
Lo anterior lo hace probando todos los lmites de
profundidad posibles, primero la profundidad 0,
luego la 1, luego la 2, etc.
En la profundizacin iterativa se combinan las
ventajas de las bsquedas preferente por
profundidad y preferente por amplitud.
Es ptima y completa, como la bsqueda preferente
por amplitud, pero la memoria que necesita es la de
la bsqueda preferente por profundidad.
52 /54

Bsqueda por profundizacin iterativa


Funcin Bsqueda-por-profundizacin-iterativa(problema) responde
con una secuencia de solucin.
entradas: problema, un problema.
para profundidad 0 a hacer
si Bsqueda-limitada-por-profundidad(problema,
profundidad) tiene xito, entregue el
resultado obtenido
fin-para
responda con falla

53 /54

Bsqueda por profundizacin iterativa


Lmite = 0
Lmite = 1

Lmite = 2

Lmite = 3

...

54 /54

Bsqueda por profundizacin iterativa


La bsqueda por profundizacin iterativa puede
parecer un desperdicio, por repetir expansiones
de estados, pero en la mayora de los
problemas esta expansin mltiple es realmente
pequea.
La complejidad temporal sigue siendo O(bd) y la
complejidad espacial es O(bd).
La profundizacin iterativa es el mtodo idneo
para aquellos casos donde el espacio de
bsqueda es grande y se ignora la profundidad
de la solucin.
55 /54

Bsqueda Bidireccional
(BS)

56 /54

Bsqueda bidireccional
Es bsicamente una bsqueda simultnea que
avanza a partir del estado inicial y que retrocede
a partir de la meta y que se detiene cuando
ambas bsquedas se encuentran en algn
punto intermedio.
Si en un problema el factor de ramificacin b es
el mismo en ambas direcciones, la bsqueda
bidireccional puede ser muy til. Si la solucin
est a profundidad d, entonces la solucin
estar a O(2bd/2) = O(bd/2) pasos

57 /54

Cuestiones a resolver
La bsqueda hacia atrs implica la sucesiva generacin de
predecesores a partir del nodo meta.
Si todos los operadores son reversibles, los conjuntos de
predecesor y sucesor son idnticos, pero en algunos problemas,
el clculo de los predecesores puede resultar muy difcil.
Si hay varios estados meta listados en forma explcita, se puede
aplicar una funcin de predecesor al conjunto de estados como
en el caso de la bsqueda de estado mltiple. Pero si slo hay
una descripcin de los estados meta, es realmente difcil (qu
estados son predecesores del jaque mate en ajedrez?)
Se requiere una manera eficiente de verificar cada uno de los
nodos nuevos para ver si ya estn en el otro rbol.
Se tiene que definir un tipo de bsqueda para cada mitad.
Amplitud amplitud, amplitud profundidad, etc. La complejidad
espacial es igual a la temporal para esta bsqueda.

58 /54

Bibliografa
AIMA. Captulo 3, primera edicin.
AIMA. Chapter 3, second edition.

59 /54

PREGUNTAS

60 /54

S-ar putea să vă placă și