Busqueda Informada inteligencia

63
INTELIGENCIA ARTIFICIAL Presentación basada en: 1. Inteligencia Artificial un enfoque moderno. Stuart Rusell & Peter Norving.

description

Inteligencia artificial, metodos de trabajos

Transcript of Busqueda Informada inteligencia

Page 1: Busqueda Informada inteligencia

INTELIGENCIA ARTIFICIALPresentación basada en:

1. Inteligencia Artificial un enfoque moderno. Stuart Rusell & Peter Norving.

Page 2: Busqueda Informada inteligencia

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?

Page 3: Busqueda Informada inteligencia

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.

Page 4: Busqueda Informada inteligencia

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)

Page 5: Busqueda Informada inteligencia

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)

Page 6: Busqueda Informada inteligencia

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.

Page 7: Busqueda Informada inteligencia

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.

Page 8: Busqueda Informada inteligencia

INTELIGENCIA ARTIFICIALPresentación basada en:

1. Inteligencia Artificial un enfoque moderno. Stuart Rusell & Peter Norving.

Page 9: Busqueda Informada inteligencia

Estrategias de Búsqueda Informada◦ Primero Mejor o Búsqueda avara

◦ A*

Como proponer Heurísticas

Page 10: Busqueda Informada inteligencia

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.

Page 11: Busqueda Informada inteligencia

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)

Page 12: Busqueda Informada inteligencia

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

Page 13: Busqueda Informada inteligencia

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*)

Page 14: Busqueda Informada inteligencia

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)

Page 15: Busqueda Informada inteligencia

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.

Page 16: Busqueda Informada inteligencia

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

Page 17: Busqueda Informada inteligencia

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

Page 18: Busqueda Informada inteligencia

[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.

Page 19: Busqueda Informada inteligencia
Page 20: Busqueda Informada inteligencia
Page 21: Busqueda Informada inteligencia
Page 22: Busqueda Informada inteligencia
Page 23: Busqueda Informada inteligencia
Page 24: Busqueda Informada inteligencia
Page 25: Busqueda Informada inteligencia

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.

Page 26: Busqueda Informada inteligencia
Page 27: Busqueda Informada inteligencia
Page 28: Busqueda Informada inteligencia
Page 29: Busqueda Informada inteligencia
Page 30: Busqueda Informada inteligencia
Page 31: Busqueda Informada inteligencia
Page 32: Busqueda Informada inteligencia

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

Page 33: Busqueda Informada inteligencia

Supongamos que queremos utilizar la búsqueda avara para resolver el problema de los viajes de Arad a Bucharest.

El estado inicial = Arad

Page 34: Busqueda Informada inteligencia

El primer paso de expansión producido:◦ Sibiu, Timisoara and Zerind

El primero mejor avaro seleccionará a Sibiu

Page 35: Busqueda Informada inteligencia

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)

Page 36: Busqueda Informada inteligencia

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

Page 37: Busqueda Informada inteligencia
Page 38: Busqueda Informada inteligencia
Page 39: Busqueda Informada inteligencia
Page 40: Busqueda Informada inteligencia
Page 41: Busqueda Informada inteligencia
Page 42: Busqueda Informada inteligencia

• 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.

Page 43: Busqueda Informada inteligencia

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

Page 44: Busqueda Informada inteligencia

inicio

fin

f(n) = costo estimado de la solución mas barata, pasando por n.

Page 45: Busqueda Informada inteligencia

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).

Page 46: Busqueda Informada inteligencia

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.

Page 47: Busqueda Informada inteligencia
Page 48: Busqueda Informada inteligencia

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

Page 49: Busqueda Informada inteligencia

Buscar Bucharest empezando en Arad◦ f(Arad) = c(??,Arad)+h(Arad)=0+366=366

g

Page 50: Busqueda Informada inteligencia

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

Page 51: Busqueda Informada inteligencia

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

Page 52: Busqueda Informada inteligencia

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

Page 53: Busqueda Informada inteligencia

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 !!!

Page 54: Busqueda Informada inteligencia

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 !!

Page 55: Busqueda Informada inteligencia

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).

Page 56: Busqueda Informada inteligencia
Page 57: Busqueda Informada inteligencia
Page 58: Busqueda Informada inteligencia

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*

Page 59: Busqueda Informada inteligencia

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

Page 60: Busqueda Informada inteligencia

Solución encontrada: I-Q-R-T-K-M-F• No es óptima• Nodos analizados: 13

Page 61: Busqueda Informada inteligencia

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

Page 62: Busqueda Informada inteligencia

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)

Page 63: Busqueda Informada inteligencia

◦ 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