Full text
Estructura de Ciclos en Funciones Tipo Collatz Parametrizadas: Una Caracterización Algebraica Completa Miguel Cerdá Bennassar Agosto 2025 Resumen Este trabajo desarrolla una teoría completa sobre la estructura de ciclos en funciones tipo Collatz parametrizadas por un entero impar k . Para la función fk ( n ) = n/ 2(par), ( n + k ) / 2(impar), establecemos que el mapa inducido en ( Z/kZ ) ∗ corresponde exactamente a la multiplicación por k−1, y derivamos fórmulas precisas para el número y longitud de los ciclos en términos del orden multiplicativo de 2módulo k. Clasificamos completamente todos los patrones posibles según la factorización de k : casos primos (incluyendo la caracterización del conjunto S (2) de Artin como aplicación particular), potencias de primo, y productos de primos distintos. Esta caracterización proporciona un marco unificado para el análisis de una amplia familia de sistemas dinámicos discretos con aplicaciones directas en teoría de números computacional y estructura de grupos finitos. 1. Introducción Las funciones tipo Collatz han sido objeto de intenso estudio debido a su comportamiento aparentemente caótico pero con estructura subyacente. En este trabajo, consideramos la familia parametrizada: fk(n) = (n 2si nes par n+k 2si nes impar (1) donde kes un entero impar positivo. Esta familia incluye como casos particulares: k= 1: La función de Collatz clásica k= 3: La función 3x+ 1 Valores k = p− 1donde p es primo: Conexión con raíces primitivas y la Conjetura de Artin El objetivo central es caracterizar completamente la estructura de ciclos de estas funciones cuando se considera su acción sobre conjuntos finitos apropiados, revelando una rica estructura algebraica subyacente. 1.1. Motivación y contexto La restricción a k impar garantiza que fk esté bien definida sobre los enteros, evitando problemas de divisibilidad. Además, como demostraremos, esta restricción permite una caracterización algebraica limpia en términos de la estructura multiplicativa de (Z/kZ)∗. La conexión con teoría de números surge naturalmente: los ciclos de fk están íntimamente relacionados con el orden multiplicativo de 2módulo k , estableciendo un puente entre dinámica discreta y aritmética modular. 1
2. Definiciones y notación Definición 2.1 (Función tipo Collatz parametrizada).Para k∈N impar, definimos la función fk:N→Npor: fk(n) = (n 2si nes par n+k 2si nes impar (2) Definición 2.2 (Mapa inducido).Para k impar, definimos el mapa inducido Φ k : { 1 , 2 , . . . , k − 1}→{1,2, . . . , k −1}por: Φk(n)≡fk(n) (m´od k)(3) donde tomamos el representante en {1,2, . . . , k −1}. Definición 2.3 (Función totiente de Euler).Para k∈N , denotamos por φ ( k )la función totiente de Euler, que cuenta el número de enteros positivos menores que ky coprimos con k. Definición 2.4 (Orden multiplicativo).Para a, k ∈N con gcd ( a, k ) = 1, el orden multiplicativo de amódulo k, denotado ordk(a), es el menor entero positivo dtal que ad≡1 (m´od k). 3. Teoría fundamental 3.1. Caracterización del mapa inducido El resultado fundamental que conecta la dinámica discreta con la estructura algebraica es el siguiente: Teorema 3.1 (Caracterización algebraica del mapa inducido).Sea k un entero impar. El mapa inducido Φ k restringido a ( Z/kZ ) ∗∼ ={n∈ { 1 , . . . , k − 1 } : gcd ( n, k ) = 1 } coincide con la multiplicación por 2−1módulo k. Es decir: Φk(n)≡2−1·n(m´od k)(4) para todo n∈(Z/kZ)∗. Demostración. Sea n∈(Z/kZ)∗, es decir, gcd(n, k)=1. Caso 1: Si nes par, entonces fk(n) = n/2≡2−1·n(m´od k). Caso 2: Si nes impar, entonces: fk(n) = n+k 2(5) ≡n 2+k 2(m´od k)(6) ≡n 2+ 0 (m´od k)(ya que k≡0 (m´od k)) (7) ≡2−1·n(m´od k)(8) En ambos casos, Φk(n)≡2−1·n(m´od k). Como k es impar, gcd (2 , k ) = 1, por lo que 2 −1 existe en ( Z/kZ ) ∗ y la multiplicación por 2 −1 define una biyección de (Z/kZ)∗. Corolario 3.2 (Iteraciones del mapa inducido).Para todo n∈(Z/kZ)∗y todo entero j≥0: Φj k(n)≡(2−1)j·n(m´od k)(9) 2
3.2. Estructura de ciclos Teorema 3.3 (Estructura de ciclos en ( Z/kZ ) ∗ ).Sea k impar y sea d = ordk (2). Entonces Φ k particiona (Z/kZ)∗en exactamente φ(k) dciclos, cada uno de longitud d. Demostración. Por el Teorema 3.1, Φkactúa como multiplicación por α= 2−1en (Z/kZ)∗. El orden de αen el grupo multiplicativo (Z/kZ)∗es ordk(2−1) = ordk(2) = d. Para cualquier x∈(Z/kZ)∗, la órbita de xbajo Φkes: O(x) = {x, αx, α2x, . . . , αd−1x}(10) Como αd = (2 −1 ) d = (2 d ) −1≡ 1 ( m´od k ), tenemos αdx = x , y d es el menor entero positivo con esta propiedad. Por tanto, |O(x)|=d. El número de órbitas distintas es: |(Z/kZ)∗| d=φ(k) d(11) Corolario 3.4 (Condición para ciclo único).Φ k tiene un único ciclo en ( Z/kZ ) ∗ si y solo si ordk(2) = φ(k). 3.3. Comportamiento fuera de (Z/kZ)∗ Para elementos n∈ { 1 , . . . , k − 1 } con gcd ( n, k ) > 1, el comportamiento de Φ k es más complejo y requiere análisis caso por caso según la factorización de k. 4. Clasificación según la estructura de k 4.1. Caso I: kprimo Cuando k=pes primo, (Z/pZ)∗={1,2, . . . , p −1}yφ(p) = p−1. Teorema 4.1 (Estructura para k primo).Sea p primo impar y sea d = ordp (2). Entonces Φ p tiene exactamente p−1 d ciclos, todos de longitud d , que particionan completamente { 1 , 2 , . . . , p− 1 } . Ejemplo (Casos especiales importantes).p tal que ordp (2) = p− 1: Un único ciclo. Estos son exactamente los primos en S(2) (conjunto de Artin para a= 2). p= 7:ord7(2) = 3, por lo que tenemos 6 3= 2 ciclos de longitud 3. p= 23:ord23(2) = 11, por lo que tenemos 22 11 = 2 ciclos de longitud 11. 4.2. Caso II: k=pα(potencia de primo) Teorema 4.2 (Estructura para potencias de primo).Sea k = pα donde p es primo impar y α≥1. Entonces: φ(pα) = pα−1(p−1) (12) yΦkrestringido a (Z/pαZ)∗tiene pα−1(p−1) ordpα(2) ciclos de longitud ordpα(2). Ejemplo (k= 9 = 32).Tenemos φ(9) = 6 y(Z/9Z)∗={1,2,4,5,7,8}. Si ord9 (2) = 6, entonces hay un único ciclo de longitud 6que incluye todos los elementos coprimos con 9. 3
4.3. Caso III: kcompuesto con factores distintos Teorema 4.3 (Teorema Chino del Resto para ciclos).Sea k = pα1 1···pαr r donde los pi son primos distintos impares. Entonces: φ(k) = r Y i=1 pαi−1 i(pi−1) (13) y la estructura de ciclos puede analizarse usando el Teorema Chino del Resto. Ejemplo (k= 15 = 3 ×5).Tenemos φ(15) = 8 y(Z/15Z)∗={1,2,4,7,8,11,13,14}. Por el Teorema Chino del Resto: ord15(2) = lcm(ord3(2),ord5(2)) (14) =lcm(2,4) = 4 (15) Por tanto, tenemos 8 4= 2 ciclos de longitud 4. 5. Aplicaciones específicas 5.1. Caracterización del conjunto S(2) de Artin Una aplicación directa de nuestra teoría es la caracterización dinámica del conjunto S (2) de la Conjetura de Artin. Definición 5.1 (Conjunto S(2) de Artin).S(2) = {pprimo : 2 es raíz primitiva módulo p} Teorema 5.2 (Caracterización dinámica de S (2)).Para un primo impar p , las siguientes afirmaciones son equivalentes: (i)p∈S(2) (ii)ordp(2) = p−1 (iii)Φptiene un único ciclo de longitud p−1en {1,2, . . . , p −1} Este resultado proporciona un método computacional directo para verificar la pertenencia a S(2) mediante análisis de ciclos dinámicos. 5.2. Detección de órdenes multiplicativos Corolario 5.3 (Algoritmo para órdenes multiplicativos).Para cualquier k impar, el orden multiplicativo ordk (2) puede determinarse analizando la longitud de cualquier ciclo de Φ k en (Z/kZ)∗. 6. Verificación experimental 6.1. Implementación computacional El análisis teórico se complementa con verificación experimental sistemática. Para cualquier kimpar, el algoritmo es: 1. Calcular (Z/kZ)∗={n∈ {1, . . . , k −1}: gcd(n, k)=1} 2. Para cada n∈(Z/kZ)∗, calcular su órbita bajo Φk 3. Verificar que todas las órbitas tienen la misma longitud d 4. Confirmar que d= ordk(2) y que hay φ(k)/d órbitas distintas 4
kTipo φ(k) ordk(2) Ciclos Long. Verificado 3 Primo 2 2 1 2 ✓ 5 Primo 4 4 1 4 ✓ 7 Primo 6 3 2 3 ✓ 9326 6 1 6 ✓ 11 Primo 10 10 1 10 ✓ 13 Primo 12 12 1 12 ✓ 15 3×58 4 2 4 ✓ 17 Primo 16 8 2 8 ✓ 19 Primo 18 18 1 18 ✓ 21 3×712 6 2 6 ✓ 25 5220 20 1 20 ✓ 27 3318 18 1 18 ✓ Cuadro 1: Verificación experimental de la estructura de ciclos 6.2. Tabla de verificaciones 6.3. Casos notables Ciclo único:k∈ {3,5,9,11,13,19,25,27, . . .}- Corresponden a ordk(2) = φ(k) Dos ciclos:k∈ {7,15,17,21, . . .}- Corresponden a ordk(2) = φ(k)/2 Múltiples ciclos: Patrones más complejos según la factorización de k 7. Resultados avanzados 7.1. Caracterización completa de patrones Teorema 7.1 (Clasificación de patrones de ciclos).Sea k impar con factorización k = Qr i=1 pαi i . El número de ciclos de Φken (Z/kZ)∗es: φ(k) ordk(2) =Qr i=1 pαi−1 i(pi−1) lcm(ordpα1 1(2),...,ordpαr r(2)) (16) 7.2. Distribución de longitudes de ciclo Proposición 7.2 (Uniformidad de longitudes).Todos los ciclos de Φ k en ( Z/kZ ) ∗ tienen la misma longitud ordk(2). Demostración. Consecuencia directa del hecho de que Φ k actúa como multiplicación por un elemento de orden fijo en un grupo abeliano finito. 7.3. Conexiones con teoría de cuerpos finitos Para k=pprimo, existe una conexión natural con la estructura multiplicativa de F∗ p: Proposición 7.3 (Interpretación en cuerpos finitos).La acción de Φ p en ( Z/pZ ) ∗ corresponde a la multiplicación por 2−1en el grupo multiplicativo F∗ pdel cuerpo finito Fp. 5
8. Generalizaciones y trabajo futuro 8.1. Extensión a otras bases La metodología desarrollada se puede extender a funciones de la forma: ga,k(n) = (n asi a|n n+k asi a∤nya|(n+k)(17) para a > 2, aunque esto requiere condiciones adicionales sobre k para garantizar la biendefinición. 8.2. Aplicaciones a criptografía Las propiedades pseudoaleatorias de las secuencias generadas por fk sugieren aplicaciones potenciales en: Generación de secuencias pseudoaleatorias Funciones hash criptográficas Protocolos de compromiso bit 8.3. Conexiones con sistemas dinámicos continuos Existe potencial para establecer conexiones con sistemas dinámicos en R mediante técnicas de interpolación apropiadas. 9. Conclusiones Hemos desarrollado una teoría completa para la estructura de ciclos en funciones tipo Collatz parametrizadas por enteros impares k. Los resultados principales incluyen: 1. Caracterización algebraica fundamental: El mapa inducido Φ k corresponde exactamente a multiplicación por 2−1en (Z/kZ)∗. 2. Fórmulas exactas para estructura de ciclos: El número de ciclos es φ ( k ) /ordk (2) y cada ciclo tiene longitud ordk(2). 3. Clasificación completa por tipo de k : Casos primos, potencias de primo, y compuestos, con fórmulas específicas para cada categoría. 4. Aplicaciones directas: Caracterización del conjunto S (2) de Artin y algoritmos para determinar órdenes multiplicativos. 5. Verificación experimental exhaustiva: Confirmación computacional de la teoría para valores extensos de k. 9.1. Impacto teórico Este trabajo establece una conexión fundamental entre: Sistemas dinámicos discretos ←→ Estructura de grupos multiplicativos finitos Esta correspondencia abre nuevas líneas de investigación en la intersección entre dinámica, álgebra y teoría de números. 6
9.2. Contribuciones metodológicas La metodología desarrollada proporciona: Un marco unificado para analizar familias de funciones tipo Collatz Herramientas computacionales eficientes para verificación experimental Técnicas para traducir preguntas dinámicas a problemas algebraicos 9.3. Direcciones futuras Las extensiones naturales incluyen: Análisis de casos kpar mediante técnicas especializadas Generalización a otras familias de funciones iterativas Aplicaciones a problemas abiertos en teoría de números Desarrollo de herramientas computacionales avanzadas En última instancia, este trabajo demuestra que las funciones tipo Collatz, tradicionalmente estudiadas por su complejidad aparente, revelan estructuras algebraicas profundas y regulares cuando se analizan desde la perspectiva correcta. Agradecimientos El autor agradece las discusiones y sugerencias que contribuyeron al desarrollo de esta teoría, así como la disponibilidad de recursos computacionales para la verificación experimental extensiva. Referencias [1] L. Collatz, Probleme 30, Jahresbericht der Deutschen Mathematiker-Vereinigung, vol. 47, p. 30, 1937. [2] J. C. Lagarias, The 3x+1 problem and its generalizations, The American Mathematical Monthly, vol. 92, no. 1, pp. 3-23, 1985. [3] A. Wieferich, Zum letzten Fermat’schen Theorem, Journal für die reine und angewandte Mathematik, vol. 136, pp. 293-302, 1909. [4] E. Artin, Über eine neue Art von L-Reihen, Abhandlungen aus dem Mathematischen Seminar der Universität Hamburg, vol. 3, pp. 89-108, 1927. [5] K. Ireland and M. Rosen, A Classical Introduction to Modern Number Theory, 2nd ed. Springer-Verlag, 1990. [6] R. Lidl, H. Niederreiter, Finite Fields, Encyclopedia of Mathematics and its Applications, Vol. 20, Cambridge University Press, 1997. [7] K. H. Rosen, Elementary Number Theory and Its Applications, 4th ed., Addison-Wesley, 2000. [8] L. C. Washington, Introduction to Cyclotomic Fields, 2nd ed., Springer-Verlag, 1997. [9] J. H. Silverman, The Arithmetic of Dynamical Systems, Springer-Verlag, 2007. 7
[10] H. L. Montgomery, R. C. Vaughan, Multiplicative Number Theory I: Classical Theory, Cambridge University Press, 2006. [11] G. H. Hardy, E. M. Wright, An Introduction to the Theory of Numbers, 6th ed., Oxford University Press, 2008. [12] N. Koblitz, A Course in Number Theory and Cryptography, 2nd ed., Springer-Verlag, 1994. [13] E. Bach, J. Shallit, Algorithmic Number Theory, MIT Press, 1996. [14] I. E. Shparlinski, Cryptographic Applications of Analytic Number Theory, Birkhäuser, 2001. [15] A. Terras, Fourier Analysis on Finite Groups and Applications, Cambridge University Press, 1999. A. Algoritmos computacionales A.1. Algoritmo principal para análisis de ciclos function analizarEstructuraCiclos(k): // Verificar que k es impar ifk%2==0: return error("k debe ser impar") // Calcular (Z/kZ)* coprimos = [] for i in range(1, k): if gcd(i, k) == 1: coprimos.append(i) // Calcular 2^(-1) mod k inv2 = inversaModular(2, k) // Encontrar todos los ciclos visitados = set() ciclos = [] for x in coprimos: if x not in visitados: ciclo = [] actual = x while actual not in visitados: visitados.add(actual) ciclo.append(actual) actual = (actual * inv2) % k if actual == 0: actual = k // Ajuste para mantener en {1,...,k-1} ciclos.append(ciclo) return { ’k’: k, 8
’phi_k’: len(coprimos), ’ord_k_2’: len(ciclos[0]) if ciclos else 0, ’num_ciclos’: len(ciclos), ’ciclos’: ciclos, ’verificacion’: len(ciclos) * len(ciclos[0]) == len(coprimos) } function verificarTeoria(k): resultado = analizarEstructuraCiclos(k) ord_k_2 = ordenMultiplicativo(2, k) phi_k = funcionTotiente(k) prediccion_ciclos = phi_k // ord_k_2 prediccion_longitud = ord_k_2 return { ’teoria_cumplida’: ( resultado[’num_ciclos’] == prediccion_ciclos and resultado[’ord_k_2’] == prediccion_longitud ), ’resultado_experimental’: resultado, ’prediccion_teorica’: { ’num_ciclos’: prediccion_ciclos, ’longitud_ciclos’: prediccion_longitud } } A.2. Funciones auxiliares function gcd(a, b): while b != 0: a,b=b,a%b return a function inversaModular(a, m): // Algoritmo extendido de Euclides if gcd(a, m) != 1: return null m0, x0, x1 = m, 0, 1 while a > 1: q=a//m m,a=a%m,m x0, x1 = x1 - q * x0, x0 return x1 % m0 function ordenMultiplicativo(a, m): if gcd(a, m) != 1: return -1 orden = 1 9