Métodos de búsqueda informados

Anuncio
Métodos de Búsqueda Informados
Prof. Lic Ana María Huayna D.
Búsqueda Informada (Heurística)

La búsqueda heurística utiliza información adicional
sobre el problema específico como el coste ó la distancia
al estado final; pudiendo encontrar soluciones de una
manera más eficiente.

Las estrategias de búsqueda heurística se caracterizan
por la tendencia a limitar el tiempo y el espacio en donde
buscar la respuesta a problemas complejos.

A su vez se pueden dividir en tres tipos de búsqueda:
– Búsqueda preferente por lo mejor.
– Búsqueda limitada por la capacidad de la
memoria.
– Búsquedas de mejoramiento iterativo.
Búsqueda preferente por lo mejor
 Esta búsqueda consiste en expandir primero aquél nodo
con mejor evaluación. Dicha evaluación es el resultado de
aplicar la función de evaluación al nodo, la cual devuelve
un número que sirve para representar lo deseable que
sería la expansión de un nodo.
 Dentro de este tipo de búsqueda se encuentran:
•
•
Búsqueda avara (voraz) Ó Búsqueda primero el mejor
Búsqueda A*.
BUSQUEDA AVARA
ó Búsqueda voraz primero el mejor
Greedy Search
Búsqueda preferente por lo mejor
 Búsqueda Avara (Greedy Search)
– Es una de las más sencillas estrategias en la BPPLM,
que consiste en reducir al mínimo el costo estimado
para lograr una meta.
– En otras palabras, el nodo cuyo estado se considere
más cercano a la meta en términos de costo de ruta se
expande primero.
– Aunque casi siempre es posible calcular el costo
aproximado hasta la meta, es difícil hacerlo con
precisión.
Búsqueda preferente por lo mejor
 Búsqueda Avara (Greedy Search)
– La función utilizada para dicho estimado del costo se
llama función heurística, simbolizada por h.
– h(n) = costo estimado de la ruta más barata que une el
estado del nodo n con un estado meta.
– h puede ser cualquier función. El único requisito es que
h(n) = 0 cuando n es una meta.
– La mejor heurística para la determinación de rutas en
el mundo real es la distancia en línea recta a la meta:
hDLR (n) = distancia en línea recta entre n y la
meta
Ejercicio
 Utilizar el método de búsqueda avara para
solucionar el problema de Rumania. Mostrar
el desarrollo con árboles de búsqueda.
Búsqueda preferente por lo mejor
 Búsqueda Avara
Arad
h=366
Búsqueda preferente por lo mejor
 Búsqueda Avara
Arad
h=366
Sibiu
h=253
Timisoara
h=329
Zerind
h=374
Búsqueda preferente por lo mejor
 Búsqueda Avara
Arad
h=366
Sibiu
h=253
Arad
h=366
Fagaras
h=178
Timisoara
h=329
Oradea
h=380
Rimnicu
h=193
Zerind
h=374
Búsqueda preferente por lo mejor
 Búsqueda Avara
Arad
h=366
Sibiu
h=253
Arad
h=366
Fagaras
h=178
Sibiu
h=253
Timisoara
h=329
Oradea
h=380
Zerind
h=374
Rimnicu
h=193
Bucharest
h=0
Es una solución, pero no es la óptima
Búsqueda preferente por lo mejor
 Búsqueda Avara
– Esta búsqueda usualmente produce resultados
buenos
– Tienden a producir soluciones rápidamente,
aunque no siempre la solución encontrada es la
óptima.
– Ejemplo, tratar de llegar de Lasi a Fagaras.
Búsqueda preferente por lo mejor
 Búsqueda Avara
Iasi
h=160
Búsqueda preferente por lo mejor
 Búsqueda Avara
Iasi
h=160
Neamt
h=150
Vaslui
h=170
Búsqueda preferente por lo mejor
 Búsqueda Avara
Iasi
h=160
Neamt
h=150
Iasi
h=160
Vaslui
h=170
Búsqueda preferente por lo mejor
 Búsqueda Avara
Iasi
h=160
Neamt
h=150
Vaslui
h=170
Iasi
h=160
Neamt
h=150
Búsqueda preferente por lo mejor
 Búsqueda Avara
