Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 2 +
lado
4 3 +
centro
1 4
9
= 2, 66
que resulta, simplemente, de calcular el n umero medio de descendientes desde cada una de las posibles localizaciones
del blanco.
Si se generaliza el mismo c alculo al caso de un N-puzle arbitrariamente grande, resulta que el factor de ramicaci on
es:
b =
esquina
4 2 +
lado
4(n 2) 3 +
centro
(n 2)
2
4
n
2
= 4
(n 1)
n
puesto que en un N-puzle cualquiera, de lado n
1
, hay siempre cuatro esquinas, hasta 4(n 2) posiciones con tres
descendientes, y hasta (n 2)
2
posiciones en el centro del tablero. En total, suman n
2
posibles localizaciones del
blanco.
5. La gura 5 muestra el caso del nuevo problema en un tablero de 3 3 posiciones con el blanco en la esquina superior
izquierda.
Figura 5: Operadores del Macro N-puzle desde una esquina
Como puede verse, el blanco puede desplazarse ahora directamente hasta cualesquiera de las cuatro posiciones que
est an en la misma la o columna en la que se encuentra actualmente el blanco, .
En este caso, puesto que la reformulaci on de los operadores no sirve ni para alcanzar nuevos estados que antes fueran
inalcanzables, ni para deshabilitar el acceso a posiciones accesibles antes, puede concluirse que el tama no del espacio
de estados del Macro N-puzle es exactamente el mismo que el calculado para el N-puzle en la pregunta 3
6. Sin embargo, el factor de ramicaci on cambiar a necesariamente puesto que desde la misma posici on pueden alcanzarse
ahora muchos m as estados. En concreto:
Desde una cualquiera de las cuatro esquinas pueden alcanzarse hasta 2(n 1) casillas, (n 1) horizontalmente y
otras tantas verticalmente
2
.
Desde cualquiera de las 4(n 2) casillas que hay en los lados (excluyendo las esquinas), pueden alcanzarse
tambi en 2(n 1) casillas, (n 1) horizontalmente y otras tantas verticalmente.
Asimismo, desde cada una de las (n 2)
2
casillas que hay en el centro del N-puzle pueden alcanzarse tambi en
hasta 2(n 1) casillas.
Por lo tanto, el nuevo factor de ramicaci on es:
b = 2(n 1)
puesto que ese es el n umero de posiciones que pueden alcanzarse desde cualquier posici on del blanco.
El nuevo factor de ramicaci on es hasta
2(n1)
4(n1)/n
=
n
2
mayor que el calculado en el apartado 4. Aparentemente, esto
har a que los problemas sean m as difciles en el Macro N-puzle (puesto que el factor de ramicaci on, b, aumenta con el
tama no del N-puzle) sin embargo, resulta obvio que, por otra parte, la profundidad, d (o nivel en el que se encuentra la
primera soluci on) decrece ahora signicativamente.
Por lo tanto, a la vista de la relaci on que hay entre los factores de ramicaci on y los valores de profundidad entre
el N-puzle y el Macro N-puzle, no puede concluirse nada sobre la dicultad de cada problema. Esto es as aunque,
normalmente, unir varios operadores como se ha hecho aqu en uno solo (puesto que ahora es posible llegar hasta una
posici on lejos de un solo golpe, en vez de hacerlo con la aplicaci on sucesiva de varios operadores) suele ser una t ecnica
que ofrece muy buenos resultados. Los operadores resultantes se denominan macro-operadores.
Soluci on ejercicio 3
1. Este problema pertenece a la clase denominada de satisfacci on de restricciones. Por lo tanto, en este tipo de problemas
es preciso prestar especial atenci on a la formulaci on de restricciones que normalmente restringe severamente las
posibles asignaciones de valor a las varibles del problema.
En este caso son variables, v
i j
(1 i, j n), el contenido de cada casilla (i, j), donde i representa la la y j la columna.
Y tal y como establece el enunciado, cada variable puede tomar valores del dominio D = {1, . . . , n
2
}, de tal modo que:
Restricci on 1 Nunca puede haber dos variables con el mismo valor: v
i j
v
i
j
si i i
o j j
1
De modo que n
2
= N + 1
2
De modo que, nuevamente, n
2
= N + 1
Restricci on 2 La suma de todas las las debe ser igual a un mismo valor S:
n
j=1
v
i j
= S, i
Restricci on 3 La suma de todas las columnas debe ser igual al mismo valor S:
n
i=1
v
i j
= S, j
Restricci on 4 La suma de los n umeros en la diagonal principal (n, 1) (1, n) debe ser igual a S:
n
i=1
v
i(n+1i)
= S
Restricci on 5 La suma de los n umeros sobre la segunda diagonal (1, 1) (n, n) debe ser igual asimismo a S:
n
i=1
v
ii
= S
Ahora es posible formalizar, por partes, el espacio de problemas:
El espacio de estados consiste, de una parte, en los estados del problema que, en este caso, pueden describirse
como un conjunto (parcial o no) de asignaciones v
i j
diferentes.
8
9
2
(a) Un estado intermedio
8 1 6
3 5 7
4 9 2
(b) Una soluci on nal
Figura 6: Estados del cuadrado m agico con n = 3
Por ejemplo, el estado representando en la gura 6(a) representa un estado del problema a partir del cual, por
cierto, no puede encontrarse ninguna soluci on. Este estado puede describirse como el conjunto de asignaciones
siguiente: {v
1,1
= 8, v
2,3
= 9, v
3,2
= 2}. An alogamente, la soluci on de la gura 6(b) se representara computacionalmente
como sigue: {v
1,1
= 8, v
1,2
= 1, v
1,3
= 6, v
2,1
= 3, v
2,2
= 5, v
2,3
= 7, v
3,1
= 4, v
3,2
= 9, v
3,3
= 2}.
De otra parte, el espacio de estados se modeliza con los operadores con los que es posible transitar desde un
estado hasta otro.
En este caso, hay una unica acci on, y consiste en asignar un valor c a la variable que representa el contenido de la
casilla (i, j):
Asignar (i, j, c):
SI v
i j
= 0
ENTONCES v
i j
= c
k = 1
En general, cualquier variable v
i j
tendr a un valor asignado. Precisamente, la asignaci on a la constante 0 signicar a que
la variable en cuesti on, est a a un disponible
3
por lo que es preciso comprobar este valor antes de hacer una
nueva asignaci on. N otese que, adem as, es preciso indicar explcitamente cu al es el coste de la aplicaci on
del operador en este caso, k = 1.
Sin embargo, ning un espacio de problemas est a completo si no se distinguen, del espacio de estados, uno o m as
nodos iniciales y uno o m as nodos nales. En este caso, resulta claro que habr a un unico nodo inicial y un n umero
arbitrario de nodos nales:
3
En realidad, las casillas vacas de la gura 6(a) se modelizan precisamente con asignaciones de este tipo
El estado inicial consiste en el cuadrado vaco de tama no n:
v
i j
= 0 i, j, 1 i, j n
El estado nal consiste en una asignaci on de valor a las variables del problema que sea consistente con todas
las restricciones identicadas. Esta formulaci on de los estados nales se conoce como denici on implcita.
Una denici on explcita consistira en describir, explcitamente, los contenidos de cada variable para una
soluci on particular como, por ejemplo, la que se muestra en la gura 6(b), cuya formulaci on es: {v
1,1
=
8, v
1,2
= 1, v
1,3
= 6, v
2,1
= 3, v
2,2
= 5, v
2,3
= 7, v
3,1
= 4, v
3,2
= 9, v
3,3
= 2}.
2. Puesto que cualquier soluci on al problema del cuadrado m agico consiste necesariamente en n
2
aplicaciones del operador
Asignar, las soluciones se encontrar an siempre a profundidad d = n
2
.
El factor de ramicaci on ser a un poco m as difcil de calcular. Considerando la aplicaci on rigurosa del operador
Asignar, existir an hasta n
2
asignaciones posibles para la primera variable; a partir de ella, s olo quedar an (n
2
1)
asignaciones posibles para la segunda variable en el segundo nivel del arbol de b usqueda; (n
2
2) valores posibles para
la tercera variable en el tercer nivel y as sucesivamente hasta que s olo quede una asignaci on factible a profundidad n
2
.
La gura 7 muestra el caso de una asignaci on (que casualmente no resuelve el problema) para n = 2.
v
i j
= 0
v
11
= 1
v
12
= 4
v
12
= 3
v
12
= 2
v
21
= 3
v
21
= 4 v
22
= 4
v
11
= 2
v
11
= 3
v
11
= 4
Figura 7: C alculo del factor de ramicaci on en un cuadrado m agico con n = 2
Por lo tanto, en cualquier camino desde el nodo inicial hasta un nodo terminal del arbol de b usqueda desarrollado de
esta manera, el n umero medio de descendientes ser a siempre:
b =
i=n
2
i=1
(n
2
i 1)
n
2
=
1
2
n
2
(1 + n
2
)
n
2
=
1
2
(1 + n
2
)
puesto que el primer sumatorio se resuelve como la suma de los t erminos de una progresi on aritm etica: {1, 2, . . . , n
2
} y
el factor de ramicaci on medio se calcula dividiendo entre el n umero de asignaciones que deben hacerse en cualquier
camino hasta un nodo terminal, n
2
.
Como puede verse, el factor de ramicaci on crece polinomialmente con el tama no del cuadrado m agico.
3. La gura 7 ya muestra un arbol de b usqueda para el caso m as peque no posible, n = 2. Sin embargo, el caso mostrado
all consiste, unicamente, en la propagaci on de la restricci on 1, v
i j
v
i
j
si i i
o j j
Normalmente es una excelente idea modelizar la mayor cantidad de restricciones del problema, con el prop osito de
anticiparse a asignaciones infactibles. De este modo, es posible eliminar por anticipado muchos nodos que, con toda
seguridad, no llevaran a una soluci on o, en otras palabras, a un nodo donde se cumplen simult aneamente todas las
restricciones. Para modelizar las restricciones 25, s olo falta determinar cu al es el valor S que suman las diferentes
series de n umeros.
En concreto, la suma de los n umeros del 1 al n
2
es igual a:
S
1,n
2 = n
2
(1 + n
2
)
2
y puesto que habra hasta n las diferentes, cada una de las cuales agrupa hasta n n umeros diferentes, un buen candidato
para S sera:
S =
1
n
S
1,n
2 = n
(1 + n
2
)
2
(1)
Por los mismos motivos, el mismo valor se vericar a, forzosamente, para todas las columnas.
Ahora que ya se sabe el valor que sumar an las, columnas y diagonales, es posible renar el operador Asignar para
evitar asignaciones que conducen a nodos terminales infactibles. En particular, la asignaci on v
i j
= c es inv alida si:
a) La suma de las asignaciones en la la i (incluyendo v
i j
= c) excede S. An alogamente para columnas y ambas
diagonales
4
La tabla 1 muestra las expresiones matem aticas para las comprobaciones debidas a esta restricci on.
Filas
n
j=1
v
i j
S
Columnas
n
i=1
v
i j
S
Diagonal principal
n
i=1
v
i(ni+1)
S
Diagonal secundaria
n
i=1
v
ii
S
Cuadro 1: Restricciones sobre las asignaciones m aximas
Para n = 3, esta restricci on resolvera que si v
11
= 9, la asignaci on v
12
= 8 es infactible, puesto que la suma de las
asignaciones en la primera la (i = 1), v
11
+ v
12
= 9 + 8 = 17, excede el m aximo valor de S, ya que para n = 3,
S = 15, seg un la ecuaci on (1)
b) Una restricci on an aloga a la anterior establece que si los valores mnimos que deben escribirse en el resto de
las casillas de la la i, para que la suma resultante sea S, son mayores que el mayor valor en el dominio D, n
2
,
entonces la nueva asignaci on es infactible. Esta restricci on se describe matem aticamente como sigue:
S
n
j=1
v
i j
V(i)
=0
n
2
donde V(i)
=0
es el n umero de casillas vacas que hay en la la i.
An alogamente para columnas y diagonales
5
. La tabla 2 muestra las caracterizaciones matem aticas para el caso de
las asignaciones mnimas donde V( j)
=0
, V(i, n i + 1)
=0
y V, (i)
=0
son, respectivamente, el n umero de casillas
vacas en la columna j, en la diagonal principal y la secundaria.
Por ejemplo, en el cuadrado m agico con n = 4, S = 34, de acuerdo con la ecuaci on (1). Si v
12
= 1, y v
22
= 2,
cualesquiera de las asignaciones v
32
= {3, 4, 5, . . . , 14} son infactibles puesto que en el mejor caso, la suma de los
elementos de la columna 2 ( j = 2) sera 1 + 2 + 14 = 17 de modo que la ultima casilla tendra que ser 17 para
sumar S = 34. Sin embargo, 17 es mayor que el mayor valor permitido, que para n = 4 es 4
2
= 16
Soluci on ejercicio 4
1. A partir de la denici on de cada estado, y los operadores que consisten en rotar independientemente cada uno de los
tri angulos en una direcci on u otra, resulta que el espacio de estados consiste en los 12 estados mostrados a continuaci on,
donde cada arco resulta de la aplicaci on de un operador diferente.
4
Si (i, j) no est a en una de las diagonales, la comprobaci on sera redundante, pero no incorrecta.
5
Como en el caso anterior, esta comprobaci on podra ser redundante en este caso, pero nunca incorrecta.
Filas
S
n
j=1
v
i j
V(i)
=0
n
2
Columnas
S
n
i=1
v
i j
V( j)
=0
n
2
Diagonal principal
S
n
i=1
v
i(ni+1)
V(i,ni+1)
=0
n
2
Diagonal secundaria
S
n
i=1
v
i(ni+1)
V(i,i)
=0
n
2
Cuadro 2: Restricciones sobre las asignaciones mnimas
Como puede verse, el grafo del espacio de estados resultante es no dirigido, esto es, por cada arco que relaciona dos
v ertices v
i
y v
j
(o equivalentemente estados) existe un operador para transitar de v
i
a v
j
y viceversa.
2. Si ahora s olo se permiten los giros en el sentido de las agujas del reloj, ya no ser a cierto que al transitar del estado v
i
al estado v
j
(gracias a un giro a favor de las agujas del reloj), sea posible transitar inmediatamente de v
j
a v
i
puesto
que para hacerlo, el giro sera ahora en contra de las agujas del reloj. Por lo tanto, el espacio de estados resultante es el
grafo dirigido de la gura 9
Soluci on ejercicio 5
El espacio de estados se puede representar con una tupla de 8 posiciones: < x
1
, . . . , x
8
>, donde cada posici on hace
referencia a la posici on de un asiento en el coche. x
1
y x
2
son los asientos del piloto y copiloto respectivamente. En la
segunda la de asientos, estaran x
3
, x
4
y x
5
, que corresponden con la ventanilla izquierda, el asiento central, y la ventanilla
derecha respectivamente. Por ultimo, tendramos x
7
y x
8
en la tercera la de asientos. Cada elemento de la tupla puede tomar
un valor en el conjunto {n, a, d}, donde n signica posici on normal, a signica abatido, y d signica desplazado. A esta tupla
se le podra unir el valor del espacio de carga disponible, aunque dado que es directamente calculable desde la conguraci on,
no es necesario.
Dada esta representaci on cabra la duda de si incluir o no en cada estado la informaci on sobre la capacidad de carga
disponible. Sin embargo, este valor es calculable a partir de cada estado como una funci on, por lo que es preferible no gastar
memoria con esa informaci on, que se sabe es redundante.
Hay tres posibles acciones (donde x puede tomar un valor entre 1 y 8):
abatir(i): abatir el asiento x
i
Condiciones: x
i
= n. Para i = 2 tambi en se debe cumplir que x
4
= x
5
= a.
Efecto: x
i
= a
Coste: constante (2)
En una representaci on basada en reglas:
Abatir (i):
SI x
i
= n (i 2 (x
4
= a = x
5
= a))
ENTONCES x
i
= a coste = coste + 2
k = 2
desplazar(i): desplazar el asiento x
i
Condiciones: x
i
= n. Para i = 2 tambi en se debe cumplir que x
4
= x
5
= a.
Efecto: x
i
= d
Coste: constante (1)
En una representaci on basada en reglas:
4
2 3
1
3
2 1
4
1
2 4
3
1
4 3
2
2
4 1
3
2
1 3
4
4
3 1
2
3
1 4
2
2
3 4
1
3
4 2
1
4
1 2
3
1
3 2
4
Figura 8: Espacio de estados representado con un grafo no dirigido
Desplazar (i):
SI x
i
= n (i 2 (x
4
= a = x
5
= a))
ENTONCES x
i
= d coste = coste + 1
k = 1
normal(i): devolver a posici on normal el asiento i
Condiciones: x
i
n. Para i = 4 e i = 5 tambi en se debe cumplir que x
2
= n.
Efecto: x
i
= n
Coste: depende de la situaci on de partida de x
i
. Si inicialmente x
i
= d, entonces el coste es 1. Si inicialmente
x
i
= a, el coste es 2.
4
2 3
1
3
2 1
4
1
2 4
3
1
4 3
2
2
4 1
3
2
1 3
4
4
3 1
2
3
1 4
2
2
3 4
1
3
4 2
1
4
1 2
3
1
3 2
4
Figura 9: Espacio de estados representado como un grafo dirigido
En una representaci on basada en reglas:
Normal (i):
SI x
i
n (i 4 i 5 x
2
= n
ENTONCES x
i
= d coste = coste + 1
k = 1 + (x
i
== a)
N otese que la acci on normal(x
i
) se podra haber dividido en dos (una que desabatiese, y otra que eliminara el desplazamiento).
El estado inicial es < n, n, n, n, a, a
El tama no del espacio de estados es menor que 7
3
(todas las posibles combinaciones de los asientos), dado que hay
conguraciones que no son aceptables. En concreto, hay que contar s olo las conguraciones en que se cumpla que x
2
= n y
en su defecto, que x
4
= x
5
= a. En total, cumplen esa condici on 11 5
3
estados. Este valor viene de tener en cuenta que de
las 33 posibles posiciones que pueden ocupar x
2
, x
4
y x
5
, no hay problemas en los 9 casos en que x
2
= n. De los 18 casos
restantes (2 posibles valores de x
2
por las 2
3
combinaciones de x
4
y x
5
), no hay problema en 2 de ellos (cuando x
4
= x
5
= a).
Por tanto, el espacio de estados tiene un tama no de 11 5
3