40 votos

1 rectángulo <= 4 plazas

Hace casi 25 años y un profesor en Indiana U me mostró el siguiente problema:

dado un mapa de $\mathbb{Z}^2\rightarrow\mathbb{R}$ tal que la suma dentro de cada cuadrado (paralelo a los ejes) es de $\leq1$ en valor absoluto, demostrar que la suma dentro de cada rectángulo (paralelo a los ejes) es de $\leq4$ en valor absoluto.

Es divertido y no demasiado difícil de probar. Yo creo que en el momento en que fue capaz de demostrar que el límite superior puede ser mejorado para 3.975 - pero que era mucho más difícil y yo no puedo decir ahora que esto es para asegurarse de que el caso. También, con un equipo de búsqueda (antiguo TRS 80) me produce un ejemplo que contiene un rectángulo de área $3\frac{1}{3}$.

Estas son algunas de las preguntas que vienen a la mente:

  • puede el límite superior de 4 (o 3.975?) ser mejorado?
  • puede el límite inferior de $3\frac{1}{3}$ ser mejorado?
  • cualquier prueba/conjetura sobre el límite óptimo?
  • los resultados se extienden a los mapas de $\mathbb{R}^2\rightarrow\mathbb{R}$, siempre que se lo "bonito" es suficiente?
  • otras generalizaciones de este problema posible (por ejemplo. diferentes embaldosados del plano o de otros colectores, o más dimensiones)?

Actualización 1 (actualizado el 7 de Marzo de 2010). Ver las respuestas y comentarios de abajo para los ejemplos alcanzar proporciones tan altas como 181/48 = 3.7708333...!

Update 2. Aquí es un boceto de la prueba de que el 4 es un límite superior. Un límite de 254/67=3.79104477... ahora es conocido (ver las respuestas abajo), pero la prueba para la que se necesita para ser sembradas con al menos algunos límite conocido.

Dado un rectángulo R de tamaño AxB, con a < B, lo llaman "fino" si $B\geq2A$ o "grasa" si $B\leq2A$ (caso B=2A es irrelevante, como lo es la unión de 2 plazas). Uno puede sacar los 4 cuadrados sobre los lados de R, ya sea hacia el exterior (tamaño de sobres = (2B+A)x(2A+B)), o hacia dentro (algunos se derrame en los lados opuestos, tamaño de sobres = (2B-A)xB) - llamar a estos "grandes sobres" y la "envolvente".

Suponga que R tiene la suma 4+$\epsilon$ y que cada cuadrado tiene suma entre -1 y 1. Tenemos 3 casos, todos los ejercicios fáciles para trabajar:

(1) para cualquier R, la grasa (2A+B)x(2B+A) big-sobres tendrán suma de $\leq-4-3\epsilon$.

(2) para una grasa R, a (2A-B)x(2B-A) sub-rectángulo de la pequeña sobres tendrán suma de $\leq-4-3\epsilon$;

(3) para un delgado R, delgado (B-2A)x(2B-A) sub-rectángulo de la pequeña de la envolvente, se tiene la suma de $\geq4+3\epsilon$;

La aplicación de cualquiera de (1)+(2), (2)+(1) o (3)+(3) produce un rectángulo con 3Ax3B suma de $\geq4+9\epsilon$. La iteración n veces produce un $3^{n} \times 3^{n}B$ rectángulo con la suma de $4+9^{n}\epsilon$. Dicho rectángulo es de no más de AxB cuadrados (cada uno del tamaño de $3^{n} \times 3^{n}$) y por lo tanto, lo suficientemente grande como n, una de las plazas tendrán suma >1. $\square$

Reformulación . Dado un abelian grupo G y un mapa

f: GxGxGxG -> $\mathbb{R}$ tal que

1) -1<=f(a,b,c,d)<=1 si d*a=c*b (acotamiento de los cuadrados),

2) f(a,b,c,d)+f(c,b,e,d)=f(a,b,e,d) para todo a, b, c, d, e en G (horizontales de la suma de los rectángulos),

3) f(a,b,c,d)+f(a,d,c,e)=f(a,b,c,e) para todo a, b, c, d, e en G (vertical de la suma de los rectángulos),

podemos encontrar un universal mejores enlazado b(G) tal que b(G) <= f <= b(G)?

Todo el trabajo previo sobre esta cuestión que constituye el resultado: 181/48 <= b($\mathbb{Z}$) <= b($\mathbb{Z}x\mathbb{Z}$) <= 254/67

Para no abelian grupos uno podría generalizar la noción de la "plaza" mediante el levantamiento de G/[G,G].

24voto

Brian Sullivan Puntos 6392

Las cifras más recientes

