You are on page 1of 52

Bsqueda Heurstica

Introduccin

Bsqueda Heurstica
Supone la existencia de una funcin de evaluacin que debe medir la distancia estimada al (a un) objetivo (h(n)) Esta funcin de evaluacin se utiliza para guiar el proceso haciendo que en cada momento se seleccione el estado o las operaciones ms prometedores No siempre se garantiza encontrar una solucin (de existir sta) No siempre se garantiza encontrar la solucin ms prxima (la que se encuentra a una distancia, nmero de operaciones menor) Existen mltiples algoritmos:
Branch and Bound, Best First Search A, A IDA Bsqueda local (Hill climbing, Simulated annealing, Alg. Genticos)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

1 / 31

Bsqueda Heurstica

Introduccin

Branch and Bound

Ramicacin y acotacin Generaliza BFS, DFS Se guarda para cada estado el coste (hasta el momento) de llegar desde el estado inicial a dicho estado. Guarda el coste mnimo global hasta el momento Deja de explorar una rama cuando su coste es mayor que el mnimo actual Si el coste de los nodos es uniforme equivale a una bsqueda por niveles

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

2 / 31

Bsqueda Heurstica

Introduccin

Greedy Best First


Algoritmo: Greedy Best First Est_abiertos.insertar(Estado inicial) Actual Est_abiertos.primero() mientras no es_nal?(Actual) y no Est_abiertos.vaca?() hacer Est_abiertos.borrar_primero() Est_cerrados.insertar(Actual) hos generar_sucesores (Actual) hos tratar_repetidos (Hos, Est_cerrados, Est_abiertos) Est_abiertos.insertar(Hos) Actual Est_abiertos.primero() n La estructura de abiertos es una cola con prioridad La prioridad la marca la funcion de estimacin (coste del camino que falta hasta la solucion) En cada iteracin se escoge el nodo mas cercano a la solucion (el primero de la cola), esto provoca que no se garantice la solucion optima
c b e a (LSI-FIB-UPC) Inteligencia Articial Curso 2011/2012 3 / 31

Bsqueda Heurstica

Heursticos

Importancia del estimador

Operaciones: - situar un bloque libre en la mesa - situar un bloque libre sobre otro bloque libre

A H G

H G F E D C B A
Estado Final H1=8 H2= 28 (= 7+6+5+4+3+2+1)

Heurstico 1: - sumar 1 por cada bloque que est colocado sobre el bloque que debe - restar 1 si el bloque no est colocado sobre el que debe

F E D C

Heurstico 2: - si la estructura de apoyo es correcta sumar 1 por cada bloque de dicha estructura - si la estructura de apoyo no es correcta restar 1 por cada bloque de dicha estructura

B
Estado Inicial H1=4 H2=28

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

4 / 31

Bsqueda Heurstica

Heursticos

Importancia del estimador


G F E D A C H G F E D C B
Estado Inicial H1=4 H2=28

H A G F E D C G A B F
H1=6 H2=21 H1=4 H2=14

E D H A C B
H1=4 H2=16

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

5 / 31

Bsqueda Heurstica

Heursticos

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

Estado Inicial

Estado Final

Posibles heursticos (estimadores del coste a la solucin) h(n) = w (n) = #desclasicados h(n) = p(n) = suma de distancias a la posicin nal h(n) = p(n) + 3 s(n) donde s(n) se obtiene recorriendo las posiciones no centrales y si una cha no va seguida por su sucesora sumar 2, si hay cha en el centro sumar 1
c b e a (LSI-FIB-UPC) Inteligencia Articial Curso 2011/2012 6 / 31

Bsqueda Heurstica

Heursticos

Costes
ni nj

Coste de un arco
nj

c(ni , nj ) > 0 C=
j1 x =i

ni

Coste de un camino

c(nx , nx +1 )

C1 C2 ... Cl

ni

nj

Coste del camino mnimo

l K (ni , nj ) = mink=1 Ck

Si Si Si Si

nj es un nodo terminal ni es un nodo inicial existen varios nodos terminales T = {t1 , . . . , tl } existen varios nodos iniciales S = {s1 , . . . , sl }

h (ni ) = K (ni , nj ) g (nj ) = K (ni , nj ) l h (ni ) = mink=1 K (ni , tk ) l g (nj ) = mink=1 K (sk , nj )

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

