Sunteți pe pagina 1din 40

Universidad Centro de

de Oviedo Inteligencia Artificial

SISTEMAS INTELIGENTES
T3: Bsqueda Heurstica
{jdiez, juanjo} @ aic.uniovi.es

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

ndice
Conceptos generales de bsqueda
informada o heurstica
Sistemas de bsqueda heurstica
Bsquedas sistemticas:
Voraz primero el mejor
Algoritmo A*
Memoria acotada
Bsqueda local:
Escalada (hill-climbing)
Temple simulado (simulated annealing)
Haz local (beam search)
Algoritmos genticos (T4)
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda informada o heurstica


La bsqueda no informada es tremendamente
ineficiente en la mayora de los casos
El propsito de la bsqueda informada es utilizar
conocimiento especfico del problema para alcanzar el
objetivo de manera ms eficiente
La idea es ser capaces de medir la calidad de un
estado
Eso nos permitir dirigir la bsqueda por los estados
mejores que estarn ms cerca del objetivo y no
seguir estrategias en anchura o profundidad que no
tienen en cuenta la calidad de los estados
Las estrategias de bsqueda informada son mucho
ms eficientes que las no informadas
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Funcin de evaluacin (I)


Funcin de evaluacin f(n), dado un nodo n
estima la distancia desde ese nodo n a un nodo
objetivo
Un nodo tendr ms calidad cuanto menor sea la
distancia al objetivo
Las bsquedas informadas expanden primero los
nodos que estn ms cerca del objetivo, aquellos en
los que la funcin f(n) asigna un menor valor
Hay distintas formas de definir la funcin de
evaluacin. Bsicamente, se pueden tener en cuenta
dos distancias:
La distancia desde el nodo inicial a n
La distancia desde n hasta un nodo objetivo

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda primero el mejor


Se expandirn primero los estados con menor
valor de f(n)
Es un caso particular de los algoritmos
generales de bsqueda en rboles o grafos
El nombre primero el mejor es inexacto, si
realmente supiramos cul es el mejor, la
bsqueda sera directa
En realidad escogemos el estado que parece
el mejor
La funcin de evaluacin es un estimador

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Funcin de evaluacin (II)


Puede tener dos componentes:
Coste del camino g(n): coste del mejor camino
conocido para ir desde el nodo inicial al nodo n

Funcin heurstica h(n): estimacin del camino de


menor coste desde el nodo n a un objetivo
Si n es un objetivo necesariamente h(n)=0

Jugando con g(n) y h(n) podemos definir


distintas funciones de evaluacin f(n):
f(n) = g(n) (Coste uniforme, bsq. no infor.)
f(n) = h(n) (Voraz primero el mejor)

f(n) = g(n)+h(n) (A*)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda voraz primero el mejor (I)


Se trata de expandir el nodo ms cercano al
objetivo
f(n)=h(n)
No tiene en cuenta el coste de llegar hasta n
Se pretende llegar rpidamente a la solucin,
sin importar tanto el coste
La bondad que tenga la funcin heurstica h
determinar la rapidez con que llegamos a un
estado objetivo

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda voraz primero el mejor (II)


hDLR(n) = distancia en
lnea recta
desde n a
Bucarest

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda voraz primero el mejor (III)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda voraz primero el mejor (IV)

En este caso encuentra una


solucin de forma directa, pero no
es ptima
Su avaricia le lleva a descartar
la ruta por Rimnicu Vilcea y
Pitesti, que es 32 Km. ms corta
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda voraz primero el mejor (V)


La minimizacin de h(n) puede llevarnos a
ventajas falsas
Puede hacernos expandir nodos innecesarios
Si
no se tiene cuidado con los estados repetidos,
podemos llegar a callejones sin salida

Se parece a la bsqueda primero en


profundidad y tiene las mismas desventajas:
No es ptima y es incompleta
La complejidad es O(bm)

La complejidad se reduce en funcin de la


calidad de la heurstica utilizada
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A* (I)
Estrategia ms conocida de bsqueda primero el
mejor
Trata de minimizar el coste estimado total de la
solucin. La funcin de evaluacin es:
f(n) = g(n) + h(n)
En este caso f(n) representa el coste estimado menor
de una solucin que pase por n
Esta estrategia es muy buena, incluso ptima si la
funcin heurstica cumple ciertas condiciones:
Admisibilidad: no sobreestimar el coste hasta el
objetivo
Consistencia o Monotona: desigualdades
triangulares entre nodos sucesores
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A* (II)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A* (III)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A* (IV)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Admisibilidad (I)
h(n) es admisible si no sobrestima el coste
de alcanzar el objetivo, es decir,
h(n) <= h*(n) (coste ptimo desde n)

