Búsqueda Informada Heurísticas Búsqueda informada: heurística Ejemplo de heurística para el problema del viajante de comercio Clasificación de heurísticas Ventajas de las heurísticas Aplicando heurísticas Algoritmo de búsqueda de Greedy Búsqueda de Greedy: ejemplo Grafo del ejemplo de la búsqueda de Greedy Evaluación de la búsqueda de Greedy Minimizar el costo de ruta total v La búsqueda avara minimiza el costo estimado hasta la meta h(n) O poda fuertemente el costo de búsqueda O ni óptima ni completa v la búsqueda de costo uniforme minimiza el costo hasta ese momento, g(n) O óptima y completa O podría ser muy ineficiente v f(n) = g(n) + h(n) = costo estimado de la solución más barata pasando por (n) Minimizar el costo de ruta total v Observaciones O O O O O Supongamos que tenemos un nodo n a una profundidad d en el árbol de búsqueda y que adivinamos que ese nodo se halla a una distancia h(n) de la meta más cercana a él. La meta estaría entonces a la profundidad d + h(n) en el espacio de problema En lugar de elegir para la expansión el nodo de mínimo h(n) (distancia esperada hacia la meta), elegimos el nodo de ⇒ MIN { d + h(n) } La profundidad se mide con la función de costo de la ruta g(n) Quedando MIN { g(n) + h(n) } Algoritmo de búsqueda A* Algoritmo de búsqueda A* Optimalidad de A* v Definir f* - el costo de la solución óptima para la ruta O A* expande todos los nodos con f(n) < f* O A* podría expandir algunos de los nodos a la derecha del “contorno de la meta”, para los cuales f(n) = f*, antes de seleccionar el estado meta. v La primera solución encontrada debe ser la óptima, dado que los nodos de todos los contornos subsiguientes tendrán un costo f más alto y con ello un costo g más alto (todos los estados meta tienen h(n) = 0) Buscando una solución subóptima 4 vv Las Lasetiquetas etiquetasde delos losnodos nodosson sonsu suvalor valor heurístico heurístico hh==kk yylos losnúmeros númerosentre entre paréntesis paréntesisson sonelelorden ordende deprioridad prioridadpara para expandir. expandir. (3) 1 1 vv El Elvalor valorkkde deun unnodo nodosignifica significaque que esperamos esperamosque queesté estéaakkpasos pasosde delalameta. meta. (4) 1 goal 3 (1) (2) 2 (5) 1 vv El Elmétodo métodosiempre siempreexpande expandenodos nodoscon conuna una mínima mínimadistancia distanciaesperada esperadaalalnodo nodometa, meta, así asíque queelelsubárbol subárbolde delaladerecha derechanunca nunca tiene tieneturno turnopara paraexpandir. expandir.(Es (Esuna unacola colaque que privilegia a la ruta izquierda, primero en privilegia a la ruta izquierda, primero en profundidad) profundidad) (6) 1 (7) goal vv Conclusión: Conclusión:no notratamos tratamosde deencontrar encontrarun un nodo nodometa metaque queesté estéaauna unamenor menor profundidad. profundidad. Buscar la Solución Optima vv Tratamiento Tratamientopara paraeleldiagnóstico diagnósticoprevio: previo: 0+3 (1) (2) 1+2 1+4 (6) (3) 2+1 2+1 (7) (4) 3+1 3+0 (8) goal (5) 4+1 5+1 goal vv Las Lasetiquetas etiquetasde delos losnodos nodosson sonaquí aquí “profundidad “profundidad++valor valorheurístico”. heurístico”.Números Números entre entreparéntesis paréntesisson sonorden ordende deexpansión. expansión. vv Para ParaA* A*no nohay haydiferencia diferenciareal realentre entre(5) (5)yy (6) (6) vv No Nosesepuede puedegarantir garantirque quesesepueda pueda encontrar encontrarlalasolución soluciónóptima óptima. . O Por O Porejemplo, ejemplo,qué quépasa pasasisi(5) (5)fuese fueseelel nodo nodometa? meta? O Problema: O Problema:con conpesimismo pesimismoseseha ha etiquetado etiquetadoalalprimer primernodo nodode delalarama rama derecha derechacomo como44(hemos (hemos sobreestimado sobreestimadosu sudistancia distanciaaalalameta) meta) vv Es Esimperiosa imperiosauna unaheurística heurísticaoptimista. optimista. Buscar la Solución Optima 0+3 (1) (2) 1+2 1+2 (4) (3) 2+1 2+1 (5) 3+0 (6) goal 3+1 4+1 5+1 goal vv Admisibilidad Admisibilidad O h - la función heurística - es O h - la función heurística - es optimista optimistasisipara paratodo todon,n, O h(n) O h(n)<< hp hp(coste (costereal realde de llegar llegaralalnodo nodometa) meta) O con eso no se sobreestima al O con eso no se sobreestima al costo. costo. O Una heurística optimista O Una heurística optimista (que (queinfravalora infravaloraelelcoste) coste)se se llama llamaadmisible admisible vv Casos Casosespeciales especiales O h(n) = hp(n) (la heurística O h(n) = hp(n) (la heurística perfecta) perfecta) O h(n) = 0 ?...(búsqueda ciega) O h(n) = 0 ?...(búsqueda ciega) Forma útil de ver la optimalidad de A* v Lema ⇒ A* expande nodos en el orden de valores crecientes de f v Esto implica decir que así como Primero en Amplitud va agregando niveles o capas, A* va agregando contornos “iso-f” siempre crecientes (un contorno “fi” tiene todos los nodos con f = fi), incluyendo al nodo de inicio en dirección al nodo meta. “Contornos” concéntricos “iso-f” 380 A* aplicado a la búsqueda en Rumania Optimalidad de A*: demostración v * v -----------------------v -----------------------v *n v * G1 *G2 v Sea una meta subóptima G2 que está en la cola de espera v Sea n un nodo sin expandir en el camino más corto hacia una meta óptima G1 v A* nunca va a elegir G2 para su expansión Optimalidad de A* Teorema: Sea hp(n) el costo real desde n hasta la meta. Si h(n) < hp(n) para todo nodo n, entonces A* siempre va a encontrar un nodo meta óptimo. Prueba: Sea s el nodo meta de mínimo costo. Sea (tentativamente) que A* seleccione un nodo meta subóptimo s’, donde g(s) < g(s’)…ec.a Sea n un nodo sin expandir en la ruta desde el nodo inicio y el nodo meta óptimo s. Notar que ese nodo sin expandir necesariamente existe, de acuerdo con la suposición previa (en el otro caso, s ya habría sido elegido como el nodo meta). Optimalidad de A* Puesto que n no ha sido elegido para su expansión en su ruta hacia s’, se sigue que: f(n) = g(n) + h(n) > f(s') = g(s') + h(s') = g(s') Dado que h es admisible, g(n) + hp(n) > g(n) + h(n) = f(n), y entonces g(n) + hp(n) > f(s') = g(s') lo cual implica que g(s) > g(s') ⇒ Esto contradice la suposición previa (ec. a), la que indica que s’ es una meta subóptima.. Resumen del algoritmo A* v Una heurística admisible nunca sobreestima el costo de llegar a la meta v un estimado de costo optimista en la solución de un problema es menor -más barato- que el real. v Si h es admisible, f(n) nunca sobreestima el costo real de la mejor solución pasando por n v La búsqueda A* - con f(n) y con h admisible es: O completa y óptima O ejemplo: h DLR es admisible Búsqueda A*: ejemplo Evaluación de la búsqueda A* Heurísticos admisibles: ejemplos Heurísticos dominantes