Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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) }
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.
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