Dado que g(n) es el coste exacto para


alcanzar n, f(n) no sobrestima el coste
verdadero de una solucin a travs de n
f(n) <= f*(n) (coste ptimo de una solucin por n)

Ejemplo: hDLR es admisible

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Admisibilidad (II)
A*, usando el algoritmo de bsqueda en
rboles, es ptimo si h(n) es admisible
Demostracin: Supongamos que en la frontera
tenemos un nodo objetivo no ptimo n2 y que el
coste a una solucin ptima es C*:
f(n2)=g(n2)+h(n2)=g(n2)>C*
Si consideramos que en la frontera tiene que haber
un nodo n1 que est sobre un camino solucin
ptimo
f(n1)=g(n1)+h(n1)<=C* ya que h es admisible
Luego n2 no ser expandido y A* es ptimo

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Consistencia o Monotona (I)


h(n) es consistente si para cada nodo n y para
cada sucesor n de n generado por cualquier accin
a debe cumplirse que
h(n) <= c(n,a,n) + h(n)
Se puede demostrar que si h es consistente
tambin es admisible

Esto es una forma de desigualdad


n c(n,a,n)
triangular, el tringulo est
formado por n, n y el objetivo h(n)
n
ms cercano a n h(n)

Ejemplo: hDLR es consistente


objetivo

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Consistencia o Monotona (II)


A*, usando el algoritmo de bsqueda en grafos, es
ptimo si h(n) es consistente
Si h(n) es consistente entonces los valores de f(n) a
lo largo de cualquier camino no disminuyen
Demostracin: Supongamos n sucesor de n entonces g
(n) = g(n)+c(n,a,n). Siguiendo la definicin:
f(n)=g(n)+h(n)= g(n)+c(n,a,n)+h(n)>= g(n)+h(n)= f(n)
Los nodos expandidos por A* tienen valores crecientes de f
(n). Luego el primer nodo objetivo seleccionado para
expandir debe ser la solucin ptima, ya que los nodos
posteriores sern al menos tan costosos

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A* (V)
Conclusiones
A* expande todos los nodos con f(n)<C*
A* podra expandir nodos con f(n)=C* antes de seleccionar
un nodo objetivo
A* no expande ningn nodo con f(n)>C* (poda)

A* es ptimamente eficiente, ningn otro algoritmo


ptimo garantiza expandir menos nodos que A*
(excepto por los desempates en f(n)=C*). Los
algoritmos que no expandan todos los nodos f(n)<C*
corren el riesgo de no encontrar la solucin ptima
La bsqueda A* es completa, ptima y ptimamente
eficiente entre todos los algoritmos

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A* (VI)
Pero A* no es la solucin a todos los males
En la mayora de problemas los nodos que cumplen
que f(n)<C* definen un espacio de bsqueda todava
exponencial
El nmero de nodos expandidos suele ser exponencial
para la mayora de problemas, lo que supone un
problema de tiempo y espacio
Pueden utilizarse variantes que encuentran soluciones
subptimas o heursticas ms exactas pero no
admisibles
BRPM y los algoritmos con memoria acotada (A*M y
A*MS) son evoluciones de A* que utilizan cantidades
limitadas de memoria
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda recursiva primero el mejor (I)


Es similar a la bsqueda primero en profundidad
recursiva
En lugar de seguir indefinidamente hacia abajo el
camino actual, se mantiene el mejor camino
alternativo disponible de uno de los antepasados del
nodo actual
Si el nodo actual excede el lmite, la recursividad
vuelve atrs al camino alternativo
Cuando vuelve hacia atrs sustituye el valor de f de
cada nodo a lo largo del camino con el mejor valor de f
de uno de sus hijos
De esta forma el algoritmo recuerda la calidad de la
mejor hoja del subrbol olvidado y as puede decidir
ms tarde si merece expandir de nuevo ese subrbol

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda recursiva primero el mejor (II)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda recursiva primero el mejor (III)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda recursiva primero el mejor (IV)