FG ha publicado una solución para el 12x1 rectángulo, la consecución de 181/48 = 3.3.7708333...

Más resultados:
11x1 rectángulo es 101/27 = 3.740740...
7x3 rectángulo es 56/15 = 3.733333...
7x2 rectángulo es 67/18 = 3.722222...
8x1 rectángulo es 26/7 = 3.714285...
6x1 rectángulo es 85/23 = 3.695652...
7x1 rectángulo es 11/3 = 3.666666...
5x1 rectángulo es 25/7 = 3.571428...

Me han quitado soluciones específicas a partir de esta respuesta, ya que han sido sustituidas por FG resultados.

12voto

Brian Campbell Puntos 131

Un equipo de búsqueda llevó a la siguiente 16x16 ejemplo con un 7/2 rectángulo en el medio (escala de todo por 1/12):

 0  -3   3   0   0   0   0   0   0   0   0  -6   6   0   0   0
-1   1  -3   0   3   3  -3   0   0  -3   0   6   0  -3   0   0
 4   2   0   0 -12   9  -3   0   0   0   9 -12   0  -3   6   0
-6   0   0   0   6 -12  12  -6   0  12 -12   3   3   2  -2  -6
 6   0   0   0   6   0 -12   6  12 -12   0   3   2  -1  -4  12
-3   0   0   0  -3   2  -2   0  -6   6  -6  12  -5  -7   0   0
 0   0   0   0   3   4  -4  -6   0 -12  12  -6   0  12   0  -6
 0   0   0   0  -6 -12  12   6  12  12 -12  -6   0   0   0   0
 0   9  -6   0   6   2  -2  -4  -2 -10  10   0   5  -9  -2   0
 3  -3   0   0   0   4  -4  -2  -4   4  -4   6   0   4   2  -6
 0  -6   6   0   0   0 -12   6  12 -12   0  -3  -2   1   4   6
-6   0   0   0   6 -12  12   2  -8  12 -12   3   3   0   0  -6
 8   0  -6   4 -12   9   3  -5  -1   0   9  -6  -4   4   0   3
 0   0   0  -4   4   0   0   3  -7   0   3   1  -2  -1  -4   3
-2   0   3  -1   0   3   0  -1   2   0  -6  -1   7   0   0   0
-3   0   6   1   0  -4   0   1  -1  -3   3   0   0   0   0   0 

Actualización : el uso de Leonid del comentario sobre la imposición de simetría w.l.o.g., aquí está una pequeña y simétrica 13x16 ejemplo con un 7/2 rectángulo (escala 1/4):

 0  0  0  0  1 -1  0  0  0  0 -1  1  0  0  0  0
 1  0  0 -2 -2  4 -1  0  0 -1  4 -2 -2  0  0  1
-2  0  0  2  0 -4  4 -1 -1  4 -4  0  2  0  0 -2
 1  0  0  0  0  0 -4  3  3 -4  0  0  0  0  0  1
 0  0  0  0  0  0  0 -1 -1  0  0  0  0  0  0  0
 0  0  0  0  2  2 -2 -1 -1 -2  2  2  0  0  0  0
 0  0  0  0 -2 -4  4  3  3  4 -4 -2  0  0  0  0
 0  0  0  0  2  2 -2 -1 -1 -2  2  2  0  0  0  0
 0  0  0  0  0  0  0 -1 -1  0  0  0  0  0  0  0
 1  0  0  0  0  0 -4  3  3 -4  0  0  0  0  0  1
-2  0  0  2  0 -4  4 -1 -1  4 -4  0  2  0  0 -2
 1  0  0 -2 -2  4 -1  0  0 -1  4 -2 -2  0  0  1
 0  0  0  0  1 -1  0  0  0  0 -1  1  0  0  0  0 

También traté de encontrar un ejemplo con una relación mejor que 7/2, manteniendo la simetría y un 1x4 rectángulo en el medio, pero no pudo encontrar ninguna (el tamaño más grande que yo soy capaz de ver es 33x38).

10voto

maxtopus Puntos 90

El límite superior es <3.95.

Espero que el código de abajo se muestran correctamente...

Esto demuestra que la asunción de una suma >=3.95 en la central AxB rectángulo de la cuadrícula ({-B, a-B+a,-2A,-A,0,a,2A,B-a,B}+{0,}) x ({-2B,-B,-A,-B,-B+a,-2A,-A,0,a,2A,B-a,B,B+a,2B}+{0,B}) conduce a una contradicción en un número finito de pasos. 3.95 NO es la mejor posible para esta red, pero 3.94 no conduce a una contradicción. Será fácil para refinar el número, pero que más vale la pena es, probablemente, la búsqueda de una red más amplia (que empieza a ponerse lento en awk.)

