BÚSQUEDA INFORMADA Y
EXPLORACIÓN
Estrategias de búsqueda informada (heurísticas)
Funciones heurísticas
Algoritmos de búsqueda local y problemas de optimización
27/03/2014FCT-UNCAIng.HéctorEstigarribia
1
INTELIGENCIA ARTIFICIAL -
UNIDAD 4:
Introducción - Repaso
• Estrategias de búsqueda:
• Búsqueda no informadas  soluciones generando nuevos
estados y probándolos con el objetivo.
• Son muy ineficientes en la mayoría de los casos.
• Búsqueda Informada (heurísticas)  usan el conocimiento
específico del problema, más allá de la definición.
• Más eficientes.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
2
Estrategiasde búsquedainformadas
(heurísticas): Búsquedaprimeroel mejor
Búsqueda primero el mejor:
27/03/2014FCT-UNCAIng.HéctorEstigarribia
3
Caso particular de BUSQUEDA_ARBOLES o BÚSQUEDA_GRAFOS
Selecciona un nodo para la expansión basado en una función de evaluación f(n).
Se selecciona para la expansión el nodo con la evaluación más baja.
La evaluación mide la distancia al objetivo.
Su nombre correcto debería ser “búsqueda primero el aparentemente mejor”
Función heurística h(n):
Coste estimado del camino más barato desde el nodo n al objetivo.
Por ahora la consideraremos arbitraria, específica del problema. Si un
nodo es objetivo, h(n) = 0
• Búsqueda voraz (avara) primero el mejor:  evalúa los nodos
usando solamente la función heurística f(n) = h(n).
27/03/2014FCT-UNCAIng.HéctorEstigarribia
4
Estrategiasde búsquedainformadas
(heurísticas): Búsquedaprimeroel mejor
• Para Rumania: distancia en línea recta DLR  hDLR
• Ejemplo: hDLR(En(Arad)) = 366
• Algoritmo “avaro” en cada paso procura ponerse tan cerca
del objetivo como pueda
• Parecido a “primero en profundidad”, no es óptima, es
incompleta. (Probar llegar desde Iasi a Fagaras)
27/03/2014FCT-UNCAIng.HéctorEstigarribia
5
Estrategiasde búsquedainformadas
(heurísticas): Búsquedaprimeroel mejor
hDLR
27/03/2014FCT-UNCAIng.HéctorEstigarribia
6
Estrategiasde búsquedainformadas
(heurísticas):Búsquedaprimeroel mejor
27/03/2014FCT-UNCAIng.HéctorEstigarribia
7
Estrategiasde búsquedainformadas
(heurísticas):Búsquedaprimeroel mejor
hDLR
• Búsqueda A*: minimizar el costo total de la solución
• (Búsqueda A estrella), forma más conocida de la búsqueda
primero el mejor.
• g(n)  coste para alcanzar el nodo n desde el inicio
• h(n)  coste de ir al nodo objetivo.
• f(n) = g(n) + h(n)  coste más barato estimado de la solución a través de n
27/03/2014FCT-UNCAIng.HéctorEstigarribia
8
Estrategiasde búsquedainformadas
(heurísticas):BúsquedaA*
• Heurística admisible: h(n) no debe sobrestimar el coste de
alcanzar el objetivo, heurísticas optimistas.
• Por tanto f(n) nunca sobrestima el coste verdadero de una
solución a través de n
27/03/2014FCT-UNCAIng.HéctorEstigarribia
9
Estrategiasde búsquedainformadas
(heurísticas):BúsquedaA*
• Si C* es el coste del camino de solución óptimo:
• A* expande todos los nodos con f(n) < C*, o sea
• A* no expande ningún nodo con f(n) > C*.
• Nótese por ejemplo, Timisoara no se expande 447>418.
• El árbol debajo de Timisoara está podado.
• Poda: eliminación de posibilidades a considerar sin necesidad de
examinarlas.
• Cualquier algoritmo que no expanda todos los nodos con f(n) < C*
corre el riesgo de omitir la solución óptima.
• La búsqueda A* es completa, óptima y óptimamente eficiente.
• Problema: espacio en memoria muy grande, no práctico para
problemas grandes
27/03/2014FCT-UNCAIng.HéctorEstigarribia
10
Estrategiasde búsquedainformadas
(heurísticas):BúsquedaA*
• Se adapta la idea de profundizar iterativamente al
contexto de búsqueda heurística, para reducir la
exigencia de memoria de A*.
• Resultado: Algoritmo A* de profundidad iterativa A*PI.
• En cada iteración, el valor del corte es el coste más
pequeño de cualquier nodo que excedió el corte de la
iteración anterior.
• Práctico para problemas con costo unidad.
• Evita el trabajo de mantenimiento de cola ordenada.
• Sufre de los mismos problemas con costos reales que la
versión iterativa de búsqueda de costo uniforme.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
11
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada
• Similar a la búsqueda primero el mejor con profundidad recursiva.
• No sigue indefinidamente hacia abajo el camino actual.
• Mantiene la pista del mejor camino alternativo desde cualquier
antepasado del nodo actual.
• Si el nodo actual excede dicho límite, vuelve hacia atrás al camino
alternativo.
• Recuerda el valor de la mejor hoja en el sub árbol olvidado y puede
decidir si merece la pena expandirlo.
• Más eficiente que A*PI , pero sufre de regeneración excesiva de
nodos (ver ejemplo).
• El algoritmo “cambia de opinión” muchas veces y vuelve atrás.
• Cada “cambio de opinión” es una iteración de A*PI.
• No puede comprobar si hay estados repetidos excepto los que están
en el camino actual, usa poca memoria.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
12
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada–Búsqueda
recursivadelprimeromejorBRPM
27/03/2014FCT-UNCAIng.HéctorEstigarribia
13
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada–Búsqueda
recursivadelprimeromejorBRPM
Se sigue el camino vía Rimnicu Vilcea hasta que
la mejor hoja actual (Pitesti) tenga un valor que
es peor que el mejor camino alternativo
(Fagaras)
27/03/2014FCT-UNCAIng.HéctorEstigarribia
14
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada–Búsqueda
recursivadelprimeromejorBRPM
La recursividad se aplica y el mejor valor da las hojas del
sub árbol olvidado (417) se le devuelve hacia atrás a
Rimnicu Vilcea; entonces se expande Fagaras, revela un
mejor valor de hoja de 450
27/03/2014FCT-UNCAIng.HéctorEstigarribia
15
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada–Búsqueda
recursivadelprimeromejorBRPM
La recursividad se aplica y el mejor valor de las hojas del sub
árbol olvidado (450) se le devuelve hacia atrás a Fagaras;
entonces se expande Rimnicu Vilcea. Esta vez, debido a que el
mejor camino alternativo (por Timisoara) cuesta por lo menos
447, la expansión sigue por Bucarest
• A*PI y BRPM sólo mantienen un número limitado de nodos en
memoria, no aprovecha toda la memoria disponible.
• A*MS avanza como A* expandiendo la mejor hoja hasta que
la memoria esté llena, para continuar suprime la peor hoja.
• ¿Y si todos los nodos hoja tienen el mismo valor?
• A*MS expande la mejor hoja más nueva y suprime la peor
hoja más vieja.
• A*MS es completo si la profundidad del nodo objetivo más
superficial es menor que el tamaño de memoria (expresado
en nodos, claro está).
• De todas formas, las limitaciones de memoria pueden hacer a
un problema intratable desde el punto de vista de tiempo de
cálculo.
• La única salida es suprimir la exigencia de optimización.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
16
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada–Búsqueda
A*M(memoriaacotada)yA*MS(A*Msimplificada)
Funciones heurísticas
• Si queremos encontrar las soluciones más cortas utilizando A*
necesitamos una función heurística que no sobrestime no sea mayor
que el número de pasos al objetivo.
• Para el 8-puzzle, hay 2 comúnmente usadas:
• h1: número de piezas mal colocadas = 8 (admisible).
• h2: suma de las distancias de las piezas a sus posiciones en el
objetivo (suma de las distancias horizontales y verticales, llamada
distancia de Manhattan).
• Para el ejemplo, h2= 18 (también admisible).
• Ambas son admisibles, pues no superan el coste solución verdadero,
que es 26
27/03/2014FCT-UNCAIng.HéctorEstigarribia
17
• Una manera de medir la calidad de la heurística sería el
factor de ramificación eficaz.
• Conviene siempre usar una función heurística con
valores más altos.
• Se podría “inventar” funciones heurísticas admisibles ,
sacando restricciones al problema (problema relajado).
• El costo de una solución óptima en un problema relajado
es una heurística admisible para el problema original.
• También, se podrían “aprender” heurísticas desde la
experiencia, usando un algoritmo de aprendizaje .
27/03/2014FCT-UNCAIng.HéctorEstigarribia
18
Funciones heurísticas
Algoritmos de Búsqueda local
y problemas de optimización
• Hasta ahora, los algoritmos estudiados se diseñan para explorar
espacios de búsqueda.
• Mantienen uno o más caminos en memoria y los marca como
explorados o no.
• Cuando se encuentra un objetivo, el camino al mismo también
constituye una solución al problema.
• En muchos problemas, el camino al objetivo es irrelevante (ejemplo:
8 reinas).
• En estos casos podemos considerar otro tipo de algoritmos, que no
se preocupen en absoluto de los caminos:
• Los algoritmos de búsqueda local funcionan con un solo estado
actual.
• Los caminos seguidos no se retienen.
• Usan poca memoria y pueden encontrar soluciones en espacios de
estados grandes.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
19
• Paisaje del Espacio de estados: posición (estado) y elevación
(función heurística u objetivo)
• Si la elevación corresponde al costo, el objetivo es encontrar el
valle más bajo (mínimo global) .
• Si la elevación corresponde a una función objetivo, el objetivo es
encontrar el pico más alto (máximo global).
27/03/2014FCT-UNCAIng.HéctorEstigarribia
20
Algoritmos de Búsqueda local
y problemas de optimización
Búsqueda de
ascensión de colinas
Búsqueda de temple
simulado
Búsqueda por haz
local
Algoritmos
Genéticos
27/03/2014FCT-UNCAIng.HéctorEstigarribia
21
Algoritmos de Búsqueda local
y problemas de optimización
27/03/2014FCT-UNCAIng.HéctorEstigarribia
22
Algoritmos de Búsqueda local
y problemas de optimización
0
200
400
600
800
1000
1200
1400
1600
Ascención
de colinas
Temple
Simulado
Haz local Genéticos
Trabajo de Investigación
Palabras en
el libro
BIBLIOGRAFÍA
• INTELIGENCIA ARTIFICIAL: UN ENFOQUE MODERNO.
• STUART RUSSELL Y PETER NORVIG.
• PEARSON EDUCATION
• 2da Edición, 2004.
• 1240 páginas
• Capitulo 4, Paginas 107 a 153
27/03/2014FCT-UNCAIng.HéctorEstigarribia
23

