Autor Tema: Pares gemelos en la órbita de Collatz

0 Usuarios y 1 Visitante están viendo este tema.

19 Marzo, 2026, 03:48 am
Respuesta #20

Richard R Richard

  • Ingeniero Industrial
  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 4,054
  • País: ar
  • Karma: +2/-0
  • Sexo: Masculino
  • Dentro de la ciencia todo,fuera de la ciencia nada

Aún no he añadido los ejemplos concretos para m=7 que me mencionaste (como n=72808, d=9, k=3, c=21), porque quería que los revisaras primero y me dijeras si quieres que aparezcan tal cual o si prefieres añadir más datos. También, por supuesto, cualquier otro comentario o sugerencia sobre el borrador será bienvenida.

Gracias de nuevo por tu ayuda y colaboración.

Un saludo,
Jose Omar


Hola,  se podrían añadir mas datos , pero hay ciertas limitaciones , que van apareciendo. Ya puse a la máquina a correr para hallar  ejemplos m=7 con d hasta 100, pero ten en cuenta que  cada vez que k se incrementa en una unidad c lo debe hacer en 7 unidades y para k=4 tienes c=28


luego tienes que buscar números en las proximidades (en el rango o un poco inferior) de $$\dfrac{2^{28}}{3^4}=3314017....$$ y por cada numero hay que probar 100 distancias diferentes , son muchas operaciones  y si k=5  anda en los miles de millones, por lo que los tiempos de máquina suben exponencialmente, haciendolos imposibles de manejar ya para k=6.


Es decir si no halla los ejemplos con k muy bajo, aunque  d sea pequeño el abanico de posibles candidato a cumplir se hace muy grande  e inalcanzable por un ordenador común avanzando de 1 en 1


Código


Código: ( este es el código python) [Seleccionar]
import math as mm
import sys
sys.set_int_max_str_digits(0)
m=7
cta=0
num=[]
c=[]
k=[]
d=[]
dd=[]
datos=1000000000
def ruta(n):
ck=0
cd=0
nn=n
while nn!=1:
if nn%2==1:
ck+=1
nn=3*nn+1
else:
cd+=1
nn=nn/2
return n ,ck, cd  # Devuelve una tupla
nnn=5
while nnn<datos:
x=1
n,kn,cn =ruta(nnn)
#print(n,kn,cn)
while x< 100:
nd,knd,cnd=ruta(nnn+x)
#print(nnn,x,nm,dm,kn,knd,cn,cnd)
if kn==knd and cn==cnd and cn==m*kn:
if x not in d:
cta+=1
num.append(nnn)
c.append(cn)
d.append(x)
k.append(kn)
print(nnn,x,kn,cn,cta)
f=open("collatzgem.txt","a")
texto=str(nnn)+","+str(x)+","+str(kn)+","+str(cn)+"\n"
f.write(texto)
f.close()
x+=1
else:
x+=1
#print("con ",nnn, " no hay distancias")
nnn+=1
if nnn//100000==nnn/100000:
print(nnn)
if cta==100:
break
[cerrar]

El código se puede refinar, tiene muchas cosas que he dejado innecesarias , o que me sirven de referencia por cual número anda buscando.
Saludos  \(\mathbb {R}^3\)

19 Marzo, 2026, 07:14 pm
Respuesta #21

JoseOmar

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 18
  • País: cu
  • Karma: +0/-0

Aún no he añadido los ejemplos concretos para m=7 que me mencionaste (como n=72808, d=9, k=3, c=21), porque quería que los revisaras primero y me dijeras si quieres que aparezcan tal cual o si prefieres añadir más datos. También, por supuesto, cualquier otro comentario o sugerencia sobre el borrador será bienvenida.

Gracias de nuevo por tu ayuda y colaboración.

Un saludo,
Jose Omar


Hola,  se podrían añadir mas datos , pero hay ciertas limitaciones , que van apareciendo. Ya puse a la máquina a correr para hallar  ejemplos m=7 con d hasta 100, pero ten en cuenta que  cada vez que k se incrementa en una unidad c lo debe hacer en 7 unidades y para k=4 tienes c=28


luego tienes que buscar números en las proximidades (en el rango o un poco inferior) de $$\dfrac{2^{28}}{3^4}=3314017....$$ y por cada numero hay que probar 100 distancias diferentes , son muchas operaciones  y si k=5  anda en los miles de millones, por lo que los tiempos de máquina suben exponencialmente, haciendolos imposibles de manejar ya para k=6.


Es decir si no halla los ejemplos con k muy bajo, aunque  d sea pequeño el abanico de posibles candidato a cumplir se hace muy grande  e inalcanzable por un ordenador común avanzando de 1 en 1


Código


