30
Búsqueda Informada Heurísticas

Heurísticas - UVajjalvarez/asignaturas/IA...Minimizar el costo de ruta total vObservaciones OSupongamos que tenemos un nodo n a una profundidad d en el árbol de búsqueda y que adivinamos

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Búsqueda Informada

Heurísticas

Búsqueda informada: heurística

Ejemplo de heurística para el problemadel 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 deGreedy

Evaluación de la búsqueda de Greedy

Minimizar el costo de ruta total

La búsqueda avara minimiza el costo estimado hasta la meta h(n)poda fuertemente el costo de búsquedani óptima ni completa

la búsqueda de costo uniforme minimiza el costo hasta esemomento, g(n)

óptima y completapodría ser muy ineficiente

f(n) = g(n) + h(n) = costo estimado de la solución más baratapasando por (n)

Minimizar el costo de ruta total

ObservacionesSupongamos que tenemos un nodo n a una profundidad d en elárbol de búsqueda y que adivinamos que ese nodo se halla a unadistancia h(n) de la meta más cercana a él.La meta estaría entonces a la profundidad d + h(n) en el espaciode problemaEn 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*

Definir f* - el costo de la solución óptima para la rutaA* expande todos los nodos con f(n) < f*A* podría expandir algunos de los nodos a la derecha del“contorno de la meta”, para los cuales f(n) = f*, antes deseleccionar el estado meta.

La primera solución encontrada debe ser la óptima, dado que losnodos de todos los contornos subsiguientes tendrán un costo f más altoy con ello un costo g más alto (todos los estados meta tienen h(n) = 0)

(2) 2

(3) 1

(4) 1

(5) 1

(6) 1

(7) goal

goal

3 (1)

4

1

Buscando una solución subóptimaLas etiquetas de los nodos son su valorheurístico h = k y los números entreparéntesis son el orden de prioridad paraexpandir.

El valor k de un nodo significa queesperamos que esté a k pasos de la meta.

El método siempre expande nodos con unamínima distancia esperada al nodo meta,así que el subárbol de la derecha nuncatiene turno para expandir. (Es una cola queprivilegia a la ruta izquierda, primero enprofundidad)

Conclusión: no tratamos de encontrar unnodo meta que esté a una menorprofundidad.

Las etiquetas de los nodos son su valorheurístico h = k y los números entreparéntesis son el orden de prioridad paraexpandir.

El valor k de un nodo significa queesperamos que esté a k pasos de la meta.

El método siempre expande nodos con unamínima distancia esperada al nodo meta,así que el subárbol de la derecha nuncatiene turno para expandir. (Es una cola queprivilegia a la ruta izquierda, primero enprofundidad)

Conclusión: no tratamos de encontrar unnodo meta que esté a una menorprofundidad.

(2) 1+2

(3) 2+1

(4) 3+1

(5) 4+1

5+1

goal

goal

0+3 (1)

1+4 (6)

2+1 (7)

Buscar la Solución OptimaTratamiento para el diagnóstico previo:

Las etiquetas de los nodos son aquí“profundidad + valor heurístico”. Númerosentre paréntesis son orden de expansión.

Para A* no hay diferencia real entre (5) y(6)

No se puede garantir que se puedaencontrar la solución óptima .

Por ejemplo, qué pasa si (5) fuese elnodo meta?Problema: con pesimismo se haetiquetado al primer nodo de la ramaderecha como 4 (hemossobreestimado su distancia a la meta)

Es imperiosa una heurística optimista.

Tratamiento para el diagnóstico previo:

Las etiquetas de los nodos son aquí“profundidad + valor heurístico”. Númerosentre paréntesis son orden de expansión.

Para A* no hay diferencia real entre (5) y(6)

No se puede garantir que se puedaencontrar la solución óptima .

Por ejemplo, qué pasa si (5) fuese elnodo meta?Problema: con pesimismo se haetiquetado al primer nodo de la ramaderecha como 4 (hemossobreestimado su distancia a la meta)

Es imperiosa una heurística optimista.

3+0 (8)

(2) 1+2

(3) 2+1

3+1

4+1

5+1

goal

goal

0+3 (1)

1+2 (4)

2+1 (5)

Buscar la Solución OptimaAdmisibilidad

h - la función heurística - esoptimista si para todo n, h(n) < hp (coste real dellegar al nodo meta)con eso no se sobreestima alcosto.Una heurística optimista(que infravalora el coste) sellama admisible

Casos especialesh(n) = hp(n) (la heurísticaperfecta)h(n) = 0 ?...(búsqueda ciega)

Admisibilidadh - la función heurística - esoptimista si para todo n, h(n) < hp (coste real dellegar al nodo meta)con eso no se sobreestima alcosto.Una heurística optimista(que infravalora el coste) sellama admisible

Casos especialesh(n) = hp(n) (la heurísticaperfecta)h(n) = 0 ?...(búsqueda ciega)

3+0 (6)

Forma útil de ver la optimalidad de A*

Lema ⇒ A* expande nodos en el orden de valorescrecientes de f

Esto implica decir que así como Primero en Amplitud vaagregando niveles o capas, A* va agregando contornos“iso-f” siempre crecientes (un contorno “fi” tiene todos losnodos con f = fi), incluyendo al nodo de inicio endirección al nodo meta.

“Contornos” concéntricos “iso-f”

380

A* aplicado a la búsqueda enRumania

Optimalidad de A*: demostración

*------------------------------------------------ * n

* G1*G2

Sea una meta subóptimaG2 que está en la cola deesperaSea n un nodo sinexpandir en el camino máscorto hacia una metaóptima G1A* nunca va a elegir G2para 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 unnodo 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.aSea n un nodo sin expandir en la ruta desde el nodo inicio y elnodo meta óptimo s. Notar que ese nodo sin expandirnecesariamente existe, de acuerdo con la suposición previa (en elotro 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 rutahacia 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), yentonces

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 indicaque s’ es una meta subóptima..

Resumen del algoritmo A*

Una heurística admisible nunca sobreestima el costode llegar a la metaun estimado de costo optimista en la solución de unproblema es menor -más barato- que el real.Si h es admisible, f(n) nunca sobreestima el costo realde la mejor solución pasando por nLa búsqueda A* - con f(n) y con h admisible es:

completa y óptimaejemplo: hDLR es admisible

Búsqueda A*: ejemplo

Evaluación de la búsqueda A*

Heurísticos admisibles: ejemplos

Heurísticos dominantes