Es un algoritmo ptimo si h es admisible
La complejidad espacial es O(bd)
Su complejidad temporal es difcil de
caracterizar ya que depende de la exactitud de
la funcin heurstica y de cmo cambia el
camino al ir expandiendo nodos
El algoritmo sufre al usar muy poca memoria,
aunque tenga ms memoria disponible. Eso le
obliga a volver a expandir caminos ya visitados
Una solucin mejor pasa por usar ms
memoria y tener que re-expandir menos nodos
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A*MS (memoria simplificada) (I)


La idea es ocupar toda la memoria disponible
Expande nodos de la misma forma que A*
hasta que la memoria se llena. En ese punto,
no se puede aadir ningn nuevo nodo
Lo que se hace es eliminar el peor nodo hoja y,
como en BRPM, A*MS devuelve hacia atrs el
valor del nodo olvidado. De esta forma el
antepasado sabe la calidad del mejor camino
en ese subrbol
Si todos los descendiente de un nodo n son
olvidados, no sabremos por qu camino ir
desde n, pero s cuanto cuesta

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda A*MS (memoria simplificada) (II)


Es completo si hay alguna solucin alcanzable, es decir,
si d es menor que el tamao de la memoria
Es ptimo si alguna solucin ptima es alcanzable; de
otra manera devuelve la mejor solucin alcanzable
Pasa por ser el mejor algoritmo para encontrar
soluciones ptimas cuando:
el espacio de estados es un grafo
con costes no uniformes
la generacin de nodos es costosa en comparacin
con la gestin de las listas abierta y cerrada
Las restricciones de memoria pueden hacer un problema
intratable en cuanto a tiempo de clculo
La compensacin entre tiempo y memoria es siempre
ineludible, la nica salida es sacrificar la exigencia de
encontrar soluciones ptimas
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Funciones heursticas
Es fundamental definir buenas funciones heursticas para
mejorar las bsquedas con A*
Un heurstico h est mejor informado que h sii los dos
son admisibles y parta todo n no objetivo: h(n)>h(n)
Ejemplo: n-puzzle
h1=nmero de piezas mal colocadas
h2=suma de las distancias de las piezas a sus posiciones objetivo

h1=8
h2=3+1+2+2+2+3+
3+2 =18

Ambas son admisibles


Cul es mejor?
Estado inicial Estado objetivo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Formas de definir funciones heursticas


Relajando el problema
Original: una ficha puede moverse de A a B si son adyacentes
(horizontal o verticalmente) y B es vaca
un ficha puede moverse de A a B si son adyacentes (h2)
un ficha puede moverse de A a B si B es vaco
un ficha puede moverse de A a B en cualquier caso (h1)

Combinando heursticas
si disponemos de un conjunto de heursticas admisibles h1,
,hm y ninguna domina al resto:
h(n)=max{h1,,hm } h domina a todas las dems

Calculando el coste de un subproblema


Mediante programas:
ABSOLVER genera heursticas a partir de la definicin formal
del problema, relanjndolo
Programas que aprenden a partir de la experiencia

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Tcnicas de bsqueda local (I)


Los algoritmos de bsqueda local se usan cuando el
camino hasta el objetivo es irrelevante y
solamente interesa el estado objetivo
Muchos de ellos funcionan con un solo estado, el
actual, y se mueven a los vecinos de ese estado
Se utilizan para resolver problemas de optimizacin
puros, en los que no existe un estado objetivo, sino
que se trata de encontrar el mejor estado segn una
funcin objetivo
Ventajas:
Este tipo de algoritmos usan menos memoria ya que no
necesitan mantener los caminos hasta la solucin
A menudo encuentran soluciones razonables en espacios de
estados muy grandes en los que los algoritmos sistemticos
son inadecuados

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Tcnicas de bsqueda local (II)


Funcin objetivo Mximo global

Terraza

Mximo local
Meseta

Estado actual Espacio de


estados

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Tcnicas de bsqueda local (III)


z = 3*(1-x)2 *
exp(-(x2) - (y+1)2)
10*(x/5 - x3 - y5) *
exp(-x2-y2) -
1/3*exp(-(x+1)2 y2)

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda por escalada (hill-climbing) (I)


Es un algoritmo voraz, que no mantiene un rbol de
bsqueda, sino slo la representacin del estado
actual y el valor de su funcin objetivo
No se mira ms all de los vecinos inmediatos del
estado actual
Escoge el vecino que tiene un mejor valor de la
funcin objetivo
Finaliza cuando alcanza un extremo (mximo o
mnimo, depende del planteamiento)
Obviamente no garantizan encontrar la solucin
ptima, la bsqueda se puede quedar atascada:
en un mximo o mnimo local
en una meseta, en una terraza
en una cresta

