Vous êtes sur la page 1sur 30

Tema 2: Problemas bsicos (un jugador)

Resumen:
2. Problemas bsicos (un jugador) 2.1. Actuar en entornos conocidos 2.2. Actuar en entornos desconocidos

Inteligencia Artificial HB/AFG: 2007/2008

Exploracin de rboles con bsqueda no informada: resultados


Resultados del peor caso: factor de ramificacin b / profundidad de la mejor solucin d / lmite de profundidad d*
bsqueda bsqueda bsqueda bsqueda de en amplitud en prof. bidireccional prof. iterativa limitada complejidad en tiempo complejidad en espacio ptimo? (op. de coste 1) completo? O(bd) O(bd) s s O(bd*) O(bd*) no slo si dd*
2

O(bd) [bd/2] O(bd) [bd/2] s s

O(bd) [> que bus. en amp.] O(bd) s s

Inteligencia Artificial HB/AFG: 2007/2008

Problema
En determinados problemas es imposible/impracticable buscar el plan de acciones completo. Las razones pueden ser: Limitacin de recursos computacionales:
el espacio de bsqueda es demasiado grande para buscar hasta la solucin (no pueden emplear las tcnicas anteriores) Ejemplo: Ajedrez, 24-Puzzle, ...

Informacin incompleta o entornos dinmicos:


no se conocen todos los estados posibles del problema o no se pueden predecir los posibles efectos de acciones Ejemplo: laberinto, laberinto con obstculos en movimiento

Agentes reactivos que actan de forma rpida o cuyo objetivo es continuo:


es imposible encontrar un plan de acciones hasta el final, por falta de tiempo o porque el estado objetivo es continuo solo hace falta una accin buena (no un plan de accin) Ejemplo: conducir un coche, agentes de control, ...
3
Inteligencia Artificial HB/AFG: 2007/2008

Solucin: Informacin heurstica


Se requiere informacin adicional: informacin heurstica Heurstica (griego: heuriskein): encontrar, descubrir
compila conocimiento emprico sobre un problema / un entorno suele reflejar una estimacin o aproximacin de la solucin (esencialmente imperfecta)

1. Acotar el espacio de bsqueda:


Reducir anchura del rbol expandido: eliminar algunas ramas porque probablemente no reflejan la solucin ptima Qu ramas no necesitan ser explorados? Reducir profundidad del rbol expandido: expandir el rbol slo hasta un determinado nivel y elegir el nodo ms prometedor Cul es el nodo ms prometedor ?

2. Guiar la bsqueda:
explorar ramas prometedoras del rbol antes que otras/ expandir determinados nodos antes que otras Qu nodos hay que expandir primero? 4

Inteligencia Artificial HB/AFG: 2007/2008

Heursticas
Aplicacin fuerte:
la aplicacin de la heurstica reduce el problema se deja de analizar soluciones posibles pero improbables Objetivo:
encontrar soluciones buenas (no necesariamente ptimas) minimizar el ndice competitivo:
Coste del camino real del agente Coste del camino ptimo

mejorar el rendimiento de forma substancial / optimalidad y completitud no garantizados

Aplicacin dbil:
mtodo de bsqueda + informacin heurstica la informacin heurstica no reduce el problema sino gua la bsqueda Informacin heurstica puede mejorar el rendimiento medio de un mtodo, pero no asegura una mejora en el peor caso

Inteligencia Artificial HB/AFG: 2007/2008

Funciones heursticas
Funciones heursticas en la bsqueda en el espacio de estados: estiman la cercana de un estado a un estado meta Posibles funciones heursticas:
distancia: coste estimado del camino de un estado al estado meta h :N mide el coste real desde el nodo n hasta el nodo meta ms cercano h*:N es una funcin heurstica que estima el valor de h(n)

Ejemplos de funciones heursticas: Laberinto: distancia en lnea recta hasta la salida Ajedrez: nmero de piezas de un jugador Encontrar una ruta de Madrid a Bilbao en un mapa de capitales de provincias: Sevilla no; Burgos si; Soria quizas;

Inteligencia Artificial HB/AFG: 2007/2008

Encontrar Funciones Heursticas: Diseo


Estado inicial 1 7 6 2 8 3 4 5 Problemas relajados: menos restricciones para cada operador h*: distancia h exacta en el problema relajado 8 Puzzle: una pieza puede moverse de A a B... a) siempre b) si B est vaci c) si A es adyacente a B Funciones heursticas: a) nmero de piezas descolocadas
ha*(s0) = 4

Estado meta 1 8 7 6 2 3 4 5

b) suma de saltos necesarios


hb*(s0) = 5

c) suma de las distancias de Manhattan


hc*(s0) = 1+1+1+2=5

Basadas en el coste del camino restante:


valores pequeos reflejan estados buenos
7
Inteligencia Artificial HB/AFG: 2007/2008

Ejercicio
Bsqueda voraz: 8-Puzzle a) Aplica la bsqueda voraz al problema presentado en el ejemplo 1. Utiliza en este caso la funcin heurstica hc*. b) Compara la solucin encontrada y el rbol expandido con la del ejemplo 1. Qu funcin heurstica es mejor? Por qu?

Inteligencia Artificial HB/AFG: 2007/2008

