B3class B2 Informed Search And Exploration

  • Uploaded by: Jorge Joel
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View B3class B2 Informed Search And Exploration as PDF for free.

More details

  • Words: 3,668
  • Pages: 80
INTELIGENCIA ARTIFICIAL Y SISTEMAS EXPERTOS Búsqueda Informada

Mg. Samuel Oporto Díaz

Mapa Conceptual del Curso Agentes de Búsqueda

Conocimi ento

Sistemas Inteligent es

Agentes

Complejid ad

Diseño de Agentes

Agentes Móviles

Otros tipos de agentes

2 /79

Tabla de Contenido 1. Introducción 2. Búsqueda Preferente por lo mejor • •

Búsqueda Avara Búsqueda A*

3. Heurísticas 4. Búsqueda Limitada por Capacidad • •



Búsqueda A*PI Búsqueda A*SRM

Bibliografía

3 /79

INTRODUCCION

4 /79

Métodos • Búsqueda Preferente por lo Mejor – Búsqueda Avara – Búsqueda A*

• Búsqueda limitada por la capacidad de la memoria – Búsqueda A* por profundización iterativa (A*PI) – Búsqueda A*SRM (Acotada por memoria simplificada)

• Algoritmos de Mejoramiento Iterativo – Búsqueda por ascenso de cima (Hill-Climbing) – Endurecimiento simulado (Simulated Annealing)

5 /79

BUSQUEDA PREFERENTE POR LO MEJOR

6 /79

Búsqueda preferente por lo mejor

• El conocimiento en base al cual se apoya la decisión del nodo que toca expandirse es obtenido desde una función de evaluación. • La función de evaluación produce un número que sirve para representar lo deseable (o indeseable) que sería la expansión de un nodo.

7 /79

Búsqueda preferente por lo mejor

• Si los nodos se ordenan de tal manera que se expande primero aquél con mejor evaluación, entonces la estrategia es llamada búsqueda preferente por lo mejor.

8 /79

Búsqueda preferente por lo mejor

función BUSQUEDA-PREFERENTE-POR-LO-MEJOR (problema, FUNCION-EVALUACION) responde con una secuencia de solución entradas: problema, un problema Función-Eval, una función de evaluación Función-lista-de-espera  una función que ordena los nodos mediante FUNCIÓN-EVAL responde con BUSQUEDA-GENERAL (Problema, Función-listade-espera)

9 /79

Búsqueda preferente por lo mejor

• Así como es existe una familia de algoritmos BUSQUEDA-GENERAL, con distintas funciones de ordenamiento, también existe una familia de algoritmos BUSQUEDA-PREFERENTE-PORLO-MEJOR, que varían la función de evaluación.

10 /79

Búsqueda preferente por lo mejor • En el método de costo uniforme, se empleaba el costo de ruta (g) para decidir qué ruta ampliar. • g(n) es, entonces, el costo acumulado desde el nodo inicio hasta el nodo en que nos encontramos, n. • Esta medida no es una búsqueda directa dirigida a la meta • Si se quiere enfocar la búsqueda hacia la meta, en esa medida debe figurar algún tipo de cálculo del costo de ruta del estado actual (n) a la meta.

11 /79

BUSQUEDA AVARA Greedy Search

12 /79

Búsqueda preferente por lo mejor • Búsqueda Avara (Greedy Search) – Es una de las más sencillas estrategias en la BPPLM, que consiste en reducir al mínimo el costo estimado para lograr una meta. – En otras palabras, el nodo cuyo estado se considere más cercano a la meta en términos de costo de ruta se expande primero.

13 /79

Búsqueda preferente por lo mejor

• Búsqueda Avara (Greedy Search)

– Aunque casi siempre es posible calcular el costo aproximado hasta la meta, es difícil hacerlo con precisión. – La función utilizada para dicho estimado del costo se llama función heurística, simbolizada por h. – h(n) = costo estimado de la ruta más barata que une el estado del nodo n con un estado meta

