b3class b2 informed search and exploration

80
Mg. Samuel Oporto Díaz Búsqueda Informada INTELIGENCIA ARTIFICIAL Y SISTEMAS EXPERTOS

Upload: jorge-joel

Post on 07-Jun-2015

161 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: b3class b2 Informed Search and Exploration

Mg. Samuel Oporto Díaz

Búsqueda Informada

INTELIGENCIA ARTIFICIAL Y SISTEMAS EXPERTOS

Page 2: b3class b2 Informed Search and Exploration

22 /79/79

Mapa Conceptual del Curso

Sistemas Inteligentes

Conocimiento

Complejidad

Agentes Diseño de Agentes

Agentes de Búsqueda

Otros tipos de agentes

Agentes Móviles

Page 3: b3class b2 Informed Search and Exploration

33 /79/79

Tabla de Contenido

1. Introducción

2. Búsqueda Preferente por lo mejor1. Búsqueda Avara

2. Búsqueda A*

3. Heurísticas

4. Búsqueda Limitada por Capacidad1. Búsqueda A*PI

2. Búsqueda A*SRM

5. Bibliografía

Page 4: b3class b2 Informed Search and Exploration

44 /79/79

INTRODUCCION

Page 5: b3class b2 Informed Search and Exploration

55 /79/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)

Page 6: b3class b2 Informed Search and Exploration

66 /79/79

BUSQUEDA PREFERENTE POR LO MEJOR

Page 7: b3class b2 Informed Search and Exploration

77 /79/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.

Page 8: b3class b2 Informed Search and Exploration

88 /79/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.

Page 9: b3class b2 Informed Search and Exploration

99 /79/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-lista-de-espera)

Page 10: b3class b2 Informed Search and Exploration

1010 /79/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-POR-LO-MEJOR, que varían la función de evaluación.

Page 11: b3class b2 Informed Search and Exploration

1111 /79/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.

Page 12: b3class b2 Informed Search and Exploration

1212 /79/79

BUSQUEDA AVARAGreedy Search

Page 13: b3class b2 Informed Search and Exploration

1313 /79/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.

Page 14: b3class b2 Informed Search and Exploration

1414 /79/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

Page 15: b3class b2 Informed Search and Exploration

1515 /79/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

Page 16: b3class b2 Informed Search and Exploration

1616 /79/79

ARAD

Búsqueda preferente por lo mejor

Oradea

Zerind Sibiu

Timisoara

Lugoj

Mehadia

Dobreta

RimnicuVilcea

Craiova

Pitesti

Fagaras

Giurgiu

BUCHAREST

Eforie

Hirsova

Urziceni

Vaslui

Iasi

Neamt

DLR de Bucarest a:Arad: 366Bucarest:

0Craiova: 160Dobreta:

242Eforie: 161Fagaras:

178Giurgiu: 77Hirsova: 151Iasi: 226Lugoj: 244Mehadia:

241Neamt: 234Oradea: 380Pitesti: 98RimnicuVilcea: 193Sibiu: 253Timisoara:329Urziceni: 80Vaslui: 199Zerind: 374

87

92

142

9885

211

8690

101

138

146

97

99

80

15171

75

118

140

111

70

75

120

Page 17: b3class b2 Informed Search and Exploration

1717 /79/79

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.

Page 18: b3class b2 Informed Search and Exploration

1818 /79/79

Ejercicio• Utilizar el método de búsqueda avara para

solucionar el problema de Rumania. Mostrar el desarrollo con árboles de búsqueda.

Page 19: b3class b2 Informed Search and Exploration

1919 /79/79

Búsqueda preferente por lo mejor

Oradea

Zerind Sibiu

Timisoara

Lugoj

Mehadia

Dobreta

RimnicuVilcea

Craiova

Pitesti

Fagaras

Giurgiu

BUCHAREST

Eforie

Hirsova

Urziceni

Vaslui

Iasi

Neamt

ARAD

DLR de Bucarest a:Arad: 366Bucarest:

0Craiova: 160Dobreta:

242Eforie: 161Fagaras:

178Giurgiu: 77Hirsova: 151Iasi: 226Lugoj: 244Mehadia:

241Neamt: 234Oradea: 380Pitesti: 98RimnicuVilcea: 193Sibiu: 253Timisoara:329Urziceni: 80Vaslui: 199Zerind: 374

87

92

142

9885

211

8690

101

138

146

97

99

80

15171

75

118

140

111

70

75

120

Page 20: b3class b2 Informed Search and Exploration

2020 /79/79

Búsqueda preferente por lo mejor

• Búsqueda Avara

Aradh=366

Page 21: b3class b2 Informed Search and Exploration

2121 /79/79

Búsqueda preferente por lo mejor

Aradh=366

Sibiuh=253

Timisoarah=329

Zerindh=374

• Búsqueda Avara

Page 22: b3class b2 Informed Search and Exploration

2222 /79/79

Búsqueda preferente por lo mejor

Aradh=366

Sibiuh=253

Timisoarah=329

Zerindh=374

Aradh=366 Fagaras

h=178 Oradeah=380

Rimnicuh=193

• Búsqueda Avara

Page 23: b3class b2 Informed Search and Exploration

2323 /79/79

Búsqueda preferente por lo mejor

Aradh=366

Sibiuh=253

Timisoarah=329

Zerindh=374

Aradh=366 Fagaras

h=178 Oradeah=380

Rimnicuh=193

Sibiuh=253 Bucharest

h=0Es una solución, pero no es la óptima

• Búsqueda Avara

Page 24: b3class b2 Informed Search and Exploration

2424 /79/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.

Page 25: b3class b2 Informed Search and Exploration

2525 /79/79

Búsqueda preferente por lo mejor

• Búsqueda Avara

Iasih=160

Page 26: b3class b2 Informed Search and Exploration

2626 /79/79

Búsqueda preferente por lo mejor

• Búsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Page 27: b3class b2 Informed Search and Exploration

2727 /79/79

Búsqueda preferente por lo mejor

• Búsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Iasih=160

Page 28: b3class b2 Informed Search and Exploration

2828 /79/79

Búsqueda preferente por lo mejor

• Búsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Iasih=160

Neamth=150

Page 29: b3class b2 Informed Search and Exploration

2929 /79/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.

Page 30: b3class b2 Informed Search and Exploration

3030 /79/79

BUSQUEDA A*

Page 31: b3class b2 Informed Search and Exploration

3131 /79/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)

Page 32: b3class b2 Informed Search and Exploration

3232 /79/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.

Page 33: b3class b2 Informed Search and Exploration

3333 /79/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*.

Page 34: b3class b2 Informed Search and Exploration

3434 /79/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á).

Page 35: b3class b2 Informed Search and Exploration

3535 /79/79

Búsqueda preferente por lo mejor

• Búsqueda A*

Aradf=0+366f=366

Page 36: b3class b2 Informed Search and Exploration

3636 /79/79

Búsqueda preferente por lo mejor

Búsqueda A*Arad

Sibiuf=140+253f=393

Timisoaraf=118+329f= 447

Zerindf=75+374f=449

Page 37: b3class b2 Informed Search and Exploration

3737 /79/79

Búsqueda preferente por lo mejor

Búsqueda A*Arad

Timisoaraf=118+329f= 447

Zerindf=75+374f=449

Aradf=280+366f=646

Sibiuf=140+253f=393

Fagarasf=239+178f=417

Oradeaf=146+380f=526

Rimnicuf=220+193f=413

Page 38: b3class b2 Informed Search and Exploration

3838 /79/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.

Page 39: b3class b2 Informed Search and Exploration

3939 /79/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.

Page 40: b3class b2 Informed Search and Exploration

4040 /79/79

ARAD

Zerind

Búsqueda preferente por lo mejor

• Búsqueda A*– Si f no disminuye, es posible dibujar contornos en el

espacio de estados.

Oradea

Sibiu

Timisoara

Lugoj

Mehadia

Dobreta

RimnicuVilcea

Craiova

Pitesti

Fagaras

Giurgiu

BUCHAREST

Eforie

Hirsova

Urziceni

Vaslui

Iasi

Neamt

f 380

f 400

