Métodos de Búsqueda Informados - WordPress.com · 2012-04-28 · Las estrategias de búsqueda...

28
Métodos de Búsqueda Informados Prof. Lic Ana María Huayna D.

Transcript of Métodos de Búsqueda Informados - WordPress.com · 2012-04-28 · Las estrategias de búsqueda...

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

Arad h=366

Sibiu h=253

Timisoara h=329

Zerind h=374

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

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

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

Vaslui h=170

Iasi h=160

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

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.