14 /79

Búsqueda preferente por lo mejor

• Búsqueda Avara (Greedy Search)

– h puede ser cualquier función. El único requisito es que h(n) = 0 cuando n es una meta. – Cuando los problemas son de determinación de rutas en el mundo real (ejemplo, Rumania), una buena función heurística es la distancia en línea recta a la meta: • hDLR (n) = distancia en línea recta entre n y la meta

15 /79

Búsqueda preferente por lo mejor Neamt

87

Oradea

Iasi

71 151 75 Zerind 99 Fagaras Sibiu ARAD 140 211 80 Rimnicu 118

Vilcea

Timisoara

111

70 75

Dobreta

97

Lugoj Mehadia 120

92 142

Urziceni 85

Pitesti 101

146 138

Craiova

Vaslui

98

BUCHAREST 90

Giurgiu

Hirsova 86

Eforie

DLR de Bucarest a: Arad: 366 Bucarest: 0 Craiova: 160 Dobreta: 242 Eforie: 161 Fagaras: 178 Giurgiu: 77 Hirsova: 151 Iasi: 226 Lugoj: 244 Mehadia: 241 Neamt: 234 Oradea: 380 Pitesti: 98 Rimnicu Vilcea: 193 Sibiu: 253 Timisoara:32 16 /79 9

Búsqueda preferente por lo mejor • Búsqueda Avara (Greedy Search) – Para calcular los valores de hDLR se requieren las coordenadas de las ciudades de Rumania. – Esta función heurística es útil porque la carretera que va de A a B tiende a dirigirse más o menos en la dirección correcta.

17 /79

Ejercicio • Utilizar el método de búsqueda avara para solucionar el problema de Rumania. Mostrar el desarrollo con árboles de búsqueda.

18 /79

Búsqueda preferente por lo mejor DLR de Neamt

87

Oradea

Iasi

71 151 75 Zerind 99 Fagaras Sibiu ARAD 140 211 80 Rimnicu 118

Vilcea

Timisoara

111

70 75

Dobreta

97

Lugoj Mehadia 120

92 142

Urziceni 85

Pitesti 101

146 138

Craiova

Vaslui

98

BUCHAREST 90

Giurgiu

Hirsova 86

Eforie

Bucarest a: Arad: 366 Bucarest: 0 Craiova: 160 Dobreta: 242 Eforie: 161 Fagaras: 178 Giurgiu: 77 Hirsova: 151 Iasi: 226 Lugoj: 244 Mehadia: 241 Neamt: 234 Oradea: 380 Pitesti: 98 Rimnicu Vilcea: 193 Sibiu: 253 19 /79 Timisoara:32

Búsqueda preferente por lo mejor • Búsqueda Avara

Arad h=366

20 /79

Búsqueda preferente por lo mejor • Búsqueda Avara

Arad h=366 Sibiu h=253

Timisoara h=329

Zerind h=374

21 /79

Búsqueda preferente por lo mejor • Búsqueda Avara

Arad h=366 Sibiu h=253 Arad h=366

Fagaras h=178

Timisoara h=329 Oradea h=380

Zerind h=374

Rimnicu h=193

22 /79

Búsqueda preferente por lo mejor • Búsqueda Avara

Arad h=366 Sibiu h=253 Arad h=366

Fagaras h=178 Sibiu h=253

Timisoara h=329 Oradea h=380

Zerind h=374

Rimnicu h=193

Bucharest h=0

Es una solución, pero no es la óptima 23 /79

Búsqueda preferente por lo mejor • Búsqueda Avara – Esta búsqueda usualmente produce resultados buenos – Tienden a producir soluciones rápidamente, aunque no siempre la solución encontrada es la óptima. – Ejemplo, tratar de llegar de Iasi a Fagaras.

24 /79

Búsqueda preferente por lo mejor • Búsqueda Avara

Iasi h=160

25 /79

