Está en la página 1de 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada

Ejercicio 1:
Conteste a las siguientes preguntas:
(a) Cmo funciona una heurstica con aprendizaje?
Solucin:
Una heurstica con aprendizaje empieza con h*(n) = 0 para todos los nodos n, y cada vez que se
realiza una bsqueda, en cada paso usa el coste real de un paso para mejorar el valor de h*.
(b) Cul es la desventaja principal de una heurstica con aprendizaje?
Solucin:
Hay que almacenar los valores h* de todos los nodos en una tabla, y por eso necesita una gran
cantidad de memoria.
(c) Qu significa que una funcin heurstica optimista h1* es ms informada que otra funcin
heurstica optimista h2*?
Solucin:
h1* es ms informada que h2* si para todo nodo n se cumple que h1*(n) >= h2*(n)
(d) Si hay dos funciones heursticas optimistas para el algoritmo A*, por qu es preferible
utilizar la ms informada?
Solucin:
Porque A* con la funcin heurstica ms informada expande un nmero de nodos menor o
igual al nmero de nodos que expandira con la menos informada.
(e) A qu bsqueda es equivalente el algoritmo A* si se utiliza como heurstica la funcin
h*(n)=0 para todo n?
Solucin:
Es equivalente a la bsqueda de coste uniforme, ya que f*(n) = g(n) + h*(n) si h*(n) = 0
implica que f*(n) = g(n) que es la funcin utilizada por la bsqueda de coste uniforme.

Pg. 1 / 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada
Ejercicio 2:
Considere el 8-puzzle cuyo estado inicial y estado meta se muestran en la siguiente figura:

Desarrolle el rbol de bsqueda que expande el algoritmo A* utilizando las siguientes heursticas.
Evite ciclos generales, indique el orden de expansin de los estados y muestre en cada paso los
valores de h*, g, y f *. Cuando puede elegir entre varios nodos para ser expandidos, asuma el peor
caso.
a) ha*(n) = nmero de piezas descolocados en n respecto al estado meta
b) hc*(n) = suma de las distancias de Manhattan de las piezas en n respecto al estado meta

Pg. 2 / 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada

Solucin a:

Pg. 3 / 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada

Solucin b:

Pg. 4 / 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada

Ejercicio 3:
Considere el problema el laberinto que se presenta en la siguiente figura.
A S

El agente A tiene el objetivo de encontrar la salida S. Las nicas acciones de las que el agente
dispone son los movimientos (derecha, arriba, abajo, e izquierda) del cuadrado en el que se encuentra
el agente en un momento dado a un cuadrado adyacente. Sin embargo, cada una de estas acciones
slo es posible si en la direccin correspondiente no existe una barrera ni se saldra del tablero. Cada
accin tiene un coste de una unidad. De antemano, el agente conoce el mapa del laberinto y la
posicin de la salida, pero no las posiciones de las barreras. Adems el agente es capaz de
identificar en cada momento su propia posicin en el mapa.
a) Define una funcin heurstica h* para este problema. Es su funcin h* optimista y/o
consistente? Justifique brevemente su propuesta!
b) Suponiendo la posicin inicial del agente que se indica en la figura arriba, aplique la bsqueda
A* con su funcin heurstica h* a este problema. Desarrolle el rbol de bsqueda suponiendo que
no se evitan estados repetidos. Indique el orden en el que se expanden los nodos, as como los
valores de g, h* y f * para cada nodo del rbol de bsqueda. (Si al expandir un nodo hay que
elegir aleatoriamente entre varios, expanda preferiblemente primero un nodo que est ms
cerca de un nodo meta.)
c) Suponga el siguiente estado inicial:
A

Suponga que el agente no tiene ninguna informacin heurstica inicial respecto a las distancias
de las distintas posiciones en el tablero haca la salida. Aplique la bsqueda A* con el
aprendizaje de la funcin heurstica h* a este problema. Desarrolle el rbol de bsqueda
suponiendo que no se evitan estados repetidos. Indique el orden en el que se expanden los
nodos, as como los valores de g, h * y f * para cada nodo del rbol de bsqueda. Adems, anote
los valores de la funcin heurstica h* de cada nodo en una tabla de tal modo que se aprecian
los cambios de estos valores a lo largo de la ejecucin del algoritmo. (Si al expandir un nodo
hay que elegir aleatoriamente entre varios, expanda preferiblemente primero el nodo que
est ms cerca de un nodo meta.)

Pg. 5 / 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada
Solucin 3a)
Una funcin heurstica evidente es la que mide la distancia mnima del agente hasta la salida (en
nmero mnimo de cuadrados que tendra que recorrer) sin tener en cuenta las barreras. Para el
estado de la figura primero el valor de h* sera 4.
Esta funcin es optimista, ya que en el caso real (incluidas las barreras) el nmero de cuadrados a
recorrer hasta la salida sera siempre igual o mayor que el valor de h*.
Respecto a la consistencia, una funcin h* es consistente sii para todo nodo ni y todo hijo nj de ni
se cumple que h*(ni) h*(nj) c(ni,nj). Esta condicin se cumple para la funcin elegida como se
ve a continuacin:
- para todo nodo ni y todo hijo nj de ni se cumple que c(ni,nj)=1 , ya que cada operacin vale una
unidad
- para todo nodo ni y todo hijo nj de ni se cumple que h*(ni) h*(nj){1,-1} (eso es as porque
para cualquier dos estados adyacentes, uno es siempre una unidad ms cerca de la salida que
el otro)
- por tanto para todo nodo ni y todo hijo nj de ni se cumple necesariamente la condicin h*(ni)
h*(nj) c(ni,nj), por lo que h* es consistente.
Solucin 3b)
A S
f*=0+1=1