f 420

Page 41: b3class b2 Informed Search and Exploration

4141 /79/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.

Page 42: b3class b2 Informed Search and Exploration

4242 /79/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).

Page 43: b3class b2 Informed Search and Exploration

4343 /79/79

HEURISTICAS

Page 44: b3class b2 Informed Search and Exploration

4444 /79/79

Funciones Heurísticas• Problema de las ocho placas

Page 45: b3class b2 Informed Search and Exploration

4545 /79/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.

Page 46: b3class b2 Informed Search and Exploration

4646 /79/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).

Page 47: b3class b2 Informed Search and Exploration

4747 /79/79

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

cantidad de placas en lugar incorrecto.

h1 = 0h1 = 8

Page 48: b3class b2 Informed Search and Exploration

4848 /79/79

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

distancia Manhattan

h2 = 0h2 = 15

Page 49: b3class b2 Informed Search and Exploration

4949 /79/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

Page 50: b3class b2 Informed Search and Exploration

5050 /79/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 = 7d = 2

b* = 21 + 2+ 22 = 7

Page 51: b3class b2 Informed Search and Exploration

5151 /79/79

Funciones Heurísticas• Efectos de la Exactitud Heurística

– Porque equivale a un árbol uniforme como este:

G

N = 7d = 2

b* = 21 + 2+ 22 = 7

Page 52: b3class b2 Informed Search and Exploration

5252 /79/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.

Page 53: b3class b2 Informed Search and Exploration

5353 /79/79

Funciones Heurísticas

Costo de Búsqueda Factor de Ramificación Efectivo

d BPPI A*(h1) 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

Page 54: b3class b2 Informed Search and Exploration

5454 /79/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.

Page 55: b3class b2 Informed Search and Exploration

5555 /79/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.

Page 56: b3class b2 Informed Search and Exploration

5656 /79/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”

Page 57: b3class b2 Informed Search and Exploration

5757 /79/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.

Page 58: b3class b2 Informed Search and Exploration

5858 /79/79

BUSQUEDA LIMITADA POR CAPACIDAD

Page 59: b3class b2 Informed Search and Exploration

5959 /79/79

• 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)

Búsqueda limitada por la capacidad de la memoria

Page 60: b3class b2 Informed Search and Exploration

6060 /79/79

BUSQUEDA A*PI

Page 61: b3class b2 Informed Search and Exploration

6161 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 62: b3class b2 Informed Search and Exploration

6262 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 63: b3class b2 Informed Search and Exploration

6363 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 64: b3class b2 Informed Search and Exploration

6464 /79/79

• A*PI– (ver algoritmo en el libro de texto)– Tiene desventajas en dominios complejos.

Búsqueda limitada por la capacidad de la memoria

Page 65: b3class b2 Informed Search and Exploration

6565 /79/79

BUSQUEDA A*SRM

Page 66: b3class b2 Informed Search and Exploration

6666 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 67: b3class b2 Informed Search and Exploration

6767 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 68: b3class b2 Informed Search and Exploration

6868 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 69: b3class b2 Informed Search and Exploration

6969 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 70: b3class b2 Informed Search and Exploration

7070 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 71: b3class b2 Informed Search and Exploration

7171 /79/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.

Page 72: b3class b2 Informed Search and Exploration

7272 /79/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ó.

Page 73: b3class b2 Informed Search and Exploration

7373 /79/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).

Page 74: b3class b2 Informed Search and Exploration

7474 /79/79

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

Búsqueda limitada por la capacidad de la memoria

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

Page 75: b3class b2 Informed Search and Exploration

7575 /79/79

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

Búsqueda limitada por la capacidad de la memoria

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.

Page 76: b3class b2 Informed Search and Exploration

7676 /79/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) = .

Page 77: b3class b2 Informed Search and Exploration

7777 /79/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.

Page 78: b3class b2 Informed Search and Exploration

7878 /79/79

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

Búsqueda limitada por la capacidad de la memoria

Page 79: b3class b2 Informed Search and Exploration

7979 /79/79

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

Page 80: b3class b2 Informed Search and Exploration

8080 /79/79

PREGUNTAS