Código: ( este es el código python) [Seleccionar]
import math as mm
import sys
sys.set_int_max_str_digits(0)
m=7
cta=0
num=[]
c=[]
k=[]
d=[]
dd=[]
datos=1000000000
def ruta(n):
ck=0
cd=0
nn=n
while nn!=1:
if nn%2==1:
ck+=1
nn=3*nn+1
else:
cd+=1
nn=nn/2
return n ,ck, cd  # Devuelve una tupla
nnn=5
while nnn<datos:
x=1
n,kn,cn =ruta(nnn)
#print(n,kn,cn)
while x< 100:
nd,knd,cnd=ruta(nnn+x)
#print(nnn,x,nm,dm,kn,knd,cn,cnd)
if kn==knd and cn==cnd and cn==m*kn:
if x not in d:
cta+=1
num.append(nnn)
c.append(cn)
d.append(x)
k.append(kn)
print(nnn,x,kn,cn,cta)
f=open("collatzgem.txt","a")
texto=str(nnn)+","+str(x)+","+str(kn)+","+str(cn)+"\n"
f.write(texto)
f.close()
x+=1
else:
x+=1
#print("con ",nnn, " no hay distancias")
nnn+=1
if nnn//100000==nnn/100000:
print(nnn)
if cta==100:
break
[cerrar]


El código se puede refinar, tiene muchas cosas que he dejado innecesarias , o que me sirven de referencia por cual número anda buscando.
Hola, Richard:

Muchas gracias por tomarte el tiempo de hacer estas pruebas y por compartir el código. Es comprensible que la búsqueda se vuelva muy pesada cuando k crece, porque los números candidatos aumentan exponencialmente. Tu observación es muy valiosa: confirma que la conjetura se sostiene en los rangos accesibles, pero también muestra los límites de la computación actual para valores altos.
Saludos

20 Marzo, 2026, 02:58 am
Respuesta #22

Richard R Richard

  • Ingeniero Industrial
  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 4,054
  • País: ar
  • Karma: +2/-0
  • Sexo: Masculino
  • Dentro de la ciencia todo,fuera de la ciencia nada
Para m=7  hasta k=4 , conseguí 97 de las 99 distancias menores a 100... d=31 y 39 serán para k=5 pero si no optimizo la búsqueda tardaría mas de un mes en alcanzar esos valores y explorarlos
Spoiler
ndk
1812
1
2
40
2
1
1813
3
2
1808
4
2
1808
5
2
1812
6
2
72810
7
3
1696
8
2
72808
9
3
1696
10
2
72789
11
3
72788
12
3
77352
13
3
3029204
14
4
3029204
15
4
70976
16
3
72800
17
3
3029200
18
4
72789
19
3
70976
20
3
70976
21
3
72788
22
3
3106868
23
4
72784
24
3
3313777
25
4
72784
26
3
3106858
27
4
72789
28
3
72788
29
3
3106856
30
4
1664
32
2
72784
33
3
3029184
34
4
3029184
35
4
3106848
36
4
3106848
37
4
3029162
38
4
1664
40
2
3313815
41
4
1664
42
2
3029162
43
4
3029160
44
4
3029160
45
4
3313768
46
4
3313768
47
4
77312
48
3
72768
49
3
3313890
50
4
3105621
51
4
77312
52
3
77312
53
3
3105620
54
4
3105621
55
4
3029162
56
4
3029162
57
4
3029160
58
4
3029160
59
4
3105616
60
4
3105616
61
4
3313770
62
4
3310705
63
4
70912
64
3
3313749
65
4
3029152
66
4
3029152
67
4
3305856
68
4
3305856
69
4
3305856
70
4
3310705
71
4
77594
72
3
77594
73
3
77592
74
3
77365
75
3
77364
76
3
77589
77
3
77588
78
3
77588
79
3
70912
80
3
77588
81
3
77584
82
3
77584
83
3
70912
84
3
70912
85
3
77354
86
3
3313728
87
4
77352
88
3
3313802
89
4
3305808
90
4
3310677
91
4
3310676
92
4
3313872
93
4
3313872
94
4
3310677
95
4
77344
96
3
3310676
97
4
3029120
98
4
3029120
99
4
[cerrar]
para que vea que sirve para cualquier m pero que encontrar valores se vuelve cada vez mas  difícil


Spoiler
43648 32 1
43648 40 1
43648 42 1
43680 8 1
43680 10 1
43688 2 1 
[cerrar]
y los siguientes valores se hallaran cerca de los  mil millones.
Saludos  \(\mathbb {R}^3\)

20 Marzo, 2026, 06:10 pm
Respuesta #23

JoseOmar

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 18
  • País: cu
  • Karma: +0/-0
