From: Eleaticus on
Statement of the problem

Consider the following operation on an arbitrary positive [[integer]]:

* If the number is even, divide it by two.
* If the number is odd, triple it and add one.

In [[modular arithmetic]] notation, define the [[function
(mathematics)|function]] ''f'' as follows:

: <math> f(n) = \begin{cases} \frac{n}{2} &\mbox{if } n \equiv 0 \pmod
{2}\\ 3n+1 & \mbox{if } n\equiv 1 \pmod{2} \end{cases} </math>

[[Image:Totalstoppingtime.png|thumb|300px|left|Numbers from 2 to 9999
and their corresponding total stopping time.]]

Now, form a sequence by performing this operation repeatedly,
beginning with any positive integer, and taking the result at each
step as the input at the next.

In notation:

: <math> a_i = \begin{cases}n & \mbox{for } i = 0 \\ f(a_{i-1}) & \mbox
{for } i > 0. \end{cases}</math>

or

:<math>
{a_{i}} = \frac{1}{2}{a_{i-1}} - \frac{1}{4}(5a_{i-1}+2)((-1)^{a_
{i-1}}-1)
</math>

The Collatz conjecture is: ''This process will eventually reach the
number 1, regardless of which positive integer is chosen initially.''

That smallest ''i'' such that the above holds is called the '''total
stopping time''' of ''n''. The conjecture asserts that every ''n''
has a well-defined stopping time. If, for some ''n'', such an ''i''
doesn't exist, we say that ''n'' has infinite total stopping time and
the conjecture is false.

If the conjecture is false, it can only be because there is some
starting number which gives rise to a sequence which does not contain
1. Such a sequence might enter a repeating cycle that excludes 1, or
increase without bound. No such sequence has been found.

Examples

For instance, starting with ''n'' = 6, one gets the sequence 6, 3, 10,
5, 16, 8, 4, 2, 1.

Starting with ''n'' = 11, the sequence takes longer to reach 1: 11,
34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.

If the starting value ''n'' = 27 is chosen, the sequence, listed and
graphed below, takes 111 steps, climbing to over 9,000 before
descending to 1.

:{ 27, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 322, 161, 484,
242, 121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233,
700, 350, 175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336,
668, 334, 167, 502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276,
638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429,
7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, '''9232''',
4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244,
122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16,
8, 4, 2, 1 }

[[Image:Collatz5.svg|500px|center]]

The number less than 100 million with the longest total stopping time
is 63,728,127, with 949 steps.

The number less than 1 billion with the longest total stopping time is
670,617,279, with 986 steps.

Starting values, ''n'', with longer stopping time than any smaller
''n'' (high water marks) are given by sequence {{OEIS2C|A006877}} in
[[On-Line Encyclopedia of Integer Sequences|OEIS]], and the number of
steps for each ''n'' are given by {{OEIS2C|A006878}}.

Program to calculate Collatz sequences

A specific Collatz sequence can be easily computed, as is shown by
this [[pseudocode]] example:

'''function''' collatz(n)
'''show''' n
'''if''' n > 1
'''if''' n is odd
'''call''' collatz(3n + 1)
'''else'''
'''call''' collatz(n / 2)

This program halts when the sequence reaches 1, in order to avoid
printing an endless cycle of 4, 2, 1. If the Collatz conjecture is
true, the program will always halt no matter what positive starting
integer is given to it. (See [[Halting problem#Can humans solve the
halting problem?|Halting Problem]] for a discussion of the
relationship between open-ended computer programs and unsolved
mathematics problems.)

Supporting arguments

Although the conjecture has not been proven, most mathematicians who
have looked into the problem think the conjecture is true because
experimental evidence and heuristic arguments support it.

Experimental evidence

