busqueda informada inteligencia
Post on 04-Jan-2016
13 Views
Preview:
DESCRIPTION
TRANSCRIPT
INTELIGENCIA ARTIFICIALPresentación basada en:
1. Inteligencia Artificial un enfoque moderno. Stuart Rusell & Peter Norving.
La resolución de problemas es uno de los procesos básicos de razonamiento que la inteligencia artificial trata de abordar◦ El objetivo consiste en lograr que la máquina ayude
a un experto humano a encontrar la solución a un determinado problema (de forma más rápida, más exacta, más fiable...)
Pero...◦ ¿cómo expresar el problema de forma
computacional?◦ ¿cómo puede resolverlo la máquina de forma◦ eficiente?
Se tienen dos jarras de agua, una de 4l y otra de 3l sin escala de medición.Se desea tener 2l de agua en la jarra de 4l. Las siguientes operaciones son válidas:
ACCIONES ◦ llenar las jarras,
◦ vaciar el agua de las jarras,
◦ pasar agua de una jarra a otra.
El espacio de estados se define como◦ { (X,Y) tal que, X son los litros en la jarra de 4l con 0<=X<=4 AND Y son los litros de la
jarra de 3l con 0<=Y<=3 }
El estado inicial es (0,0) El estado final es (2,0). El estado final podría ser (2, N) en caso de que no
importen los litros de la segunda jarra. Las reglas que se pueden aplicar son:
1. Llenar la jarra de 4l: Si (X,Y) AND X<4 => (4,Y)2. Llenar la jarra de 3l: Si (X,Y) AND Y<3 => (X,3)
3. Vaciar la jarra de 4l: Si (X,Y) AND X>0 => (0, Y)4. Vaciar la jarra de 3l: Si (X,Y) AND Y>0 => (X, 0)
5. Pasar agua de la jarra de 4l a la jarra de 3l hasta llenarla: Si (X,Y) AND X>0 AND X+Y>=3 => (X-(3-Y),3)
6. Pasar agua de la jarra de 3l a la jarra de 4l hasta llenarla: Si (X,Y) AND Y>0 AND X+Y>=4 => (4, Y-(4-X))
7. Pasar toda el agua de la jarra de 4l a la jarra de 3l:Si (X,Y) AND X>0 AND X+Y<3 => (0, X+Y)
8. Pasar toda el agua de la jarra de 3l a la jarra de 4l:Si (X,Y) AND Y>0 AND X+Y<4 => (X+Y,0)
Llenar la jarra de 4l: Si (X,Y) AND X<4 => (4,Y)
◦ PREC. contiene la condición (X<4), especificando que la jarra no se encuentra llena. Si esta condición no se incluye, se puede aplicar la regla aún cuando la jarra está llena. Dado que en este caso el estado del problema no cambia la aplicación de la regla se considera inútil .
◦ EFEC. (4,Y), indicando que ya esta llena X.
Vaciar "un poco" la jarra de 4l: Si (X,Y) AND X>0 => (X-Q, Y)
◦ PREC. es decir, tirar agua sin cuantificar, intuitivamente (Q) se concluye que la aplicación de esta regla nunca nos acercará a la solución del problema.
◦ EFECT. X queda con menos Q cantidad de agua y Y queda igual (X-Q, Y).
Pasar agua de la jarra de 4l a la jarra de 3l hasta llenarla: Si (X,Y) AND X>0 AND X+Y>=3 => (X-(3-Y),3)
◦ PREC. X debe tener algo de agua y X+Y debe ser igual o mayor de 3 (si se desborda no nos preocupa). X>0 AND X+Y>=3
◦ EFECT. La jarra X queda con 3 litros menos lo que tenia previamente Y y Yqueda llena. (X-(3-Y),3)
El programa debería encontrar un pasaje deestados para ir del estado (0,0) al estado(2,0). Puede existir más de un pasaje deestados hacia la solución, por ejemplo:
(0,0) => (0,3) => (3,0) => (3,3) => (4,2) => (0,2) => (2,0)
en la cual, a partir del estado inicial, se aplicaron las reglas 2, 8, 2, 6, 3 y 8, hasta conseguir el estado objetivo.
El programa debería encontrar un pasaje deestados para ir del estado (0,0) al estado (2,0).Puede existir más de un pasaje de estados haciala solución, por ejemplo:
(0,0) => (4,0) => (1,3) => (1,0) => (0,1) => (4,1) => (2,3) => (2,0)
en la cual se aplicaron las reglas 1, 5, 4, 7, 1, 5 y 4.
en la cual, a partir del estado inicial, se aplicaron las reglas 2, 8, 2, 6, 3 y 8, hasta conseguir el estado objetivo.
INTELIGENCIA ARTIFICIALPresentación basada en:
1. Inteligencia Artificial un enfoque moderno. Stuart Rusell & Peter Norving.
Estrategias de Búsqueda Informada◦ Primero Mejor o Búsqueda avara
◦ A*
Como proponer Heurísticas
Características de la búsqueda informada:◦ Información para auxiliar el proceso de búsqueda
de grafos
◦ Función de evaluación que toma valores en cada nodo del grafo
◦ Ejemplos: Primero Mejor, A*, Escalada simple (simple hill climbing), Escalada profunda (steepest ascent hill climbing), Simulated Annealing, Algoritmos genéticos.
Función heurística◦ Una heurística es una función que asigna a cada
nodo un valor que corresponde al costo estimado de llegar a la meta estando en dicho nodo
Se denota por h(n)
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
Puede tener dos componentes:◦ Coste del camino g(n): coste del mejor camino
conocido para ir desde el nodo inicial al nodo n
◦ Función heurística h(n): estimación 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 evaluación f(n):
f(n) = g(n) (Coste uniforme, búsq. no infor.)
f(n) = h(n) (Voraz primero el mejor)
f(n) = g(n)+h(n) (A*)
Avara: Expandir el nodo con menor h(n), esto es, aquel que parece estar más cerca de la meta sin importar a qué profundidad esté.
A*: Expandir el nodo con menor f(n), esto es, aquel con el menor costo estimado para la solución f(n) = g(n) + h(n)
Un enfoque general de la búsqueda Informada: ◦ Búsqueda de Primero el Mejor: El nodo es seleccionado
por expansión basado en una función de evaluación f(n).
Idea: La función de evaluación mide la distancia al objetivo◦ Seleccionar el nodo que parece el mejor
Implementación:◦ Funciona como una cola de hilos, ordenados en orden
decreciente de conveniencia.
Se expandirán primero los estados con menor
valor de f(n)
Es un caso particular de los algoritmos generales de búsqueda en árboles o grafos
El nombre primero el mejor es inexacto, si realmente supiéramos cuál es el mejor, la búsqueda sería directa
En realidad escogemos el estado que “parece
el mejor”
La función de evaluación es un estimador
Las heurísticas son criterios para decidir cuál entre varias acciones promete ser la mejor para alcanzar una meta
◦ Arquímedes (287 – 212 a.c)
◦ Hierón - Monarca de Siracus
[Diccionario] “regla básica, simplificación,o suposición que reduce o limita labúsqueda de soluciones en los ámbitosque son difíciles y pobrementecomprendidos”◦ h(n) = costo estimado de la ruta de acceso
más barata a partir del nodo n al nodoobjetivo.
◦ Si n es el objetivo entonces h(n) = 0.
El triángulo mágico. Utilizando el operador intercambio(a,b) que cambia de posición los números a y b, colocarlos de tal forma que la suma sobre cada lado sea 20.
Vacaciones en Bucharest
Actualmente en Arad
Formulación del objetivo:◦ Estar en Bucharest
Formulación del problema:◦ Estados: varias ciudades◦ Acciones: conducir entre ciudades
Buscar solución:◦ Secuencia de ciudades, ej. Arad, Sibiu, Fagaras, Bucharest
Supongamos que queremos utilizar la búsqueda avara para resolver el problema de los viajes de Arad a Bucharest.
El estado inicial = Arad
El primer paso de expansión producido:◦ Sibiu, Timisoara and Zerind
El primero mejor avaro seleccionará a Sibiu
Si Sibiu se expande se obtiene:◦ Arad, Fagaras, Oradea y Rimnicu Vilcea
La búsqueda avara primero mejorseleccionará: Fagaras
Arad
Sibiu
Arad
(366)Fagaras
(176)
Oradea
(380)Rimnicu Vilcea
(193)
Sí se expande Faragas, se obtiene:◦ Sibiu y Bucarest
Objetivo alcanzado!!◦ Sin embargo, no es óptimo (ver Arad, Sibiu, Rimnicu Vilcea, Pitesti)◦ Pero acá se trata de obtener una solución aun que aparente ser la
mejor
• Es un algoritmo de búsqueda preferente por lo
mejor (best-first) en el que se utiliza f como
función heurística y una función h aceptable.
• Es un algoritmo genérico de búsqueda.
• Basa su comportamiento en una función de
evaluación.
La forma más conocida de la búsqueda del primero mejor
Idea: Evita expandir caminos que son altamente costosos
Función de evaluación: f(n)=g(n) + h(n)
◦ g(n) es el costo (actual) para alcanzar el nodo◦ h(n) costo estimado para obtener el objetivo
desde el nodo actual◦ f(n) costo total estimado del camino a través
de n hacia el objetivo
inicio
fin
f(n) = costo estimado de la solución mas barata, pasando por n.
Esta funcion viene de dos principios:
• Lo más corto es lo mas rápido (g).
• Para asegurarnos que es la mejor opción hay que agregar subestimaciones (h).
Lista abierta: contiene los nodos que podrían
formar parte del camino.
Lista cerrada: contiene los nodos que ya han
sido examinados y que no hace falta volver a
examinar.
hSLD= Distancia en línea recta heurística.
hSLD= NO puede ser calculada, desde la descripción del problema en sí.
En este ejemplo: ◦ f(n) = h(n)
◦ Expande el nodo más cercano al objetivo
Búsqueda avara del primero mejor
Buscar Bucharest empezando en Arad◦ f(Arad) = c(??,Arad)+h(Arad)=0+366=366
g
Expandir Arad y determinar f(n) para cada nodo◦ f(Sibiu)=c(Arad,Sibiu)+h(Sibiu)=140+253=393
◦ f(Timisoara)=c(Arad,Timisoara)+h(Timisoara)=118+329=447
◦ f(Zerind)=c(Arad,Zerind)+h(Zerind)=75+374=449
La mejor selección es SIBIU
Expandir Sibiu y determinar f(n) para cada nodo◦ f(Arad)=c(Sibiu,Arad)+h(Arad)=280+366=646
◦ f(Fagaras)=c(Sibiu,Fagaras)+h(Fagaras)=239+179=415
◦ f(Oradea)=c(Sibiu,Oradea)+h(Oradea)=291+380=671
◦ f(Rimnicu Vilcea)=c(Sibiu,Rimnicu Vilcea)+
h(Rimnicu Vilcea)=220+192=413
Mejor selección es Rimnicu Vilcea
Expandir Rimnicu Vilcea y determinar f(n)para cada nodo◦ f(Craiova)=c(Rimnicu Vilcea,
Craiova)+h(Craiova)=360+160=526◦ f(Pitesti)=c(Rimnicu Vilcea, Pitesti)+h(Pitesti)=317+100=417◦ f(Sibiu)=c(Rimnicu Vilcea,Sibiu)+h(Sibiu)=300+253=553
Mejor selección es Fagaras
Expandir Fagaras y determinar f(n) para cada nodo◦ f(Sibiu)=c(Fagaras, Sibiu)+h(Sibiu)=338+253=591
◦ f(Bucharest)=c(Fagaras,Bucharest)+h(Bucharest)=450+0=450
Mejor selección es Pitesti !!!
Expandir Pitesti y determinar f(n) para cada nodo◦ f(Bucharest)=c(Pitesti,Bucharest)+h(Bucharest)=418+0=418
Mejor selección es Bucharest !!!◦ Solución óptima (solo si h(n) es admisible)
Note los valores a lo largo del camino óptimo !!
En el diseño, se puede pasar desde una casilla a otra de las posibles adyacentes (arriba, abajo, izquierda, derecha), salvo si existe una barrera entre ellas (ver color gris).
En el siguiente laberinto, se puede pasar desde una casilla a otra de las posibles adyacentes (arriba, abajo, izquierda, derecha), salvo si existe una barrera entre ellas
Objetivo: ir de I a F◦ Como ejercicio final, resolveremos el problema aplicando
las búsquedas en profundidad, primero el mejor y A*
Estados: A, B, C, D, E, G, I, W, K, M, N, P, Q, R, T y F◦ Estado inicial: I◦ Estado final: F◦ Operadores: arriba, abajo, izquierda, derecha
Aplicabilidad y resultado de la aplicación “Arriba” es aplicable a un estado si existe una casilla arriba y no está
separada por barrera; el resultado de aplicarlo es la casilla de arriba y su coste es 1
El resto de operadores, análogamente
Consideraremos que los sucesores están ordenados alfabéticamente
Heurística (admisible): “distancia del estado a la casilla F”
Durante la búsqueda, y con igual valoración, elegir por orden alfabético
Solución encontrada: I-Q-R-T-K-M-F• No es óptima• Nodos analizados: 13
Solución encontrada: I-Q-R-T-K-M-F• No es óptima• Nodos analizados: 7• La heurística ha servido para reducir el espacio de búsqueda
Solución encontrada: I-W-K-M-F• Óptima (heurística admisible)• Nodos analizados: 8• Aunque en este caso se analizan más nodos (se ha explorado parcialmente un camino equivocado), la solución óptima está asegurada • Nótese que se generan dos nodos distintos con el mismo estado K (pero distinto camino)
◦ A es el nodo inicial y ◦ Z el único nodo meta. ◦ Cada arco lleva asociado su
coste y en cada nodo aparece la estimación de la menor distancia desde ese nodo a la zeta.
◦ Aplicar: búsqueda por amplitud Búsqueda por profundidad Búsqueda por el primero
mejor
top related