awk 'BEGIN {

 A=1;
 # pick B large enough to ensure that there
 # are no accidental squares in the grid below
 B=1000;

 # setting up the grid
 x[0]=-B;       x[1]=-B+A;
 x[1]=-B+A;     x[2]=-B+2*A;
 x[3]=-2*A;     x[4]=-A;
 x[4]=-A;       x[5]=0;
 x[5]=0;        x[6]=A;
 x[6]=A;        x[7]=2*A;
 x[7]=2*A;      x[8]=3*A;
 x[9]=B-A;     x[10]=B;
 x[10]=B;       x[11]=B+A;
 M=11;

 y[0]=-2*B;     y[2]=-B;
 y[1]=-B-A;     y[5]=-A;
 y[2]=-B;       y[6]=0;
 y[3]=-B+A;     y[7]=A;
 y[4]=-2*A;     y[9]=B-2*A;
 y[5]=-A;       y[10]=B-A;
 y[6]=0;        y[11]=B;
 y[7]=A;        y[12]=B+A;
 y[8]=2*A;      y[13]=B+2*A;
 y[10]=B-A;     y[14]=B+B-A;
 y[11]=B;       y[15]=B+B;
 y[12]=B+A;     y[16]=B+B+A;
 y[15]=2*B;     y[17]=3*B;
 N=17;

 for(i=0; i<=M; i++)
     for(j=i; j<=M; j++)
         for(k=0; k<=N; k++)
             for(l=k; l<=N; l++)
                 # 0 sum for degenerate rectangles
                 if(i==j || k==l) {
                     lo[i,j,k,l]=0;
                     hi[i,j,k,l]=0;
                 }                   
                 # squares
                 else if(x[j]-x[i]==y[l]-y[k]) {
                     lo[i,j,k,l]=-1;
                     hi[i,j,k,l]=1;
                 }
                 # other rectangles
                 else {
                     lo[i,j,k,l]=-4;
                     hi[i,j,k,l]=4;
                 }

 # central rectangle: assume its sum is >=3.95
 lo[5,6,6,11]=3.95;

 iter=10000;
 active=1;
 while(iter-- && active) {
     active=0;

     # traverse all possible combinations of 1 rectangle split into 4
     for(i=0; i<M; i++)
         for(j=i+1; j<=M; j++)
             for(k=0; k<N; k++)
                 for(l=k+1; l<=N; l++)
                     for(m=i; m<j; m++)
                         for(n=k; n<l; n++) {
                             lo0=lo[i,j,k,l];
                             lo1=lo[i,m,k,n];
                             lo2=lo[m,j,k,n];
                             lo3=lo[i,m,n,l];
                             lo4=lo[m,j,n,l];
                             hi0=hi[i,j,k,l];
                             hi1=hi[i,m,k,n];
                             hi2=hi[m,j,k,n];
                             hi3=hi[i,m,n,l];
                             hi4=hi[m,j,n,l];

                             # 3rd argument in max() and min() funtions
                             # is for printing purposes only...
                             lo0=max(lo0, lo1+lo2+lo3+lo4, 0);
                             hi0=min(hi0, hi1+hi2+hi3+hi4, 0);
                             lo1=max(lo1, lo0-hi2-hi3-hi4, 1);
                             lo2=max(lo2, lo0-hi1-hi3-hi4, 2);
                             lo3=max(lo3, lo0-hi1-hi2-hi4, 3);
                             lo4=max(lo4, lo0-hi1-hi2-hi3, 4);
                             hi1=min(hi1, hi0-lo2-lo3-lo4, 1);
                             hi2=min(hi2, hi0-lo1-lo3-lo4, 2);
                             hi3=min(hi3, hi0-lo1-lo2-lo4, 3);
                             hi4=min(hi4, hi0-lo1-lo2-lo3, 4);

                             if(lo0>hi0 || lo1>hi1 || lo2>hi2 || lo3>hi3 || lo4>hi4) {
                                 print "CONTRADICTION AT", i,m,j,k,n,l;
                                 exit;
                             }

                             lo[i,j,k,l]=lo0;
                             lo[i,m,k,n]=lo1;
                             lo[m,j,k,n]=lo2;
                             lo[i,m,n,l]=lo3;
                             lo[m,j,n,l]=lo4;
                             hi[i,j,k,l]=hi0;
                             hi[i,m,k,n]=hi1;
                             hi[m,j,k,n]=hi2;
                             hi[i,m,n,l]=hi3;
                             hi[m,j,n,l]=hi4;
                         }
 }
 print "FINISHED OK";
}