Ejercicio
Problema de las 5 reinas: 5 reinas en un tablero 5x5 estados: casillas de las 5 reinas meta?: ninguna reina amenazada op.: mover una reina a otra casilla de su misma fila coste: el coste de cada op. es cero estado inicial:

Ntese: dado que el coste de cada operador es 0, el camino por el cual se llega a un nodo no importa, siempre que al final se encuentre un nodo meta (ninguna reina esta amenazada)
a) encuentre una heurstica h* para el problema de las 5 reinas b) resuelve el problema aplicando la bsqueda voraz con dicha heurstica h*

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda A*
Idea: emplear informacin heurstica para guiar la bsqueda (heurstica dbil) minimizar el coste estimado total de un camino en el rbol de bsqueda combinar
el coste para llegar al nodo n (se conoce exactamente: g), y el coste aproximado para llegar a un nodo meta desde el nodo n (estimado por la funcin heurstica h* )

Funcin heurstica de A*:


f (n) = g(n)+h(n): coste real del plan (camino) de mnimo coste que pasa por n f *(n) = g(n)+h*(n): estimacin de f

Estrategia A* : entre las hojas del rbol de bsqueda, elegir el nodo de valor f * mnimo
10
Inteligencia Artificial HB/AFG: 2007/2008

El Algoritmo A*
{bsqueda A*} abierta s0 Repetir Si vaca?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada nsucesores hacer n.padre nodo ordInsertar(n,abierta, f *) Fin {repetir}

Algoritmo A* : se basa en la bsqueda general almacenar el valor g de cada nodo expandido mantener la lista abierta ordenada por valores crecientes de f * insertar nuevos nodos en abierta segn sus valores f *

11

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda A* (evitando ciclos simples): Ejemplo 1


funcin heurstica: f*(n)=g(n)+ha*(n) f* =1+3=4
1 2 3 7 4 6 8 5 2 3 1 7 4 6 8 5 1 2 3 7 4 6 8 5 1 2 3 7 4 6 8 5 1 2 3 7 8 4 6 5 1 2 3 7 8 4 6 5 1 2 3 8 4 7 6 5 3 1 7 2 4 6 8 5

f* = 0+4=4
1 3 7 2 4 6 8 5

f* =1+5=6

1 3 7 2 4 6 8 5

f* =1+5=6

f* =2+3=5 f* =3+3=6

f* =2+4=6

f* =2+3=5
1 2 3 7 8 4 6 5

1 2 3 6 7 4 8 5 1 2 3 6 7 4 8 5 1 2 3 6 4 8 7 5 1 2 3 6 4 8 7 5

f* =3+4=7

f* =3+2=5

f* =3+4=7

f* =4+1=5
2 3 1 8 4 7 6 5

f* =5+0=5

1 2 3 4 8 7 6 5

f* =5+2=7

...
1 2 3 8 4 7 6 5

camino encontrado en bsqueda voraz


12
Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda A* (evitando ciclos simples): Ejemplo 2


AS f* =0+1=1

Ejemplo (mnimo local de h* ): AS Nodo inicial: Nodo meta:


A S S A f*=4+3=7 A f*=5+2=7 f*=6+1=7 S A S A f*=7+0=7 A S A S

S f*=1+2=3 S

A A A

S f*=1+2=3 S S f*=3+2=5 f* =2+3=5

f*=2+3=5 S

h*: distancia de Manhattan

f* =3+2=5 AS

f* =3+4=7

A S f*=4+1=5 S A S

f*=4+1=5 A S f*=5+2=7

f*=5+2=7

f*=5+2=7

13

Inteligencia Artificial HB/AFG: 2007/2008

Optimalidad y completitud de A*
A* es optimo y completo si:
h* es optimista: para todos los nodos ni: h*(ni) h(ni) para todos los nodos ni: h*(ni) 0 El coste de todas las acciones es mayor que 0 (para todos los nodos hijos ni de cualquier nodo nj: c(nj, ni)>0)
f* f *(nm2) Nodo meta no ptimo: g(nm2)>g(nm1)

f *(nm1)

Mejor nodo meta: f *(nm1)=h*(nm)+g(nm1)=g(nm1)=f(nm1)

Camino infinito: Tiene que cruzar f*(nm1) an algn punto ninicial nm


14
Inteligencia Artificial HB/AFG: 2007/2008

Calidad de las Funciones Heursticas


Definicin: Sean h1* y h2* dos funciones heursticas optimistas. h1* es ms informada que h2*, si para todo nodo n se cumple que h1*(n ) h2*(n ) Ejemplo: en el 8-puzzle, hc* es ms informada que ha*
las piezas bien colocadas no cuenta en ha* ni en hc* la distancia Manhattan de cada pieza descolocada es al menos 1 en consecuencia, en toda posible configuracin n del 8-puzzle la suma de las distancias es igual o mayor que la suma de piezas descolocadas para todas las configuraciones n se cumple hc*(n ) ha*(n )

15

Inteligencia Artificial HB/AFG: 2007/2008

Complejidad de A*
El nmero de nodos expandidos por A* depende de la calidad de h*: Para dos funciones heursticas h1* y h2* :
Si h1* es ms informada que h2*, entones A*(h1* ) expande el mismo nmero o menos nodos que A*(h2* )

La complejidad es ms baja si h* es ms informada:


si h*(n) = h(n) para todos los nodos n: informacin completa: complejidad lineal (sin contar la complejidad de computar h*!) calcular h*(n) suele equivaler a resolver el problema completo si h*(n) = 0 para todos los nodos n: A* degenera a la bsqueda por amplitud

16

Inteligencia Artificial HB/AFG: 2007/2008

Resultados experimentales
Comparacin experimental:
nmero de nodos expandidos en el problema del 8-puzzle varias profundidades d de la solucin media sobre 100 instancias del problema

d
2 4 6 8 10 12 14 16 18 20 22 24

prof. iterativa
10 112 680 6.384 47.127 3.644.035
17

A*(ha)
6 13 20 39 93 227 539 1.301 3.056 7.276 18.094 39.135

A*(hc)
6 12 18 25 39 73 113 211 363 676 1.219 1.641
Inteligencia Artificial HB/AFG: 2007/2008

Ejercicio
Algoritmo A* : Suponga el juego de las torres de Hanoi con el estado inicial que se presenta al lado. El objetivo consiste en pasar la torre bien a la aguja B o bien a la aguja C. Se filtren todos los estados repetidos y equivalentes (dos estados se consideran equivalentes, si estn los mismos discos en la aguja A mientras que los discos de las agujas B y C estn intercambiadas).
a)Defina una funcin heurstica para este problema. b)Desarrolle el rbol de bsqueda que genera el algoritmo A*, incluyendo los valores de g, h *, y f * de cada nodo. Indique el orden en que se expanden los nodos. c)Su funcin heurstica es optimista? Argumente su respuesta.
18
Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda con horizonte


Idea subyacente:
la primera accin de un plan que lleva a un nodo con una evaluacin heurstica ptima, tiene una buena probabilidad de pertenecer al camino ptimo
Reducir profundidad del rbol expandido (on line search)

Expandir el rbol hasta un nivel k (horizonte) y realizar la accin haca el mejor nodo en el nivel k Repetir el ciclo percepcin/accin de forma continua

Algoritmo general:
Percibir el estado actual s Aplicar un mtodo de bsqueda no informado hasta el nivel k y nodos metas. Sea H el conjunto de nodos hoja hasta el nivel k: * * Utilizar h* para determinar el mejor nodo hoja n*H: n arg min[h (n)] nH Ejecutar la primera accin a* en el camino que lleva a n* Repetir hasta que el agente se encuentra en un estado meta

19

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda con horizonte: Ejemplo


mtodo base: bsqueda en profundidad limitada estado actual =
3 1 7 2 4 6 8 5 3 1 7 2 4 6 8 5 1 2 3 7 4 6 8 5 1 3 7 2 4 6 8 5 1 3 7 2 4 6 8 5

horizonte k = 3 filtrando ciclos simples h*=ha* (piezas descolocadas)

1 2 3 7 4 6 8 5 2 3 1 7 4 6 8 5 1 2 3 6 7 4 8 5

1 2 3 7 8 4 6 5 1 2 3 7 8 4 6 5 1 2 3 7 8 4 6 5

1 2 3 7 4 6 8 5 1 2 7 4 3 6 8 5 1 2 3 7 4 5 6 8

7 1 3 2 4 6 8 5

1 3 4 7 2 6 8 5

7 1 3 2 4 6 8 5

7 1 3 6 2 4 8 5

1 3 4 7 2 6 8 5

1 3 4 7 2 5 6 8

k=3 h *=4 a

ha*=3

ha*=4

ha*=2

ha*=6

ha*=5

ha*=5

ha*=5

ha*=6

ha*=7

20

Inteligencia Artificial HB/AFG: 2007/2008

10

Bsqueda con horizonte: Ejemplo


mtodo base: bsqueda en profundidad limitada estado actual =
1 2 3 7 4 6 8 5

horizonte k = 3 filtrando ciclos simples h*=ha* (piezas descolocadas)


1 2 3 7 4 6 8 5 2 3 1 7 4 6 8 5 1 2 3 6 7 4 8 5

1 2 3 7 4 6 8 5

1 2 3 7 8 4 6 5

1 2 3 7 4 6 8 5 1 2 7 4 3 6 8 5 1 2 3 7 4 5 6 8

3 1 7 2 4 6 8 5 1 3 7 2 4 6 8 5 1 3 7 2 4 6 8 5

1 2 3 7 8 4 6 5

1 2 3 7 8 4 6 5

3 2 1 7 4 6 8 5

1 2 3 6 7 4 8 5

1 2 3 7 8 6 5 4

1 2 3 8 4 7 6 5

2 1 7 4 3 6 8 5

1 2 3 7 4 5 6 8

7 1 3 2 4 6 8 5

1 3 4 7 2 6 8 5

k=3

ha*=5

ha*=3

ha*=5

ha*=1

ha*=6

ha*=5

ha*=6

ha*=5

21

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda con horizonte: Ejemplo


mtodo base: bsqueda en profundidad limitada estado actual =
1 2 3 7 8 4 6 5 1 2 3 7 8 4 6 5

horizonte k = 3 filtrando ciclos simples h*=ha* (piezas descolocadas)


1 2 3 7 8 4 6 5 1 2 3 7 8 6 5 4

1 2 3 7 8 4 6 5

1 2 3 7 4 6 8 5

1 2 3 8 4 7 6 5 1 2 3 8 4 7 6 5 2 3 1 8 4 7 6 5

1 2 3 7 8 6 5 4

