class a2 uninformed search strategies

Upload: carlos-andres-arana-turpo

Post on 18-Jul-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

INTELIGENCIA ARTIFICIALBsqueda no Informada

Mg. Samuel Oporto Daz

Mapa Conceptual del CursoConocimiento Agentes de Bsqueda

Sistemas Inteligentes

Agentes

Diseo de Agentes

Agentes Mviles

Complejidad

Otros tipos de agentes

2 /54

Tabla de Contenido1. 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 BsquedaBsqueda No Informada (Ciega) Bsqueda Informada (Heurstica)

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

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 soluciones7 /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 caminos10 /54

Evaluacin de las EstrategiasLas 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 informada1. 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 (BFS)SL M F P O Q

N F

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 amplitud1. 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

0

0

18 /54

0

0 1 2 3 321

19 /54

0

10 1 2 3 cba32

a

b

c

20 /54

0

210 1 2 3 f edcba3

a

b

c

d

e

f

21 /54

0

3210 1 2 3 i hg f edcba

a

b

c

d

e

f

g

h

i

22 /54

0

a3210 1 2 3 i hg f edcb

a

b

c

d

e

f

g

h

i

23 /54

0

b a 32 1 0 1 2 3 i hg f edc

a

b

c

d

e

f

g

h

i

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 TemporalSi b=10, se analizan 10,000 nodos por segundo y cada nodo requiere 1000 bytes de almacenamiento:Profundidad2 4 6 8 10 12 14

Nodos1100 111,100 107 109 1011 1013 1015

Tiempo.11 segundos 11 segundos 19 minutos 31 horas 129 das 35 aos 3523 aos

Memoria1 Megabyte 106 Megabytes 10 Gigabytes 1 Terabyte 101 Terabyte 10 Petabytes 1 Exabyte27 /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 raz28 /54

Ejercicio 1Determine el orden en que un agente basado en metas busca el objetivo (orden en que se visitan y orden en que se aperturan):D A B E F I C G J

VISITA (nodos cerrados)H K

APERTURA (nodos abiertos)

29 /54

Ejercicio 2A

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

B

C

D

E

F

G

H

I

J

K

L

M

N

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

O

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 uniformeA 1 S 15 C 5 B 5 5 10 G

S

0

Frontera

Problema: Ir de S a G al menor costo posibleNOTA: 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 uniformeA 1S 15 C 5 B 5 5 10 G A B C S 0

1

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 uniformeA 1S 15 C G 11 5 B 5 5 10 G A B C S 0

5

15

Frontera

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 uniformeA 1 S 15 C G 11 G 10 5 B 5 5 S 0

10G A B C 15 Frontera

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 exhaustivamente38 /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 Recomendaciones: Sustente su respuesta presentando el rbol de bsqueda generado No apertura nodos ya visitados en la misma ruta.3 B 2 4 A 1 2 4 F 6 E C 1 1 G 5 D 1 4

39 /54

Ejercicio 3A g=0

B g=2

G g=4

F g=1

C g=5

G g=3

B g=5

C g=5

D g=9

E g=6

F g=8

G g=5

E g=7

G g=6

D g=9

C g=4

D g=8

E g=5

F g=7

C g=8

D g=9

B g=6

C g=6

D g=10

E g=7

D g=8

D g=6

40 /54

Bsqueda preferente por profundidad (DFS)S L M N F41 /54

O F P F Q F

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 profundidadNOTA: 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(bm). 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 ptima46 /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 5Imagine 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 iterativaFuncin 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 iterativaLmite = 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