Búsqueda informada y exploración

  • 1.
    BÚSQUEDA INFORMADA Y EXPLORACIÓN Estrategiasde búsqueda informada (heurísticas) Funciones heurísticas Algoritmos de búsqueda local y problemas de optimización 27/03/2014FCT-UNCAIng.HéctorEstigarribia 1 INTELIGENCIA ARTIFICIAL - UNIDAD 4:
  • 2.
    Introducción - Repaso •Estrategias de búsqueda: • Búsqueda no informadas  soluciones generando nuevos estados y probándolos con el objetivo. • Son muy ineficientes en la mayoría de los casos. • Búsqueda Informada (heurísticas)  usan el conocimiento específico del problema, más allá de la definición. • Más eficientes. 27/03/2014FCT-UNCAIng.HéctorEstigarribia 2
  • 3.
    Estrategiasde búsquedainformadas (heurísticas): Búsquedaprimeroelmejor Búsqueda primero el mejor: 27/03/2014FCT-UNCAIng.HéctorEstigarribia 3 Caso particular de BUSQUEDA_ARBOLES o BÚSQUEDA_GRAFOS Selecciona un nodo para la expansión basado en una función de evaluación f(n). Se selecciona para la expansión el nodo con la evaluación más baja. La evaluación mide la distancia al objetivo. Su nombre correcto debería ser “búsqueda primero el aparentemente mejor” Función heurística h(n): Coste estimado del camino más barato desde el nodo n al objetivo. Por ahora la consideraremos arbitraria, específica del problema. Si un nodo es objetivo, h(n) = 0
  • 4.
    • Búsqueda voraz(avara) primero el mejor:  evalúa los nodos usando solamente la función heurística f(n) = h(n). 27/03/2014FCT-UNCAIng.HéctorEstigarribia 4 Estrategiasde búsquedainformadas (heurísticas): Búsquedaprimeroel mejor • Para Rumania: distancia en línea recta DLR  hDLR • Ejemplo: hDLR(En(Arad)) = 366 • Algoritmo “avaro” en cada paso procura ponerse tan cerca del objetivo como pueda • Parecido a “primero en profundidad”, no es óptima, es incompleta. (Probar llegar desde Iasi a Fagaras)
  • 5.
  • 6.
  • 7.
  • 8.
    • Búsqueda A*:minimizar el costo total de la solución • (Búsqueda A estrella), forma más conocida de la búsqueda primero el mejor. • g(n)  coste para alcanzar el nodo n desde el inicio • h(n)  coste de ir al nodo objetivo. • f(n) = g(n) + h(n)  coste más barato estimado de la solución a través de n 27/03/2014FCT-UNCAIng.HéctorEstigarribia 8 Estrategiasde búsquedainformadas (heurísticas):BúsquedaA* • Heurística admisible: h(n) no debe sobrestimar el coste de alcanzar el objetivo, heurísticas optimistas. • Por tanto f(n) nunca sobrestima el coste verdadero de una solución a través de n
  • 9.
  • 10.
    • Si C*es el coste del camino de solución óptimo: • A* expande todos los nodos con f(n) < C*, o sea • A* no expande ningún nodo con f(n) > C*. • Nótese por ejemplo, Timisoara no se expande 447>418. • El árbol debajo de Timisoara está podado. • Poda: eliminación de posibilidades a considerar sin necesidad de examinarlas. • Cualquier algoritmo que no expanda todos los nodos con f(n) < C* corre el riesgo de omitir la solución óptima. • La búsqueda A* es completa, óptima y óptimamente eficiente. • Problema: espacio en memoria muy grande, no práctico para problemas grandes 27/03/2014FCT-UNCAIng.HéctorEstigarribia 10 Estrategiasde búsquedainformadas (heurísticas):BúsquedaA*
  • 11.
    • Se adaptala idea de profundizar iterativamente al contexto de búsqueda heurística, para reducir la exigencia de memoria de A*. • Resultado: Algoritmo A* de profundidad iterativa A*PI. • En cada iteración, el valor del corte es el coste más pequeño de cualquier nodo que excedió el corte de la iteración anterior. • Práctico para problemas con costo unidad. • Evita el trabajo de mantenimiento de cola ordenada. • Sufre de los mismos problemas con costos reales que la versión iterativa de búsqueda de costo uniforme. 27/03/2014FCT-UNCAIng.HéctorEstigarribia 11 Estrategiasdebúsquedainformadas(heurísticas): Búsquedaheurísticaconmemoriaacotada
  • 12.
    • Similar ala búsqueda primero el mejor con profundidad recursiva. • No sigue indefinidamente hacia abajo el camino actual. • Mantiene la pista del mejor camino alternativo desde cualquier antepasado del nodo actual. • Si el nodo actual excede dicho límite, vuelve hacia atrás al camino alternativo. • Recuerda el valor de la mejor hoja en el sub árbol olvidado y puede decidir si merece la pena expandirlo. • Más eficiente que A*PI , pero sufre de regeneración excesiva de nodos (ver ejemplo). • El algoritmo “cambia de opinión” muchas veces y vuelve atrás. • Cada “cambio de opinión” es una iteración de A*PI. • No puede comprobar si hay estados repetidos excepto los que están en el camino actual, usa poca memoria. 27/03/2014FCT-UNCAIng.HéctorEstigarribia 12 Estrategiasdebúsquedainformadas(heurísticas): Búsquedaheurísticaconmemoriaacotada–Búsqueda recursivadelprimeromejorBRPM
  • 13.
    27/03/2014FCT-UNCAIng.HéctorEstigarribia 13 Estrategiasdebúsquedainformadas(heurísticas): Búsquedaheurísticaconmemoriaacotada–Búsqueda recursivadelprimeromejorBRPM Se sigue elcamino vía Rimnicu Vilcea hasta que la mejor hoja actual (Pitesti) tenga un valor que es peor que el mejor camino alternativo (Fagaras)
  • 14.
    27/03/2014FCT-UNCAIng.HéctorEstigarribia 14 Estrategiasdebúsquedainformadas(heurísticas): Búsquedaheurísticaconmemoriaacotada–Búsqueda recursivadelprimeromejorBRPM La recursividad seaplica y el mejor valor da las hojas del sub árbol olvidado (417) se le devuelve hacia atrás a Rimnicu Vilcea; entonces se expande Fagaras, revela un mejor valor de hoja de 450
  • 15.
    27/03/2014FCT-UNCAIng.HéctorEstigarribia 15 Estrategiasdebúsquedainformadas(heurísticas): Búsquedaheurísticaconmemoriaacotada–Búsqueda recursivadelprimeromejorBRPM La recursividad seaplica y el mejor valor de las hojas del sub árbol olvidado (450) se le devuelve hacia atrás a Fagaras; entonces se expande Rimnicu Vilcea. Esta vez, debido a que el mejor camino alternativo (por Timisoara) cuesta por lo menos 447, la expansión sigue por Bucarest
  • 16.
    • A*PI yBRPM sólo mantienen un número limitado de nodos en memoria, no aprovecha toda la memoria disponible. • A*MS avanza como A* expandiendo la mejor hoja hasta que la memoria esté llena, para continuar suprime la peor hoja. • ¿Y si todos los nodos hoja tienen el mismo valor? • A*MS expande la mejor hoja más nueva y suprime la peor hoja más vieja. • A*MS es completo si la profundidad del nodo objetivo más superficial es menor que el tamaño de memoria (expresado en nodos, claro está). • De todas formas, las limitaciones de memoria pueden hacer a un problema intratable desde el punto de vista de tiempo de cálculo. • La única salida es suprimir la exigencia de optimización. 27/03/2014FCT-UNCAIng.HéctorEstigarribia 16 Estrategiasdebúsquedainformadas(heurísticas): Búsquedaheurísticaconmemoriaacotada–Búsqueda A*M(memoriaacotada)yA*MS(A*Msimplificada)
  • 17.
    Funciones heurísticas • Siqueremos encontrar las soluciones más cortas utilizando A* necesitamos una función heurística que no sobrestime no sea mayor que el número de pasos al objetivo. • Para el 8-puzzle, hay 2 comúnmente usadas: • h1: número de piezas mal colocadas = 8 (admisible). • h2: suma de las distancias de las piezas a sus posiciones en el objetivo (suma de las distancias horizontales y verticales, llamada distancia de Manhattan). • Para el ejemplo, h2= 18 (también admisible). • Ambas son admisibles, pues no superan el coste solución verdadero, que es 26 27/03/2014FCT-UNCAIng.HéctorEstigarribia 17
  • 18.
    • Una manerade medir la calidad de la heurística sería el factor de ramificación eficaz. • Conviene siempre usar una función heurística con valores más altos. • Se podría “inventar” funciones heurísticas admisibles , sacando restricciones al problema (problema relajado). • El costo de una solución óptima en un problema relajado es una heurística admisible para el problema original. • También, se podrían “aprender” heurísticas desde la experiencia, usando un algoritmo de aprendizaje . 27/03/2014FCT-UNCAIng.HéctorEstigarribia 18 Funciones heurísticas
  • 19.
    Algoritmos de Búsquedalocal y problemas de optimización • Hasta ahora, los algoritmos estudiados se diseñan para explorar espacios de búsqueda. • Mantienen uno o más caminos en memoria y los marca como explorados o no. • Cuando se encuentra un objetivo, el camino al mismo también constituye una solución al problema. • En muchos problemas, el camino al objetivo es irrelevante (ejemplo: 8 reinas). • En estos casos podemos considerar otro tipo de algoritmos, que no se preocupen en absoluto de los caminos: • Los algoritmos de búsqueda local funcionan con un solo estado actual. • Los caminos seguidos no se retienen. • Usan poca memoria y pueden encontrar soluciones en espacios de estados grandes. 27/03/2014FCT-UNCAIng.HéctorEstigarribia 19
  • 20.
    • Paisaje delEspacio de estados: posición (estado) y elevación (función heurística u objetivo) • Si la elevación corresponde al costo, el objetivo es encontrar el valle más bajo (mínimo global) . • Si la elevación corresponde a una función objetivo, el objetivo es encontrar el pico más alto (máximo global). 27/03/2014FCT-UNCAIng.HéctorEstigarribia 20 Algoritmos de Búsqueda local y problemas de optimización
  • 21.
    Búsqueda de ascensión decolinas Búsqueda de temple simulado Búsqueda por haz local Algoritmos Genéticos 27/03/2014FCT-UNCAIng.HéctorEstigarribia 21 Algoritmos de Búsqueda local y problemas de optimización
  • 22.
    27/03/2014FCT-UNCAIng.HéctorEstigarribia 22 Algoritmos de Búsquedalocal y problemas de optimización 0 200 400 600 800 1000 1200 1400 1600 Ascención de colinas Temple Simulado Haz local Genéticos Trabajo de Investigación Palabras en el libro
  • 23.
    BIBLIOGRAFÍA • INTELIGENCIA ARTIFICIAL:UN ENFOQUE MODERNO. • STUART RUSSELL Y PETER NORVIG. • PEARSON EDUCATION • 2da Edición, 2004. • 1240 páginas • Capitulo 4, Paginas 107 a 153 27/03/2014FCT-UNCAIng.HéctorEstigarribia 23