Articulo de referencia

Cadena de adición

En matemáticas , una cadena de sumas para calcular un entero positivo n puede estar dada por una secuencia de números naturales que comienza en 1 y termina en n , de manera que ...

En matemáticas , una cadena de sumas para calcular un entero positivo n puede estar dada por una secuencia de números naturales que comienza en 1 y termina en n , de manera que cada número de la secuencia es la suma de dos de los números anteriores. La longitud de una cadena de sumas es el número de sumas necesarias para expresar todos sus números, que es uno menos que la cardinalidad de la secuencia de números. [ 1 ]

Ejemplos

Como ejemplo: (1,2,3,6,12,24,30,31) es una cadena de suma para 31 de longitud 7, ya que

2 = 1 + 1
3 = 2 + 1
6 = 3 + 3
12 = 6 + 6
24 = 12 + 12
30 = 24 + 6
31 = 30 + 1

Las cadenas de suma se pueden usar para la exponenciación en cadena de suma . Este método permite realizar la exponenciación con exponentes enteros usando un número de multiplicaciones igual a la longitud de una cadena de suma para el exponente. Por ejemplo, la cadena de suma para 31 conduce a un método para calcular la potencia 31 de cualquier número n usando solo siete multiplicaciones, en lugar de las 30 multiplicaciones que se obtendrían con la multiplicación repetida, y ocho multiplicaciones con la exponenciación por elevación al cuadrado :

n 2 = n × n
n 3 = n 2 × n
n 6 = n 3 × n 3
n 12 = n 6 × n 6
n 24 = n 12 × n 12
n 30 = n 24 × n 6
n 31 = n 30 × n

Métodos para calcular cadenas de suma

Calcular una cadena de suma de longitud mínima no es fácil; una versión generalizada del problema, en la que se debe encontrar una cadena que forme simultáneamente cada uno de los valores de una secuencia, es NP-completa . [ 2 ] No se conoce ningún algoritmo que pueda calcular una cadena de suma mínima para un número dado con garantías de un tiempo de ejecución razonable o un bajo consumo de memoria. Sin embargo, se conocen varias técnicas para calcular cadenas relativamente cortas que no siempre son óptimas. [ 3 ]

Una técnica muy conocida para calcular cadenas de suma relativamente cortas es el método binario , similar a la exponenciación por elevación al cuadrado . En este método, una cadena de suma para el númeronorte{\displaystyle n}se obtiene recursivamente, a partir de una cadena de suma paranorte=norte/2{\displaystyle n'=\lfloor n/2\rfloor }. Sinorte{\displaystyle n}es par, se puede obtener en una sola suma adicional, comonorte=norte+norte{\displaystyle n=n'+n'}. Sinorte{\displaystyle n}es extraño, este método utiliza dos sumas para obtenerlo, calculandonorte1=norte+norte{\displaystyle n-1=n'+n'}y luego añadir uno. [ 3 ]

El método factorial para encontrar cadenas de suma se basa en la factorización prima del númeronorte{\displaystyle n}estar representado. Sinorte{\displaystyle n}tiene un númeropag{\displaystyle p}como uno de sus factores principales, entonces una cadena adicional paranorte{\displaystyle n}se puede obtener comenzando con una cadena paranorte/pag{\displaystyle n/p}y luego concatenarle una cadena parapag{\displaystyle p}, modificado multiplicando cada uno de sus números pornorte/pag{\displaystyle n/p}Las ideas del método factorial y del método binario se pueden combinar en el método m-ario de Brauer eligiendo cualquier númerometro{\displaystyle m}(independientemente de si divide o no)norte{\displaystyle n}), construyendo recursivamente una cadena paranorte/metro{\displaystyle \lfloor n/m\rfloor }, concatenando una cadena parametro{\displaystyle m}(modificado de la misma manera que arriba) para obtenermetronorte/metro{\displaystyle m\lfloor n/m\rfloor }y luego sumar el resto. Refinamientos adicionales de estas ideas conducen a una familia de métodos llamados métodos de ventana deslizante . [ 3 ]

Longitud de la cadena

Dejarl(norte){\displaystyle l(n)}denota el más pequeños{\displaystyle s}de modo que exista una cadena adicional de longituds{\displaystyle s}que calculanorte{\displaystyle n}Se sabe que registro2norte+registro2ν(norte)2.13l(norte)registro2norte+ν(norte)1,{\displaystyle \log _{2}n+\log _{2}\nu (n)-2.13\leq l(n)\leq \log _{2}n+\nu (n)-1,}l(norte)registro2norte+(1+o(1))registro2norteregistro2registro2norte,{\displaystyle l(n)\leq \log _{2}n+{\bigl (}1+o(1){\bigr )}{\frac {\log _{2}n}{\log _{2}\log _{2}n}},} dóndeν(norte){\displaystyle \nu (n)}es el peso de Hamming (el número de unos) de la expansión binaria denorte{\displaystyle n}. [ 4 ]