Pero es capaz de encontrar soluciones rpidamente


Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda por escalada (hill-climbing) (II)


8-reinas con bsqueda por escalada:
Cada estado tiene las 8 reinas en el tablero
La funcin sucesor devuelve todos los estados posibles
moviendo una reina a otra posicin de la misma columna
La funcin objetivo es el numero de pares de reinas que se
atacan, directa o indirectamente

h=17 h=1

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Variantes de hill-climbing
Escalada estocstica
escogealeatoriamente entre todos los sucesores con mejor
valoracin que el estado actual
Escalada de primera opcin
generan
aleatoriamente sucesores, escogiendo el primero
con mejor valoracin que el estado actual
Escalada con reinicio aleatorio
se repite varias veces la bsqueda, partiendo cada vez de
un estado inicial distinto, generado aleatoriamente
si no te sale a la primera, intntalo otra vez
si la probabilidad de xito de una bsqueda individual es p,
entonces el nmero esperado de reinicios es 1/p

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda por temple simulado


Temple: proceso para endurecer metales, calentndolos a un
temperatura alta y luego dejndolos enfriar gradualmente
La idea es movernos de los extremos locales mediante sacudidas
(simulan la temperatura) que irn decreciendo en intensidad
Trata de combinar hill-climbing con bsqueda aleatoria
Se selecciona aleatoriamente un sucesor del estado actual y se
pasa a l de forma condicional:
Si su valoracin es mejor, se pasa a ese nuevo estado
Si la valoracin del sucesor no es mejor, pasamos con probabilidad eE/T
- E es el gradiente de la valoracin
- T es una metfora de la temperatura en un proceso de templado metalrgico

Si T disminuye bastante despacio, el algoritmo encontrar un ptimo


global con probabilidad cerca de uno
Utilizada en problemas de distribucin VLSI y de optimizacin a gran
escala

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda por haz local (beam search)


Se guarda la pista de k estados
Comienza con estados generados aleatoriamente. Si alguno es
objetivo, se detiene la bsqueda
En cada paso se generan todos los sucesores de los k estados.
Si alguno es objetivo, se detiene la bsqueda
Si no, se seleccionan los k mejores sucesores de la lista
completa y se repite el proceso
Es diferente a lanzar en paralelo k escaladas con
reinicio aleatorio:
En la bsqueda por haz local la informacin til se pasa entre
los k hilos de bsqueda, si uno genera mejores sucesores, los k
hilos de bsqueda seguirn por ese camino
Puede carecer de diversidad en los k estados

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda por haz estocstica


La bsqueda por haz local puede concentrarse
rpidamente en pequeas regiones del espacio
de estados (explotacin)
A veces es necesario explorar otras zonas
aparentemente peores
Trata de combinar la explotacin de las zonas
mejores con la exploracin de las zonas
aparentemente peores
En vez de elegir los k mejores sucesores, se eligen k
sucesores con una probabilidad que es funcin
creciente de su valoracin
los mejores tiene mayor probabilidad de ser elegidos,
aunque no siempre lo sern
Guarda relacin con la seleccin natural

Sistemas Inteligentes - T3: Bsqueda Heursitica


Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda en espacios continuos (I)


La funcin sucesor devuelve infinitos estados
Ejemplo: colocar tres aeropuertos en Rumania
minimizando su distancia a las ciudades
estados: estn definidos por las coordenadas de los 3
aeropuertos: (x1,y1) (x2,y2) (x3,y3)
funcin objetivo: f(x1,y1,x2,y2,x3,y3)=distancia de todas las
ciudades a su aeropuerto ms cercano

Muchos mtodos usan el gradiente que nos da


la magnitud y la direccin de la inclinacin ms
pronunciada:
f f f f f f
f = , , , , ,
x1 x2 x3 x4 x5 x6
Sistemas Inteligentes - T3: Bsqueda Heursitica
Universidad Centro de
de Oviedo Inteligencia Artificial

Bsqueda en espacios continuos (II)


Normalmente, no podemos encontrar un
extremo resolviendo de forma directa f = 0
Pero podemos calcular el gradiente localmente
y hacer un hill-climbing actualizando el estado
actual
x x + f (x) donde es una pequea cte

La determinacin de es fundamental: si es
pequea necesitaremos muchos pasos para
alcanzar un extremo, y si es grande podremos
pasarnos del extremo
Sistemas Inteligentes - T3: Bsqueda Heursitica

S-ar putea să vă placă și