Búsqueda preferente por lo mejor • Búsqueda Avara

Iasi h=160 Neamt h=150

Vaslui h=170

26 /79

Búsqueda preferente por lo mejor • Búsqueda Avara

Iasi h=160 Neamt h=150

Vaslui h=170

Iasi h=160

27 /79

Búsqueda preferente por lo mejor • Búsqueda Avara

Iasi h=160 Neamt h=150

Vaslui h=170

Iasi h=160 Neamt h=150

28 /79

Búsqueda preferente por lo mejor • Búsqueda Avara – Se asemeja a la búsqueda preferente por profundidad, ya que se “atora” al toparse con un callejón sin salida. – Tiene sus mismas deficiencias: no es óptima, es incompleta, puede recorrer una ruta infinita. – Su complejidad es espacial es tan grande como su temporal: O(bm), donde m es la profundidad máxima del espacio de búsqueda. Una buena función heurística permite disminuir notablemente la complejidad tanto de espacio como de tiempo.

29 /79

BUSQUEDA A*

30 /79

Búsqueda preferente por lo mejor • Búsqueda A* – La búsqueda avara reduce h(n), el costo hacia la meta, pero no es óptima ni completa. – La búsqueda de costo uniforme reduce g(n), el costo de ruta, es óptima y completa, pero puede ser ineficiente. – Las dos funciones se podrían combinar mediante una suma: • f(n) = g(n) + h(n)

31 /79

Búsqueda preferente por lo mejor • Búsqueda A* – f(n) puede llamarse el costo estimado de la solución más barata, pasando por n. – Es posible demostrar que esta estrategia es completa y óptima, dada una restricción de h. – La restricción es escoger una función h que nunca sobreestime el costo que implica alcanzar la meta.

32 /79

Búsqueda preferente por lo mejor • Búsqueda A* – A dicha función h se le llama heurística admisible. – A la búsqueda preferente por lo mejor que usa f como función de evaluación y una función h aceptable se le conoce como búsqueda A*.

33 /79

Búsqueda preferente por lo mejor • Búsqueda A* – En el ejemplo de Rumania, la distancia en línea recta es una heurística aceptable, ya que la ruta más corta entre dos puntos es la línea recta (por lo tanto, siempre será menor que la distancia real, nunca la sobreestimará).

34 /79

Búsqueda preferente por lo mejor • Búsqueda A*

Arad f=0+366 f=366

35 /79

Búsqueda preferente por lo mejor Búsqueda A* Arad

Sibiu f=140+253 f=393

Timisoara f=118+329 f= 447

Zerind f=75+374 f=449

36 /79

Búsqueda preferente por lo mejor Búsqueda A* Arad Sibiu f=140+253 f=393 Arad f=280+366 f=646

Timisoara f=118+329 f= 447

Fagaras f=239+178 f=417

Oradea f=146+380 f=526

Zerind f=75+374 f=449

Rimnicu f=220+193 f=413 37 /79

Búsqueda preferente por lo mejor • Búsqueda A*. (Comportamiento) – Se puede observar que a lo largo de las rutas originadas en la raíz, el costo f nunca disminuye. – En toda heurística donde esto ocurre, se dice que muestra monotonicidad.

38 /79

Búsqueda preferente por lo mejor • Búsqueda A* – Si la heurística fuera no monotónica, debe usarse la fórmula f(n’) = max f(n),g(n’) + h(n’) Donde n’ es el nodo actual y n es el padre de n’

– A esta fórmula se le llama ecuación de ruta máxima.

39 /79

Búsqueda preferente por lo mejor • Búsqueda A* – Si f no disminuye, es posible dibujar contornos en el espacio de estados.

Neamt Iasi

Oradea Zerind ARAD f ≤ 380 f ≤ 400 f ≤ 420

Sibiu Timisoara Lugoj

Rimnicu Vilcea

Urziceni Pitesti

Mehadia Dobreta

Vaslui

