Búsqueda Informada

Anuncio
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
Descargar