algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf ·...

16
Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas, Combinatoria y sus Aplicaciones, Guanajuato, 26 de febrero de 2007 R. L ´ opez Bracho, P. Ortu ˜ no S ´ anchez, J. Ram´ ırez Rodr´ ıguez, F. J. Zaragoza Mart´ ınez Departamento de Sistemas, UAM Azcapotzalco [email protected] Algoritmos para el problema del ciclo cuadrado – p. 1/16

Upload: others

Post on 08-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Algoritmos para elproblema del ciclo

cuadradoXXII Coloquio de Teoría de Gráficas,

Combinatoria y sus Aplicaciones,Guanajuato, 26 de febrero de 2007

R. Lopez Bracho, P. Ortuno Sanchez, J. Ramırez Rodrıguez, F. J. Zaragoza Martınez

Departamento de Sistemas, UAM Azcapotzalco

[email protected]

Algoritmos para el problema del ciclo cuadrado – p. 1/16

Page 2: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

ContenidoEl problema del ciclo cuadrado

Resultados teóricos

Algoritmos

Resultados computacionales

Conclusiones

Algoritmos para el problema del ciclo cuadrado – p. 2/16

Page 3: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

El problema del ciclocuadrado

Considere una rejilla de m × n cuyos puntosse colorearán ya sea de negro o de blanco.

Un ciclo cuadrado es un camino cerrado en laforma de un cuadrado con lados paralelos alos de la rejilla.

El problema del ciclo cuadrado es el deencontrar la mínima cantidad f(m, n) depuntos negros de modo que cada ciclocuadrado contenga al menos un punto negro.

Este problema fue propuesto por Morris(1988) para rejillas cuadradas.

Algoritmos para el problema del ciclo cuadrado – p. 3/16

Page 4: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Ejemplos de rejillas

Figure 1: f(2, 2) = 1, f(3, 3) = 2, f(3, 4) = 2.

Algoritmos para el problema del ciclo cuadrado – p. 4/16

Page 5: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Lema de partición

(Williams 2000) Suponga que una rejilla detamaño m × n se ha dividido en k rejillas detamaños m1 × n1, . . . , mk × nk. Entonces

f(m, n) ≥k∑

i=1

f(mi, ni).

Algoritmos para el problema del ciclo cuadrado – p. 5/16

Page 6: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Ejemplo de partición

Figure 2: 4 ≥ f(4, 5) ≥ f(4, 3) + f(2, 2) + f(2, 2).

Algoritmos para el problema del ciclo cuadrado – p. 6/16

Page 7: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

¿Qué se sabía?

Erickson (1989) demostró que

limn→∞

f(n, n)

n2=

2

7.

Williams (2000) calculó los valores de f(m, n)para toda m, n ≤ 6.

Dean y Zuniga (2004) calcularon f(1, n) = 0,f(2, n) = ⌊n

2⌋, f(3, n) = ⌊2n

3⌋ y f(4, n) = 2⌊n

2⌋

para toda n ≥ 1.

Algoritmos para el problema del ciclo cuadrado – p. 7/16

Page 8: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Resultados teóricosNosotros demostramos que f(5, n) = ⌊4n−2

3⌋

para n ≥ 1 y que f(6, n) = ⌊3n

2⌋ para n ≥ 2.

Nuestras pruebas son inductivas y usan unacaracterización de las soluciones óptimas.

Figure 3: Rejilla de 6 × n.Algoritmos para el problema del ciclo cuadrado – p. 8/16

Page 9: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Resultadoscomputacionales

Usando un programa entero y CPLEX,Williams (2000) calculó f(n, n) para todan ≤ 14 en unas 14 horas. El cálculo def(15, 15) abortó después de otras 48 horas.

Nosotros desarrollamos un algoritmo debúsqueda con retroceso (con algunasmejoras basadas en programación dinámica)cuya implementación en gcc calculó f(m, n)para toda m, n ≤ 20 en 62 horas.

En particular, nuestro programa calculóf(m, n) para toda m, n ≤ 15 en 43 segundos.

Algoritmos para el problema del ciclo cuadrado – p. 9/16

Page 10: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

La idea principal (I)

i × (n − q)

i = p

i

i = m(m − i) × (n − q + 1)

Figure 4: Partición horizontal.

Algoritmos para el problema del ciclo cuadrado – p. 10/16

Page 11: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

La idea principal (II)

m × (n − i)

i = q i i = n

p × (i − q)

(m − p) × (i − q + 1)

Figure 5: Partición vertical.Algoritmos para el problema del ciclo cuadrado – p. 11/16

Page 12: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Resultados (I)

Figure 6: Rejillas con f(15) = 60 y f(16) = 69.

Algoritmos para el problema del ciclo cuadrado – p. 12/16

Page 13: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Resultados (II)

Figure 7: Rejillas con f(17) = 78 y f(18) = 88.

Algoritmos para el problema del ciclo cuadrado – p. 13/16

Page 14: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Resultados (III)

Figure 8: Rejillas con f(19) = 98 y f(20) = 109.

Algoritmos para el problema del ciclo cuadrado – p. 14/16

Page 15: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Idea para unalgoritmo paralelo

Para calcular f(m, n) nuestro algoritmo debúsqueda con retroceso utiliza los valores def(p, q) con p ≤ m, q ≤ n y p + q < m + n.

Nuestro algoritmo calcula f(m, n) de formasecuencial por columnas.

El cálculo de f(m, n) se puede paralelizar sise realiza por diagonales.

Tenemos a un estudiante construyendo uncluster y escribiendo una versión paralela denuestro algoritmo.

Algoritmos para el problema del ciclo cuadrado – p. 15/16

Page 16: Algoritmos para el problema del ciclo cuadradoacademicos.azc.uam.mx/franz/docs/ctg07fz.pdf · Algoritmos para el problema del ciclo cuadrado XXII Coloquio de Teoría de Gráficas,

Conclusiones ytrabajo a futuro

Conjeturamos que para n ≥ 1 (salvo algunoscasos excepcionales):

f(7, n) = ⌊13n−2

7⌋, f(8, n) = ⌊15n−4

7⌋,

f(9, n) = ⌊12n−2

5⌋ y f(10, n) = ⌊27n−5

10⌋.

Tenemos algunos resultados sobre el mismoproblema en una rejilla cilíndrica y nosinteresa también la rejilla toroidal.

También nos interesan los problemas delcamino rectangular y del camino cerrado.

Algoritmos para el problema del ciclo cuadrado – p. 16/16