Fagaras

Hirsova BUCHAREST Giurgiu

Craiova

Eforie 40 /79

Búsqueda preferente por lo mejor • Búsqueda A* – Conforme va avanzando, la búsqueda A* dibuja bandas concéntricas, e incluyendo nodos. – En la búsqueda de costo uniforme (A* con h = 0) las bandas son circulares alrededor del estado inicial. – Si la heurística es buena, las bandas tienden al estado meta y se concentran apretadamente sobre la ruta óptima.

41 /79

Búsqueda preferente por lo mejor • Búsqueda A* – Este método es óptimamente eficiente para cualquier función heurística. – El problema con el A* es que, para la mayoría de los problemas, la cantidad de nodos en el contorno de la meta sigue siendo exponencial. – El principal problema es el espacio, ya que usualmente se agota la memoria primero (guarda todos los nodos generados).

42 /79

HEURISTICAS

43 /79

Funciones Heurísticas • Problema de las ocho placas

44 /79

Funciones Heurísticas • Problema de las ocho placas – Una solución típica tiene 20 pasos (depende del estado inicial). – El factor de ramificación es aproximadamente 3 – Una búsqueda exhaustiva de profundidad 20 examinaría 320 estados. – Aún si se evitan estados repetidos, habría 362,880 arreglos diferentes.

45 /79

Funciones Heurísticas • Problema de las ocho placas – La función heurística no debe sobreestimar la cantidad de pasos necesarios para la meta. – Ejemplos: • h1 = cantidad de placas en lugar incorrecto • h2 = suma de las distancias (horizontales y verticales) que separan a las placas de sus posiciones meta (distancia Manhattan).

46 /79

Funciones Heurísticas • Problema de las ocho placas: Heurística de la cantidad de placas en lugar incorrecto.

h1 = 8

h1 = 0

47 /79

Funciones Heurísticas • Problema de las ocho placas: Heurística de la distancia Manhattan

h2 = 15

h2 = 0

48 /79

Funciones Heurísticas • Efectos de la exactitud heurística en el desempeño – Una forma de medir la calidad de una heurística es mediante el factor de ramificación efectiva b*. – Si la cantidad de nodos expandidos por A* para un problema determinado es N, y la profundidad de la solución es d, entonces b* es el factor de ramificación que deberá tener un árbol uniforme de profundidad d para que pueda contener N nodos, por lo que N = 1 + b* + (b*)2 + ... + (b*)d

49 /79

Funciones Heurísticas • Efectos de la Exactitud Heurística – Un árbol como este tiene un factor de ramificación efectiva de 2

G

N=7 d=2

b* = 2 1 + 2+ 22 = 7

50 /79

Funciones Heurísticas • Efectos de la Exactitud Heurística – Porque equivale a un árbol uniforme como este:

G

N=7 d=2

b* = 2 1 + 2+ 22 = 7

51 /79

Funciones Heurísticas • Efectos de la exactitud heurística en el desempeño – Por ejemplo, si A* encuentra una solución en la profundidad cinco, y utilizando 52 nodos, el factor de ramificación efectiva es de 1.91. – Por lo general, el b* correspondiente a una heurística determinada permanece constante a través de un amplia gama de problemas. – En una heurística bien diseñada, b* se aproxima a 1.

52 /79

Funciones Heurísticas Costo de Búsqueda d

BPPI

A*(h1)

Factor de Ramificación Efectivo A*(h2)

BPPI

A*(h1)

A*(h2)

2

10

6

6

2.45

1.79

1.79

4

112

13

12

2.87

1.48

1.45

6

680

20

18

2.73

1.34

1.30

8

6,384

39

25

2.80

1.33

1.24

10

47,127

93

39

2.79

1.38

1.22

12

364,404

227

73

2.78

1.42

1.24

14

3,473,941

539

113

2.83

1.44

1.23

16

-----

1,301

211

-----

1.45

1.25

18

-----

3,056

