Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

97
Inteligencia Inteligencia Artificial Artificial 2.2 Métodos de Búsqueda 2.2 Métodos de Búsqueda Respaldados con Respaldados con Información Información

Transcript of Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Page 1: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Inteligencia ArtificialInteligencia Artificial

2.2 Métodos de Búsqueda 2.2 Métodos de Búsqueda

Respaldados con InformaciónRespaldados con Información

Page 2: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

MétodosMétodos Búsqueda Preferente por lo MejorBúsqueda Preferente por lo Mejor

Búsqueda AvaraBúsqueda Avara Búsqueda A*Búsqueda A*

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

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

Page 3: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente Búsqueda preferente por lo mejorpor lo mejor

El conocimiento en base al cual se apoya la El conocimiento en base al cual se apoya la decisión del nodo que toca expandirse es decisión del nodo que toca expandirse es obtenido desde obtenido desde una función de evaluación.una función de evaluación.

La función de evaluación produce un número La función de evaluación produce un número que sirve para representar lo deseable (o que sirve para representar lo deseable (o indeseable) que sería la expansión de un nodo.indeseable) que sería la expansión de un nodo.

Page 4: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente Búsqueda preferente por lo mejorpor lo mejor

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

Page 5: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente Búsqueda preferente por lo mejorpor lo mejor

funciónfunción BUSQUEDA-PREFERENTE-POR-LO-MEJOR BUSQUEDA-PREFERENTE-POR-LO-MEJOR ((problemaproblema, FUNCION-EVALUACION) , FUNCION-EVALUACION) responde con responde con una una secuencia de soluciónsecuencia de solución

entradasentradas: : problemaproblema, un problema, un problema

Función-EvalFunción-Eval, una función de evaluación, una función de evaluación

Función-lista-de-espera Función-lista-de-espera una función que ordena los nodos una función que ordena los nodos mediante FUNCIÓN-EVALmediante FUNCIÓN-EVAL

responde con responde con BUSQUEDA-GENERAL (BUSQUEDA-GENERAL (ProblemaProblema,, Función- Función-lista-de-esperalista-de-espera))

Page 6: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente Búsqueda preferente por lo mejorpor lo mejor

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

Page 7: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

En el método de costo uniforme, se empleaba el costo En el método de costo uniforme, se empleaba el costo de ruta (de ruta (gg)) para decidir qué ruta ampliar. para decidir qué ruta ampliar.

gg((nn) es, entonces, el costo acumulado desde el nodo ) es, entonces, el costo acumulado desde el nodo inicio hasta el nodo en que nos encontramos, inicio hasta el nodo en que nos encontramos, nn..

Esta medida no es una búsqueda directa Esta medida no es una búsqueda directa dirigida a la dirigida a la metameta

Si se quiere enfocar la búsqueda hacia la meta, en Si se quiere enfocar la búsqueda hacia la meta, en esa medida debe figurar algún tipo de cálculo del esa medida debe figurar algún tipo de cálculo del costo de ruta del estado actual (n) a la meta. costo de ruta del estado actual (n) a la meta.

Page 8: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda Avara (Búsqueda Avara (Greedy SearchGreedy Search)) Es una de las más sencillas estrategias en la Es una de las más sencillas estrategias en la

BPPLM, que consiste en reducir al mínimo el BPPLM, que consiste en reducir al mínimo el costo estimado para lograr una meta.costo estimado para lograr una meta.

En otras palabras, el nodo cuyo estado se considere En otras palabras, el nodo cuyo estado se considere más cercano a la meta en términos de costo de ruta más cercano a la meta en términos de costo de ruta se expande primero.se expande primero.

Page 9: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente Búsqueda preferente por lo mejorpor lo mejor

Búsqueda Avara (Búsqueda Avara (Greedy SearchGreedy Search)) Aunque casi siempre es posible calcular el costo Aunque casi siempre es posible calcular el costo

aproximado hasta la meta, es difícil hacerlo con aproximado hasta la meta, es difícil hacerlo con precisión.precisión.

La función utilizada para dicho estimado del costo La función utilizada para dicho estimado del costo se llama se llama función heurísticafunción heurística, simbolizada por , simbolizada por hh..

hh((nn) = costo estimado de la ruta más barata que ) = costo estimado de la ruta más barata que une el estado del nodo une el estado del nodo nn con un estado meta con un estado meta

Page 10: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente Búsqueda preferente por lo mejorpor lo mejor

Búsqueda Avara (Búsqueda Avara (Greedy SearchGreedy Search)) h h puede ser cualquier función. El único requisito es puede ser cualquier función. El único requisito es

que que hh((nn) = 0 cuando ) = 0 cuando nn es una meta. es una meta. Cuando los problemas son de determinación de Cuando los problemas son de determinación de

rutas en el mundo real (ejemplo, Rumania), una rutas en el mundo real (ejemplo, Rumania), una buena función heurística es la buena función heurística es la distancia en línea distancia en línea rectarecta a la meta: a la meta:

hhDLRDLR ((nn)) = distancia en línea recta entre = distancia en línea recta entre nn y la meta y la meta

Page 11: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

ARAD

Búsqueda preferente Búsqueda preferente por lo mejorpor 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 12: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda Avara (Búsqueda Avara (Greedy SearchGreedy Search)) Para calcular los valores de Para calcular los valores de hhDLR DLR se requieren las se requieren las

coordenadas de las ciudades de Rumania.coordenadas de las ciudades de Rumania. Esta función heurística es útil porque la carretera Esta función heurística es útil porque la carretera

que va de que va de AA a a BB tiende a dirigirse más o menos en tiende a dirigirse más o menos en la dirección correcta.la dirección correcta.

Page 13: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

EjercicioEjercicio Utilizar el método de búsqueda avara para Utilizar el método de búsqueda avara para

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

Page 14: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

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 15: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda AvaraBúsqueda Avara

Aradh=366

Page 16: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Aradh=366

Sibiuh=253

Timisoarah=329

