METODOS DE BUSQUEDA INFORMADOSia2010g2.freevar.com/docs/CLASE_05_FILEminimizer_.pdf · METODOS DE...

Post on 22-Aug-2020

4 views 0 download

Transcript of METODOS DE BUSQUEDA INFORMADOSia2010g2.freevar.com/docs/CLASE_05_FILEminimizer_.pdf · METODOS DE...

METODOS DE BUSQUEDA INFORMADOS

INTRODUCCIONLas estrategias de búsqueda no informada resuelven problemas mediante generación sistemática de estados, pero son muy ineficientes.

Vamos a ver cómo las estrategias de búsqueda informada o heurística, usando conocimiento específico del problema, pueden resolver problemas más eficientemente

BÚSQUEDA PREFERENTE POR LO MEJOR

El conocimiento en base al cual se apoya la decisión del nodo que toca expandirse es obtenido desde una función de evaluación.La función de evaluación produce un número que sirve para representar lo deseable (o indeseable) que sería la expansión de un nodo.

BÚSQUEDA PREFERENTE POR LO MEJOR

Si los nodos se ordenan de tal manera que se expande primero aquél con mejor evaluación, entonces la estrategia es llamada búsqueda preferente por lo mejor.

BÚSQUEDA PREFERENTE POR LO MEJOR

función BUSQUEDA-PREFERENTE-POR-LO-MEJOR (problema, FUNCION-EVALUACION) responde con una secuencia de soluciónentradas: problema, un problemaFunción-Eval, una función de evaluaciónFunción-lista-de-espera � una función que ordena los nodos mediante FUNCIÓN-EVALresponde con BUSQUEDA-GENERAL (Problema, Función-lista-de-espera)

No es completoNo es admisibleComplejidad espacial, temporal, exponencial

COMPORTAMIENTO BPM

BÚSQUEDA PREFERENTE POR LO MEJOR

Así como es existe una familia de algoritmos BUSQUEDA-GENERAL, con distintas funciones de ordenamiento, también existe una familia de algoritmos BUSQUEDA-PREFERENTE-POR-LO-MEJOR, que varían la función de evaluación.

BÚSQUEDA PREFERENTE POR LO MEJOREn el método de costo uniforme, se empleaba el costo de ruta (g) para decidir qué ruta ampliar. g(n) es, entonces, el costo acumulado desde el nodo inicio hasta el nodo en que nos encontramos, n.Esta medida no es una búsqueda directa dirigida a la metaSi se quiere enfocar la búsqueda hacia la meta, en esa medida debe figurar algún tipo de cálculo del costo de ruta del estado actual (n) a la meta.

BUSQUEDA AVARAGREEDY 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.

BÚSQUEDA PREFERENTE POR LO MEJOR

Búsqueda Avara (Greedy Search)Aunque casi siempre es posible calcular el costo aproximado hasta la meta, es difícil hacerlo con precisión.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

BÚSQUEDA PREFERENTE POR LO MEJOR

Búsqueda Avara (Greedy Search)h puede ser cualquier función. El único requisito es que h(n) = 0 cuando n es una meta.Cuando los problemas son de determinación de rutas en el mundo real (ejemplo, Rumania), una buena función heurística es la distancia en línea recta a la meta:

hDLR (n) = distancia en línea recta entre n y la meta

BÚSQUEDA PREFERENTE POR LO MEJOR

Búsqueda Avara (Greedy Search)Para calcular los valores de hDLR se requieren las coordenadas de las ciudades de Rumania.Esta función heurística es útil porque la carretera que va de A a B tiende a dirigirse más o menos en la dirección correcta.

EJERCICIOUtilizar 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 MEJORBúsqueda Avara

Aradh=366

BÚSQUEDA PREFERENTE POR LO MEJORBúsqueda Avara

Aradh=366

Sibiuh=253 Timisoar

ah=329

Zerindh=374

BÚSQUEDA PREFERENTE POR LO MEJOR

Búsqueda Avara

Aradh=366

Sibiuh=253 Timisoar

ah=329

Zerindh=374

Aradh=366 Fagara

sh=178

Oradeah=380

Rimnicuh=193

BÚSQUEDA PREFERENTE POR LO MEJORBúsqueda Avara

Aradh=366

Sibiuh=253 Timisoar

ah=329

Zerindh=374

Aradh=366 Fagara

sh=178

Oradeah=380

Rimnicuh=193

Sibiuh=253 Buchares

th=0

Es una solución, pero no es la óptima

BÚSQUEDA PREFERENTE POR LO MEJORBúsqueda Avara

Esta búsqueda usualmente produce resultados buenosTienden 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 MEJORBúsqueda Avara

Iasih=160

BÚSQUEDA PREFERENTE POR LO MEJORBúsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

BÚSQUEDA PREFERENTE POR LO MEJORBúsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Iasih=160

BÚSQUEDA PREFERENTE POR LO MEJORBúsqueda Avara

Iasih=160

Neamth=150

Vasluih=170

Iasih=160

Neamth=150

BÚSQUEDA PREFERENTE POR LO MEJORBú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.

BUSQUEDA A*

BÚSQUEDA PREFERENTE POR LO MEJORBú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*.

BÚSQUEDA PREFERENTE POR LO MEJOR

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 MEJORBúsqueda A*

Aradf=0+366f=366

BÚSQUEDA PREFERENTE POR LO MEJOR

Búsqueda A*Arad

Sibiuf=140+253f=393 Timisoara

f=118+329f= 447

Zerindf=75+374f=449

BÚSQUEDA PREFERENTE POR LO MEJOR

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 MEJOR

Búsqueda A*. (Comportamiento)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.

BÚSQUEDA PREFERENTE POR LO MEJORBúsqueda A*

Si la heurística fuera no monotónica, debe usarse la fórmulaf(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.