ssii-t3-busquedaii
Transcript of ssii-t3-busquedaii
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
SISTEMAS INTELIGENTES T3: Bsqueda Heurstica
{jdiez, juanjo} @ aic.uniovi.es
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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)
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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*)
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Bsqueda voraz primero el mejor (II)
hDLR(n) = distancia en lnea recta desde n a Bucarest
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Bsqueda voraz primero el mejor (III)
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Bsqueda voraz primero el mejor (IV)
En este caso eencuentra una solucin de forma directa, peroes ptima Su avaricia le lleva a descartla ruta por Rimmnicu Vilcea y
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Bsqueda A* (II)
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Bsqueda A* (III)
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Bsqueda A* (IV)
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Admisibilidad (I) h(n) es admisible si no sobrestima el coste de alcanzar el objetivo, es decir,
h(n)
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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)
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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)
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Estado inicial Estado objetivo
h1=8 h2=3+1+2+2+2+3+ 3+2 =18 Ambas son admisibles Cul es mejor?
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Tcnicas de bsqueda local (II) Mximo global
Mximo local
Estado actual
Funcin objetivo
Espacio de estados
Terraza
Meseta
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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)
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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=1 h=17
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Variantes de hill-climbing Escalada estocstica
escoge aleatoriamente 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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
-
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
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:
=654321
,,,,,xf
xf
xf
xf
xf
xff
Centro de Inteligencia Artificial
Universidad de Oviedo
Sistemas Inteligentes - T3: Bsqueda Heursitica
Normalmente, no podemos encontrar un extremo resolviendo de forma directa
Pero podemos calcular el gradiente localmente
y hacer un hill-climbing actualizando el estado actual
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
Bsqueda en espacios continuos (II)
0=f
)(xfxx +