Zerindh=374

Búsqueda AvaraBúsqueda Avara

Page 17: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Aradh=366

Sibiuh=253

Timisoarah=329

Zerindh=374

Aradh=366 Fagaras

h=178 Oradeah=380

Rimnicuh=193

Búsqueda AvaraBúsqueda Avara

Page 18: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

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 AvaraBúsqueda Avara

Page 19: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda AvaraBúsqueda Avara Esta búsqueda usualmente produce resultados Esta búsqueda usualmente produce resultados

buenosbuenos Tienden a producir soluciones rápidamente, Tienden a producir soluciones rápidamente,

aunque no siempre la solución encontrada es la aunque no siempre la solución encontrada es la óptima.óptima.

Ejemplo, tratar de llegar de Iasi a Fagaras.Ejemplo, tratar de llegar de Iasi a Fagaras.

Page 20: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda AvaraBúsqueda Avara

Iasih=160

Page 21: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda AvaraBúsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Page 22: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda AvaraBúsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Iasih=160

Page 23: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda AvaraBúsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Iasih=160

Neamth=150

Page 24: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda AvaraBúsqueda Avara Se asemeja a la búsqueda preferente por profundidad, ya Se asemeja a la búsqueda preferente por profundidad, ya

que se “atora” al toparse con un callejón sin salida.que se “atora” al toparse con un callejón sin salida. Tiene sus mismas deficiencias: no es óptima, es Tiene sus mismas deficiencias: no es óptima, es

incompleta, puede recorrer una ruta infinita.incompleta, puede recorrer una ruta infinita. Su complejidad es espacial es tan grande como su Su complejidad es espacial es tan grande como su

temporal: temporal: OO((bbmm), donde ), donde m m es la profundidad máxima del es la profundidad máxima del espacio de búsqueda. Una buena función heurística permite espacio de búsqueda. Una buena función heurística permite disminuir notablemente la complejidad tanto de espacio disminuir notablemente la complejidad tanto de espacio como de tiempo.como de tiempo.

Page 25: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* La búsqueda avara reduce La búsqueda avara reduce hh((nn), el costo hacia la ), el costo hacia la

meta, pero no es óptima ni completa.meta, pero no es óptima ni completa. La búsqueda de costo uniforme reduce La búsqueda de costo uniforme reduce gg((nn), el ), el

costo de ruta, es óptima y completa, pero puede ser costo de ruta, es óptima y completa, pero puede ser ineficiente.ineficiente.

Las dos funciones se podrían combinar mediante Las dos funciones se podrían combinar mediante una suma:una suma:

ff((nn) = ) = gg((nn) + ) + hh((nn))

Page 26: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* ff((nn) puede llamarse el costo estimado de la ) puede llamarse el costo estimado de la

solución más barata, pasando por solución más barata, pasando por nn.. Es posible demostrar que esta estrategia es Es posible demostrar que esta estrategia es

completa y óptima, dada una restricción de completa y óptima, dada una restricción de hh.. La restricción es escoger una función La restricción es escoger una función hh que nunca que nunca

sobreestime el costo que implica alcanzar la meta.sobreestime el costo que implica alcanzar la meta.

Page 27: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* A dicha función A dicha función hh se le llama se le llama heurística heurística

admisibleadmisible.. A la búsqueda preferente por lo mejor que usa A la búsqueda preferente por lo mejor que usa ff

como función de evaluación y una función como función de evaluación y una función hh aceptable se le conoce como aceptable se le conoce como búsqueda A*búsqueda A*..

Page 28: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* En el ejemplo de Rumania, la distancia en línea En el ejemplo de Rumania, la distancia en línea

recta es una heurística aceptable, ya que la ruta recta es una heurística aceptable, ya que la ruta más corta entre dos puntos es la línea rectamás corta entre dos puntos es la línea recta (por lo (por lo tanto, siempre será menor que la distancia real, tanto, siempre será menor que la distancia real, nunca la sobreestimará)nunca la sobreestimará)..

Page 29: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A*

Aradf=0+366f=366

Page 30: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Arad

Sibiuf=140+253f=393

Timisoaraf=118+329f= 447

Zerindf=75+374f=449

Page 31: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

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 32: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*. (Comportamiento)Búsqueda A*. (Comportamiento) Se puede observar que a lo largo de las rutas Se puede observar que a lo largo de las rutas

originadas en la raíz, el costo originadas en la raíz, el costo ff nunca nunca disminuye.disminuye.

En toda heurística donde esto ocurre, se dice En toda heurística donde esto ocurre, se dice que muestra que muestra monotonicidad.monotonicidad.

Page 33: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* Si la heurística fuera no monotónica, debe usarse Si la heurística fuera no monotónica, debe usarse

la fórmulala fórmula

f(n’) = max f(n),g(n’) + h(n’)f(n’) = max f(n),g(n’) + h(n’)

Donde n’ es el nodo actual y n es el padre de n’Donde n’ es el nodo actual y n es el padre de n’ A esta fórmula se le llama ecuación de A esta fórmula se le llama ecuación de ruta ruta

máximamáxima..

Page 34: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

ARAD

Zerind

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* Si Si ff no disminuye, es posible dibujar no disminuye, es posible dibujar contornoscontornos en en

el espacio de estados.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 35: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* Conforme va avanzando, la búsqueda A* dibuja Conforme va avanzando, la búsqueda A* dibuja

bandas concéntricas, e incluyendo nodos.bandas concéntricas, e incluyendo nodos. En la búsqueda de costo uniforme (A* con En la búsqueda de costo uniforme (A* con hh = 0) = 0)

las bandas son circulares alrededor del estado las bandas son circulares alrededor del estado inicial.inicial.

Si la heurística es buena, las bandas tienden al Si la heurística es buena, las bandas tienden al estado meta y se concentran apretadamente sobre estado meta y se concentran apretadamente sobre la ruta óptima.la ruta óptima.

Page 36: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda preferente por lo Búsqueda preferente por lo mejormejor

