Inteligencia Artificial 2.2 Métodos de Búsqueda Respaldados con Información.
-
Upload
felicidad-rueda -
Category
Documents
-
view
243 -
download
0
Transcript of 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
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)
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.
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..
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))
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.
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.
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.
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
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
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
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.
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.
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
Búsqueda preferente por lo Búsqueda preferente por lo mejormejor
Búsqueda AvaraBúsqueda Avara
Aradh=366
Búsqueda preferente por lo Búsqueda preferente por lo mejormejor
Aradh=366
Sibiuh=253
Timisoarah=329
Zerindh=374
Búsqueda AvaraBúsqueda Avara
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
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
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.
Búsqueda preferente por lo Búsqueda preferente por lo mejormejor
Búsqueda AvaraBúsqueda Avara
Iasih=160
Búsqueda preferente por lo Búsqueda preferente por lo mejormejor
Búsqueda AvaraBúsqueda Avara
Iasih=160
Neamth=150
Vasluih=170
Búsqueda preferente por lo Búsqueda preferente por lo mejormejor
Búsqueda AvaraBúsqueda Avara
Iasih=160
Neamth=150
Vasluih=170
Iasih=160
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
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.
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))
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.
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*..
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á)..
Búsqueda preferente por lo Búsqueda preferente por lo mejormejor
Búsqueda A*Búsqueda A*
Aradf=0+366f=366
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
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
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.
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..
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
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.
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).
Funciones HeurísticasFunciones Heurísticas Problema de las ocho placasProblema de las ocho placas
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.
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).).
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
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
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
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
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
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.
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
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.
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.
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”
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.
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
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
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
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
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
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
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
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
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
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
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.
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ó.
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).
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
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.
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) = .
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.
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
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.
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.
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..
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.
Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización
EstadoActual
Evaluación
Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimizació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.
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.
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
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
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.
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
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.
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”).
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
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.
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.
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.
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.
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.
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.
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).
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.
Algoritmos de búsqueda local y Algoritmos de búsqueda local y problemas de optimizaciónproblemas de optimización
Algoritmos genéticosAlgoritmos genéticos
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.
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.
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.
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.
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.