Вы находитесь на странице: 1из 14

Inteligencia Artificial

Sesin 3
Bsqueda Heurstica (1 parte)

Ing. Sup. en Informtica, 4


Curso acadmico: 2007/2008 Profesores: Sascha Ossowski, y Oswaldo Vlez
Inteligencia Artificial 4 Ing. Sup. Inf.

Tema 2: Agentes basados en Bsqueda

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

Inteligencia Artificial 4 Ing. Sup. Inf.

Bsqueda en amplitud: anlisis


Ventajas: completo:
siempre se encuentra un nodo meta si existe

ptimo (para operadores de coste uno):


siempre se encuentra el nodo meta menos profundo

Problemas: Complejidad
exponencial en espacio y en tiempo incluso en el mejor caso

Optimalidad (para el problema general)


No es ptimo para operadores cualesquiera
3
Inteligencia Artificial 4 Ing. Sup. Inf.

Problema de encontrar rutas


Estado: estancia en una ciudad Coste de un operador: distancia por carretera a la ciudad vecina
Oradea Zerind
75 71 151

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

Pitesti Bucarest Giurgiu

Urziceni

Hirsova
86

Mehadia Dobreta
120

Eforie

Caiova

Inteligencia Artificial 4 Ing. Sup. Inf.

Problema de encontrar rutas: ejemplo


O Z
75 71 151

87

I S
80 92 99 97

A
118

140

F
211 142 98 101 85

Ejemplo: p1 = A-S-F-B c(p1) = 450 p2 = A-S-R-P-B c(p2) = 418


86

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.

Bsqueda de coste uniforme


Bsqueda de coste uniforme: Ingls: uniform cost search Idea:
guiar la bsqueda por el coste de los operadores {bsqueda de coste uniforme} abierta s0 Repetir Si vaco?(abierta) entonces devolver(negativo) nodo primero(abierta) Si meta?(nodo) entonces devolver(nodo) sucesores expandir(nodo) Para cada n sucesores hacer n.padre nodo ordInsertar(n,abierta,g) Fin {repetir}

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

Inteligencia Artificial 4 Ing. Sup. Inf.

Ejemplo: Bsqueda de coste uniforme


A
g=140 g=0

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.

Lgica de la bsqueda de coste uniforme


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

g = 80
8

g = 120

g = 160
Inteligencia Artificial 4 Ing. Sup. Inf.

Caractersticas de la bsqueda de coste uniforme

Anlisis:
La bsqueda de coste uniforme enumera sucesivamente todos los nodos del
espacio de estados por costes (valores de g) crecientes

La bsqueda de coste uniforme es completa:


al ser los costes nmeros enteros positivos, la sucesin de valores de g no es acotada por tanto, si un nodo meta existe en el espacio de estados, ser expandido alguna vez

La bsqueda de coste uniforme es ptima:


Al expandir todos los nodos del espacio de estados por valores crecientes de g, cuando se expande el primer nodo meta, ste ser el nodo meta de menor valor de g, es decir de menor coste

Inteligencia Artificial 4 Ing. Sup. Inf.

Caractersticas de la bsqueda de coste uniforme Ntese:


Coste g

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.

Tema 2: Agentes basados en Bsqueda

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

Inteligencia Artificial 4 Ing. Sup. Inf.

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.

Funcin heurstica para encontrar rutas


A B C D E F G H I L M N O P R S T U V Z h* 366 0 160 242 161 178 77 151 226 244 241 234 380 98 193 253 329 80 199 374
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* )

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

Inteligencia Artificial 4 Ing. Sup. Inf.

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

239+178 f 146+380 = 417 = 526 f * = 366+160 = 526

f * = 220+193 = 413

S
f
*=

B
f
*=

f * = 317+98 = 415

f * = 300+253 = 533

338+253 = 591

450+0 = 450 f * = 414+193 = 607


17

f * = 455+160 = 615

f * = 418+0 = 418
Inteligencia Artificial 4 Ing. Sup. Inf.

Valores de f * en rboles de bsqueda A*


Tipos de variacin de los valores de f * a lo largo de un camino desde la raz hasta un nodo nj
f* f* f*

h* consistente

f *(nj)

f *(nj)

f *(nj)

n1

nj

n1

nj

n1

nj

(a) variable

(b) acotado por f *(nj)


18

(c) montono creciente


Inteligencia Artificial 4 Ing. Sup. Inf.

Funciones heursticas consistentes


Definicin: Si para todo nodo ni y todo sucesor nj de ni se cumple que h*(ni ) h*(nj ) c(ni,nj) entonces h* es consistente Interpretacin intuitiva: h* estima tambin implcitamente el coste de cada operador es consistente si subestima el coste de todos los operadores h*
h*(ni ) h*(nj ) h*(ni ) h*(nj )

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.

Monotona de f * con funcin heurstica consistente


Lema 1: Si h* es consistente, entonces f * crece de forma montona en todos los caminos del rbol de bsqueda, es decir: si nj es sucesor de ni, entonces f *(nj ) f *(ni ) Prueba: h*(nj ) h*(nj ) + g(nj ) h*(nj ) + g(nj ) f *(nj ) h*(ni ) c(ni,nj) h*(ni ) + g(nj ) c(ni,nj) h*(ni ) + g(ni ) + c(ni,nj) c(ni,nj) f *(ni )

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

La estrategia de A* con funcin heurstica consistente


Si nos alejamos de la meta: g crece y h* crece, por lo que f * crece mucho Si nos acercamos de la meta: g crece y h* disminuye, por lo que f * crece poco
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

f * = 380

f * = 400
21

f * = 420
Inteligencia Artificial 4 Ing. Sup. Inf.

Cota de f * con funcin heurstica optimista


Lema 2: Sea camino_a(nm) el conjunto de nodos en el camino desde la raz a un un nodo meta nm cualquiera. Si h* es optimista, entonces para todos los nodos njcamino_a (nm) se verifica que f *(nj ) f *(nm ) Prueba: f*(nm) = g(nm)+h*(nm) = g(nm) f*(nm) c(n1,n2)+...+c(nj-1,nj)+h(nj) f*(nm) f*(nm) f*(nm) c(n1,n2)+...+c(nj-1,nj)+h*(nj) g(nj)+h*(nj) f*(nj). (dado que h* es optimista) (definicin de h) (dado que h* es optimista) (definicin de g y f *) = c(ni,n2)+...+c(nj-1,nj)+c(nj,nj+1)+...+c(nm-1,nm) (definicin de g)

22

Inteligencia Artificial 4 Ing. Sup. Inf.

11

Valores de f * en rboles de bsqueda A*


f* (a) variable f* (b) acotado por f *(nm) f* (c) montono creciente

f *(nj)

f *(nm)

f *(nj)

h* optimista j (nodos cualesquiera)

n1

n1 * h

optimista (nodos meta)

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

Inteligencia Artificial 4 Ing. Sup. Inf.

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

contradiccin; en consecuencia, el mtodo A* encuentra el nodo meta ng


25
Inteligencia Artificial 4 Ing. Sup. Inf.

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

Inteligencia Artificial 4 Ing. Sup. Inf.

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

Inteligencia Artificial 4 Ing. Sup. Inf.

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

Inteligencia Artificial 4 Ing. Sup. Inf.

14

Вам также может понравиться