Búsqueda A*Búsqueda A* Este método es Este método es óptimamente eficiente óptimamente eficiente para para

cualquier función heurística.cualquier función heurística. El problema con el A* es que, para la mayoría de El problema con el A* es que, para la mayoría de

los problemas, la cantidad de nodos en el contorno los problemas, la cantidad de nodos en el contorno de la meta sigue siendo exponencial.de la meta sigue siendo exponencial.

El principal problema es el espacio, ya que El principal problema es el espacio, ya que usualmente se agota la memoria primero (guarda usualmente se agota la memoria primero (guarda todos los nodos generados).todos los nodos generados).

Page 37: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Problema de las ocho placasProblema de las ocho placas

Page 38: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Problema de las ocho placasProblema de las ocho placas

Una solución típica tiene 20 pasos (depende del Una solución típica tiene 20 pasos (depende del estado inicial).estado inicial).

El factor de ramificación es aproximadamente 3El factor de ramificación es aproximadamente 3 Una búsqueda exhaustiva de profundidad 20 Una búsqueda exhaustiva de profundidad 20

examinaría 3examinaría 32020 estados. estados. Aún si se evitan estados repetidos, habría 362,880 Aún si se evitan estados repetidos, habría 362,880

arreglos diferentes.arreglos diferentes.

Page 39: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Problema de las ocho placasProblema de las ocho placas

La función heurística no debe sobreestimar la La función heurística no debe sobreestimar la cantidad de pasos necesarios para la meta.cantidad de pasos necesarios para la meta.

Ejemplos:Ejemplos: hh11 = cantidad de placas en lugar incorrecto = cantidad de placas en lugar incorrecto

hh22 = suma de las distancias (horizontales y verticales) = suma de las distancias (horizontales y verticales)

que separan a las placas de sus posiciones meta que separan a las placas de sus posiciones meta ((distancia Manhattandistancia Manhattan).).

Page 40: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

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

cantidad de placas en lugar incorrecto.cantidad de placas en lugar incorrecto.

h1 = 0h1 = 8

Page 41: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

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

distancia Manhattandistancia Manhattan

h2 = 0h2 = 15

Page 42: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas

Efectos de la exactitud heurística en el desempeñoEfectos de la exactitud heurística en el desempeño Una forma de medir la calidad de una heurística es Una forma de medir la calidad de una heurística es

mediante el mediante el factor de ramificación efectivafactor de ramificación efectiva bb*.*. Si la cantidad de nodos expandidos por A* para un Si la cantidad de nodos expandidos por A* para un

problema determinado es problema determinado es NN, y la profundidad de la , y la profundidad de la solución es solución es dd, entonces , entonces bb* es el factor de ramificación que * es el factor de ramificación que deberá tener un árbol uniforme de profundidad deberá tener un árbol uniforme de profundidad dd para que para que pueda contener pueda contener NN nodos, por lo que nodos, por lo que

N = N = 11 + b* + (b*) + b* + (b*)22 + ... + ( + ... + (b*b*))dd

Page 43: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Efectos de la Exactitud HeurísticaEfectos de la Exactitud Heurística

Un árbol como este tiene un factor de ramificación Un árbol como este tiene un factor de ramificación efectiva de 2efectiva de 2

G

N = 7d = 2

b* = 21 + 2+ 22 = 7

Page 44: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Efectos de la Exactitud HeurísticaEfectos de la Exactitud Heurística

Porque equivale a un árbol uniforme como este:Porque equivale a un árbol uniforme como este:

G

N = 7d = 2

b* = 21 + 2+ 22 = 7

Page 45: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas

Efectos de la exactitud heurística en el Efectos de la exactitud heurística en el desempeñodesempeño Por ejemplo, si A* encuentra una solución en la Por ejemplo, si A* encuentra una solución en la

profundidad cinco, y utilizando 52 nodos, el factor profundidad cinco, y utilizando 52 nodos, el factor de ramificación efectiva es de 1.91.de ramificación efectiva es de 1.91.

Por lo general, el b* correspondiente a una Por lo general, el b* correspondiente a una heurística determinada permanece constante a heurística determinada permanece constante a través de un amplia gama de problemas.través de un amplia gama de problemas.

En una heurística bien diseñada, b* se aproxima a En una heurística bien diseñada, b* se aproxima a 1.1.

Page 46: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones HeurísticasCosto de BúsquedaCosto de Búsqueda Factor de Ramificación EfectivoFactor de Ramificación Efectivo

dd BPPIBPPI A*(A*(hh11)) A*(A*(hh22)) BPPIBPPI A*(A*(hh11)) A*(A*(hh22))

22 1010 66 66 2.452.45 1.791.79 1.791.79

44 112112 1313 1212 2.872.87 1.481.48 1.451.45

66 680680 2020 1818 2.732.73 1.341.34 1.301.30

88 6,3846,384 3939 2525 2.802.80 1.331.33 1.241.24

1010 47,12747,127 9393 3939 2.792.79 1.381.38 1.221.22

1212 364,404364,404 227227 7373 2.782.78 1.421.42 1.241.24

1414 3,473,9413,473,941 539539 113113 2.832.83 1.441.44 1.231.23

1616 ---------- 1,3011,301 211211 ---------- 1.451.45 1.251.25

1818 ---------- 3,0563,056 363363 ---------- 1.461.46 1.261.26

2020 ---------- 7,2767,276 676676 ---------- 1.471.47 1.271.27

2222 ---------- 18,09418,094 1,2191,219 ---------- 1.481.48 1.281.28

2424 ---------- 39,13539,135 1,6411,641 ---------- 1.481.48 1.261.26

Page 47: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Efectos de la Exactitud HeurísticaEfectos de la Exactitud Heurística

Comparando los factores de ramificación efectiva, Comparando los factores de ramificación efectiva, hh22 es mejor que es mejor que hh11..

Si para todo nodo Si para todo nodo nn, , hh22((nn) ) hh11((nn), se dice que ), se dice que hh22