7 / 31

Bsqueda Heurstica

Bsqueda A

Bsqueda A
La funcin de evaluacin tiene dos componentes:
1 2

coste para ir desde el (un) inicio al nodo actual coste (estimado) para ir desde el nodo actual a una solucin

f (n) = g(n) + h(n)


f es un valor estimado del coste total del camino que pasa por n h (heurstico) es un valor estimado de lo que falta para llegar desde n al (a un) objetivo g es un coste real (lo gastado por el camino ms corto conocido hasta n) La preferencia es siempre del nodo con menor f , en caso de empate, la preferencia es del nodo con menor h.
c b e a (LSI-FIB-UPC) Inteligencia Articial Curso 2011/2012 8 / 31

Bsqueda Heurstica

Bsqueda A

Bsqueda A

g(n)
n

f(n)=g(n)+h(n)
n

h(n)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

9 / 31

Bsqueda Heurstica

Bsqueda A

Bsqueda A

g(n)
n

f(n)=g(n)+h(n)
n

h(n)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

10 / 31

Bsqueda Heurstica

Bsqueda A

Bsqueda A

Con esta funcin podemos variar el comportamiento del algoritmo Si n h(n) = 0, todo estar controlado por g (estaremos en presencia de un algoritmo de Branch & Bound) Si n h(n) = 0 y adems el coste de todos los arcos es 1 estaremos realizando una bsqueda en anchura. Si dicho coste fuera 0, la bsqueda sera aleatoria Al ser h una estimacin del verdadero coste h , cuanto ms se aproxime h a h mayor ser la tendencia a explorar en profundidad. Si h = h entonces A converge directamente hacia el objetivo Se puede demostrar que si h(n) es un minorante del coste real h (n), es decir si n h(n) h (n) A encontrar (de haberlo) un camino ptimo.

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

11 / 31

Bsqueda Heurstica

Bsqueda A

El algoritmo A
Algoritmo: A* Est_abiertos.insertar(Estado inicial) Actual Est_abiertos.primero() mientras no es_nal?(Actual) y no Est_abiertos.vaca?() hacer Est_abiertos.borrar_primero() Est_cerrados.insertar(Actual) hos generar_sucesores (Actual) hos tratar_repetidos (Hos, Est_cerrados, Est_abiertos) Est_abiertos.insertar(Hos) Actual Est_abiertos.primero() n La estructura de abiertos es una cola con prioridad La prioridad la marca la funcin de estimacin (f (n) = g(n) + h(n)) En cada iteracin se escoge el mejor camino (el primero de la cola) Es el mismo algoritmo que el Best First!
c b e a (LSI-FIB-UPC) Inteligencia Articial Curso 2011/2012 12 / 31

Bsqueda Heurstica

Bsqueda A

Tratamiento de repetidos

Si es un repetido que est en la estructura de abiertos


Si su coste es menor substituimos el coste por el nuevo, esto podr variar su posicin en la estructura de abiertos Si su coste es igual o mayor nos olvidamos del nodo

Si es un repetido que esta en la estructura de cerrados


Si su coste es menor reabrimos el nodo insertndolo en la estructura de abiertos con el nuevo coste Atencin! No hacemos nada con sus sucesores, ya se reabrirn si hace falta Si su coste es mayor o igual nos olvidamos del nodo

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

13 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
0+2 Abiertos 0+2 1+1 1+1 1+3 Cerrados

2+1

2+1

2+2

3+1

3+1

3+2

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 Abiertos 1+1 0+2 1+1 1+1 1+1 1+3 1+3 Cerrados 0+2

2+1

2+1

2+2

3+1

3+1

3+2

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 1+1 1+3 Abiertos 1+1 0+2 2+1 1+1 1+3 Cerrados 0+2 1+1

2+1

2+1

2+2

3+1

3+1

3+2

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 3 1+1 1+3 Abiertos 2+1 1+1 0+2 2+1 1+1 1+3 Cerrados 0+2 1+1 1+1

2+1

2+1

2+2

3+1

3+1

3+2

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 4 2+1 2+1 2+2 3 1+1 1+3 Abiertos 2+1 1+1 0+2 3+1 2+1 1+1 1+3 Cerrados 0+2 1+1 1+1 2+1

3+1

3+1

