métodos de búsqueda informados - wordpress.com · 2012-04-28 · las estrategias de búsqueda...
TRANSCRIPT
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*.
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
Arad h=366
Sibiu h=253
Timisoara h=329
Zerind h=374
Arad h=366 Fagaras
h=178 Oradea h=380
Rimnicu h=193
Búsqueda Avara
Búsqueda preferente por lo mejor
Arad h=366
Sibiu h=253
Timisoara h=329
Zerind h=374
Arad h=366 Fagaras
h=178 Oradea h=380
Rimnicu h=193
Sibiu h=253 Bucharest
h=0 Es una solución, pero no es la óptima
Búsqueda Avara
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
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.
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
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
Timisoara f=118+329 f= 447
Zerind f=75+374 f=449
Arad f=280+366 f=646
Sibiu f=140+253 f=393
Fagaras f=239+178 f=417
Oradea f=146+380 f=526
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.