domina domina a a hh11.. En general, siempre conviene más emplear una En general, siempre conviene más emplear una

función heurística con valores más altos, siempre función heurística con valores más altos, siempre cuando no dé lugar a una sobreestimación.cuando no dé lugar a una sobreestimación.

Page 48: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Invención de HeurísticasInvención de Heurísticas

A los problemas en que se imponen menos A los problemas en que se imponen menos restricciones a los operadores se les llama restricciones a los operadores se les llama problemas relajados.problemas relajados.

Es frecuente que el costo de la solución de un Es frecuente que el costo de la solución de un problema relajado constituya una buena heurística problema relajado constituya una buena heurística del problema general.del problema general.

Page 49: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Invención de HeurísticasInvención de Heurísticas

Operador del Problema de las ocho placas (normal)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 Una placa puede pasar del cuadro A al B si A está junto a B y B

está vacío”está vacío”

Operadores relajados para el problema de las ocho placasOperadores 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 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 si B está vacío” ““Una placa se puede mover del cuadro A al B”Una placa se puede mover del cuadro A al B”

Page 50: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Funciones HeurísticasFunciones Heurísticas Invención de HeurísticasInvención de Heurísticas

Si para un problema determinado existe un grupo Si para un problema determinado existe un grupo de heurísticas aceptables, de heurísticas aceptables, hh11,..., ,..., hhmm, y ninguna , y ninguna domina a las demás, se puede usar:domina a las demás, se puede usar:

hh((nn) = ) = maxmax((hh11((nn), ..., ), ..., hhmm((nn)).)). Otra forma de inventar heurísticas es mediante Otra forma de inventar heurísticas es mediante

información estadística. Se pueden hacer información estadística. Se pueden hacer búsquedas sobre una gran cantidad de problemas búsquedas sobre una gran cantidad de problemas de adiestramiento y se obtienen las estadísticas de adiestramiento y se obtienen las estadísticas correspondientes.correspondientes.

Page 51: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

La capacidad de memoria es uno de los La capacidad de memoria es uno de los principales obstáculos a los que se enfrentan principales obstáculos a los que se enfrentan los algoritmos anteriores.los algoritmos anteriores.

Algoritmos de BLCMAlgoritmos de BLCM A* por profundización iterativa (A*PI)A* por profundización iterativa (A*PI) A* acotado por memoria simplificada (A*SRM)A* acotado por memoria simplificada (A*SRM)

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 52: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

A*PIA*PI Es algo similar a lo que se hizo con la búsqueda preferente Es algo similar a lo que se hizo con la búsqueda preferente

por profundidad, al hacerla iterativamente (profundización por profundidad, al hacerla iterativamente (profundización iterativa), sólo que ahora se hace con la búsqueda A*.iterativa), sólo que ahora se hace con la búsqueda A*.

En esta algoritmo cada iteración es una búsqueda En esta algoritmo cada iteración es una búsqueda preferente por profundidad, exactamente como en la PI, preferente por profundidad, exactamente como en la PI, pero ahora se usa un límite de costo pero ahora se usa un límite de costo ff en vez de un límite de en vez de un límite de profundidad.profundidad.

Así, en cada iteración se expanden los nodos que están Así, en cada iteración se expanden los nodos que están dentro del contorno del costo dentro del contorno del costo ff actual. actual.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 53: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

A*PIA*PI Una vez concluida la búsqueda dentro de un Una vez concluida la búsqueda dentro de un

contorno determinado, se procede a efectuar una contorno determinado, se procede a efectuar una nueva iteración usando un nuevo costo nueva iteración usando un nuevo costo ff para el para el contorno siguiente.contorno siguiente.

A*PI es un método completo y óptimo, con las A*PI es un método completo y óptimo, con las ventajas y desventajas del A*ventajas y desventajas del A*

Como es preferente por profundidad, sólo necesita Como es preferente por profundidad, sólo necesita un espacio proporcional con la ruta más larga que un espacio proporcional con la ruta más larga que explore.explore.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 54: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

A*PIA*PI Si δ es el mínimo costo de operador y Si δ es el mínimo costo de operador y ff* es el costo * es el costo

de la solución óptima, en el peor de los casos se de la solución óptima, en el peor de los casos se necesitan necesitan bf* / bf* / δ nodos de almacenamiento.δ nodos de almacenamiento.

En la mayoría de los casos, En la mayoría de los casos, bdbd es un estimado es un estimado bastante bueno de la capacidad de memoria bastante bueno de la capacidad de memoria necesaria.necesaria.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 55: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

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

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 56: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

A*SRM (A* Acotado por Memoria A*SRM (A* Acotado por Memoria Simplificada)Simplificada) A*PI utiliza muy poca memoriaA*PI utiliza muy poca memoria Entre iteraciones, sólo guarda un número: el límite Entre iteraciones, sólo guarda un número: el límite

actual del costo actual del costo ff.. Como no puede recordar su historia, puede Como no puede recordar su historia, puede

repetirla.repetirla. El método A*SRM emplea más memoria que el El método A*SRM emplea más memoria que el

A*PI, para mejorar la eficiencia de la búsqueda.A*PI, para mejorar la eficiencia de la búsqueda.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 57: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

A*SRM (A* Acotado por Memoria Simplificada)A*SRM (A* Acotado por Memoria Simplificada) Hace uso de toda la memoria de la que pueda disponerHace uso de toda la memoria de la que pueda disponer En la medida que se lo facilite la memoria, evitará estados En la medida que se lo facilite la memoria, evitará estados

repetidosrepetidos Es completo, si la memoria es suficiente para guardar la Es completo, si la memoria es suficiente para guardar la

ruta de solución mas cercanaruta de solución mas cercana Es óptimo, si dispone de suficiente memoria para guardar Es óptimo, si dispone de suficiente memoria para guardar

la ruta de solución la ruta de solución óptimaóptima más cercana. más cercana. Si se dispone de suficiente memoria para todo el árbol de Si se dispone de suficiente memoria para todo el árbol de