1 2 7 8 3 6 5 4

k=3

ha*=5

ha*=6

ha*=0

22

Inteligencia Artificial HB/AFG: 2007/2008

11

Bsqueda con horizonte: complejidad


Proporcional al nmero de nodos abiertos/expandidos b factor de ramificacin efectivo, k limite de profundidad Mtodo base: bsqueda en profundidad limitada Complejidad en espacio: (k*b)+1 O(b*k) (solo se mantiene el camino explorado y sus vecinos en
la memoria)

Complejidad en tiempo:
el encontrar un nodo meta y su profundidad depende de la funcin heurstica hay que contar la complejidad de calcular h*

23

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda con horizonte: complejidad


Complejidad en tiempo: si se encuentra una solucin con profundidad dk :
igual que en la bsqueda en profundidad limitada: mejor caso: d O(d) peor caso: 1+b+...+bk-1 O(bk)

si se encuentra una solucin con profundidad d>k :


primero hay que realizar d-k bsquedas en profundidad limitadas completos en el siguiente paso se encuentra la solucin en la profundidad k mejor caso: (d k )(1 + b + b 2 + K + b k 1 ) + k = (d k )
(b k 1) +k b 1 (b k 1) b 1 O(d b k ) O(d b k )

peor caso: (d k + 1)(1 + b + b 2 + K + b k 1 ) = (d k + 1)

24

Inteligencia Artificial HB/AFG: 2007/2008

12

Bsqueda con horizonte : anlisis


Anlisis: En general, no se puede asegurar optimalidad ni completitud
depende de la funcin heurstica

Si h* es ideal (h*=h), entonces es ptimo y completo La bsqueda por ascenso de colinas es un caso especial de la bsqueda con horizonte (horizonte = 1) Aumentar el horizonte k:
permite evitar ciclos de longitud k o menor se trata mejor el caso en los que varias acciones tienen el mismo valor heurstico (ver ejemplo)

25

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda online y optimizacin


La bsqueda online (horizonte/ascenso de colinas) es aplicable a problemas de optimizacin. Problema de optimizacin: El objetivo es encontrar el mejor estado segn una funcin objetivo No necesariamente se busca un estado exacto, sino uno que se acerca al mximo al objetivo El camino para llegar al estado buscado puede ser irrelevante (coste 0) Ejemplos: juegos lgicos y de configuracin, n-Reinas Funciones heursticas para problemas de optimizacin: Funciones que estimen el coste del camino hasta el nodo meta ms prximo (todos los que hemos visto hasta ahora) Funciones que miden la calidad de un nodo respecto a la funcin objetivo Muchas funciones heursticas estiman las dos cosas a la vez A veces es ms fcil definir una heurstica que estime la calidad de los nodos

26

Inteligencia Artificial HB/AFG: 2007/2008

13

Bsqueda online y optimizacin: El juego de las cifras


El juego de las cifras: Combinar una serie de CIFRAS mediante las operaciones de suma y multiplicacin de tal forma que el resultado se acerca lo mximo a un nmero dado (EXACTO). Ejemplo: CIFRAS: 6 2 5 25 EXACTO: 420 El objetivo consiste en encontrar una secuencia de operaciones, que aplicadas sobre (algunas de) las cifras de entrada, y sobre los resultados intermedios, permiten obtener un nmero lo ms prximo a EXACTO. Cada cifra se puede utilizar slo una vez.

27

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda online y optimizacin: El juego de las cifras


Formalizacin del problema:
Representacin (eficiente) de estados:
(<ltimo resultado>,<lista de los nmeros disponibles todava>)

Estado inicial: (0,[6,2,5,25]) Estado meta: (x,y) tal que x es lo ms cerca posible de 420 Operadores: aplicar la suma/multiplicacin Coste de un operador: 0 Tipo de solucin: estado

Se puede resolver el problema con un mtodo de bsqueda no informado usando como estado meta (420,y), pero Que pasa si no hay ninguna solucin exacta? Mejor utilizar la bsqueda online:
Funcin heurstica: h*((x,y))=|420-x|
mide la similitud del estado al objetivo, no mide el coste del camino restante

Modificar los algoritmos:


se termina cuando el estado elegido como ms prometedor tiene un valor de h* mayor que el estado actual
28
Inteligencia Artificial HB/AFG: 2007/2008

14

Bsqueda con horizonte: El juego de las cifras


mtodo base: bsqueda en profundidad limitada estado actual = (0,[6,2,5,25]) horizonte k = 2 (6,[2,5,25]) (8,[5,25]) (6+2) (31,[2,5]) (6+25) (0,[6,2,5,25])

h*=420
(25,[6,2,5,25]) (31,[5,2]) (25+6) (27,[6,5]) (25+2)

(2,[6,5,25]) (27,[6,5]) (2+25)

(5,[6,2,25])

(8,[5,25]) (2+6)

(11,[2,25]) (30,[6,2]) (5+6) (5+25)

(11,[2,25]) (12,[5,25]) (6+5) (6*2) (150,[2,5]) (30,[2,25]) (6*25) (6*5)

(7,[6,25]) (12,[5,25]) (7,[6,25]) (30,[2,25]) (2+5) (2*6) (5+2) (5*6) (50,[6,5]) (10,[6,25]) (125,[6,2]) (10,[6,25]) (2*25) (2*5) (5*25) (5*2)

