ssii-t3-busquedaii

10
Centro de Inteligencia Artificial Universidad de Oviedo Sistemas Inteligentes - T3: Búsqueda Heurísiti ca SISTEMAS INTELIGENTES T3: Búsqueda Heurística {jdiez, juanjo} @ aic.uniovi.es Centro de Inteligencia Artificial Universidad de Oviedo Sistemas Inteligentes - T3: Búsqueda Heurísiti ca Índice  Conceptos generales de búsqueda informada o heurística  Sistemas de búsqueda heurística  Búsquedas sistemáticas: » Voraz primero el mejor » Algoritmo A* » Memoria acotada  Búsqueda local: » Escalada (hill-climbing) » Temple simulado (simulated annealing) » Haz local (beam search) » Algoritmos genéticos (T4) Centro de Inteligencia Artificial Universidad de Oviedo Sistemas Inteli gentes - T3: Búsqueda Heurí sitica Búsqueda informada o heurística  La búsqueda no informada es tremendamente ineficiente en la mayoría de los casos  El propósito de la búsqueda informada es utilizar conocimiento específico del problema para alcanzar el objetivo de manera más eficiente  La idea es ser capaces de medir la “calidad” de un estado  Eso nos permitirá dirigir la búsqueda por los estados mejores que estarán “más cerca” del objetivo y no seguir estrategias en anchura o profundidad que no tienen en cuenta la calidad de los estados  Las estrategias de búsqueda informada son mucho más eficientes que las no informadas Centro de Inteligencia Artificial Universidad de Oviedo Sistemas Inteli gentes - T3: Búsqueda Heurí sitica Función de evaluación (I)  Función de evaluación f(n), dado un nodo n estima la distancia desde ese nodo n a un nodo objetivo  Un nodo tendrá más calidad cuanto menor sea la distancia al objetivo  Las búsquedas informadas expanden primero los nodos que están más cerca del objetivo, aquellos en los que la función f(n) asigna un menor valor  Hay distintas formas de definir la función de evaluación. Básicamente, se pueden tener en cuenta dos distancias:  La distancia desde el nodo inicial a n ° La distancia desde n hasta un nodo objetivo

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 +