búsqueda, éste resultará óptimamente eficiente.búsqueda, éste resultará óptimamente eficiente.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 58: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

A*SRM (A* Acotado por Memoria Simplificada)A*SRM (A* Acotado por Memoria Simplificada) Si hay que generar un sucesor, pero ya no hay memoria, se Si hay que generar un sucesor, pero ya no hay memoria, se

requiere espacio en la lista de esperarequiere espacio en la lista de espera Es necesario excluir un nodo de la lista de espera. A estos Es necesario excluir un nodo de la lista de espera. A estos

nodos se les llama nodos se les llama nodos olvidadosnodos olvidados, con un elevado , con un elevado ff.. Se conserva la información de los nodos ancestros sobre la Se conserva la información de los nodos ancestros sobre la

calidad de la mejor ruta en el subárbol olvidado.calidad de la mejor ruta en el subárbol olvidado. Así sólo se tendrá que regenerar el subárbol si las demás Así sólo se tendrá que regenerar el subárbol si las demás

rutas ofrecen peores perspectivas que la ruta olvidada.rutas ofrecen peores perspectivas que la ruta olvidada.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 59: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

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

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 60: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

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

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoria capacidad de la memoria

Page 61: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad de la memoria

A*SRM (A* Acotado por Memoria Simplificada)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 62: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad de la memoria

A*SRM (A* Acotado por Memoria Simplificada)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 63: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad de la memoria

A*SRM (A* Acotado por Memoria Simplificada)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 64: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

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

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad 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 65: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

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

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad 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 66: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad de la memoria

A*SRM (A* Acotado por Memoria Simplificada)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 67: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad de la memoria

A*SRM (A* Acotado por Memoria Simplificada)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 68: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

A*SRM (A* Acotado por Memoria Simplificada)A*SRM (A* Acotado por Memoria Simplificada) (Ver el algoritmo en el libro de texto)(Ver el algoritmo en el libro de texto) Las cosas se complican aun más so hay que incluir la Las cosas se complican aun más so hay que incluir la

verificación de nodos repetidos . A*SRM es el algoritmo verificación de nodos repetidos . A*SRM es el algoritmo más complicado visto hasta el momento.más complicado visto hasta el momento.

Cuando cuenta con suficiente memoria, A*SRM resuelve Cuando cuenta con suficiente memoria, A*SRM resuelve probelmas mucho más difíciles que A* sin excesos probelmas mucho más difíciles que A* sin excesos considerables en la generación de nodos adicionales.considerables en la generación de nodos adicionales.

Búsqueda limitada por la Búsqueda limitada por la capacidad de la memoriacapacidad de la memoria

Page 69: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Hay problemas (como el de las 8 reinas, o la Hay problemas (como el de las 8 reinas, o la distribución de áreas en un chip VLSI) que se distribución de áreas en un chip VLSI) que se caracterizan porque la misma descripción del caracterizan porque la misma descripción del estado contiene toda la información necesaria estado contiene toda la información necesaria para encontrar una solución, y la ruta para para encontrar una solución, y la ruta para obtenerla es irrelevante.obtenerla es irrelevante.

En estos casos, los En estos casos, los algoritmos de búsqueda algoritmos de búsqueda local local son el método de solución más práctico.son el método de solución más práctico.

Page 70: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Los algoritmos de búsqueda local operan Los algoritmos de búsqueda local operan usando un simple usando un simple estado actualestado actual (en vez de (en vez de múltiples rutas) y generalmente se mueven a múltiples rutas) y generalmente se mueven a los vecinos de dicho estado.los vecinos de dicho estado.

Sus ventajas son:Sus ventajas son: Usan muy poca memoria (usualmente constante)Usan muy poca memoria (usualmente constante) Pueden encontrar a menudo soluciones razonables Pueden encontrar a menudo soluciones razonables

en espacios de estados muy grandes o infinitos en en espacios de estados muy grandes o infinitos en los cuales los algoritmos sistemáticos no son los cuales los algoritmos sistemáticos no son adecuados.adecuados.

Page 71: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Además de encontrar metas, los algoritmos de Además de encontrar metas, los algoritmos de búsqueda local son útiles para resolver búsqueda local son útiles para resolver problemas de optimización, problemas de optimización, en los cuales el en los cuales el objetivo es encontrar el mejor estado de objetivo es encontrar el mejor estado de acuerdo con una acuerdo con una función objetivofunción objetivo..

Page 72: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

La idea básica consiste en empezar con una La idea básica consiste en empezar con una configuración completa y efectuar configuración completa y efectuar modificaciones para mejorar la calidadmodificaciones para mejorar la calidad ..

Los ABL “imaginan” que los estados están Los ABL “imaginan” que los estados están sobre la superficie de un paisaje, y la altura de sobre la superficie de un paisaje, y la altura de cada uno corresponde a la función de cada uno corresponde a la función de evaluación del estado en ese punto.evaluación del estado en ese punto.

Page 73: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

EstadoActual

Evaluación

Page 74: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Page 75: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Si la elevación corresponde al costo, el objetivo es Si la elevación corresponde al costo, el objetivo es encontrar el valle más bajo (un encontrar el valle más bajo (un mínimo globalmínimo global).).

Si la elevación corresponde a una función objetivo, Si la elevación corresponde a una función objetivo, entonces el objetivo es encontrar el pico más alto (un entonces el objetivo es encontrar el pico más alto (un máximo globalmáximo global).).

Los algoritmos de búsqueda local exploran este Los algoritmos de búsqueda local exploran este paisaje. Una ABL completo siempre encuentra una paisaje. Una ABL completo siempre encuentra una meta si existe; un algoritmo óptimo siempre meta si existe; un algoritmo óptimo siempre encuentra un máximo/mínimo global.encuentra un máximo/mínimo global.

Page 76: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Normalmente, los ABL se fijan sólo en el Normalmente, los ABL se fijan sólo en el estado actual, sin mirar mas allá de los vecinos estado actual, sin mirar mas allá de los vecinos inmediatos de tal estado.inmediatos de tal estado.