363

-----

1.46

1.26

20

-----

7,276

676

-----

1.47

1.27

22

-----

18,094

1,219

-----

1.48

1.28

24

-----

39,135

1,641

-----

1.48

1.26

53 /79

Funciones Heurísticas • Efectos de la Exactitud Heurística – Comparando los factores de ramificación efectiva, h2 es mejor que h1. – Si para todo nodo n, h2(n) ≥ h1(n), se dice que h2 domina a h1. – En general, siempre conviene más emplear una función heurística con valores más altos, siempre cuando no dé lugar a una sobreestimación.

54 /79

Funciones Heurísticas • Invención de Heurísticas – A los problemas en que se imponen menos restricciones a los operadores se les llama problemas relajados. – Es frecuente que el costo de la solución de un problema relajado constituya una buena heurística del problema general.

55 /79

Funciones Heurísticas • Invención de Heurísticas – Operador del Problema de las ocho placas (normal) • “Una placa puede pasar del cuadro A al B si A está junto a B y B está vacío”

– Operadores relajados para el problema de las ocho placas • “Una placa se puede mover del cuadro A al B si A está junto a B” • “Una placa se puede mover del cuadro A al B si B está vacío” • “Una placa se puede mover del cuadro A al B”

56 /79

Funciones Heurísticas • Invención de Heurísticas – Si para un problema determinado existe un grupo de heurísticas aceptables, h1,..., hm, y ninguna domina a las demás, se puede usar: • h(n) = max(h1(n), ..., hm(n)).

– Otra forma de inventar heurísticas es mediante información estadística. Se pueden hacer búsquedas sobre una gran cantidad de problemas de adiestramiento y se obtienen las estadísticas correspondientes.

57 /79

BUSQUEDA LIMITADA POR CAPACIDAD

58 /79

Búsqueda limitada por la capacidad de la memoria

• La capacidad de memoria es uno de los principales obstáculos a los que se enfrentan los algoritmos anteriores. • Algoritmos de BLCM – A* por profundización iterativa (A*PI) – A* acotado por memoria simplificada (A*SRM)

59 /79

BUSQUEDA A*PI

60 /79

Búsqueda limitada por la capacidad de la memoria

• A*PI

– Es algo similar a lo que se hizo con la búsqueda preferente por profundidad, al hacerla iterativamente (profundización iterativa), sólo que ahora se hace con la búsqueda A*. – En esta algoritmo cada iteración es una búsqueda preferente por profundidad, exactamente como en la PI, pero ahora se usa un límite de costo f en vez de un límite de profundidad. – Así, en cada iteración se expanden los nodos que están dentro del contorno del costo f actual.

61 /79

Búsqueda limitada por la capacidad de la memoria

• A*PI

– Una vez concluida la búsqueda dentro de un contorno determinado, se procede a efectuar una nueva iteración usando un nuevo costo f para el contorno siguiente. – A*PI es un método completo y óptimo, con las ventajas y desventajas del A* – Como es preferente por profundidad, sólo necesita un espacio proporcional con la ruta más larga que explore.

62 /79

Búsqueda limitada por la capacidad de la memoria

• A*PI

– Si δ es el mínimo costo de operador y f* es el costo de la solución óptima, en el peor de los casos se necesitan bf* / δ nodos de almacenamiento. – En la mayoría de los casos, bd es un estimado bastante bueno de la capacidad de memoria necesaria.

63 /79

Búsqueda limitada por la capacidad de la memoria

• A*PI

– (ver algoritmo en el libro de texto) – Tiene desventajas en dominios complejos.

64 /79

BUSQUEDA A*SRM

65 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

– A*PI utiliza muy poca memoria – Entre iteraciones, sólo guarda un número: el límite actual del costo f. – Como no puede recordar su historia, puede repetirla. – El método A*SRM emplea más memoria que el A*PI, para mejorar la eficiencia de la búsqueda.

66 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