(30,[6,2]) (150,[5,2]) (25+5) (25*6) (50,[6,5]) (125,[6,2]) (25*2) (25*5)

h*=270
k=2

29

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda con horizonte: El juego de las cifras


mtodo base: bsqueda en profundidad limitada estado actual = (6,[2,5,25]) horizonte k = 2 (8,[5,25]) (13,[25]) (8+5) (40,[25]) (8*5) (33,[5]) (8+25) (200,[5]) (8*25) (31,[2,5]) (36,[2]) (31+5) (155,[2]) (31*5) (33,[5]) (31+2) (62,[5]) (31*2) (6,[2,5,25]) (11,[2,25]) (36,[2]) (11+25) (275,[2]) (11*25) (13,[25]) (11+2) (22,[25]) (11*2)

h*=414
(150,[2,5]) (152,[5]) (150+2) (300,[5]) (150*2) (155,[2]) (150+5) (750,[2]) (150*5) (30,[2,25]) (55,[2]) (30+25) (750,[2]) (30*25) (32,[25]) (30+2) (60,[25]) (30*2)

(12,[5,25]) (37,[5]) (12+25) (300,[5]) (12*25) (17,[25]) (12+5) (60,[25]) (12*5)

h*=120
k=2
30
Inteligencia Artificial HB/AFG: 2007/2008

15

Bsqueda con horizonte: El juego de las cifras


mtodo base: bsqueda en profundidad limitada estado actual = (12,[5,25]) horizonte k = 2 (37,[5]) (185,[]) (37*5) (42,[]) (37+5) (12,[5,25]) (300,[5]) (1500,[]) (300*5) (305,[]) (300+5)

h*=408
(17,[25]) (425,[]) (17*25) (42,[]) (17+25) (60,[25]) (1500,[]) (60*25) (85,[]) (60+25)

h*=5
k=2
31
Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda con horizonte: El juego de las cifras


mtodo base: bsqueda en profundidad limitada estado actual = (17,[25]) horizonte k = 2 (17,[25]) (42,[])

h*=403
( 425,[])

h*=5

k=2
32
Inteligencia Artificial HB/AFG: 2007/2008

16

Bsqueda con horizonte: El juego de las cifras


mtodo base: bsqueda en profundidad limitada estado actual = (425,[]) horizonte k = 2 (425,[])

k=2
33
Inteligencia Artificial HB/AFG: 2007/2008

Ejercicio
Bsqueda online para optimizacin: Juego de las cifras
La bsqueda online para optimizacin (parando cuando no se obtiene ninguna mejora) es muy til en problemas de optimizacin con un nmero infinito de estados. Aplica la bsqueda por ascenso de colinas a la siguiente instanciacin del juego de las cifras: CIFRAS: 2, 3, 5, 7, 8 EXACTO: 163 En este caso, se usan los operadores suma, resta, multiplicacin y divisin. Solo se puede aplicar un operador si el resultado es entero positivo. Cada cifra se puede utilizar varias veces.

34

Inteligencia Artificial HB/AFG: 2007/2008

17

Tema 2: Problemas bsicos (un jugador)

Resumen:
2. Problemas bsicos (un jugador) 2.1. Actuar en entornos conocidos 2.2. Actuar en entornos desconocidos

35

Inteligencia Artificial HB/AFG: 2007/2008

Caractersticas de problemas con informacin incompleta


Entorno:
secuencial (acciones se efectan de forma secuencial) discreto (nmero finito de acciones en cada estado) determinista (resultados de las acciones son estados definidos) accesible (se puede percibir el estado actual y comprobar si es estado meta)

Agente:
Es capaz de percibir el estado en el que se encuentra Conoce las acciones que puede aplicar en el estado actual
Pero no conoce los estados sucesores de un estado hasta que no ha probado las acciones correspondientes (no puede prever los estados resultantes de las acciones)

Tiene un objetivo (estado meta) Suposiciones:


Las acciones son deterministas (el resultado de una accin, aunque no es previsible, est claramente definido y no cambia) El agente puede reconocer siempre un estado que ha visitado anteriormente
36
Inteligencia Artificial HB/AFG: 2007/2008

18

Conocimientos mnimos a priori de un agente


Conocimientos mnimos a priori de un agente de bsqueda en el espacio de estados:
s0 acciones: s a {a1, ..., an} meta?: s a verdad | falso Estado inicial Devuelve una lista de acciones permitidas en el estado s Compara el estado s con los estados meta y devuelve verdad si s es un estado meta Coste del operador a para ir de si a sj solo se puede aplicar si se conoce sj

c: (si, a, sj ) a v, v

c si1 si2 K sin = c sik , ak , sik +1


k =1

n 1

)
37

Coste de un plan

Inteligencia Artificial HB/AFG: 2007/2008

Ejemplo base: Laberinto


Problema: Estados:
posicin del agente en el laberinto

Instanciacin:
Estado inicial

Acciones:
el agente (A) se puede mover a una posicin adyacente si no hay un obstculo

Coste:
La aplicacin de cada operador vale una unidad

Estado meta

Solucin:
se busca un camino (ms corto) a la salida (S)

A S

Suposicin:
el agente no conoce el laberinto es capaz de recordar estados visitados anteriormente
38
Inteligencia Artificial HB/AFG: 2007/2008

19