3+2

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 4 2+1 5 2+1 2+2 3 1+1 1+3 Abiertos 3+1 2+1 1+1 0+2 3+1 2+1 1+1 1+3 Cerrados 0+2 1+1 1+1 2+1 2+1 3+2

3+1

3+1

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 4 2+1 6 3+1 3+1 3+2 5 2+1 2+2 3 1+1 1+3 Abiertos 3+1 2+1 1+1 0+2 1+3 3+1 2+1 1+1 4+1 1+3 Cerrados 0+2 1+1 1+1 2+1 2+1 3+1

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 4 2+1 6 3+1 7 3+1 3+2 5 2+1 2+2 3 1+1 1+3 Abiertos 1+3 3+1 2+1 1+1 0+2 4+1 1+3 3+1 2+1 1+1 4+1 1+3 Cerrados 0+2 1+1 1+1 2+1 2+1 3+1 3+1

4+1

4+1 3+1

4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 4 2+1 6 3+1 7 3+1 3+2 5 2+1 2+2 3 1+1 8 1+3 Abiertos 2+2 1+3 3+1 2+1 1+1 0+2 4+1 1+3 3+1 2+1 1+1 4+1 1+3 Cerrados 0+2 1+1 1+1 2+1 2+1 3+1 3+1 1+3 4+1 4+1 3+1 4+1

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 4 2+1 6 3+1 7 3+1 3+2 5 2+1 3 1+1 9 2+2 8 1+3 Abiertos 2+2 1+3 3+1 2+1 1+1 0+2 4+1 1+3 3+1 2+1 1+1 3+2 4+1 1+3 Cerrados 0+2 1+1 1+1 2+1 2+1 3+1 3+1 1+3 4+1 4+1 3+1 4+1 2+2

5+0

4+0

5+0

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

14 / 31

Bsqueda Heurstica

Bsqueda A

A Ejemplo
1 0+2 2 1+1 4 2+1 6 3+1 7 3+1 10 4+1 3+1 3+2 5 2+1 3 1+1 9 2+2 8 1+3 Abiertos 4+0 2+2 1+3 3+1 2+1 1+1 0+2 4+1 1+3 3+1 2+1 1+1 3+2 4+1 1+3 Cerrados 0+2 1+1 1+1 2+1 2+1 3+1 3+1 1+3 4+1 2+2 3+1 5+0 4+0 5+0
Inteligencia Articial Curso 2011/2012 14 / 31

4+1

c b e a (LSI-FIB-UPC)

Bsqueda Heurstica

Bsqueda A

A Ejemplo
Abiertos 1 0+2 2 1+1 4 2+1 6 3+1 7 3+1 10 4+1 3+1 11 4+0 3+2 3+1 1+3 4+1 4+1 2+2 3+1 5+0 5+0
Inteligencia Articial

Cerrados 0+2 1+1 1+1 2+1

4+1 4+0 2+2 1+3 3+1 2+1 1+1 0+2 3+2 4+1 1+3 3+1 2+1 1+1 8

3 1+1 5 2+1

1+3 9 2+2

3+2 4+1 1+3

2+1 3+1

4+0
Curso 2011/2012 14 / 31

c b e a (LSI-FIB-UPC)

Bsqueda Heurstica

Propiedades de los heursticos

Admisibilidad

El algoritmo A encontrar la solucin ptima dependiendo del heurstico Si el heurstico es admisible la optimalidad est asegurada Un heurstico es admisible si se cumple la siguiente propiedad n 0 h(n) h (n) Por lo tanto, h(n) ha de ser un estimador optimista, nunca ha de sobreestimar h (n)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

15 / 31

Bsqueda Heurstica

Propiedades de los heursticos

1 A 2 B
(1+2)

1 A

5 C
(1+3)

2 D
(1+5)

B
(1+2)

C
(1+4)

D
(1+5)

3 E
(2+2)

6 F
(2+2)

3 E
(2+2)

H
(2+0)

4 G
(3+1)

7 H
(3+1)

4 F
(3+1)

Objetivo

8 I
(4+1)

5 G
(4+0) Objetivo

J
(4+0) Objetivo

h subestima h h(B) = 2, que no es real, hemos perdido tiempo pero acabaremos explorando otro camino (C)
c b e a (LSI-FIB-UPC)