– Se asemeja a la búsqueda preferente por profundidad,
ya que se “atora” al toparse con un callejón sin salida.
– Tiene sus mismas deficiencias: no es óptima, es
incompleta, puede recorrer una ruta infinita.
– Su complejidad es espacial es tan grande como su
temporal: O(bm), donde m es la profundidad máxima del
espacio de búsqueda. Una buena función heurística
permite disminuir notablemente la complejidad tanto de
espacio como de tiempo.
Resumen (Búsqueda Avara)
 Consiste en reducir al mínimo el costo estimado para
alcanzar una meta.
 Para ello se utiliza una función llamada heurística, la cual
estima el costo que implica llegar a una meta desde un
estado determinado, y elige cual es el siguiente nodo que
se va a expandir aplicando esta función a cada nodo.
– En esta búsqueda el tiempo y la cantidad de memoria
necesaria crece exponencialmente con respecto a la
profundidad. Pero la elección de una buena función
heurística
permite
disminuir
notablemente
la
complejidad tanto en tiempo como en espacio.
– No es óptima ni completa.
BUSQUEDA A*
Búsqueda preferente por lo mejor
 Búsqueda A*
– La búsqueda avara reduce h(n), el costo hacia
la meta, pero no es óptima ni completa.
– La búsqueda de costo uniforme reduce g(n), el
costo de ruta, es óptima y completa, pero
puede ser ineficiente.
– Las dos funciones se podrían combinar
mediante una suma:
f(n) = g(n) + h(n)
Búsqueda preferente por lo mejor
 Búsqueda A*
– f(n) puede llamarse el costo estimado de la
solución más barata, pasando por n.
– Es posible demostrar que esta estrategia es
completa y óptima, dada una restricción de h.
– La restricción es escoger una función h que
nunca sobreestime el costo que implica
alcanzar la meta.
Búsqueda preferente por lo mejor
 Búsqueda A*
– A dicha función h se le llama heurística admisible.
– A la búsqueda preferente por lo mejor que usa f como
función de evaluación y una función h aceptable se le
conoce como búsqueda A*.
– En el ejemplo de Rumania, la distancia en línea recta es
una heurística aceptable, ya que la ruta más corta
entre dos puntos es la línea recta (por lo tanto, siempre
será menor que la distancia real, nunca la
sobreestimará).
Búsqueda preferente por lo mejor
 Búsqueda A*
Arad
f=0+366
f=366
Búsqueda preferente por lo mejor
 Búsqueda A*
Arad
Sibiu
f=140+253
f=393
Timisoara
f=118+329
f= 447
Zerind
f=75+374
f=449
Búsqueda preferente por lo mejor
 Búsqueda A*
Arad
Sibiu
f=140+253
f=393
Arad
f=280+366
f=646
Timisoara
f=118+329
f= 447
Fagaras
f=239+178
f=417
Oradea
f=146+380
f=526
Zerind
f=75+374
f=449
Rimnicu
f=220+193
f=413
Búsqueda preferente por lo mejor
 Búsqueda A*
– Se puede observar que a lo largo de las rutas originadas en la raíz,
el costo f nunca disminuye.
– En toda heurística donde esto ocurre, se dice que muestra
monotonicidad.
– Si la heurística fuera no monotónica, debe usarse la fórmula
f(n’) = max f(n),g(n’) + h(n’)
Donde n’ es el nodo actual y n es el padre de n’
– A esta fórmula se le llama ecuación de ruta máxima.
Resumen (Búsqueda A*)
 Esta búsqueda es una búsqueda preferente por lo mejor en la que
se utiliza f como función de evaluación.
 La función f calcula el costo estimado de la solución más barata,
pasando por n y se calcula de la siguiente manera:
f=g(n) + h(n)
 Siendo g(n) el costo de ruta y h(n) una heurística admisible (que
nunca sobreestima el costo que implica alcanzar la meta).
– En esta búsqueda la cantidad de memoria necesaria crece
exponencialmente con respecto a la profundidad. Pero la
elección de una buena función heurística permite disminuir
notablemente la complejidad tanto en tiempo como en
espacio.
– Es óptima y completa.
Descargar