Bsqueda (en profundidad) en tiempo real


Idea: Realizar una bsqueda en profundidad creando un mapa del problema Se crea sucesivamente el grafo del problema de bsqueda guardando el grafo en memoria Si se llega a un estado que ya se ha llegado antes, se explora otros caminos no explorados Si se llega a un estado en el que se han explorado todas las acciones se vuelve (fsicamente) atrs

39

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda en tiempo real


Algoritmo: G: es el grafo etiquetado y dirigido del problema que se genera al explorar el espacio; inicialmente vaco ha: es una lista de los estados recorridos, necesario para realizar una vuelta atrs aade(s,G): aade el nodo s al grafo G y aade sus acciones como arcos abiertos conecta(sa,a,s,G): conecta el arco con etiqueta a del nodo sa al nodo s sa y a: estado anterior y ltima accin arc_ab[s]: lista de arcos abiertos de s Primero(l): devuelve el primer elemento de una lista y lo quita de la lista percibir(entorno) y realizar(a): percibe el estado actual y realizar la accin a
{bsqueda en profundidad en TR} sa=null Repetir s percibir(entorno) Si meta?(s) entonces devolver(parar) Si nuevo?(s) entonces aade(s,G) Si sa no es nulo entonces conecta(sa,a,s,G) aade sa al principio de ha Si vacio?(arc_ab[s]) entonces Si vacio?(ha) entonces devolver(parar) En caso contrario a accin que va de s a Primero(ha) sa nulo En caso contrario a Primero(arc_ab[s]) sa s entorno realizar(a) Fin {repetir}
40
Inteligencia Artificial HB/AFG: 2007/2008

20

Bsqueda en tiempo real: Ejemplo


Movimientos del agente
S A S A A S S S

grafo G
A

ha

ar
A S

ab A
AS

de

ar
A S

iz ab

AS A A

S S

ab
S

ab

ar

iz
A

vuelta atrs
A

ar
S A S

AS S S A S S S A

ab ar
S A

ab iz
A

ar
S

de

de

A A

Orden de realizar los movimientos si hay varias posibilidades: - arriba, abajo, izquierda, derecha
41
Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda en tiempo real: Ejemplo


Movimientos del agente
S A S A A S S S

grafo G
A

ha
S

ar
A S

ab A
AS

de

ar
A S

iz ab

AS

S A

A S A A S

ab
S S

ab

ar
S A ar S A

ab ar ar
S A S

iz
A

de

de

ar
S A

AS S S A A A S S S A

ab ar
S A

ab iz
A

ab ar
S

iz

ar
S A

de

de

Orden de realizar los movimientos si hay varias posibilidades: - arriba, abajo, izquierda, derecha
42
Inteligencia Artificial HB/AFG: 2007/2008

21

Bsqueda en tiempo real: Ejemplo


S

rbol expandido:
A S A S A A AS S S S

Exploracin por profundidad No se evitan ciclos Tratamiento de estados repetidos:


si hay un estado repetido se realiza la accin que no se ha probado todava si no hay acciones sin probar vuelve atrs

A S A S A S A S A

S A

43

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda en tiempo real: Ejemplo


Camino del agente el el laberinto: los nmeros en rojo indican el camino del agente
iz de
S

AS

S A

ab 6
A S

5 ar

ab

12 ar
S A

ab 2
S A

1 ab 7 ar 8 iz de 3 9
A

4 ar
S

ab iz
S A

11 ar

de 10

44

Inteligencia Artificial HB/AFG: 2007/2008

22

Bsqueda en tiempo real: Analisis Complejidad:


n nmero de estados posibles; b factor de ramificacin en espacio: espacio requerido para el grafo G y la lista ha peor caso: (n-1)(b+1)+(n-1)b=2nb+n - 2b -1O(nb) en tiempo: nmero de movimientos del agente peor caso: O(nb) en el peor caso b=n y la complejidad en tiempo y espacio podra ser

O(n2) O(n2) puede ser un problema, especialmente respecto al espacio

45

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda en tiempo real: Analisis Completitud:


es completo: en espacios finitos y si de todos los nodos a que se puede llegar existe un camino al nodo meta No es ptimo ndice competitivo del agente (coste camino real/coste camino ptimo)
puede ser infinito si hay acciones irreversibles o el espacio es infinito puede ser arbitrariamente largo si todas las acciones son reversibles y el espacio es limitado

Optimalidad:

Ningn algoritmo puede evitar callejones sin salida en todos los espacios de estados

46

Inteligencia Artificial HB/AFG: 2007/2008

23

Ejercicio
Bsqueda en profundidad en tiempo real:
Considera el laberinto dibujado abajo. A es el agente cuyo objetivo es llegar a S. M es un monstruo que come el agente si llega a el. a) Realiza la bsqueda por profundidad en tiempo real. Si en un estado hay varios acciones sin explorar, elige las acciones en el siguiente orden: izquierda, arriba, derecha, abajo. Dibuja el grafo que genera el agente e indica sus movimientos. b) Realiza la bsqueda por profundidad en tiempo real. Si en un estado hay varios acciones sin explorar, elige las acciones en el siguiente orden: derecha, arriba, izquierda, abajo. Dibuja el grafo que genera el agente e indica sus movimientos. c) Suponiendo un coste de cada movimiento de 1, calcula el ndice competitivo del agente para ambos casos y compralos.