Se puede obtener una cadena adicional para2norte{\displaystyle 2n}de una cadena de adición paranorte{\displaystyle n}al incluir una suma adicional2norte=norte+norte{\displaystyle 2n=n+n}de lo cual se deduce la desigualdadl(2norte)l(norte)+1{\displaystyle l(2n)\leq l(n)+1}sobre las longitudes de las cadenas paranorte{\displaystyle n}y2norte{\displaystyle 2n}Sin embargo, esto no siempre es una igualdad, ya que en algunos casos2norte{\displaystyle 2n}puede tener una cadena más corta que la obtenida de esta manera. Por ejemplo,l(382)=l(191)=11{\displaystyle l(382)=l(191)=11}, observado por Knuth. [ 5 ] Incluso es posible que2norte{\displaystyle 2n}tener una cadena más corta quenorte{\displaystyle n}, de modo quel(2norte)<l(norte){\displaystyle l(2n)<l(n)}; el más pequeñonorte{\displaystyle n}por qué sucede esto esnorte=375494703{\displaystyle n=375494703}, [ 6 ] que es seguido por602641031{\displaystyle 602641031},619418303{\displaystyle 619418303}y así sucesivamente (secuencia A230528 en el OEIS ) .

Cadena Brauer

Una cadena de Brauer o cadena de suma en estrella es una cadena de suma en la que cada una de las sumas utilizadas para calcular sus números utiliza el número inmediatamente anterior. Un número de Brauer es un número para el cual una cadena de Brauer es óptima. [ 5 ]

Brauer demostró que

l * (2 norte −1) ≤ norte − 1 + l * ( norte )

dondel{\displaystyle l^{*}}es la longitud de la cadena estelar más corta. [ 7 ] Para muchos valores denorte{\displaystyle n}y en particular paranorte<12509{\displaystyle n<12509}, son iguales: [ 8 ] l ( n )  = l * ( n )  . Pero Hansen demostró que hay algunos valores de n para los cuales l ( n )  l * ( n )  , como n  =  2 6106  +  2 3048  +  2 2032  +  2 2016  +  1 que tiene l * ( n )  =  6110, l ( n )   6109 . El n más pequeño de este tipo es 12509.

Conjetura de Scholz

La conjetura de Scholz (a veces llamada conjetura de Scholz-Brauer o Brauer-Scholz , nombrada en honor a Arnold Scholz y Alfred T. Brauer), es una conjetura de 1937 que afirma que

l(2norte1)norte1+l(norte).{\displaystyle l(2^{n}-1)\leq n-1+l(n).}

Se sabe que esta desigualdad se cumple para todos los números de Hansen, una generalización de los números de Brauer; Neill Clift comprobó mediante ordenador que todosnorte5784688{\displaystyle n\leq 5784688}son Hansen (mientras que 5784689 no lo es). [ 6 ] Clift verificó además que, de hechol(2norte1)=norte1+l(norte){\displaystyle l(2^{n}-1)=n-1+l(n)}a pesar denorte64{\displaystyle n\leq 64}. [ 5 ]

Véase también

Referencias

  1. DE Knuth, El arte de la programación informática , Vol. 2, "Algoritmos seminuméricos", Sección 4.6.3, 3.ª edición, 1997
  2. Downey, Peter; Leong, Benton; Sethi, Ravi (1981), "Cálculo de secuencias con cadenas de adición", SIAM Journal on Computing , 10 (3): 638– 646, doi : 10.1137/0210047Otros artículos afirman que encontrar la cadena de suma más corta para un solo número es un problema NP-completo, citando este artículo, pero no afirman ni demuestran tal resultado.
  3. 1 2 3 Otto, Martin (2001), Brauer addition-subtraction chains (PDF) , Diplomarbeit, University of Paderborn, archivado del original (PDF) el 19-10-2013 , recuperado el 19-10-2013.
  4. Schönhage, Arnold (1975), "Un límite inferior para la longitud de las cadenas de adición", Theoretical Computer Science , 1 (1): 1– 12, doi : 10.1016/0304-3975(75)90008-0
  5. 1 2 3 Richard K. Guy (2004). Problemas sin resolver en teoría de números . Springer-Verlag . ISBN 978-0-387-20860-2. OCLC 54611248 . Zbl 1058.11001 .   Sección C6, pág. 169.
  6. 1 2 Clift, Neill Michael (2011). "Cálculo de cadenas de adición óptimas" (PDF) . Computing . 91 (3): 265– 284. doi : 10.1007/s00607-010-0118-8 .
  7. Brauer, Alfred (1939). "Sobre cadenas de adición" . Boletín de la Sociedad Matemática Americana . 45 (10): 736– 739. doi : 10.1090/S0002-9904-1939-07068-7 . ISSN 0002-9904 . MR 0000245 .  
  8. Achim Flammenkamp, ​​Cadenas de adición más cortas
  • Secuencia OEIS A003313 (Longitud de la cadena de adición más corta para n) . Tenga en cuenta que el "1" inicial no se cuenta (por lo que el elemento n.° 1 de la secuencia es 0).
  • F. Bergeron, J. Berstel, S. Brlek "Cálculo eficiente de cadenas de suma"