f*=2+3=5

f*=3+2=5
A 7

A
f*=3+4=7
f*=4+1=5
8

f*=3+2=5
S
A

f*=3+2=5

A S

f*=1+2=3

f*=2+1=3

S
A

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

S
A
f*=4+3=7

SA

A S

3
f*=2+1=3

A
S

f*=1+2=3

f*= el primer valor es g(n) y el segundo h*(n)


El orden de expansin de los nodos est dada en
los crculos.

9
f*=5+0=5

Pg. 6 / 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada
Solucin 3c)
A S
f*=3+1=4

8
A

S
S

f*=2+1=3
2

A
f*=2+0=2

1
A

f*=3+1=4

A
f*=1+0=1

f*=3+1=4

10

A
f*=4+1=5

f*=3+0=3
S

f*=3+1=4

f*=0+0=0

A
f*=2+0=2

S
A

S 7
A

A
S

f*=3+0=3
A S

9
3

A S

11
f*=4+0=4

f*=3+1=4

S
S

f*=2+1=3
A

f*=1+0=1

f*=4+1=5

f*=3+1=4

6
A

A S

f*=3+1=4

f*=2+0=2

Valores de h* (inicialmente 0):


A

SA

A S

S
A

S
A

S
A

0,2

0,1

0,2

0,1,2,2

0,1

Pg. 7 / 9

S
A

0,1

0,1

S
A

0,1

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada

Ejercicio 4:
En juego de los cuadrados latinos se parte de un tablero 3 3 vaco. En cada posicin vamos
colocamos nmeros del 1 al 9, ninguno de los cuales puede repetirse. El objetivo es tener el tablero
completo, es decir, un nmero en cada posicin del mismo, y es necesario que el valor de la suma de
las filas, columnas y diagonales sea siempre el mismo valor: 15. Un ejemplo en el cual tenemos el
tablero completo, se han utilizado todos los nmeros pero no se consigue el objetivo indicado est en
la siguiente figura. En este ejemplo slo una diagonal y la ltima fila cumplen que la suma de sus
nmeros es 15.
1 9 2
7 5 6
8 4 3
a) Defina una representacin eficiente para el juego de los cuadrados latinos 33, especificando el
conjunto de estados, el estado inicial, y las operaciones permitidos en cada estado.
b) Considere el estado inicial que se muestra a continuacin donde tenemos seis posiciones ocupadas,
tres libres, y slo una diagonal cumple que la suma de sus nmeros es 15. Cada paso tiene coste uno.
2

4
5 3
6 1
Asimismo, considere la siguiente funcin heurstica definida para cualquier estado n del tablero:
h*(n) = el nmero de filas + el nmero de columnas + el nmero de diagonales
en el estado n que no cumplen que la suma de sus nmeros es 15.
Por ejemplo, el valor de h* de la configuracin de la primera figura es 6, mientras que el valor de
h* para la configuracin de la segunda figura es 7.
Desarrolle el rbol de bsqueda que genera el algoritmo A* para este problema. Indique el orden
en el que se expanden los nodos, los valores de g, h * y f * para cada nodo del rbol de
bsqueda, y la evolucin de la lista abierta.
c)

La funcin h* es optimista y/o consistente? El algoritmo A* encuentra siempre la solucin de


menor coste? Razone brevemente sus respuestas.

Pg. 8 / 9

UNIVERSIDAD REY JUAN CARLOS

CURSO 2012-2013

Hoja de Problemas Tema 4


Bsqueda heurstica avanzada
Solucin:
a) Sea N = {1,2,3,4,5,6,7,8,9} y T = {_} N un conjunto de smbolos. El conjunto de estados S
viene dado por todos los vectores de longitud 9 sobre T en los que no se repite ningn nmero:
S v T 9 : i, j N . vi v j vi _

El estado inicial es s0=(_,_,_,_,_,_,_,_,_).


El orden en el que se aaden nmeros al tablero es irrelevante, por lo que en cada estado
decidimos utilizar slo el menor de los nmeros no usados hasta el momento. Sea n el nmero
mnimo no utilizado en un estado s
n min n N : i N . n si
El conjunto de sucesores de un estado s se genera aadiendo n en cada hueco del tablero
expandir ( s ) s S : s1 , s2 T *. s s1ns2 s s1 _ s2

b)
f * = 0+7 = 7

A
2
6

f * = 1+5 = 6

C
2 7 4
5 3
6 1

4
5 3
1

2
7
6

4
5 3
1

2
6

f * = 1+7 = 8

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

E
f * = 2+2 = 4

2
4
7 5 3
6 1 8

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

G
f * = 3+0 = 3

1.
2.
3.
4.

2 9 4
7 5 3
6 1 8

Abierta

(A,7)
(C,6), (B,8), (D,8)
(E,4), (F,7) , (B,8), (D,8)
(G,3), (F,7) , (B,8), (D,8)

c) La funcin heurstica no es optimista, como se ve en el apartado b a travs del nodo E: h*(E)=2


> h (E)=1. Puesto que no es optimista, tampoco es consistente. Sin embargo, todas las soluciones
tienen el mismo coste (si se parte del tablero vaco, el coste de cualquier solucin es 9) por lo
que, trivialmente, el algoritmo A* es ptimo para el juego de los cuadrados latinos.

Pg. 9 / 9

También podría gustarte