M
A

47

Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda A* con aprendizaje en tiempo real


Problema:
La bsqueda en profundidad en tiempo real es esencialmente ciega: El agente intenta caminos al azar y evita caminos ya explorados Se podra utilizar funciones heursticas: para explorar las acciones ms prometedoras primero Pero, Qu heurstica se puede usar si no se conoce mucho del problema?

Idea: generar informacin heurstica sobre la marcha


Crear el mapa del problema y aprender al mismo tiempo los valores de h* para cada estado (y durante varias bsquedas sucesivas) Inicialmente, se inicializa h*(s) = 0 para todos los nodos s Despus de realizar una accin en el estado sa se actualiza h*(sa) al coste mnimo para ir de sa al estado meta, segn lo que se sabe en este momento Estando en un estado s, se elige aquella accin permitida b que lleva a un estado s tal que h*(s)+c(s,b,s) es mnimo
48
Inteligencia Artificial HB/AFG: 2007/2008

24

Bsqueda A* con aprendizaje en tiempo real


Algoritmo: G: es el grafo etiquetado y dirigido del problema que se genera al explorar el espacio; inicialmente vaco; contiene un valor h* para cada nodo aade(s,G): aade el nodo s al grafo G y aade sus acciones como arcos abiertos; inicializa h*(s) a 0 conecta(sa,a,s,G): conecta el arco con etiqueta a del nodo sa al nodo s sa y a: estado anterior y ltima accin; son variables globales estado[s,b]: estado al que se llega del estado s con la accin b (puede ser no definido) funcion costo (s,s,b): {calcula el coste estimado para ir de s al nodo meta ms cercano a travs de s } Si nodefinido?(s) entonces devolver 0 en otro caso devolver c(s,b,s)+H[s]

{bsqueda con aprendizaje en TR} sa=null Repetir s percibir(entorno) Si nuevo?(s) entonces aade(s,G) Si sa no es nulo entonces conecta(sa,a,s,G) h*[sa]
bacciones(s a )

min

(costo(sa , estado[s a ,b], b))

Si meta?(s) entonces devolver(parar) a accin b de acciones(s) que minimiza costo(s,estado[s,b],b) entorno realizar(a) sa s Fin {repetir}
49
Inteligencia Artificial HB/AFG: 2007/2008

Coste estimado mnimo para ir de un estado a la meta


Caso 1: (s tiene acciones sin explorar) Elegir accin desde s: Actualizar h* de s:
coste=? coste=3 coste=6

Caso 2: (s ha explorado todas las acciones)

s1

h*=1

s4

h*=2

s
coste=3

coste=7 coste=3 h*=2

coste=6

s1

h*=1

s
coste=3

s3

h*=3

s2
h*(s)0
coste=6

s3 s4

h*=3

s2
h*(s)5

h*=2

s1

h*=1

h*=2

coste=? coste=3

s
coste=3

coste=7 coste=3 h*=2

coste=6

s1

h*=1

s
coste=3

s3

h*=3

s2

s3
50

h*=3

s2

h*=2

coste mnimo esperado =0

coste mnimo esperado=5


Inteligencia Artificial HB/AFG: 2007/2008

25

Bsqueda A* con aprendizaje en tiempo real: Ejemplo


Movimientos del agente
S A A S S S A

grafo G

0 iz 0 ab 01
A S

ar e=0
S S

ab A e=0

de e=0
AS

AS

ar e=0
A S

iz e=0
S A

ab e=0

ab e=0

ar e=0

ar
A S

00 1

ab

ab

ar
S

iz
A

ar
S

Orden de realizar los movimientos si hay varias posibilidades: - arriba, abajo, izquierda, derecha e es el costo estimado de la accin para ir a la meta

001

de

00 0

de

en rojo los valores de h* el coste de cada accin es 1


51
Inteligencia Artificial HB/AFG: 2007/2008

Bsqueda A* con aprendizaje en tiempo real: Ejemplo


Movimientos del agente
S A A S S S A

grafo G

iz0 0 12 movimientos ab 01
A S

ar e=0
S S

ab A e=0

de e=0
AS

AS

S A

ar e=0
A S

ab ar
A S

iz e=0
S A

ab e=0
S

ab e=0

ar e=0

ar
S A

00 1 ab

00

ab
S A ar S A S A

ab

de A de e=0 e=1

e=0

ar e=0
S A

ar de

iz
A

ar
S

iz 00

ar
S A

Orden de realizar los movimientos si hay varias posibilidades: - arriba, abajo, izquierda, derecha e es el costo estimado de la accin para ir a la meta

001 1

00 01

de

en rojo los valores de h* el coste de cada accin es 1


52
Inteligencia Artificial HB/AFG: 2007/2008

26

Bsqueda A* con aprendizaje en tiempo real: Analisis


Aprendizaje de h*: los valores de h* aprendidos sirven para nuevas instanciaciones del problema:
el estado meta tiene que ser el mismo el estado inicial puede ser distinto

despus de un nmero suficiente de bsquedas sucesivas con el mismo estado meta, h* converge a h
se convierte en una estimacin exacta del coste de un nodo a la meta

Problemas: En situaciones donde el estado meta puede cambiar, los valores de h* aprendidos no sirven para nuevas bsquedas

53

Inteligencia Artificial HB/AFG: 2007/2008