The conjecture has been checked by computer for all starting values up
to
20 &times; 2<sup>58</sup>&nbsp;≈&nbsp;5.764{{e|18}}.<ref>http://
www.ieeta.pt/~tos/3x+1.html</ref>
While impressive, such computer evidence should be interpreted
cautiously. More than one important conjecture has been found false,
but only with very large counterexamples. (See for example the [[Pólya
conjecture]], the [[Mertens conjecture]] and the [[Skewes' number]].)

All initial values tested so far eventually end in the repeating cycle
{4,2,1}, which has only three terms. It is also known that {4,2,1} is
the only repeating cycle possible with fewer than 35400 terms.

A probabilistic heuristic

If one considers only the ''odd'' numbers in the sequence generated by
the Collatz process, then each odd number is on average 3/4 of the
previous one.<ref>[http://www.cecm.sfu.ca/organics/papers/lagarias/
paper/html/node3.html#SECTION00021000000000000000 A heuristic
argument<!-- Bot generated title -->]</ref> (More precisely, the
geometric mean of the ratios of outcomes is 3/4.) This yields a
heuristic argument that every Collatz sequence should decrease in the
long run, although this is not evidence against other cycles, only
against divergence. The argument is not a proof because it pretends
that Collatz sequences are assembled from uncorrelated probabilistic
events. (It does rigorously establish that the 2-adic extension of
the Collatz process has 2 division steps for every multiplication step
for almost all 2-adic starting values.)

Other formulations of the conjecture

In reverse

There is another approach to prove the conjecture, which considers the
bottom-up
method of growing the so called ''Collatz graph''. The ''Collatz
graph'' is a [[graph (mathematics)|graph]] defined by the inverse
[[relation (mathematics)|relation]]

<math> R(n) = \begin{cases} 2n & \mbox{if } n\equiv 0,1,2,3,5 \\ 2n,
(n-1)/3 & \mbox{if } n\equiv 4 \end{cases} \pmod{6}. </math>

So, instead of proving that all natural numbers eventually lead to 1,
we can prove that 1 leads to all natural numbers. For any integer
''n'', ''n'' ≡ 1 (mod 2) [[iff]] 3''n'' + 1 ≡ 4 (mod 6). Equivalently,
(''n'' − 1)/3 ≡ 1 (mod 2) iff ''n'' ≡ 4 (mod 6). Also, the inverse
relation forms a tree except for the 1-2-4 loop (the inverse of the
1-4-2 loop of the unaltered function ''f'' defined in the statement of
the problem above). When the relation 3''n'' + 1 of the function ''f''
is replaced by the common substitute "shortcut" relation (3''n'' + 1)/
2, the Collatz graph is defined by the inverse relation,

<math> R(n) = \begin{cases} 2n & \mbox{if } n\equiv 0,1 \\ 2n, (2n-1)/
3 & \mbox{if } n\equiv 2 \end{cases} \pmod{3}. </math>

Conjecturally, this inverse relation forms a tree except for a 1-2
loop (the inverse of the 1-2 loop of the function ''f''(''n'') revised
as indicated above).

As rational numbers

The natural numbers can be converted to rational numbers in a certain
way. To get the rational version, find the highest power of two less
than or equal to the number, use it as the denominator, and subtract
it from the original number for the numerator (527 → 15/512). To get
the natural version, add the numerator and denominator (255/256 →
511).

The Collatz conjecture then says that the numerator will eventually
equal zero. The Collatz function changes to:

: <math> f(n, d) = \begin{cases} (3n + d + 1)/2d & \mbox{if } 3n + d
+ 1 < 2d \\
(3n - d + 1)/4d & \mbox{if } 3n + d + 1 \ge 2d \end{cases} </math>
(''n'' = numerator; ''d'' = denominator).

This works because 3''x'' + 1 = 3(''d'' + ''n'') + 1 = (2''d'') +
(3''n'' + ''d'' + 1) = (4''d'') + (3''n'' - ''d'' + 1). Reducing a
rational before every operation is required to get ''x'' as an odd.

As an abstract machine that computes in base two

Repeated applications of the Collatz function can be represented as an
[[abstract machine]] that handles [[string (computer science)|string]]
s of [[bit]]s. The machine will perform the following two steps on
any odd number until only one "1" remains:

# Add the original with a "1" appended to the end to the original in
binary, i.e. 3''n''+1 = (2''n''+1) + ''n''.
# Remove all trailing "0"s.

This prescription is plainly equivalent to computing a Collatz
sequence in base two.

Example

The starting number 7 is written in base two as 111. The resulting
Collatz sequence is:
111
<u>1111</u>
1011<strike>0</strike>
<u>10111</u>
10001<strike>0</strike>
<u>100011</u>
1101<strike>00</strike>
<u>11011</u>
101<strike>000</strike>
<u>1011</u>
1<strike>0000</strike>

As a parity sequence

For this section, consider the Collatz function in the slightly
modified form

: <math> f(n) = \begin{cases} \frac{n}{2} &\mbox{if } n \equiv 0 \\
(3n +1)/2 & \mbox{if } n \equiv 1. \end{cases} \pmod{2}</math>

This can be done because when ''n'' is odd, 3''n'' + 1 is always even.

If P(…) is the parity of a number, that is P(2''n'') = 0 and P(2''n''
+ 1) = 1, then we can define the Collatz parity sequence for a number
''n'' as ''p<sub>i</sub>'' = P(''a<sub>i</sub>''), where ''a''<sub>0</
sub> = ''n'', and ''a''<sub>''i''+1</sub> = ''f''(''a''<sub>''i''</
sub>).

Using this form for ''f''(''n''), it can be shown that the parity
sequences for two numbers ''m'' and ''n'' will agree in the first
''k'' terms if and only if ''m'' and ''n'' are equivalent modulo
2<sup>''k''</sup>. This implies that every number is uniquely
identified by its parity sequence, and moreover that if there are
multiple Collatz cycles, then their corresponding parity cycles must
be different.

The proof is simple: it is easy to verify by hand that applying the
''f'' function ''k'' times to the number ''a'' 2<sup>''k''</sup>+''b''
will give the result ''a'' 3<sup>''c''</sup>+''d'', where ''d'' is the
result of applying the ''f'' function ''k'' times to ''b'', and ''c''
is how many odd numbers were encountered during that sequence. So the
parity of the first ''k'' numbers is determined purely by ''b'', and
the parity of the (''k''+1)th number will change if the least
significant bit of ''a'' is changed.

The Collatz Conjecture can be rephrased as stating that the Collatz
parity sequence for every number eventually enters the cycle 0 → 1 →
0.

As a tag system

For the Collatz function in the form

: <math> f(n) = \begin{cases} n/2 &\mbox{if } n \equiv 0 \\ (3n +1)/2
& \mbox{if } n \equiv 1. \end{cases} \pmod{2}</math>

Collatz sequences can be computed by the extremely simple
[[Tag system#Example: Computation of Collatz sequences|2-tag system]]
with production rules
''a'' → ''bc'', ''b'' → ''a'', ''c'' → ''aaa''. In this system, the
positive integer ''n'' is represented by a string of ''n'' ''a'''s,
and iteration of the tag operation halts on any word of length less
than 2. (Adapted from De Mol.)

The Collatz conjecture equivalently states that this tag system, with
an arbitrary finite string of ''a'''s as the initial word, eventually
halts. See the linked article for a worked example.

Extensions to larger domains
Iterating on all integers

An obvious extension is to include negative as well as positive
integers. This is equivalent to the (3''n''−1) problem on positive
integers.

Interestingly, there are in this case a total of 5 known cycles, which
all integers seem to eventually fall into under iteration of f. These
cycles are listed here, starting with the well-known cycle for
positive n.

To save steps, we list only the odd numbers of each cycle (except for
the trivial cycle {0}). Each odd number n, when f is applied
repeatedly, will next reach an odd number at (3n+1) / (the [[2-order|
largest power of 2 that divides]] 3n+1); each cycle is listed with its
member of least absolute value first. We follow each cycle with its
full length in parentheses, full meaning that the even terms are
counted as well.

<ol style="list-style-type:lower-latin">
<li>1 → 1 (length 3)</li>
<li>0 → 0 (length 1)</li>
<li>−1 → −1 (length 2)</li>
<li>−5 → −7 → −5 (length 5)</li>
<li>−17 → −25 → −37 → −55 → −41 → −61 → −91 → −17 (length 18)</li>
</ol>

The Generalized Collatz Conjecture is the assertion that every
integer, under iteration by f, eventually falls into one of these five
cycles.

Iterating with odd denominators or 2-adic integers
The standard Collatz map can be extended to (positive or negative)
rational numbers which have odd denominators when written in lowest
terms. The number is taken to be odd or even according to whether its
numerator is odd or even. A closely related fact is that the Collatz
map extends to the ring of [[2-adic integers]], which contains the
ring of rationals with odd denominators as a subring.

The parity sequences as defined above are no longer unique for
fractions. However, it can be shown that any possible parity cycle is
the parity sequence for exactly one fraction: if a cycle has length
''n'' and includes odd numbers exactly ''m'' times at indices
''k''<sub>0</sub>, …, ''k''<sub>''m''−1</sub>, then the unique
fraction which generates that parity cycle is

:<math>\frac{3^{m-1} 2^{k_0} + ... + 3^0 2^{k_{m-1}}}{2^n - 3^m}</
math>.

For example, the parity cycle (1 0 1 1 0 0 1) has length 7 and has 4
odd numbers at indices 0, 2, 3, and 6. The unique fraction which
generates that parity cycle is

:<math>\frac{3^3 2^0 + 3^2 2^2 + 3^1 2^3 + 3^0 2^6}{2^7 - 3^4} = \frac
{151}{47}</math>.

The complete cycle being: 151/47 → 250/47 → 125/47 → 211/47 → 340/47 →
170/47 → 85/47 → 151/47

Although the cyclic permutations of the original parity sequence are
unique fractions, the cycle is not unique, each permutation's fraction
being the next number in the loop cycle:

:(0 1 1 0 0 1 1) → <math>\frac{3^3 2^1 + 3^2 2^2 + 3^1 2^5 + 3^0 2^6}
{2^7 - 3^4} = \frac{250}{47}</math>
<br />
:(1 1 0 0 1 1 0) → <math>\frac{3^3 2^0 + 3^2 2^1 + 3^1 2^4 + 3^0 2^5}
{2^7 - 3^4} = \frac{{125}}{47}</math>
<br />
:(1 0 0 1 1 0 1) → <math>\frac{3^3 2^0 + 3^2 2^3 + 3^1 2^4 + 3^0 2^6}
{2^7 - 3^4} = \frac{211}{47}</math>
<br />
:(0 0 1 1 0 1 1) → <math>\frac{3^3 2^2 + 3^2 2^3 + 3^1 2^5 + 3^0 2^6}
{2^7 - 3^4} = \frac{340}{47}</math>
<br />
:(0 1 1 0 1 1 0) → <math>\frac{3^3 2^1 + 3^2 2^2 + 3^1 2^4 + 3^0 2^5}
{2^7 - 3^4} = \frac{170}{47}</math>
<br />
:(1 1 0 1 1 0 0) → <math>\frac{3^3 2^0 + 3^2 2^1 + 3^1 2^3 + 3^0 2^4}
{2^7 - 3^4} = \frac{85}{47}</math>

Also, for uniqueness, the parity sequence should be "prime", i.e., not
partitionable into identical sub-sequences. For example, parity
sequence (1 1 0 0 1 1 0 0) can be partitioned into two identical sub-
sequences (1 1 0 0)(1 1 0 0). Calculating the 8-element sequence
fraction gives
:(1 1 0 0 1 1 0 0) → <math>\frac{3^3 2^0 + 3^2 2^1 + 3^1 2^4 + 3^0 2^5}
{2^8 - 3^4} = \frac{125}{175}</math>
But when reduced to lowest terms {5/7}, it is the same as that of the
4-element sub-sequence
:(1 1 0 0) → <math>\frac{3^1 2^0 + 3^0 2^1}{2^4 - 3^2} = \frac{5}{7}</
math>
And this is because the 8-element parity sequence actually represents
two circuits of the loop cycle defined by the 4-element parity
sequence.

In this context, the Collatz conjecture is equivalent to saying that
(0 1) is the only cycle which is generated by positive whole numbers
(i.e. 1 and 2).

Iterating on real or complex numbers
[[Image:CobwebCollatz2.PNG|right|thumb|300px|[[Cobweb plot]] of the
orbit 10-5-8-4-2-1-2-1-2-1-etc. in the real extension of the Collatz
map (optimized by replacing "3''n'' + 1" with "(3''n'' + 1)/2" )]]
The Collatz map can be viewed as the restriction to the integers of
the smooth real and complex map

:<math>f(z)=\frac 1 2 z \cos^2\left(\frac \pi 2 z\right)+(3z
+1)\sin^2\left(\frac \pi 2 z\right)</math>,

which simplifies to <math>\frac{1}{4}(2 + 7z - (2 + 5z)\cos(\pi z))</
math>.

If the standard Collatz map defined above is optimized by replacing
the relation 3''n'' + 1 with the common substitute "shortcut" relation
(3''n'' + 1)/2, it can be viewed as the restriction to the integers of
the smooth real and complex map

:<math>f(z)=\frac 1 2 z \cos^2\left(\frac \pi 2 z\right)+\frac 1 2 (3z
+1)\sin^2\left(\frac \pi 2 z\right)</math>,

which simplifies to <math>\frac{1}{4}(1 + 4z - (1 + 2z)\cos(\pi z))</
math>.

[[Iterated function|Iterating]] the above optimized map in the complex
plane produces the Collatz [[fractal]].
<div style="clear:both;"></div>
[[Image:CollatzFractal.png|thumb|center|500px|Collatz map [[fractal]]
in a neighbourhood of the real line]]

Optimizations

The "parity" section above gives a way to speed up simulation of the
sequence. To jump ahead ''k'' steps on each iteration (using the
''f'' function from that section), break up the current number into
two parts, ''b'' (the ''k'' least significant bits, interpreted as an
integer), and ''a'' (the rest of the bits as an integer). The result
of jumping ahead ''k'' steps can be found as:

:''f'' <sup>''k''+''c''[b]</sup>(''a'' 2<sup>''k''</sup>+''b'') =
''a'' 3<sup>''c''[b]</sup>+''d''[b].

The ''c'' and ''d'' arrays are precalculated for all possible ''k''-
bit numbers ''b'', where ''d'' [b] is the result of applying the ''f''
function ''k'' times to ''b'', and ''c'' [b] is the number of odd
numbers encountered on the way. For example, if k=5, you can jump
ahead 5 steps on each iteration by separating out the 5 least
significant bits of a number and using:

: ''c'' [0...31] =
{0,3,2,2,2,2,2,4,1,4,1,3,2,2,3,4,1,2,3,3,1,1,3,3,2,3,2,4,3,3,4,5}
: ''d'' [0...31] =
{0,2,1,1,2,2,2,20,1,26,1,10,4,4,13,40,2,5,17,17,2,2,20,20,8,22,8,71,26,26,80,242}.

For the special purpose of searching for a counterexample to the
Collatz conjecture, this precomputation leads to an even more
important acceleration which is due to [[Tomás Oliveira e Silva]] and
is used in the record confirmation of the Collatz conjecture. If, for
some given ''b'' and ''k'', the inequality

:''f'' <sup>''k''+''c''[b]</sup>(''a'' 2<sup>''k''</sup>+''b'') =
''a'' 3<sup>''c''[b]</sup>+''d''[b] &lt; ''a'' 2<sup>''k''</sup>+''b''

holds for all ''a'', then the first counterexample, if it exists,
cannot be ''b'' modulo 2<sup>''k''</sup>. For instance, the first
counterexample must be odd because ''f''(2''n'') = ''n''; and it must
be 3 mod 4 because ''f''<sup>3</sup>(4''n''+1) = 3''n''+1. For each
starting value ''a'' which is not a counterexample to the Collatz
conjecture, there is a ''k'' for which such an inequality holds, so
checking the Collatz conjecture for one starting value is as good as
checking an entire congruence class. As ''k'' increases, the search
only needs to check those residues ''b'' that are not eliminated by
lower values of ''k''. On the order of 3<sup>''k''/2</sup> residues
survive. For example, the only surviving residues mod 32 are 7, 15,
27, and 31; only 573162 residues survive mod 2<sup>25</sup> =
33554432.

Syracuse function
If ''k'' is an odd integer, then 3''k'' + 1 is even, so we can write
3''k'' + 1 = 2<sup>a</sup>''k''&prime;, with ''k''' odd and a ≥ 1.
We define a function ''f'' from the set <math>I</math> of odd integers
into itself, called the ''Syracuse Function,'' by
taking&nbsp;''f''&nbsp;(''k'')&nbsp;=&nbsp;''k''&prime; {{OEIS|
id=A075677}}.

Some properties of the Syracuse function are:
* ''f'' (4''k'' + 1) = ''f'' (''k'') for all ''k'' in <math>I</math>.
* For all ''p ≥ 2'' and ''h'' odd, ''f'' <sup>''p'' − 1</sup>(2
<sup>''p''</sup> ''h'' − 1) = 2 3 <sup>''p'' − 1</sup>''h'' − 1 (see
[[function composition#Functional powers|here]] for the notation).
* For all odd ''h'', ''f'' (2''h'' − 1) ≤ (3''h'' − 1)/2

The Syracuse Conjecture is that for all ''k'' in <math>I</math>, there
exists an integer ''n'' ≥ 1 such that ''f'' <sup>''n''</sup>(''k'') =
1. Equivalently, let ''E'' be the set of odd integers ''k'' for which
there exists an integer ''n'' ≥ 1 such that ''f'' <sup>''n''</sup>
(''k'') = 1. The problem is to show that ''E'' = <math>I</math>. The
following is the beginning of an attempt at a proof by induction:

1, 3, 5, 7, and 9 are known to exist in ''E''. Let ''k'' be an odd
integer greater than 9. Suppose that the odd numbers up to and
including ''k'' − 2 are in ''E'' and let us try to prove that ''k'' is
in ''E''. As ''k'' is odd, ''k'' + 1 is even, so we can write ''k'' +
1 = 2<sup>''p''</sup>''h'' for ''p'' ≥ 1, ''h'' odd, and ''k'' =
2<sup>''p''</sup>''h''−1. Now we have:
* If ''p'' = 1, then ''k'' = 2''h'' − 1. It is easy to check that
''f'' (''k'') < ''k '', so ''f'' (''k'') ∈ ''E''; hence ''k'' ∈
''E''.
* If ''p'' ≥ 2 and ''h'' is a multiple of 3, we can write ''h'' =
3''h&prime;''. Let ''k&prime;'' = 2<sup>''p'' + 1</sup>''h&prime;'' −
1; we have ''f'' (''k&prime;'') = ''k'' , and as ''k&prime;'' <
''k'' , ''k&prime;'' is in ''E''; therefore ''k'' =
''f'' (''k&prime;'') ∈ ''E''.
* If ''p'' ≥ 2 and ''h'' is not a multiple of 3 but ''h'' ≡ (−1)
<sup>''p''</sup> mod 4, we can still show that ''k'' ∈ ''E''.

The problematic case is that where ''p'' ≥ 2 , ''h'' not multiple of
3 and ''h'' ≡ (−1)<sup>''p+1''</sup> mod 4. Here, if we manage to
show that for every odd integer ''k''&prime;, 1 ≤ ''k''&prime; ≤
''k''−2 ; 3''k''&prime; ∈ ''E'' we are done.

||||||||||||||||||||||| ©2009 MeAmI ||||||||||||||||||
|||||||| http://MeAmI.org |||||||||||||||||||||||
||||||||||||||||||'Search for the People!'|||||

m u s a t o v
 | 
Pages: 1
Prev: hyper4 tetration
Next: turing machine question