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úmerose obtiene recursivamente, a partir de una cadena de suma para. Sies par, se puede obtener en una sola suma adicional, como. Sies extraño, este método utiliza dos sumas para obtenerlo, calculandoy luego añadir uno. [ 3 ]
El método factorial para encontrar cadenas de suma se basa en la factorización prima del númeroestar representado. Sitiene un númerocomo uno de sus factores principales, entonces una cadena adicional parase puede obtener comenzando con una cadena paray luego concatenarle una cadena para, modificado multiplicando cada uno de sus números porLas ideas del método factorial y del método binario se pueden combinar en el método m-ario de Brauer eligiendo cualquier número(independientemente de si divide o no)), construyendo recursivamente una cadena para, concatenando una cadena para(modificado de la misma manera que arriba) para obtenery 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
Dejardenota el más pequeñode modo que exista una cadena adicional de longitudque calculaSe sabe que dóndees el peso de Hamming (el número de unos) de la expansión binaria de. [ 4 ]
Se puede obtener una cadena adicional parade una cadena de adición paraal incluir una suma adicionalde lo cual se deduce la desigualdadsobre las longitudes de las cadenas paraySin embargo, esto no siempre es una igualdad, ya que en algunos casospuede tener una cadena más corta que la obtenida de esta manera. Por ejemplo,, observado por Knuth. [ 5 ] Incluso es posible quetener una cadena más corta que, de modo que; el más pequeñopor qué sucede esto es, [ 6 ] que es seguido por,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 )
dondees la longitud de la cadena estelar más corta. [ 7 ] Para muchos valores dey en particular para, 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
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 todosson Hansen (mientras que 5784689 no lo es). [ 6 ] Clift verificó además que, de hechoa pesar de. [ 5 ]
Véase también
Referencias
- ↑ DE Knuth, El arte de la programación informática , Vol. 2, "Algoritmos seminuméricos", Sección 4.6.3, 3.ª edición, 1997
- ↑ 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.
- 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.
- ↑ 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
- 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.
- 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 .
- ↑ 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 .
- ↑ Achim Flammenkamp, Cadenas de adición más cortas
Enlaces externos
- 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"
- Cadenas de suma
- problemas NP-completos