h sobreestima h si partiendo de D existiera un camino directo ms corto nunca lo alcanzaramos


Curso 2011/2012 16 / 31

Inteligencia Articial

Bsqueda Heurstica

Propiedades de los heursticos

Condicin de Consistencia
h (ni ) = coste mnimo desde ni a t

ni k(n i,nj ) h*(n i) h*(n j) nj

h (nj ) = coste mnimo desde nj a t h (n) cumple desigualdad triangular h (ni ) k(ni , nj ) + h (nj ) La condicin de consistencia exige que h(n) se comporte como h (n) h(ni ) h(nj ) k(ni , nj ) h(n) consistente = h(n) estimador uniforme de h(n)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

17 / 31

Bsqueda Heurstica

Propiedades de los heursticos

Utilidad de la consistencia

h(n) consistente = g(n) = k(s, n) (camino ptimo a n) Si g(n) = k(s, n), dado que h(n) siempre es constante = f (n) es mnima En este caso no es necesario tratar los nodos duplicados cerrados ya que los nodos expandidos ya no se podrn reexpandir (hemos llegado a ellos por el camino mnimo)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

18 / 31

Bsqueda Heurstica

Propiedades de los heursticos

Algoritmos ms informados
Dado un problema, existen tantos A para resolverlo como estimadores podamos denir. Ms informado Para h1 y h2 admisibles, si se cumple n = nal 0 h2 (n) < h1 (n) h (n) Entonces A es ms informado que A 1 2 Si A es ms informado que A entonces si el nodo n es expandido 1 2 por A = n es expandido por A (pero no al revs) 1 2 Eso quiere decir que A expande menor nmero de nodos que A 1 2

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

19 / 31

Bsqueda Heurstica

Propiedades de los heursticos

Algoritmos ms informados

Siempre elegiremos algoritmos ms informados? Compromiso entre:


Tiempo de clculo de h
h1 (n) requerir ms tiempo de clculo que h2 (n)

Nmero de reexpansiones
A puede que reexpanda ms nodos que A 1 2 Pero si A es consistente seguro que no lo har 1

Perdida de admisibilidad
Puede interesar trabajar con no admisibles para ganar rapidez Algoritmos A ( -admisibilidad)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

20 / 31

Bsqueda Heurstica

Propiedades de los heursticos

Algoritmos ms Informados - 8 puzzle


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

h0 h0 (n) = 0 Equivalente a anchura prioritaria, h0 admisible, muchas generaciones y expansiones

h1 h1 (n) = #piezas mal colocadas


c b e a (LSI-FIB-UPC)

h1 admisible, A mas informado que A 1 0


Curso 2011/2012 21 / 31

Inteligencia Articial

Bsqueda Heurstica

Propiedades de los heursticos

Algoritmos ms Informados - 8 puzzle


h2 distancia entre posicin de la pieza i y su posicin nal h2 admisible, Estadsticamente se comprueba que A es ms informado 2 que A 1 h2 (n) =
i[1,8] di

di

h3 h3 (n) = si =
i[1,8] di + 3 S(n) ; con S(n) = i[1,8] si 0 si pieza i no en el centro y sucesora correcta

1 si pieza i en el centro

2 si pieza i no en el centro y sucesora incorrecta


h3 no es admisible, y por lo tanto no es ms informado que h2 , pero es ms rpido

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

22 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

ptimo con limitacin de memoria


El algoritmo A resuelve problemas en los que es necesario encontrar la mejor solucin Su coste en espacio y tiempo en el caso medio es mejor que los algoritmos de bsqueda ciega si el heurstico es adecuado Existen problemas en los que la dimensin del espacio de bsqueda no permite su solucin con A Ademas los nodos a almacenar por A crecen exponencialmente si: |h(n) h (n)| log(h (n)) Existen algoritmos que permiten obtener el ptimo limitando la memoria usada:
IDA Best First Recursivo Memory Bound A (MA )
c b e a (LSI-FIB-UPC) Inteligencia Articial Curso 2011/2012 23 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Bsqueda IDA
0+2
(1,3,8)

Similar a ID (es decir iteracin de bsqueda en profundidad con un lmite en la bsqueda) En ID el lmite lo daba una cota mxima en la profundidad En IDA el lmite lo da una cota mxima sobre el valor de la funcin f Ojo! La bsqueda es una DFS normal y corriente, el heurstico f slo se utiliza para podar Empezamos con corte = f(inicial)