function max(s,t, where) {

if(s<t) {
    print "lo=" t, "for", i,m,j,k,n,l, "(" where ")";
    active=1;
    s=t;
}
return(s);
}

function min(s,t, where) {

if(s>t) {
    print "hi=" t, "for", i,m,j,k,n,l, "(" where ")";
    active=1;
    s=t;
}
return(s);
}
'

6voto

domotorp Puntos 6851

Recuerdo haber leído acerca de esto en el Geométrica Discrepancia libro de Matousek. Otra forma de poner la instrucción es que si la diferencia de cuadrados es pequeño, entonces también lo es que de los rectángulos. Creo que las dimensiones superiores de la versión de expresar los vectores característicos de un ladrillo, con características de vectores de cubos todavía está abierta. Aquí está una reciente relacionada con el papel que podría ser interesante para usted encontrar la exacta rumbo a su pregunta: http://www.maths.qmul.ac.uk/~walters/papers/rectángulos-como-sumas de cuadrados.pdf

5voto

Brian Campbell Puntos 131

Aquí está una descripción rápida de la programación lineal formulación he utilizado para calcular algunas configuraciones:

Dado un $m \times n$ cuadrícula de $G$, se puede describir una configuración con un verdadero vector de $x \in \mathbb{R}^{mn}$. Luego, para cada cuadrado con una intersección no vacía con $G$, uno puede escribir un indicador vector $a_i \in \mathbb{R}^{mn}$ ($i \in S$), cuyos componentes son igual a $1$ si en la plaza, y $0$ lo contrario. Finalmente, uno puede escribir $c \in \mathbb{R}^{mn}$, el indicador del rectángulo cuya suma es ser maximizada.

La programación lineal es entonces $$ \max_{x \in \mathbb{R}^{mn}} c^T x \text{ tales que } -1 \le a_i^T x \le 1\ \forall i \in S$$ Este tipo de programa puede ser resuelto de una forma extremadamente eficiente hasta relativamente grandes tamaños de $mn$ (estoy usando el ILOG solver CPLEX).

Teniendo en cuenta la simetría es sencillo: si desea que varios componentes de $x$ a ser igual a la otra, mantener sólo uno de ellos y adaptar el resto de los coeficientes en $c$ y $a_i$ (es decir, reemplazarlos con la suma de los correspondientes coeficientes).

Sin embargo, este enfoque tiene limitaciones porque hay una gran cantidad de vectores de $a_i$, y los vectores tienen a veces una gran cantidad de cero componentes (que tiene una influencia en la eficiencia de los problemas y de manera crucial de la memoria utilizada). Yo sólo era capaz de utilizar hasta alrededor de $45\times 45$ grid.

Para obtener soluciones para los tamaños más grandes, he utilizado el siguiente truco: en lugar de definir la variable $x_{ij}$ para el contenido de la $(i,j)$ celda en la cuadrícula, yo defino la variable $y_{i,j}$ como sigue $$ y_{i,j} = \sum_{1\le k\le i, 1\le l \le j} x_{k,l}.$$ A continuación, se puede comprobar que la suma del cuadrado o rectángulo con las esquinas opuestas $(a,b)$ y $(c,d)$ es igual a $y_{c,d}+y_{a-1,b-1}-y_{c,b-1}-y_{a-1,d}$. Esto significa que cada restricción en el correspondiente problema de programación lineal se tiene en la mayoría de los $4$ nonzeros, lo que mejora mucho la velocidad y los requisitos de memoria de la persona.

Por cierto, voy a poner mis últimos resultados en el enlace http://dl.dropbox.com/u/217239/sol_rectangle.html

La corriente más grande de la solución ($56/15$ $3\times 7$ rectángulo), está hecha de fracciones con común denominador de 120, pero esto es sólo una feliz coincidencia, para nada obliga a que en la programación lineal (y, como señaló TonyK aplicarla de forma explícita sería muy costoso).

Actualización he corrido un amplio conjunto de pistas para el rectángulo de tamaños por debajo de 20x20 y poner los resultados al final del archivo enlazado más arriba. El registro sigue siendo $56/15$, que es alcanzado por muchos de los rectángulos (en particular, por el $1 \times 9$ en $101\times 109$ grid). Parece incluso más grande rejillas serán necesarios para obtener grandes sumas de dinero.

Update2 $1 \times 11$ en $137 \times 63$ grid da $101/27$=3.7407407

Update3 $1 \times 12$ en $155 \times 68$ grid da $15/4$=3.75

Por desgracia, sólo puedo cheque de $1 \times 13$ a alrededor de $191\times 77$, que todavía da 3.75, y me parece que he agotado mis trucos para el momento ...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X