– Hace uso de toda la memoria de la que pueda disponer – En la medida que se lo facilite la memoria, evitará estados repetidos – Es completo, si la memoria es suficiente para guardar la ruta de solución mas cercana – Es óptimo, si dispone de suficiente memoria para guardar la ruta de solución óptima más cercana. – Si se dispone de suficiente memoria para todo el árbol de búsqueda, éste resultará óptimamente eficiente.

67 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

– Si hay que generar un sucesor, pero ya no hay memoria, se requiere espacio en la lista de espera – Es necesario excluir un nodo de la lista de espera. A estos nodos se les llama nodos olvidados, con un elevado f. – Se conserva la información de los nodos ancestros sobre la calidad de la mejor ruta en el subárbol olvidado. – Así sólo se tendrá que regenerar el subárbol si las demás rutas ofrecen peores perspectivas que la ruta olvidada.

68 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

69 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

70 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

En cada una de las etapas se añade un sucesor nodo de menor costo f más profundo cuyos sucesores no estén actualmente en el árbol. El hijo izquierdo B se añade a la raíz A.

71 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

Ahora, f(A) es todavía 12, por lo que se añade el hijo que está a la derecha, G (f = 13). Ahora que ya se vieron todos los hijos de A, es posible actualizar su costo f al mínimo de sus hijos, es decir, 13. La memoria ya se llenó.

72 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

G se escoge para efectuar una expansión, pero primero hay que excluir un nodo para hacer espacio. Se excluye la hoja de mayor costo f más próxima, es decir, B. Ahora notaremos que el mejor descendiente olvidado de A tiene f =15, como se muestra entre paréntesis. Se procede a añadir H, cuya f(H) = 18. Desafortunadamente, H no es un nodo meta, y la ruta a H consume toda la memoria disponible (solo tenemos espacio para tres nodos en memoria). Es decir, es imposible encontrar una solución a través de H, por lo que se define que f(H) = ∞. (si quisiéramos seguir, tendríamos que olvidar al nodo inicial, y no es posible).

73 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

Se expande de nuevo G, se excluye H, se incluye I, con f(I) = 24. (esto debido a que I sí es un nodo meta, en caso contrario se le asignaría valor ∞). Se han visto ya los dos sucesores de G, con valores de ∞ y 24, por lo que f(G) se convierte en 24. f(A) se convierte en 15, el mínimo de 15 (valor del sucesor olvidado) y 24. Hay que notar que a pesar de que I es un nodo meta, quizás no sea la mejor solución debido a que el costo de f(A) es solamente 15

74 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

Otra vez, A es el nodo más prometedor, por lo que se genera por segunda vez B. Nos hemos dado cuenta que, después de todo, la ruta a través de G no resultó ser tan buena.

75 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

C, el primer sucesor de B, es un nodo no meta que está a máxima profundidad, por lo que f(C) = ∞.

76 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

Para examinar al segundo sucesor, D, primero hay que excluir C. Entonces f(D)=20, valor que heredan tanto B como A. Ahora el nodo de menor costo f más profundo es D, por lo que se le escoge. Puesto que se trata de un nodo meta, concluye la búsqueda.

77 /79

Búsqueda limitada por la capacidad de la memoria

• A*SRM (A* Acotado por Memoria Simplificada)

– (Ver el algoritmo en el libro de texto) – Las cosas se complican aun más so hay que incluir la verificación de nodos repetidos . A*SRM es el algoritmo más complicado visto hasta el momento. – Cuando cuenta con suficiente memoria, A*SRM resuelve probelmas mucho más difíciles que A* sin excesos considerables en la generación de nodos adicionales.

78 /79

Bibliografía • AIMA. Capítulo 4, primera edición. • AIMA. Chapter 4, second edition.

79 /79

PREGUNTAS

80 /79

Related Documents

Exploration
June 2020 16
B2
October 2019 54
B2
July 2020 33

More Documents from "Patrick Johnston"