Para m=7  hasta k=4 , conseguí 97 de las 99 distancias menores a 100... d=31 y 39 serán para k=5 pero si no optimizo la búsqueda tardaría mas de un mes en alcanzar esos valores y explorarlos
Spoiler
ndk
1812
1
2
40
2
1
1813
3
2
1808
4
2
1808
5
2
1812
6
2
72810
7
3
1696
8
2
72808
9
3
1696
10
2
72789
11
3
72788
12
3
77352
13
3
3029204
14
4
3029204
15
4
70976
16
3
72800
17
3
3029200
18
4
72789
19
3
70976
20
3
70976
21
3
72788
22
3
3106868
23
4
72784
24
3
3313777
25
4
72784
26
3
3106858
27
4
72789
28
3
72788
29
3
3106856
30
4
1664
32
2
72784
33
3
3029184
34
4
3029184
35
4
3106848
36
4
3106848
37
4
3029162
38
4
1664
40
2
3313815
41
4
1664
42
2
3029162
43
4
3029160
44
4
3029160
45
4
3313768
46
4
3313768
47
4
77312
48
3
72768
49
3
3313890
50
4
3105621
51
4
77312
52
3
77312
53
3
3105620
54
4
3105621
55
4
3029162
56
4
3029162
57
4
3029160
58
4
3029160
59
4
3105616
60
4
3105616
61
4
3313770
62
4
3310705
63
4
70912
64
3
3313749
65
4
3029152
66
4
3029152
67
4
3305856
68
4
3305856
69
4
3305856
70
4
3310705
71
4
77594
72
3
77594
73
3
77592
74
3
77365
75
3
77364
76
3
77589
77
3
77588
78
3
77588
79
3
70912
80
3
77588
81
3
77584
82
3
77584
83
3
70912
84
3
70912
85
3
77354
86
3
3313728
87
4
77352
88
3
3313802
89
4
3305808
90
4
3310677
91
4
3310676
92
4
3313872
93
4
3313872
94
4
3310677
95
4
77344
96
3
3310676
97
4
3029120
98
4
3029120
99
4
[cerrar]
para que vea que sirve para cualquier m pero que encontrar valores se vuelve cada vez mas  difícil


Spoiler
43648 32 1
43648 40 1
43648 42 1
43680 8 1
43680 10 1
43688 2 1 
[cerrar]
y los siguientes valores se hallaran cerca de los  mil millones.
Hola, Richard,

Muchas gracias por los datos y por explicar la dificultad. 97 de 99 es un resultado impresionante. Es totalmente comprensible que las dos restantes requieran una búsqueda mucho más profunda. Con esto queda muy claro que la conjetura es sólida en todos los rangos accesibles. No hace falta que te mates con la máquina; con lo que ya tienes es más que suficiente.

Un saludo,
Jose Omar

23 Marzo, 2026, 11:31 am
Respuesta #24

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

Aquí tienes el enlace:
https://zenodo.org/records/19103203

Sigo sin verlo bien. Aunque encuentres sucesiones que cumplan la conjetura 1 no veo porque obligatoriamente los cocientes que planteas en 3.4 para calcular \( A \) y \( B \) habrían de ser enteros.

Por ejemplo si no me equivoco para \( d=5 \), \( r=6 \) y sucesiones \( a=\{11, 10, 8, 5, 4, 2\} \), \( b=\{11, 10, 7,4,1,0\} \), cumplen la conjetura pero los cocientes propuestos no son enteros.

Saludos.

23 Marzo, 2026, 06:17 pm
Respuesta #25

JoseOmar

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 18
  • País: cu
  • Karma: +0/-0
Hola

Aquí tienes el enlace:
https://zenodo.org/records/19103203

Sigo sin verlo bien. Aunque encuentres sucesiones que cumplan la conjetura 1 no veo porque obligatoriamente los cocientes que planteas en 3.4 para calcular \( A \) y \( B \) habrían de ser enteros.

Por ejemplo si no me equivoco para \( d=5 \), \( r=6 \) y sucesiones \( a=\{11, 10, 8, 5, 4, 2\} \), \( b=\{11, 10, 7,4,1,0\} \), cumplen la conjetura pero los cocientes propuestos no son enteros.

Saludos.
Hola, Luis:

Muchas gracias por tu análisis y por el contraejemplo concreto. Has dado en el clavo: la condición \(T - S = d\cdot 3^r\) no es suficiente; se necesita además que \(S \equiv 2^{2r} \pmod{3^r}\) (y análogamente \(T\)) para que los números \(A = \frac{2^{2r} - S}{3^r}\) y \(B = \frac{2^{2r} - T}{3^r}\) sean enteros.

En mi programa, cuando generaba los pares gemelos, solo registraba aquellos casos en los que \(A\) y \(B\) resultaban enteros positivos. Por eso, aunque no había explicitado la condición de congruencia, los ejemplos que obtuve (como \(d=1\), \(r=22\)) la cumplen automáticamente, ya que \(2^{44} - S = 502\cdot 3^{22}\). En cambio, tus secuencias con \(d=5\), \(r=6\) cumplen la igualdad de diferencias pero no la congruencia, por lo que no producen enteros. Esto demuestra que la condición adicional es necesaria y mis datos ya la reflejaban implícitamente.

Agradezco mucho tu ayuda; esta corrección es fundamental para que la conjetura tenga sentido.

Un saludo,
Jose Omar