2012 Soluciones Actividad Obligatoria I
2012 Soluciones Actividad Obligatoria I
2012 Soluciones Actividad Obligatoria I
Curso: 2011/2012
Equipo docente: ngeles Manjarrs Riesco y Severino Fernndez Galn
Soluciones de la Actividad Obligatoria I:
BSQUEDA EN UN ESPACIO DE ESTADOS
1. INTRODUCCIN
Esta asignatura requiere la realizacin de dos actividades obligatorias para las que no ser necesario que
el alumno acuda al Centro Asociado, ya que podrn realizarse a distancia. El objetivo de estas
actividades obligatorias es afianzar y poner en prctica los contenidos tericos de la asignatura.
La primera de las actividades obligatorias est relacionada con los mtodos de bsqueda en espacios
de estados. El tiempo estimado para la realizacin de la misma es de 15 horas. La entrega del material
elaborado por el alumno como contestacin a las actividades obligatorias se realizar a travs del curso
virtual y un profesor tutor se encargar de su correccin. El plazo de entrega finaliza el da 1 de abril de
2012.
La nota final de las actividades obligatorias ser la media de las puntuaciones obtenidas en cada una
de las dos actividades obligatorias y constituir un 25% de la nota final de la asignatura. Es importante
tener en cuenta que slo se corregirn las actividades obligatorias una vez durante el curso (previamente
a la convocatoria de junio). Por tanto, la nota asignada a las actividades obligatorias de cara a junio ser
la nica vlida tanto para la convocatoria de junio como para la de septiembre. En caso de que el alumno
no realice la entrega de actividades obligatorias de cara a la convocatoria de junio, se le asignar un cero
al 25% de la nota final correspondiente a las actividades obligatorias, tanto para la convocatoria de junio
como para la de septiembre.
2. ENUNCIADO DE LA ACTIVIDAD OBLIGATORIA 1: BSQUEDA EN UN ESPACIO DE ESTADOS
La actividad obligatoria sobre bsqueda en un espacio de estados consistir en la realizacin por parte
del alumno de seis ejercicios prcticos. La nota sobre 10 de esta actividad obligatoria se calcula del
siguiente modo:
NOTA = 0.125 nota1 + 0.1 nota2 + 0.2 nota3 + 0.2 nota4 + 0.3 nota5 + 0.075 nota6,
donde notai representa la nota sobre 10 del ejercicio i.
El alumno deber seguir los contenidos del texto base de la asignatura a la hora de dar respuesta a
estos ejercicios, cuya temtica y criterios de evaluacin se especifican a continuacin.
EJERCICIO 1:
Dibuje mediante un grafo dirigido o describa detalladamente mediante una tabla el espacio de estados (o
espacio de bsqueda) completo para el problema del barquero. Para ello especifique: el conjunto de
todos los estados posibles, el estado inicial, el o los estados meta, los operadores aplicables a cada
estado y el coste asociado a cada operador. En el problema del barquero, un barquero se encuentra en la
orilla de un ro con un puma, una cabra y una lechuga. Su intencin es trasladar los tres elementos
anteriores a la otra orilla por medio de un bote con capacidad para dos (el propio barquero y uno
cualquiera de los elementos mencionados). La dificultad reside en que si el puma se quedara solo con la
cabra entonces la devorara y lo mismo sucedera si la cabra se quedara sola con la lechuga. Cul es la
solucin menos costosa para el problema del barquero?
CRITERIOS DE EVALUACIN DEL EJERCICIO 1:
La evaluacin sobre 10 puntos de este ejercicio se realizara atendiendo a los siguientes criterios:
Los estados se especifican correctamente: 2.5 puntos
Los operadores se especifican correctamente: 2.5 puntos
Los costes de los operadores se especifican correctamente: 1 punto
El espacio de bsqueda se dibuja (mediante un grafo dirigido) o se describe (mediante una tabla)
correctamente: 3 puntos
La solucin de menor coste se especifica correctamente: 1 punto
B
(CLP - B)
(LP - BC)
(CP - BL)
(CL - BP)
(BLP - C)
(C - BLP)
(BP - CL)
(BL - CP)
(BC - LP)
OPERADORES
BC
BL
(LP - BC)
(CP - BL)
Estado no permitido
No aplicable
(P - BCL)
(P - BCL)
No aplicable
(L - BCP)
(C - BLP)
(BCLP -)
No aplicable
Estado no permitido
Estado no permitido
Estado no permitido
Estado no permitido
(- BCLP)
No aplicable
(BCP - L)
(BLP - C)
(BCL - P)
No aplicable
No aplicable
(BCL - P)
Estado no permitido
Estado META
BP
(CL - BP)
(L - BCP)
(C - BLP)
No aplicable
No aplicable
No aplicable
No aplicable
(BLP - C)
(BCP - L)
Tabla 1.1: Estados posibles, operadores aplicables a cada estado y estados resultantes de aplicar cada
operador para el problema del barquero.
De forma alternativa, la informacin incluida en la tabla 1.1 se puede representar mediante un grafo
dirigido tal como se muestra en la figura 1.1. En dicha figura, los estados no permitidos se han marcado
con lneas discontinuas y se ha utilizado lnea doble para marcar el estado inicial y el estado meta. Por
otra parte, obsrvese que el estado (B - CLP) queda aislado en el espacio de bsqueda.
(BCLP -)
B
(CLP - B)
BP
BL
BC
BC
(LP - BC)
(CL - BP)
(CP - BL)
BP
B
BC
(BCL - P)
(L - BCP)
B
(BLP - C)
BL
BL
BP
B
BC
BL
(P - BCL)
B
(BP - CL)
(BL - CP)
B
BC
BC
(BCP - L)
BP
BP
BL
(C - BLP)
B
B
(BC - LP)
BC
(B - CLP)
(- BCLP)
Figura 1.1: Grafo dirigido que representa el espacio de bsqueda para el problema del barquero.
La solucin menos costosa para el problema del barquero (o, en este caso, las dos soluciones
menos costosas) consiste en: llevar la cabra a la otra orilla, regresar solo, llevar la lechuga o el puma a la
otra orilla, regresar con la cabra, llevar el elemento que estaba solo en la orilla original a la otra orilla,
regresar solo y llevar la cabra a la otra orilla.
EJERCICIO 2:
Considere el espacio de bsqueda de la figura 2.1, que tiene forma de rbol, donde el nodo raz del rbol
es el nodo inicial, existe un nico nodo meta y cada operador tiene asociado un coste. Explique
razonadamente en qu orden se expandiran los nodos de dicho rbol de bsqueda a partir de cada uno
de los mtodos siguientes de bsqueda sin informacin del dominio:
1. Bsqueda Primero en Anchura (de izquierda a derecha)
2. Bsqueda Primero en Profundidad (de derecha a izquierda)
3. Bsqueda de Coste Uniforme
4. Bsqueda en Anchura Iterativa (de derecha a izquierda)
5. Bsqueda en Profundidad Iterativa (de izquierda a derecha)
5
D
K
3
I
8
F
5
Q
1
A
10
H
20
3
R
6
P
Figura 2.1: rbol de bsqueda en el que el nodo inicial es J, el nodo meta es E y el coste de cada operador
aparece al lado del arco que lo representa.
2
K
6
D 3
10
3
11 B
8
16 F
5
N
12
13
3
14 R
M
4
2
10
8
7 A
6 L
C 5
4
20
G
15
6
P
18
17
Figura 2.2: Orden de expansin de nodos para el rbol de la figura 2.1 segn la bsqueda primero en anchura (de
izquierda a derecha).
D 4
K
3
5
10
5
H
9 R
10
20
1
6 A
8 L
M
2
11
Figura 2.3: Orden de expansin de nodos para el rbol de la figura 2.1 segn la bsqueda primero en profundidad
(de derecha a izquierda).
2
K
6
D 4
13
3
12 B
8
F
5
N
14
3
11 R
M
2
2
1
5 A
8 L
C 7
4
10
6
H
10
20
G
6
P
15
Figura 2.4: Orden de expansin de nodos para el rbol de la figura 2.1 segn la bsqueda de coste uniforme.
K
3
I
8
10
H
20
Q
1
1
A
M
2
Figura 2.5a: Primera iteracin de la bsqueda en anchura iterativa de derecha a izquierda, en la que como
mximo un hijo es generado en cada expansin de un nodo padre.
D 3
K
3
I
8
F
5
Q
10
5
6 A
M
2
20
3
R
6
P
Figura 2.5b: Segunda iteracin de la bsqueda en anchura iterativa de derecha a izquierda, en la que como
mximo dos hijos son generados en cada expansin de un nodo padre.
2
K
6
D 3
15
3
14 B
5
N
13
12
10
6
H
20
3
11 R
10
M
2
7 A
8 L
C 9
4
16
Figura 2.5c: Tercera y ltima iteracin de la bsqueda en anchura iterativa de derecha a izquierda, en la que
como mximo tres hijos son generados en cada expansin de un nodo padre.
K
3
I
8
F
5
Q
1
A
10
H
20
3
R
6
P
Figura 2.6a: Primera iteracin de la bsqueda en profundidad iterativa de izquierda a derecha, en la que la
profundidad lmite es igual a 1 y nicamente son expandidos los nodos con una profundidad mxima de 0.
2
K
6
D 3
C
4
5
N
10
H
20
Q
1
M
4
Figura 2.6b: Segunda iteracin de la bsqueda en profundidad iterativa de izquierda a derecha, en la que la
profundidad lmite es igual a 2 y nicamente son expandidos los nodos con una profundidad mxima de 1.
2
K
6
D 4
I
8
F
5
Q
M 8
2
1
6 A
5 L
C 3
4
10
7
H
20
3
R
6
P
Figura 2.6c: Tercera iteracin de la bsqueda en profundidad iterativa de izquierda a derecha, en la que la
profundidad lmite es igual a 3 y nicamente son expandidos los nodos con una profundidad mxima de 2.
2
K
6
D 7
3
5 B
I
8
5
N
10
13
H
15
20
3
10 R
12
M 14
11 A
8 L
C 3
4
Figura 2.6d: Cuarta iteracin de la bsqueda en profundidad iterativa de izquierda a derecha, en la que la
profundidad lmite es igual a 4 y nicamente son expandidos los nodos con una profundidad mxima de 3.
2
K
6
D 9
10 L
C 3
4
4
8
6
3
5 B
5
N
11
M
2
1
A
10
H
20
3
R
6
P
12 E
Figura 2.6e: Quinta iteracin de la bsqueda en profundidad iterativa de izquierda a derecha, en la que la
profundidad lmite es igual a 5 y nicamente son expandidos los nodos con una profundidad mxima de 4.
EJERCICIO 3:
Considere el espacio de bsqueda de la figura 3.1, que tiene forma de rbol, donde el nodo raz del rbol
es el nodo inicial, existe un nico nodo meta y cada operador tiene asociado un coste. Describa cul es el
contenido de ABIERTA, previamente a cada extraccin de un nodo de la misma, a partir de cada uno de
los mtodos siguientes de bsqueda sin informacin del dominio:
1. Bsqueda Primero en Anchura (de izquierda a derecha)
2. Bsqueda Primero en Profundidad (de derecha a izquierda)
3. Bsqueda de Coste Uniforme
4. Bsqueda en Anchura Iterativa (de derecha a izquierda)
5. Bsqueda en Profundidad Iterativa (de izquierda a derecha)
1
D
30
N
1
I
1
F
15
10
2
G
6
B
Figura 3.1: rbol de bsqueda en el que el nodo inicial es H, el nodo meta es A y el coste de cada operador
aparece al lado del arco que lo representa.
Antes de sacar J:
{J, E, L, N}
Antes de sacar E:
{E, L, N}
Antes de sacar L:
{L, N}
Antes de sacar N:
{N, G, R, Q}
Antes de sacar G:
{G, R, Q, O, K, I}
Antes de sacar R:
{R, Q, O, K, I}
Antes de sacar Q:
{Q, O, K, I}
Antes de sacar O:
{O, K, I, A}
Antes de sacar K:
{K, I, A}
Antes de sacar I:
{I, A, B, F}
Antes de sacar A:
{A, B, F}
META ENCONTRADA
5. Bsqueda en Profundidad Iterativa (de izquierda a derecha)
Debido a que este algoritmo es una iteracin de la bsqueda primero en profundidad, los dos gestionan
ABIERTA del mismo modo, es decir, como una pila. La diferencia reside en que en la bsqueda en
profundidad iterativa en cada iteracin se fija una profundidad lmite propia. Este nmero empieza
valiendo 1, lo cual permite expandir nicamente el nodo inicial, y es incrementado en una unidad al
principio de cada nueva iteracin.
Iteracin 1 (profundidad lmite igual a 1):
Antes de sacar H:
{H}
Antes de sacar P:
{P, D, M}
Ntese que P no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar D:
{D, M}
Ntese que D no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar M:
{M}
Ntese que M no es expandido por coincidir su profundidad con la profundidad lmite.
Iteracin 2 (profundidad lmite igual a 2):
Antes de sacar H:
{H}
Antes de sacar P:
{P, D, M}
Antes de sacar N:
{N, D, M}
Ntese que N no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar D:
{D, M}
Antes de sacar L:
{L, E, M}
Ntese que L no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar E:
{E, M}
Ntese que E no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar M:
{M}
Antes de sacar J:
{J, C}
Ntese que J no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar C:
{C}
Ntese que C no es expandido por coincidir su profundidad con la profundidad lmite.
Iteracin 3 (profundidad lmite igual a 3):
Antes de sacar H:
{H}
Antes de sacar P:
{P, D, M}
Antes de sacar N:
{N, D, M}
Antes de sacar I:
{I, K, O, D, M}
Ntese que I no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar K:
{K, O, D, M}
Ntese que K no es expandido por coincidir su profundidad con la profundidad lmite.
Antes de sacar O:
{O, D, M}
EJERCICIO 4:
Considere el espacio de bsqueda de la figura 4.1, que tiene forma de rbol, donde el nodo raz del rbol
es el nodo inicial, existe un nico nodo meta y cada operador tiene asociado un coste. Describa cul es el
contenido de TABLA_A, posteriormente a cada expansin de un nodo, a partir de cada uno de los
mtodos siguientes de bsqueda sin informacin del dominio:
1. Bsqueda Primero en Anchura (de izquierda a derecha)
2. Bsqueda Primero en Profundidad (de derecha a izquierda)
3. Bsqueda de Coste Uniforme
4. Bsqueda en Anchura Iterativa (de derecha a izquierda)
5. Bsqueda en Profundidad Iterativa (de izquierda a derecha)
L
2
I
4
H
5
G
A
6
2
E
5
F
1
D
Figura 4.1: rbol de bsqueda en el que el nodo inicial es L, el nodo meta es B y el coste de cada operador aparece
al lado del arco que lo representa.
Para cada nodo de TABLA_A incluya la siguiente informacin: su nodo padre y el coste al nodo inicial.
(En este ejercicio no es necesario incluir en TABLA_A informacin sobre los hijos de cada nodo
expandido, ya que slo existe un camino desde cada nodo al nodo inicial y, por tanto, el mejor camino
desde cada nodo al nodo inicial no cambia a lo largo del proceso de bsqueda.)
CRITERIOS DE EVALUACIN DEL EJERCICIO 4:
La evaluacin sobre 10 puntos de este ejercicio se realizara atendiendo a los siguientes criterios:
Cada uno de los cinco apartados, correspondiente a un mtodo de bsqueda concreto, se
punta sobre 2 puntos.
Si en cualquiera de los cinco apartados el algoritmo correspondiente no gestiona TABLA_A en la
forma debida: la puntuacin del apartado bajara 1.6 puntos si la respuesta dada vara
significativamente de la correcta, mientras que si la respuesta dada vara de la correcta como
consecuencia de un despiste no conceptual entonces la puntuacin del apartado bajara slo 0.4
puntos en vez de los 1.6 puntos mencionados.
Si en cualquiera de los cinco apartados el algoritmo correspondiente no finaliza cuando es
debido, la puntuacin del apartado bajara 0.4 puntos. (Esto es independiente de la gestin de
TABLA_A dada como respuesta, que ya ha sido valorada anteriormente con un mximo de 1.6
puntos.)
L
2
1
J
- Expandimos J:
L
2
1
J
2
3
- Expandimos K:
L
1
J
2
3
1
1
3
A
- Expandimos I:
L
4
7
2
3
- Expandimos A:
L
4
7
2
3
F 10
- Expandimos C:
L
4
7
2
3
C
6
5
F 10
3
1
D
L
2
1
J
- Expandimos K:
L
1
1
C
- Expandimos C:
L
1
1
5
8
1
D
1
1
5
8
1
J
- Expandimos J:
L
2
1
J
2
3
- Expandimos K:
L
1
J
2
3
1
1
3
A
Seguidamente podramos expandir I o C, ya que el coste desde ambos nodos al inicial es igual a tres.
Elegimos I de forma arbitraria.
- Expandimos I:
L
4
7
2
3
- Expandimos C:
L
4
7
2
3
3
1
- Tras expandir D arbitrariamente (frente a A), TABLA_A no cambia. Ntese que D no podra volver a ser
expandido, ya que ha sido extrado de ABIERTA. Seguidamente expandimos A:
L
4
7
2
3
C
6
5
F 10
3
1
D
- Expandimos K:
L
2
- Expandimos C:
L
2
1
C
3
1
D
- Expandimos K:
L
1
1
C
- Expandimos J:
L
2
1
J
2
3
1
1
- Expandimos C:
L
1
2
3
3
A
C
5
8
3
1
D
- Expandimos A:
L
2
3
C
6
5
F 10
- Expandimos I:
L
K
2
3
C
6
5
F 10
Tras comprobar que J no es nodo meta, se le aplica la funcin LimpiarTABLA_A por estar en la
profundidad lmite y es sacado de TABLA_A. De igual manera, tras comprobar que K no es nodo meta, se
le aplica la funcin LimpiarTABLA_A por estar en la profundidad lmite y es sacado de TABLA_A.
Seguidamente, tras aplicarle la funcin LimpiarTABLA_A, L es sacado de TABLA_A por no tener hijos en
ABIERTA. A continuacin pasamos a la siguiente iteracin.
1
J
- Expandimos J:
L
2
1
J
2
3
Tras comprobar que I no es nodo meta, se le aplica la funcin LimpiarTABLA_A por encontrarse en la
profundidad lmite y es sacado de TABLA_A. Del mismo modo, tras comprobar que A no es nodo meta,
se le aplica la funcin LimpiarTABLA_A por estar en la profundidad lmite y es sacado de TABLA_A. A
continuacin, tras aplicarle la funcin LimpiarTABLA_A, J es sacado de TABLA_A por no tener hijos en
ABIERTA.
- Expandimos K:
L
2
Tras comprobar que C no es nodo meta, se le aplica la funcin LimpiarTABLA_A por estar en la
profundidad lmite y es sacado de TABLA_A. Tras aplicarle la funcin LimpiarTABLA_A, K es sacado de
TABLA_A por no tener hijos en ABIERTA. Lo mismo ocurre posteriormente con L, por lo que pasamos a
la siguiente iteracin.
Iteracin 3 (profundidad lmite igual a 3):
- Expandimos el nodo inicial:
L
1
J
- Expandimos J:
L
2
1
J
2
3
- Expandimos I:
L
J
2
3
4
7
Tras comprobar que H no es nodo meta, se le aplica la funcin LimpiarTABLA_A por encontrarse en la
profundidad lmite y es sacado de TABLA_A. Del mismo modo, tras comprobar que G no es nodo meta,
se le aplica la funcin LimpiarTABLA_A por encontrarse en la profundidad lmite y es sacado de
TABLA_A. De nuevo, tras comprobar que E no es nodo meta, se le aplica la funcin TABLA_A por
encontrarse en la profundidad lmite y es sacado de TABLA_A. Seguidamente, tras aplicarle la funcin
LimpiarTABLA_A, I es sacado de TABLA_A por no tener ms hijos en ABIERTA.
- Expandimos A:
L
1
1
J
3
A
4
6
F 10
Tras comprobar que F no es nodo meta, se le aplica la funcin LimpiarTABLA_A por encontrarse en la
profundidad lmite y es sacado de TABLA_A. Seguidamente, tras aplicarle la funcin LimpiarTABLA_A, A
es sacado de TABLA_A por no tener hijos en ABIERTA. Lo mismo ocurre posteriormente con J.
- Expandimos K:
L
2
1
C
- Expandimos C:
L
2
1
C
5
8
3
1
D
EJERCICIO 5:
Considere el grafo de la figura 5.1, donde el nodo inicial es B y donde los nodos meta son H e I. Cada
arco u operador lleva asociado su coste y en cada nodo aparece la estimacin de la menor distancia
desde ese nodo a una meta. Aplique paso a paso el algoritmo A* al grafo dado, indicando de forma
razonada la siguiente informacin en cada paso del algoritmo:
1. Qu nodo es expandido.
2. Cul es el contenido de ABIERTA tras la expansin del nodo, indicando el valor de la funcin de
evaluacin heurstica para cada nodo de ABIERTA.
3. Cul es el contenido de TABLA_A tras la expansin del nodo. Para cada nodo de TABLA_A
incluya la siguiente informacin:
a) Su nodo padre que indique el camino de menor coste hasta el nodo inicial encontrado
hasta el momento
b) El coste del camino de menor coste hasta el nodo inicial encontrado hasta el momento
c) Sus nodos hijos (si el nodo de TABLA_A actual ya ha sido expandido)
Por ltimo, cul es el camino solucin hallado y su coste?
B,30
A,25
10
2
20
D,20
30
H,0
8
F,8
40
G,10
1
35
E,15
4
C,14
37
6
I,0
Figura 5.1: Grafo de bsqueda en el que el nodo inicial es B, los nodos meta son H e I, el coste de cada operador
aparece al lado del arco que lo representa y al lado de cada nodo aparece la estimacin de la menor distancia
desde ese nodo a una meta.
E,15
2
D,20
- PASO 2. Expandimos E por ser el nodo de ABIERTA con menor valor de la funcin de evaluacin
heurstica, f=g+h (al ser g=3 y h=15).
B,30
A,25
1
2
E,15
4
D,20
40
G,10
- PASO 3. Expandimos D.
B,30
A,25
1
2
20
D,20
E,15
4
30
C,14
40
G,10
- PASO 4. Expandimos A.
B,30
A,25
5
10
20
D,20
E,15
4
40
30
C,14
G,10
- PASO 5. Expandimos C.
B,30
A,25
10
20
H,0
D,20
E,15
4
C,14
37
3
2
30
1
35
F,8
40
G,10
- PASO 6. Expandimos G.
B,30
A,25
10
20
H,0
D,20
E,15
4
C,14
37
3
2
30
G,10
1
35
40
8
F,8
6
I,0
- PASO 7. Expandimos I y alcanzamos una meta, con lo que el algoritmo termina. El camino solucin es:
BACGI, cuyo coste es 18.
EJERCICIO 6:
Considere el grafo de la figura 6.1, donde el nodo inicial es D y donde los nodos meta son desconocidos.
Cada arco u operador lleva asociado su coste y en cada nodo aparece su valor de la funcin de
evaluacin heurstica (que hay que minimizar). Aplique paso a paso el algoritmo de escalada o mximo
gradiente al grafo dado. Para ello indique de forma razonada qu nodo se expande en cada paso y cul
es el nodo final devuelto por el algoritmo. Utilice como criterio de seleccin el de mejor vecino. Utilice
como criterio de terminacin el que no se hayan producido mejoras durante los cinco ltimos pasos del
algoritmo.
D,30
30
10
B,25
2
5
10
C,20
I,20
H,2
8
F,8
40
G,40
1
5
E,35
4
6
A,10
Figura 6.1: Grafo de bsqueda en el que el nodo inicial es D, los nodos meta son desconocidos, el coste de cada
operador aparece al lado del arco que lo representa y al lado de cada nodo aparece el valor de su funcin de
evaluacin heurstica (que hay que minimizar).