Encontrar pequeños conjuntos de enteros en los que cada elemento es una suma de otros dos

16

Este es un seguimiento de esta pregunta sobre math.stackexchange.

Digamos que un conjunto no vacío S ⊆ ℤ es autosuficiente si para cada a  ∈ S, existen elementos distintos b, c  ∈ S de modo que a  =  b  + c. Para enteros positivos n , ejemplos simples incluyen el ideal S =  n ℤ, o (para n > 3) el intervalo entero [- nn ].

Diremos que S es fuertemente autosuficiente si S es disjunto de −S: es decir, si a  ∈ S, entonces - a  ∉ S. Ninguno de los ejemplos anteriores es fuertemente autosuficiente, porque de hecho están cerrados bajo negación Existen conjuntos finitos que son fuertemente autosuficientes: por ejemplo, los conjuntos {−22, −20, −18, −16, −14, −12, −10, −2, 1, 3, 7, 8, 15 , 23} y {−10, −8, −6, −2, 1, 3, 4, 5}.

Pregunta 1. Para un entero positivo N > 0, ¿existe un algoritmo poly ( N ) -time [o polylog ( N ) -time] para (i)  producir un conjunto fuertemente autosuficiente cuyo valor absoluto máximo es N o (ii )  determinan que no existe tal conjunto? [ Editar : como se señaló en la respuesta más antigua + mi comentario al respecto, siempre existe un conjunto para N  ≥ 10.]

Pregunta 2. Para N > 0, ¿puede construir el conjunto fuertemente autosuficiente con el valor absoluto máximo N , y que tiene la menor cantidad de elementos posibles?

Niel de Beaudrap
fuente
1
migrar las preguntas respondidas no es una práctica común y la pregunta se ve bien aquí. Pero si quieres lo migraré.
Kaveh
Tampoco estoy seguro de que tenga sentido migrar una pregunta respondida.
Suresh Venkat
Como desees, entonces. El hecho de que esta pregunta permanezca aquí me ha molestado por algún tiempo desde que el sitio se convirtió en un foro maduro para preguntas y respuestas sobre temas teóricos. Pensé que el tono podría ser mucho más adecuado para el (nivel de no investigación) cs.SE; pero si no cree que haya un problema de consistencia significativo, dejaré de preocuparme por eso.
Niel de Beaudrap

Respuestas:

6

Supongo que un algoritmo de tiempo lineal debería ser posible para la Pregunta # 1) (y si está dispuesto a tratar con una representación diferente, un algoritmo de tiempo O (1))

Dado cualquier N> = 23, construimos un conjunto fuertemente autosuficiente que contiene 1 y N.

Podemos hacerlo fácilmente si construimos lo mismo para N-1 y luego agregamos N al conjunto resultante.

Para el caso base de 23, podemos comenzar con su conjunto de ejemplos.

Para reducir el tamaño, deberíamos poder utilizar un enfoque similar:

Construir conjuntos que contienen 1, N and N-1.

Utilizamos estos conjuntos restringidos y hacemos esta construcción de forma recursiva para reducir el tamaño a O (logN) de la siguiente manera:

  • Si N es par, para construir un conjunto que contenga 1, N y N-1, construya recursivamente un conjunto que contenga 1, N / 2 y N / 2-1 (es decir, conjunto correspondiente a N / 2) y agregue N y N-1 al conjunto resultante. Como N-1 = N / 2 + N / 2-1 y N = 1 + N-1, este es un conjunto válido.

  • Si N es impar, construya un conjunto para N-1 y N para el conjunto resultante.

Para los casos base, podemos comenzar con {−22, −20, −18, −16, −14, −12, −10, −2, 1, 3, 7, 8, 15, 23,24} para N = 24. Para 24 <N <= 47, podemos usar el algoritmo de tiempo lineal anterior y construir sobre el conjunto para N = 24. Para N> = 48 pasamos a reducir a la mitad.

De hecho, para el compuesto N, podemos reducir el tamaño al tamaño requerido para uno de los primos pequeños que divide N: Encuentre un conjunto para el primo pequeño, y simplemente multiplique todos los números por un factor adecuado.

Puede ser interesante probar algunos límites inferiores en el caso de que N sea primo.

Aryabhata
fuente
+1. Me parece correcto plantear una pregunta con demasiado espacio, supongo. Puedes hacer lo mismo para N> 10, por supuesto. Lo que nos deja con la cuestión de construir conjuntos que sean más pequeños que esto (posiblemente de tamaño mínimo, como en el n. ° 2).
Niel de Beaudrap
Para su respuesta revisada para reducir el tamaño: no lo sigo. Entiendo que desea tener N "compatible" (expresado como una suma de elementos distintos) como 1 + (N-1). Pero, ¿cómo se "apoya" N-1, entonces? --- Además: estoy más interesado en el tamaño, es decir, la cardinalidad, del conjunto en sí, aunque los límites interesantes en su representación también pueden ser interesantes.
Niel de Beaudrap
@Niel: Estaba a punto de comentar: ver mi edición :-)
Aryabhata
Considere el caso de N = 46. Entonces N / 2 = 23; Tomamos el ejemplo dado en la pregunta como el conjunto autosuficiente, e incluimos N-1 = 45 y N = 46. ¿Cómo entonces "apoyamos" N-1 = 45?
Niel de Beaudrap
2
(Es posible que desee considerar cambiar su apodo. ¿Por qué no anunciar quién es usted realmente? También me permite dirigirme a usted sin parecer que estoy insultando a alguien, en caso de que finalmente elija cambiar su apodo más tarde).
Niel de Beaudrap
5

Para N ≥ 10, se puede construir un conjunto de tamaño fuertemente autoportante como máximo once, de la siguiente manera:

{−N, −N + 2, −N + 4, −2, 1, 3, 4, 5, N − 7, N − 6, N − 5}.

El ejemplo más corto presentado en la pregunta original corresponde al caso N = 10. Esto está cerca de ser óptimo, ya que cualquier conjunto fuertemente autosuficiente debe tener cardinalidad de al menos ocho .

Por lo tanto, el problema se puede resolver en el tiempo O (log (N)) [tomado en operaciones aritméticas mundanas en N], produciendo un conjunto de cardinalidad entre ocho y once.

La construcción de esta respuesta se presentó por primera vez para la pregunta math.stackoverflow , que también da la intuición para la construcción. ¿Podemos obtener construcciones más pequeñas aún, por ejemplo , igualando el límite inferior de ocho por cada N> 9? ¿Qué pasa con los casos de N ∈ {8,9}?

Niel de Beaudrap
fuente