-4

In the Collatz Conjecture, if the odd multiplier is changed from three to five, what is the outcome for a starting value of seven? Does the Collatz sequence converge to one or diverge? (Reference link: Collatz Data/Proof of Collatz Conjecture)

We know that division by 2 or by 4 occurs 75% of all possible divisions in the Collatz process according to the Law of Large Numbers ... That leaves at most 25% of all possible divisions by 2^k > 4. That fact explains the divergent tendency of the Collatz sequence starting at 7 with an odd multiplier equal to 5. However, there is an extremely unlikely possibility that the Collatz sequence could converge to one if 5n + 1 = 2^k for an extreme value of n.

I strongly believe this problem is undecidable!

Mathematica 11 Code for Collatz Processing: f[l_]:=( n = l;i=0; Print[n]; While[n>1,n = 5n +1; x = n; While[ EvenQ[x],x = x/2]; n=x; Print[n]; i = i + 1; ]; Return[i] );

f[7] = ? (Undecidable)

{7, 9, 23 , 29, 73, 183, 229, 573, 1433, 3583, 4479, 5599, 6999, 8749, 21873, 54683, 34177, 85443, 26701, 66753, 166883, 52151, 65189, 162973, 407433, 1018583, 1273229, 3183073, 7957683, 310847, 388559, 485699, 151781, 379453, 948633, 2371583, 2964479, 3705599, 4631999, 5789999, 7237499, 4523437, 11308593, 28271483, 17669677, 44174193, 110435483, 69022177, 172555443, 6740447, 8425559, 10531949, 26329873, 65824683, 41140427, 25712767, 32140959, 40176199, 50220249, 125550623, 156938279, 196172849, 490432123, 306520077, …}

The 2280th odd integer > 10^200.

Dave
  • 251
  • 6
    Start here: http://math.stackexchange.com/questions/14569/the-5n1-problem – B. Goddard Oct 14 '16 at 17:03
  • What is seven 1? Do you mean $71$? – Thomas Andrews Oct 14 '16 at 17:04
  • Thomas, thanks for the feedback! I made a correction on that unclear link. And the starting value is the number, seven. – Dave Oct 14 '16 at 19:52
  • @Dave What have you tried to solve this problem? – Carl Schildkraut Oct 14 '16 at 20:04
  • @Carl Yes sir! But, the outcome is either infinity or one. The outcome of one can occur if 5n+1 = 2^k for some positive integer, k. However, I think the outcome is undecidable. – Dave Oct 14 '16 at 20:14
  • It runs 2030924 iterations, reaching a maximum number of 45035898533674116, before eventually cycling back to 7. It never reaches 1. – Dustan Levenstein Oct 14 '16 at 20:21
  • @DustanLevenstein Where did you find this result? – Carl Schildkraut Oct 14 '16 at 20:24
  • @Dustan, Hmm. We have different results. – Dave Oct 14 '16 at 20:33
  • @CarlSchildkraut My own script. Added answer accordingly. – Dustan Levenstein Oct 14 '16 at 20:54
  • Why the downvotes? – Noah Schweber Oct 14 '16 at 21:26
  • 1
    @NoahSchweber I think the downvotes were justified before the OP posted his own work on the problem. – Dustan Levenstein Oct 14 '16 at 22:43
  • In http://math.stackexchange.com/questions/463785/is-collatz-conjecture-the-only-stable-solution-of-its-type/717376#717376 I've shown pictures for iterations 5x+1 and how they diverge. The last picture gives 2048 iterations for starting values 205,215,225,235,... The number 7 lies on the trajectory with starting value x0=225, so is in this picture on one of the lines. All numbers except that few ones, which fall into a cycle (and very early!) have higher values for their log_5() evaluation (and thus *many* more digits) than your given number. – Gottfried Helms Oct 16 '16 at 08:11
  • How comes that "the problem is *undecidable" ? What is only discussed is that there is some numerical overflow, or that the solution was not reached after a certain (short) arithmetical approach. No arguments whatsoever have been pondered with respect to a "undecidability" - which is a property qualitatively* different from merely missing a result after 50 iterations... – Gottfried Helms Oct 20 '16 at 04:56

1 Answers1

3

This answer is incorrect! So instead of an answer, here is a case study in how someone can make a mistake when doing integer arithmetic in Python, in spite of the fact that Python has arbitrary size integers. The corrected version of this code should have "n = n//2" in place of "n = int(n/2)" - the reason for this is n/2 returns a floating point number, which ends up being an approximation when n is large.

It runs 2030924 iterations, reaching a maximum number of 45035898533674116, before eventually cycling back to 7. It never reaches 1. Witness:


Python 3.5.1+ (default, Mar 30 2016, 22:46:26) 
[GCC 5.3.1 20160330] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def collatz_test(start, maxi):
...     n = start
...     s = set()
...     while (n != 1) and (n < maxi) and (n not in s):
...             s.add(n)
...             if (n%2) == 0:
...                     n = int(n/2)
...             else:
...                     n = 5*n+1
...     return (n, s)
... 
>>> (n, s) = collatz_test(7, 1000000000000000000000000000000)
>>> len(s)
2030924
>>> max(s)
45035898533674116
>>> 
  • 2
    I don't think this is correct. When the number $n$ gets big, n/2 is written in scientific notation in Python, and taking int(n/2) doesn't work properly. You have to use n//2. I'm currently running a program, and after 250000 iterations it's already hit numbers with more than 8000 digits. – Carl Schildkraut Oct 14 '16 at 21:03
  • 1
    @CarlSchildkraut Oh, I see. That's subtle. :) – Dustan Levenstein Oct 14 '16 at 21:04
  • I've run this routine using Pari/GP and arbitrary-precision integer arithmetic up to $1,990,100$ odd and $3,981,006$ even steps getting $\log_{10}(n) \approx 192,618.86$ meaning $\max (n)$ has more or equal to $192,619$ decimal digits – Gottfried Helms May 05 '17 at 21:50