Professional Documents
Culture Documents
Familia de algoritmos de bsqueda en grafos, informados Se caracterizan por el uso de una funcin heurstica para guiar la bsqueda, con mnimo global en meta
f : U R, U=EE Caminos EE, R reales Criterio de expansin de nodos: expandir primero el nodo con menor valor de f
Bsqueda Informada
Comportamiento bpm
Bsqueda Informada
Utiliza funciones heursticas del estado Esta funcin debe de informar sobre la calidad del estado:
Coste de alcanzar la solucin desde el estado actual Independiente del coste del camino hasta el estado actual
Bsqueda Voraz
1. 2. 3. 4. Si n0 es meta, fin con xito, devolviendo n0 Abiertos (n0); Cerrados ( ) Si Abiertos = ( ), fin devolviendo fallo n primer elemento de Abiertos; eliminar n de Abiertos y llevarlo a Cerrados; Suc ( ) 5. expandir n, colocando sus hijos en Suc, como hijos de n 6. Si alguno de los hijos de n es un nodo meta, fin con xito, devolviendo el camino 7. eliminar de Suc cualquier nodo cuyo estado ya est asociado a algn nodo de Abiertos o Cerrados 8. colocar los nodos de Suc en Abiertos 9. Reordenar Abiertos segn valores crecientes de h(n) 10. Ir a 3
Bsqueda Informada
Como primero el mejor Principal inconveniente: no considera el coste de los caminos que encuentra
Bsqueda Informada
Algoritmos A*
Idea: penalizar el coste del camino para incluir un componente en anchura f=g+h con
g estima g*: coste del camino mnimo hasta nodo (gg*) h estima h*: coste del camino mnimo del nodo a meta Si h es minorante de h* (hh*), Algoritmo A*
Bsqueda Informada
g coste camino mnimo encontrado por el algoritmo hasta el nodo h estimacin coste camino mnimo del estado a la meta
Algoritmo A*
1. Abiertos (n0); Cerrados ( ) 2. Si Abiertos = ( ), fin devolviendo fallo 3. n primer elemento de Abiertos; eliminar n de Abiertos y llevarlo a Cerrados; Suc ( ) 4. Si n es un nodo meta, fin con xito devolviendo el camino 5. expandir n, colocando sus hijos en Suc, como hijos de n 6. Para cada nodo q de Suc
6.1. Calcular g(q) g(n) + coste(n,q) 6.2. Si q no est ni en Abiertos ni en Cerrados, calcular f(q) g(q) + h(q) y aadir q a Abiertos asignando f(q) y g(q) 6.3. Si q estaba en Abiertos o en Cerrados (q0), comparar el valor de g(q) con g(q0) 1. Si g(q0) <= g(q), descartar q 2. Si g(q0) > g(q), colocar n como nuevo padre de q0, asignarle f(q) = g(q) + h(q0) y descartar q 3. Si g(q0) > g(q) y q0 est en Cerrados, eliminarle de Cerrados y llevarle a Abiertos
10
Propiedades formales de A*
Teorema 1: A* es completo en grafos localmente finitos Teorema 2: A* es admisible en grafos localmente finitos Def. Heurstica mejor informada
h2(n) mejor informada h1(n)
ambas minorantes, h2(n) > h1(n) en nodos no terminales
Def. algoritmo A* ms informado Def. algoritmo dominante Teorema 3. Sean A1* y A2* dos algoritmos A* para el mismo problema. Si A2* est mejor informado que A1*, A2* domina a A1*
Bsqueda Informada
11
Comportamiento A*
Algoritmo admisible que genera menos nodos para una heurstica dada
En la prctica, el error es al menos proporcional al coste del camino y el coste espacial es exponencial
Bsqueda Informada
12
Variantes A*
A*DI, A* descenso iterativo BRPM, bsqueda recursiva primero el mejor A*M, A* con memoria acotada A*Ms, A*M simplificado
Bsqueda Informada
13
Rgimen de control irrevocable Problemas de configuracin: 8-reinas, VLSI Viajante de comercio, funciones Usan muy poca memoria Pueden alcanzar soluciones razonables en espacios de estado grandes o infinitos, poco adecuados para los algoritmos que mantienen los caminos Derivados de su carcter local
Bsqueda Informada
Problemas de optimizacin
Ventajas
Inconvenientes
15
Mejora iterativa
Utilizan funcin de evaluacin heurstica con mximo (mnimo) global en soluciones Dos familias
Escalada: siempre direccin mximo (ascensin de colinas, hill-climbing) Temple simulado: permiten empeoramiento (simulated annealing)
Bsqueda Informada
16
Mtodo de escalada
Un nico estado Funcin de evaluacin con mximo absoluto en solucin ptima Se mueve siempre en la direccin en que mejora la funcin de evaluacin
Bsqueda Informada
17
Mtodo de escalada
funcin ESCALADA(problema) returns un estado entrada: problema, un problema static: actual, un nodo siguiente, un nodo begin actual HACER-NODO(ESTADO-INICIAL[problema]) loop do siguiente sucesor de actual con mximo valor if VALOR(siguiente) VALOR(actual) then return(actual) actual siguiente endloop end
Bsqueda Informada
18
Limitaciones escalada
Bsqueda Informada
19
Comportamiento escalada
No es completo ni admisible
Complejidad espacial: K (bytes para almacenar estado) Complejidad temporal: peor caso, exponencial
En la prctica, suele terminar con pocas iteraciones Estado: tablero con 8 reinas, una por columna Operadores: mover una reina a otra casilla de la misma columna Fallo 86%, xito 14% Rpido. En media
Comportamiento 8-reinas
Bsqueda Informada
20
Variantes de escalada
Escalada estocstico
Escoge aleatoriamente entre los hijos que mejoran la funcin de evaluacin Puede mejorar solucin encontrada con escalada Para atravesar llanuras. Ciclos
Sucesivas iteraciones mtodo escalada Estados iniciales generados aleatoriamente Conserva el mejor estada encontrado Terminacin: num. mximo de iteraciones, no hay mejora significativa, etc.
Bsqueda Informada
21
Completo en el lmite
Suele mejorar solucin encontrada por escalada Inicios medios requeridos: 1/p (con p probabilidad de xito de escalada) 8-reinas
p~0.14; reinicios ~ 7
Bsqueda Informada
22
Enfriamiento simulado
Introduce un componente aleatorio sobre el mtodo de escalada Permite moverse en direcciones en que empeora la funcin de evaluacin
Inicialmente, con mucha facilidad En las etapas finales, con ms dificultad Escoge el sucesor aleatoriamente Los movimientos que empeoran se aceptan con probabilidad que disminuye
Bsqueda Informada
23
Primero calentar: movimiento aleatorio de tomos y molculas que permite salir de estados fsicos correspondientes a mnimos locales (energa) Enfriamiento paulatino para alcanzar estados de mnima energa Cuanto ms lento, ms fcil llegar a mnimos globales (buscando, en algn momento, que el movimiento permita salir de mnimos locales pero no de los globales)
Bsqueda Informada
24
Enfriamiento simulado
funcin ENFRIAMIENTO-SIMULADO(problema, schedule) returns un estado entrada: problema, un problema schedule, una aplicacin de tiempo en temperatura static: actual, un nodo siguiente, un nodo T, una temperatura begin actual HACER-NODO(ESTADO-INICIAL[problema]) for t 1 to do T schedule[t] if T = 0 then return(actual) siguiente un sucesor de actual seleccionado aleatoriamente E VALOR[siguiente] VALOR[actual] if E > 0 then actual siguiente else actual siguiente con probabilidad eE/T enddo end
Bsqueda Informada
25
til para aproximar el mximo global en espacio de estado grandes El algoritmo encuentra ptimo global con probabilidad prxima a 1 si T
En la prctica, en el peor caso, termina con T=0. Luego la funcin Schedule determina la complejidad temporal.
Bsqueda Informada
26
Mtodos de poblacin
Mtodos de poblacin
Dos variantes
Algoritmos genticos
28
Bsqueda en haz
Bsqueda en haz: algoritmos de bsqueda que mantienen en memoria un nmero limitado de K nuevos sucesores
Mantienen el camino: variante de primero el mejor Mantienen el estado: variante de mejora iterativa (bsqueda en haz local)
Bsqueda Informada
29
Parte de K estados generados aleatoriamente Genera los hijos de todos los estados Conserva los K estados con mejor valor de la funcin de evaluacin heurstica
Bsqueda Informada
30
Bsqueda Informada
31
No garantiza solucin ptima Generalmente, mejor comportamiento que escalada con reinicio aleatorio kveces: se comparte informacin til entre los elementos de la poblacin Mejora: bsqueda en haz estocstico
Se eligen k sucesores aleatoriamente con probabilidad creciente con la heurstica Cierta similitud con la evolucin natural de poblaciones
Bsqueda Informada
32