(2,4,9)

1+1

1+2

(6,12)

(5,10)

2+1

2+1

(7,13)

(11)

3+1

3+1

(14)

4+1

4+0
Objetivo

(15)

5+0
Objetivo

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

24 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Algoritmo IDA
Algoritmo: IDA* (limite entero) prof f (Estado inicial) Actual Estado inicial mientras no es_nal?(Actual) y prof<limite hacer Est_abiertos.incializa() Est_abiertos.insertar(Estado inicial) Actual Est_abiertos.primero() mientras no es_nal?(Actual) y no Est_abiertos.vaca?() hacer Est_abiertos.borrar_primero() Est_cerrados.insertar(Actual) Hos generar_sucesores (Actual, prof) Hos tratar_repetidos (Hos, Est_cerrados, Est_abiertos) Est_abiertos.insertar(Hos) Actual Est_abiertos.primero() prof prof+1 La funcin generar_sucesores solo genera aquellos con una f menor o igual a la del limite de la iteracin La estructura de abiertos es ahora una pila (bsqueda en profundidad) Hemos de tener en cuenta que si tratamos los nodos repetidos el ahorro en espacio es nulo
c b e a (LSI-FIB-UPC) Inteligencia Articial Curso 2011/2012 25 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Otros algoritmos con limitacin de memoria

Las reexpansiones de IDA pueden suponer un elevado coste temporal Existen algoritmos que por lo general reexpanden menos nodos Su funcionamiento se basa en eliminar los nodos menos prometedores y guardar informacin que permita reexpandirlos Ejemplos:
Best rst recursivo Memory Bound A (MA )

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

26 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo

Es una implementacin del Best First recursiva con coste lineal en espacio O(rp) Olvida una rama cuando su coste supera la mejor alternativa El coste de la rama olvidada se almacena en el padre como su nuevo coste La rama es reexpandida si su coste vuelve a ser el mejor (regeneramos toda la rama olvidada)

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

27 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Algoritmo


Procedimento: BFS-recursivo (nodo,c_alternativo,ref nuevo_coste,ref solucion) si es_solucion?(nodo) entonces solucion.aadir(nodo) sino sucesores generar_sucesores (nodo) si sucesores.vacio?() entonces nuevo_coste +; solucion.vacio() sino n falso mientras no n hacer mejor sucesores.mejor_nodo() si mejor.coste() > c_alternativo entonces n cierto; solucion.vacio(); nuevo_coste mejor.coste() sino segundo sucesores.segundo_mejor_nodo() BFS-recursivo(mejor,min(c_alternativo,segundo.coste()),nuevo_coste, solucion) si solucion.vacio?() entonces mejor.coste(nuevo_coste) sino solucion.aadir(mejor); n cierto

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

28 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

18

12

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

2 18 8 12

18

11

19

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

2 18 8 3 18 11 19 12

17

20

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

2 18 8 3 18 17 19 12

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

2 18 17 12

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

2 18 17 12

20

21

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

5 18 17 20

18

17

19

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

5 18 17 6 18 17 19 20

17

20

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

5 18 17 6 18 7 17 20 17 19 20

17
c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo - Ejemplo


1

5 18 17 6 18 7 17 8 17
c b e a (LSI-FIB-UPC)

20

17

19

20

Inteligencia Articial

Curso 2011/2012

29 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

Best First Recursivo

Por lo general reexpande menos nodos que IDA El lmite de memoria (lineal en espacio) provoca muchas reexpansiones en ciertos problemas Al no poder controlar los repetidos su coste en tiempo puede elevarse si hay ciclos Solucin: Relajar la restriccin de memoria

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

30 / 31

Bsqueda Heurstica

Bsqueda con limitacin de memoria

A con memoria limitada (MA )

Impone un lmite de memoria (nmero de nodos que se pueden almacenar, mayor que O(rp)) Exploramos usando A y almacenamos nodos mientras quepan en la memoria Cuando no quepan eliminamos los peores guardando el mejor coste de los descendientes olvidados Reexpandimos si los nodos olvidados son mejores El algoritmo es completo si el camino solucin cabe en memoria

c b e a (LSI-FIB-UPC)

Inteligencia Articial

Curso 2011/2012

31 / 31

You might also like