Tienen varias aplicaciones, en especial, en el Tienen varias aplicaciones, en especial, en el aprendizaje de redes neuronales.aprendizaje de redes neuronales.

Page 77: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda por ascenso de cimaBúsqueda por ascenso de cima Recocido simuladoRecocido simulado Búsqueda local en hazBúsqueda local en haz Algoritmos GenéticosAlgoritmos Genéticos

Page 78: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda por ascenso de cimaBúsqueda por ascenso de cimaFunción Función Ascenso-de-cima(Ascenso-de-cima(problemaproblema) ) responde conresponde con un estado de solución un estado de solución

entradas: entradas: problemaproblema, un problema, un problema

estático: estático: actualactual, un nodo, un nodo

siguientesiguiente, un nodo, un nodo

actual actual Hacer-nodo Hacer-nodo((Estado Inicial[Estado Inicial[problemaproblema])])

hacer ciclohacer ciclo

siguiente siguiente el sucesor de el sucesor de actualactual de más alto valor de más alto valor

si Valor[si Valor[siguientesiguiente] < Valor[] < Valor[actualactual] ] entonces responde con entonces responde con actualactual

actualactual siguientesiguiente

finfin

Page 79: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda por ascenso de cimaBúsqueda por ascenso de cima ““Es como intentar buscar la cima del monte Everest en una Es como intentar buscar la cima del monte Everest en una

densa niebla y con amnesia”.densa niebla y con amnesia”. El algoritmo es un ciclo que constantemente se desplaza en El algoritmo es un ciclo que constantemente se desplaza en

la dirección de un valor ascendente.la dirección de un valor ascendente. Como el algoritmo no mantiene un árbol de búsqueda, la Como el algoritmo no mantiene un árbol de búsqueda, la

estructura de datos del nodo sólo tiene que registrar el estructura de datos del nodo sólo tiene que registrar el estado y su evaluación, denominado VALOR.estado y su evaluación, denominado VALOR.

Cuando existe más de un sucesor idóneo que escoger, el Cuando existe más de un sucesor idóneo que escoger, el algoritmo selecciona uno de ellos al azar.algoritmo selecciona uno de ellos al azar.

Page 80: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda por ascenso Búsqueda por ascenso de cimade cima

h = 17 h = 1

Page 81: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda por ascenso de cimaBúsqueda por ascenso de cima Desventajas:Desventajas:

Máximos locales: Máximos locales: al contrario de un máximo global, es una cima al contrario de un máximo global, es una cima cuya altura es inferior a la cima más alta de todo el espacio de cuya altura es inferior a la cima más alta de todo el espacio de estados.estados.

Planicies: Planicies: Son áreas del espacio de estados donde la función de Son áreas del espacio de estados donde la función de evaluación básicamente es plana. La búsqueda realiza movimientos evaluación básicamente es plana. La búsqueda realiza movimientos al azar.al azar.

Riscos: Riscos: Las laderas de algunos riscos tienen pendientes muy Las laderas de algunos riscos tienen pendientes muy pronunciadas, por lo que es fácil para una búsqueda llegar a la cima pronunciadas, por lo que es fácil para una búsqueda llegar a la cima del risco; sin embargo, puede suceder que la pendiente de tal cima del risco; sin embargo, puede suceder que la pendiente de tal cima se aproxime demasiado gradualmente a un pico. Ña búsqueda se aproxime demasiado gradualmente a un pico. Ña búsqueda puede oscilar de un lado al otro obteniendo muy poco avance.puede oscilar de un lado al otro obteniendo muy poco avance.

Page 82: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda por ascenso de cimaBúsqueda por ascenso de cima En los casos anteriores, se llega a un punto más En los casos anteriores, se llega a un punto más

allá del cual no se logra ningún avance, ys se debe allá del cual no se logra ningún avance, ys se debe empezar nuevamente en otro punto.empezar nuevamente en otro punto.

Esto se logra mediante el Esto se logra mediante el ascenso de cima con ascenso de cima con reinicio aleatorioreinicio aleatorio..

El éxito de este algoritmo depende en gran medida El éxito de este algoritmo depende en gran medida de la forma que tenga la “superficie” del espacio de la forma que tenga la “superficie” del espacio de estados (usualmente puede parecerse a un de estados (usualmente puede parecerse a un “puerco espín”).“puerco espín”).

Page 83: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Función Función Recocido-Simulado(Recocido-Simulado(problema, programaproblema, programa) ) responde conresponde con un estado de solución un estado de solución entradas: entradas: problemaproblema, un problema, un problema

programaprograma, un mapeo para pasar de tiempo a “temperatura”, un mapeo para pasar de tiempo a “temperatura” estático: estático: actualactual, un nodo, un nodo

siguientesiguiente, un nodo, un nodo TT, una “temperatura” que controla la posibilidad de dar pasos, una “temperatura” que controla la posibilidad de dar pasos descendentes.descendentes.

actual actual Hacer-nodo Hacer-nodo((Estado Inicial[Estado Inicial[problemaproblema])]) para para t t 1 1 a a hacerhacer

T T programaprograma[[tt]] si si T T = 0, = 0, entonces responde con entonces responde con actualactual

siguiente siguiente un sucesor de un sucesor de actualactual escogido aleatoriamente escogido aleatoriamente EE Valor[ Valor[siguientesiguiente] - Valor[] - Valor[actualactual]]

si si EE > 0, > 0, entonces entonces actualactual siguientesiguiente o bien o bien actual actual siguiente siguiente con probabilidad con probabilidad eeE/TE/T

finfin

Page 84: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Recocido simuladoRecocido simulado En vez de empezar otra vez al azar luego de quedarse En vez de empezar otra vez al azar luego de quedarse

atorado en un máximo local, sería conveniente descender atorado en un máximo local, sería conveniente descender unos cuantos pasos y así escapar del máximo local en unos cuantos pasos y así escapar del máximo local en cuestión.cuestión.

