Академический Документы
Профессиональный Документы
Культура Документы
Sesin 3
Bsqueda Heurstica (1 parte)
Resumen: 2. Agentes basados en bsqueda 2.1. Bsqueda en espacios de estados 2.2 Bsqueda no-informada 2.3. Bsqueda heurstica 2.4. Bsqueda multiagente 2.5. Bsqueda con espacios estructurados
Problemas: Complejidad
exponencial en espacio y en tiempo incluso en el mejor caso
Operadores: ir a una ciudad vecina Coste de un plan: suma de distancias entre las ciudades visitadas
Neamt
87
Arad
140
Iasi Sibiu 99
80 97 211 101 138 90 85 142 98 92
118
Fagaras
Vaslui
Rimnicu Timisoara
111 70 75
Lugoj
146
Urziceni
Hirsova
86
Mehadia Dobreta
120
Eforie
Caiova
87
I S
80 92 99 97
A
118
140
F
211 142 98 101 85
T
111 70
R L
146
P B
138 120 90
U E
M
75
Problema: los mtodos de bsqueda no informados encuentran el nodo meta de menor profundidad; ste puede no ser el nodo meta de coste mnimo prof.(Bp1) = 3 < 4 = prof.(Bp2) / c(p1) = 450 > 418=c(p2)
5
Inteligencia Artificial 4 Ing. Sup. Inf.
Mtodo:
g(n): coste mnimo para llegar del nodo inicial al nodo n expandir siempre el nodo de menor coste g primero
Algoritmo:
almacenar cada nodo con su valor g insertar los nuevos nodos en abierta en orden ascendente segn su valor g
6
S R A
T F
g=118
Z L
g =75
g=220 g=300
g=280 g=317
g=291
g =239
g=229
g=236
O S
g=146
g=150
g=366
g = 340 g= 299
g = 212 g= 292
g=290
g=225
g=268
g=283
g=287
g=296
g=300
...
7
Inteligencia Artificial 4 Ing. Sup. Inf.
87
I S
80 92 99 97
A
118
140
F
211 142 98 101 85
T
111 70
R L
146
P B
138 120 90
H
86
U E
M
75
g = 80
8
g = 120
g = 160
Inteligencia Artificial 4 Ing. Sup. Inf.
Anlisis:
La bsqueda de coste uniforme enumera sucesivamente todos los nodos del
espacio de estados por costes (valores de g) crecientes
No se da este caso!
El anlisis de completitud y optimalidad de la bsqueda de coste uniforme se basa en que el hecho de que la sucesin de costes (valores de g) nunca disminuye
Problema:
n1
nm1
nm2
La bsqueda de coste uniforme degenera en la bsqueda en amplitud si g(n) = profundidad(n) para todos los nodos n Se heredan todas sus propiedades negativas de complejidad en el peor caso: Si es el coste medio de los operadores entonces:
Complejidad en tiempo en el peor caso: fw O(b) Complejidad en espacio en el peor caso: fw O(b)
10
Inteligencia Artificial 4 Ing. Sup. Inf.
Resumen: 2. Agentes basados en bsqueda 2.1. Bsqueda en espacios de estados 2.2 Bsqueda no-informada 2.3. Bsqueda heurstica 2.4. Bsqueda multiagente 2.5. Bsqueda con espacios estructurados
11
Heursticas
Heurstica (griego: heuriskein): encontrar, descubrir Inteligencia Artificial:
compila conocimiento emprico sobre un problema / un entorno
Interpretacin fuerte:
una heurstica suele facilitar la resolucin de un problema, pero no garantiza que se resuelva una heurstica es una regla de tres para un problema bsqueda: optimalidad o incluso completitud no garantizados
Interpretacin dbil:
mtodo riguroso + informacin heurstica informacin heurstica puede mejorar el rendimiento medio de un mtodo de resolucin de problemas, pero no garantiza una mejora en el peor caso bsqueda: mejora de complejidad no garantizado
12
Inteligencia Artificial 4 Ing. Sup. Inf.
Funciones heursticas
Funciones heursticas para bsqueda en el espacio de estados: estiman de adecuacin de un nodo para ser expandido mtodos de bsqueda el mejor primero eligen el nodo ms prometedor para expandir Heurstica usual: distancia hacia la 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) una funcin heurstica h* es optimista, si h*(n) h(n) para todo nodo n Ejemplos de funciones heursticas optimistas: mundo de los bloques: nmero de bloques descolocados encontrar rutas: distancia en lnea recta hasta un nodo meta
13
Inteligencia Artificial 4 Ing. Sup. Inf.
O Z
75 71 151
87
I S
80 92 99 97
A
118
140
F
211 142 98 101 85
T
111 70
R L
146
P B
138 120 90
H
86
U E
M
75
14
Bsqueda A*
Idea: 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* )
Estrategia A* : entre las hojas del rbol de bsqueda, elegir el nodo de valor f * mnimo
15
Inteligencia Artificial 4 Ing. Sup. Inf.
El Algoritmo A*
{A*} abierta s0 Repetir Si vaco?(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 *
16
Ejemplo: Bsqueda A*
A
f * = 0+366 = 366
f *= 140+253 = 393
f * = 118+329 = 447
f * = 75+374 = 449
A
f
*=
F
f
*=
O
*=
280+366 = 646
f * = 220+193 = 413
S
f
*=
B
f
*=
f * = 317+98 = 415
f * = 300+253 = 533
338+253 = 591
f * = 455+160 = 615
f * = 418+0 = 418
Inteligencia Artificial 4 Ing. Sup. Inf.
h* consistente
f *(nj)
f *(nj)
f *(nj)
n1
nj
n1
nj
n1
nj
(a) variable
ni c(ni,nj) nj
ng Ntese: Si h* es consistente, entonces tambin es optimista Pero existen funciones heursticas h* optimistas que no son consistentes
19
Inteligencia Artificial 4 Ing. Sup. Inf.
Corolario 1: Sea nm el mejor nodo meta. Si h* es consistente, entonces el algoritmo A * expande todos los nodos ni tal que f *(ni ) f *(nm )
20
Inteligencia Artificial 4 Ing. Sup. Inf.
10
87
I S
80 92 99 97
A
118
140
F
211 142 98 101 85
T
111 70
R L
146
P B
138 120 90
H
86
U E
M
75
f * = 380
f * = 400
21
f * = 420
Inteligencia Artificial 4 Ing. Sup. Inf.
22
11
f *(nj)
f *(nm)
f *(nj)
n1
n1 * h
nj
n1
nj
h* consistente
Corolario 2: Sea nm el mejor nodo meta, y camino_a(ni) el conjunto de nodos nj en el camino desde la raz a un nodo ni cualquiera (ni incluido). Si h* es optimista, entonces el algoritmo A * expande todos los nodos ni tal que nj camino_a (ni). f *(nj ) f *(nm )
23
Inteligencia Artificial 4 Ing. Sup. Inf.
Optimalidad de A*
Teorema 1: Si h* es optimista, entonces el mtodo A* es ptimo Prueba: Sean nm1 y nm2 dos nodos meta cualesquiera distintos, y nm1 el nodo meta de menor coste (es decir: g(nm1)<g(nm2)). 1. f*(nm1) = g(nm1)+h*(nm1) =g(nm1)+0 y f*(nm2) = g(nm2)+h*(nm2) =g(nm2)+0 Con la suposicin se sigue que f*(nm1) < f*(nm2) (por las definiciones de f* y g y dado que h* es optimista)
2. Supongamos que nm2 se encuentra antes que nm1. Puesto que el algoritmo A* expande los nodos del rbol por valores crecientes de f *, debe existir un nodo ni camino_a(nm1) tal que f*(nm2) f*(ni) . 3. Pero por el lema 2 y (1) sabemos que nj camino_a(nm1). f*(nj) f*(nm1) < f*(nm2). Contradiccin (no puede existir el nodo ni de (2)) 4. Por tanto, para cualesquiera dos nodos meta, A* encuentra el de menor coste antes, lo que implica que es ptimo.
24
12
Completitud de A*
Teorema 2: El mtodo A* es completo Prueba: sea nm un nodo meta y camino_a(nm) el conjunto de nodos en el camino de la raz a nm. Suponga que nm no es encontrado por el mtodo A*
ya que el nmero de sucesores de un nodo es finito, debe haber un camino infinito p, tal que se expanden todos los nodos ni de p antes de nm la secuencia de valores de g a lo largo de p aumenta estrictamente (el coste de los operadores es > 0) y dado que por definicin h *(n) 0, existe algn nk en [ f * (n j )] max p con f * (nk ) = g (nk ) + h* (nk ) >
n j ca min o _ a ( nm )
el algoritmo expande los nodos sucesivamente por valores de f * crecientes, por lo que todos los nodos en el camino a nm (incluido nm) son expandidos antes que el nodo nk
Ejercicio 3.1
Bsqueda de coste uniforme: Aplique la bsqueda de coste uniforme para encontrar una ruta de Pitesti (P) a Fagaras (F). Desarrolle el rbol de bsqueda generado por dicho algoritmo, asumiendo que se evitan ciclos simples. Indique el valor g de cada nodo, as como el orden en el que se expanden los nodos.
26
13
Ejercicio 3.2
Algoritmo A* : Suponga el mundo de los bloques con el estado inicial y el estado meta que se muestran al lado. Se trata de aplicar algoritmo A* a este problema, suponiendo que se filtran ciclos simples. Como funcin heurstica consistente, use el nmero de bloques descolocados.
a) 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 b) Ponga el estado de la lista abierta en cada paso del algoritmo
Estado inicial
C A
Estado meta
A B C
27
Ejercicio 3.3
Optimalidad del algoritmo A*
El grafo que se muestra al lado describe un problema de bsqueda. Suponga que A es el estado inicial y que F y E son estados meta. Los arcos estn etiquetados con el coste real de los operadores. h* es una funcin heurstica
a) Desarrolle el rbol de bsqueda que genera el algoritmo A*. Indique el orden en que se expanden los nodos Cul de los nodos meta se encuentra primero? b) La funcin heurstica es consistente y/o optimista? Argumente su respuesta. 7
A
4
C
4
D
3
E F
A B C D E F
h* 8 6 6 5 0 0
28
14