Nueva bsqueda (con h* aprendido; mismo estado meta /otro estado inicial)
Movimientos del agente
AS A S AS A S

grafo G

ab e=2
A S

de e=0
S

iz e=0

ar e=1

02
A S

iz0 1 2 de ab

AS

S A

ab ar ar
S A

S A iz A

ab A de e=1 e=2
S A S

e=0
S A S

iz A e=2 ar

13
A S A S

e=2
ar e=1
A de

1 12 ab

011

e=2

de A e=3

ab e=3

ab

ab

ab e=0
S A ar S A S A A

ar
S

iz
A

ar
S

iz

ar
S A

e=2

ar e=1

123

de

1 12 2

de

01 12 16 movimientos
Inteligencia Artificial HB/AFG: 2007/2008

Condiciones: igual que antes (slo cambia el estado inicial)


54

27

Nueva bsqueda (con h* aprendido; mismo estado meta / estado inicial que antes)
Movimientos del agente
AS A S AS A S

grafo G

ab e=4
A S

de e=4
S

iz e=3

ar e=3

24
A S

iz2 3 4 de ab

AS

S A

ab ar ar
S A

ab A de e=3 e=3

S A ar

S A

S A

e=2

ar e=1

3
A S A S

233 ab

11

ab 8 movimientos
S A

ab

ar de

iz
A

ar
S

iz 22

ar
S A

3 Condiciones: igual que antes


55

23

de

Inteligencia Artificial HB/AFG: 2007/2008

Nueva bsqueda ( bsqueda inicial con h* aprendido)


Movimientos del agente
S A A S S S A

grafo G

4
A S

iz4 de ab

ar e=4
S A

ab A e=5

de e=4
S A

AS

S A

de e=3
S A

ab ar ar
S A

ab e=1

ar e=2

35
A S A S

3 ab

11

6 movimientos (comparado con los 12 de la primera bsqueda)

ab

ab

ar
S A

iz
A

ar
S

iz 22

ar
S A

3 44 Condiciones: igual que antes


56

de

33

de

Inteligencia Artificial HB/AFG: 2007/2008

28

Bsqueda A* con aprendizaje en tiempo real: Analisis


Complejidad:
espacio: la misma que en la bsqueda en profundidad en tiempo real: O(nb)

(para guardar el grafo)


tiempo:
inicialmente igual que en la bsqueda en profundidad en tiempo real: O(n2) (peor caso) mejora con el tiempo al ser la funcin heurstica h* cada vez ms exacta

Completitud:
es completo: en espacios finitos y si de todos los nodos a que se puede llegar existe un camino al nodo meta No se es ptimo Se convierte en ptimo, cuando h*(n)=h(n) para todos los nodos n Los requerimientos de espacio son importantes, especialmente para problemas con un nmero grande de estados distintos Ejemplo: el 8-Puzzle tiene 9!/2=181440 estados (15-Puzzle: 1013estados)
57
Inteligencia Artificial HB/AFG: 2007/2008

Optimalidad:

Problemas:

Ejercicio
Bsqueda A* con aprendizaje en tiempo real:
Imagnate el siguiente escenario. Un agente tiene que realizar una carrera de la ciudad A a la ciudad B (ver mapa de carreteras con ciudades y kilmetros). La peculiaridad de la carrera consiste en que el agente no conoce el mapa. Una vez que el agente llega a una ciudad, se le dice el nombre de esta ciudad, las carreteras que salen y la longitud de la carretera que acaba de recorrer. 55 G
O a) Aplique el algoritmo de bsqueda A* con Z 71 aprendizaje en tiempo real a este problema. Si 75 151 no hay ningun criterio mejor, el agente prefiere A S carreteras que van al norte y luego 99 140 F sucesivamente los que van al este, sur y oeste. 118 80 R b) Repite la misma bsqueda con los valores de la T 97 211 funcin heuristica aprendido anteriormente. 181 P c) Que cambiara si, al llegar a una ciudad nueva, 101 146 no slo se le dice al agente las carreteras que M salen, sino tambin los kilmetros que hay 138 75 hasta la siguiente ciudad para cada una de estas 120 D C carreteras (pero no a que ciudades se llegan).
58
Inteligencia Artificial HB/AFG: 2007/2008

29

Ejercicio
Aprendizaje de la funcin heurstica en problemas con informacin completa: El mecanismo de aprendizaje puede aplicarse igual si se conoce el grafo de antemano (problemas con informacin completa). De hecho, una vez que se haya obtenido el grafo completo, se hace eso. Adems, en vez de inicializar los valores de la funcin heurstica a 0, se puede utilizar como valores iniciales los de una funcin heurstica conocida.
a) Implemente el algoritmo de aprendizaje para el 8-puzzle. Para inicializar los valores de la funcin heurstica para cada estado utiliza la funcin hc*. b) Genere 100 estados iniciales aleatorios y busque una solucin con el algoritmo implementado, y aprendiendo (mejorando) la funcin heurstica a lo largo de estas 100 bsquedas. Utilice como estado meta el estado meta utilizado en los ejemplos. c) Genera un grfico que indica el nmero de movimientos realizados en cada bsqueda en funcin del nmero de bsquedas realizados anteriormente. Comenta este grfico.
59
Inteligencia Artificial HB/AFG: 2007/2008

30

Vous aimerez peut-être aussi