Esta es la base del Esta es la base del recocido simuladorecocido simulado.. En vez de optar por la En vez de optar por la mejor acciónmejor acción, se escoge una al , se escoge una al azar.azar. Siempre que mediante alguna acción se logre mejorar la Siempre que mediante alguna acción se logre mejorar la

situación, dicha acción se ejecuta. De lo contrario, el situación, dicha acción se ejecuta. De lo contrario, el algoritmo realizará cierta acción con cierta probabilidad algoritmo realizará cierta acción con cierta probabilidad menor a uno. La probabilidad disminuye exponencialmente menor a uno. La probabilidad disminuye exponencialmente con lo “malo” de la acción.con lo “malo” de la acción.

Page 85: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Recocido simuladoRecocido simulado Para determinar la probabilidad se utiliza un segundo Para determinar la probabilidad se utiliza un segundo

parámetro, parámetro, TT.. Cuando los valores de Cuando los valores de TT son elevados, hay más son elevados, hay más

probabilidad de que se acepten las acciones “malas”.probabilidad de que se acepten las acciones “malas”. Conforme Conforme TT tiende a cero, es menos probable su tiende a cero, es menos probable su

aceptación, hasta que el algoritmo se comporte más o aceptación, hasta que el algoritmo se comporte más o menos como el ascenso de cima.menos como el ascenso de cima.

El El programaprograma es una función que define el valor de es una función que define el valor de TT en en base a la cantidad de ciclos que se hayan realizado.base a la cantidad de ciclos que se hayan realizado.

Page 86: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Recocido simuladoRecocido simulado El término “recocido simulado”, y el nombre de los parámetros El término “recocido simulado”, y el nombre de los parámetros EE

y y TT obedece a que el algoritmo se creó a partir de una analogía con obedece a que el algoritmo se creó a partir de una analogía con el el recocidorecocido, un proceso que consiste en enfriar un líquido hasta que , un proceso que consiste en enfriar un líquido hasta que se congele (o un metal fundido hasta que se solidifique).se congele (o un metal fundido hasta que se solidifique).

La función La función VALORVALOR corresponde a la energía total de los átomos corresponde a la energía total de los átomos del material y del material y TT corresponde a la temperatura. El corresponde a la temperatura. El programaprograma define define la velocidad de descenso de temperatura. Las acciones individuales la velocidad de descenso de temperatura. Las acciones individuales del espacio de estados corresponden a fluctuaciones aleatorias del espacio de estados corresponden a fluctuaciones aleatorias producidas por ruido térmico.producidas por ruido térmico.

Es posible demostrar que si la temperatura se baja con suficiente Es posible demostrar que si la temperatura se baja con suficiente lentitud, el material adoptará la configuración de la energía más lentitud, el material adoptará la configuración de la energía más baja (de ordenamiento perfecto). Esto equivale a decir que si el baja (de ordenamiento perfecto). Esto equivale a decir que si el programa programa baja a baja a TT con la suficiente lentitud, el algoritmo con la suficiente lentitud, el algoritmo encontrará un óptimo global.encontrará un óptimo global.

Page 87: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda local en hazBúsqueda local en haz El algoritmo de búsqueda local en haz (local beam El algoritmo de búsqueda local en haz (local beam

search) mantiene registro de search) mantiene registro de kk estados en vez de sólo estados en vez de sólo uno.uno.

Comienza con Comienza con kk estados generados aleatoriamente. estados generados aleatoriamente. En cada paso, todos los sucesores de los En cada paso, todos los sucesores de los kk estados son estados son

generados.generados. Si uno de ellos es la meta, el algoritmo se detiene. De Si uno de ellos es la meta, el algoritmo se detiene. De

otra manera, se selecciona los otra manera, se selecciona los k k mejores sucesores de la mejores sucesores de la lista completa y el proceso se repite.lista completa y el proceso se repite.

Page 88: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda local en hazBúsqueda local en haz A primera vista, la búsqueda local en haz con A primera vista, la búsqueda local en haz con kk estados estados

parece no más que correr parece no más que correr kk ascensos independientes de ascensos independientes de cima en paralelo, en vez de hacerlo en secuencia.cima en paralelo, en vez de hacerlo en secuencia.

Sin embargo, en la búsqueda local en haz se transmite Sin embargo, en la búsqueda local en haz se transmite información útil entre las información útil entre las kk búsquedas paralelas. búsquedas paralelas.

Es decir, si un estado genera varios buenos sucesores, y Es decir, si un estado genera varios buenos sucesores, y los los kk – 1 estados restantes generan todos malos – 1 estados restantes generan todos malos sucesores, el efecto es que el primer estado le dice a los sucesores, el efecto es que el primer estado le dice a los otros “vengan aquotros “vengan aquí, el pasto es más verde!”.í, el pasto es más verde!”.

El algoritmo abandona rápidamente búsquedas El algoritmo abandona rápidamente búsquedas infructuosas y mueve sus recursos donde se pueda hacer infructuosas y mueve sus recursos donde se pueda hacer más progresos.más progresos.

Page 89: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Búsqueda local en hazBúsqueda local en haz Una variante llamada Una variante llamada búsqueda en haz búsqueda en haz

estocásticaestocástica evita la falta de diversidad entre los evita la falta de diversidad entre los kk estados y evita concentrarse en una pequeña estados y evita concentrarse en una pequeña región del espacio de estados.región del espacio de estados.

En vez de elegir los mejores En vez de elegir los mejores kk del grupo de del grupo de sucesores candidatos, se eligen sucesores candidatos, se eligen kk sucesores al sucesores al azar, con la probabilidad de elegir un sucesor azar, con la probabilidad de elegir un sucesor dado como una función incremental de su valor.dado como una función incremental de su valor.

Page 90: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos Un algoritmo genético (AG) es una variante de la Un algoritmo genético (AG) es una variante de la

búsqueda en haz estocástica, en la cual los estados búsqueda en haz estocástica, en la cual los estados sucesores son generados combinando sucesores son generados combinando dosdos estados estados padres, más que modificando un solo estado.padres, más que modificando un solo estado.

La analogía a la selección natural es la siguiente: La analogía a la selección natural es la siguiente: Los sucesores (descendientes) de dos estados Los sucesores (descendientes) de dos estados (organismos) padres, conforman la siguiente (organismos) padres, conforman la siguiente generación, de acuerdo a su valor (aptitud).generación, de acuerdo a su valor (aptitud).

Page 91: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos Los AGs comienzan con un conjunto de Los AGs comienzan con un conjunto de kk estados estados

generados aleatoriamente, llamados la generados aleatoriamente, llamados la poblaciónpoblación.. Cada estado, o Cada estado, o individuoindividuo, se representa como una , se representa como una

cadena (string) tomada de un alfabeto finito cadena (string) tomada de un alfabeto finito (comúmente, una cadena de 0’s y 1’s). (comúmente, una cadena de 0’s y 1’s).

En el problema de las 8 reinas, se podrían En el problema de las 8 reinas, se podrían especificar las posiciones de cada una de las 8 especificar las posiciones de cada una de las 8 reinas en cada columa mediante 24 bits, o reinas en cada columa mediante 24 bits, o mediante dígitos entre 1 y 8.mediante dígitos entre 1 y 8.

Page 92: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos

Page 93: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos Cada estado es “calificado” meduante la función de Cada estado es “calificado” meduante la función de

evalación, llamada evalación, llamada función de aptitudfunción de aptitud.. Una función de aptitud debe regresar valores más altos para Una función de aptitud debe regresar valores más altos para

mejores estados. En el problema de las 8 reinas se usa la mejores estados. En el problema de las 8 reinas se usa la cantidad de pares de reinas que cantidad de pares de reinas que no se atacan entre síno se atacan entre sí. Una . Una solución debe tener un valor de aptitud de 28.solución debe tener un valor de aptitud de 28.

Las aptitudes de los 4 estados son 24, 23, 20 y 11 y se Las aptitudes de los 4 estados son 24, 23, 20 y 11 y se calculan las probabilidades de ser elegidos en forma calculan las probabilidades de ser elegidos en forma proporcional a la aptitud.proporcional a la aptitud.

Page 94: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos Se eligieron dos pares para reproducción, de Se eligieron dos pares para reproducción, de

acuerdo a las probabilidades en (b). Para cada par a acuerdo a las probabilidades en (b). Para cada par a ser apareado, se elige un punto de ser apareado, se elige un punto de cruzacruza al azar, a al azar, a partir de las posiciones en la cadena.partir de las posiciones en la cadena.

En (d), los descendientes son creados al cruzar las En (d), los descendientes son creados al cruzar las cadenas padres en los puntos de cruza. cadenas padres en los puntos de cruza.

Finalmente, en (e), cada posición es sujeta a una Finalmente, en (e), cada posición es sujeta a una mutaciónmutación aleatoria con una pequeña probabilidad aleatoria con una pequeña probabilidad independiente.independiente.

Page 95: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos Los algoritmos genéticos combinan una tendencia de Los algoritmos genéticos combinan una tendencia de

ascenso de cima con exploración aleatoria e intercambio de ascenso de cima con exploración aleatoria e intercambio de información entre búsquedas paralelas. información entre búsquedas paralelas.

La principal ventaja, si la hay, de los algoritmos genéticos La principal ventaja, si la hay, de los algoritmos genéticos viene de la operación de cruza. viene de la operación de cruza.

La ventaja viene de la habilidad de la cruza para combinar La ventaja viene de la habilidad de la cruza para combinar grandes bloques de caracteres que han evolucionado grandes bloques de caracteres que han evolucionado independientemente para desempeñar funciones exitosas, independientemente para desempeñar funciones exitosas, elevando el nivel de granularidad en el que opera la elevando el nivel de granularidad en el que opera la búsqueda.búsqueda.

Page 96: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos La teoría de los algoritmos genéticos explica como trabajan La teoría de los algoritmos genéticos explica como trabajan

usando la idea de un usando la idea de un esquemaesquema, el cual es una subcadena en , el cual es una subcadena en la cual algunas de las posiciones se dejan sin especificar.la cual algunas de las posiciones se dejan sin especificar.

Por ejemplo, el esquema 246***** describe todos los Por ejemplo, el esquema 246***** describe todos los estados del problema de las 8 reinas donde las tres primeras estados del problema de las 8 reinas donde las tres primeras reinas están en las posiciones 2, 4 y 6 respectivamente.reinas están en las posiciones 2, 4 y 6 respectivamente.

Las cadenas que concuerdan con el esquema (como Las cadenas que concuerdan con el esquema (como 24613578) son llamadas 24613578) son llamadas instancias instancias del esquema.del esquema.

Page 97: Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.

Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización

Algoritmos genéticosAlgoritmos genéticos Se puede mostrar que, si la aptitud promedio de las Se puede mostrar que, si la aptitud promedio de las

instancias de un esquema está sobre la media, entonces el instancias de un esquema está sobre la media, entonces el número de instancias del esquema dentro de la población número de instancias del esquema dentro de la población crecerá con el tiempo.crecerá con el tiempo.

Los algoritmos genéticos trabajan mejor cuando los Los algoritmos genéticos trabajan mejor cuando los esquemas corresponden a componentes significativos de la esquemas corresponden a componentes significativos de la solución.solución.

Esto sugiere que el uso exitoso de los algoritmos genéticos Esto sugiere que el uso exitoso de los algoritmos genéticos requiere una ingeniería cuidadosa de la representación.requiere una ingeniería cuidadosa de la representación.

En la práctica, los AGs tienen un amplio impacto en En la práctica, los AGs tienen un amplio impacto en problemas de optimización, tales como distribución en problemas de optimización, tales como distribución en circuitos y programación de actividades.circuitos y programación de actividades.