Template:Short description Template:Pp Template:Unsolved
The Collatz conjectureTemplate:Efn is one of the most famous unsolved problems in mathematics. The conjecture asks whether repeating two simple arithmetic operations will eventually transform every positive integer into 1. It concerns sequences of integers in which each term is obtained from the previous term as follows: if a term is even, the next term is one half of it. If a term is odd, the next term is 3 times the previous term plus 1. The conjecture is that these sequences always reach 1, no matter which positive integer is chosen to start the sequence. The conjecture has been shown to hold for all positive integers up to Template:Val, but no general proof has been found.
It is named after the mathematician Lothar Collatz, who introduced the idea in 1937, two years after receiving his doctorate.<ref>Template:Mactutor</ref> The sequence of numbers involved is sometimes referred to as the hailstone sequence, hailstone numbers or hailstone numerals (because the values are usually subject to multiple descents and ascents like hailstones in a cloud),<ref>Template:Cite book</ref> or as wondrous numbers.<ref>Template:Cite book</ref>
Paul Erdős said about the Collatz conjecture: "Mathematics may not be ready for such problems."<ref name="Guy (2004)"/> Jeffrey Lagarias stated in 2010 that the Collatz conjecture "is an extraordinarily difficult problem, completely out of reach of present day mathematics".<ref name="Lagarias (2010)"/> However, though the Collatz conjecture itself remains open, efforts to solve the problem have led to new techniques and many partial results.<ref name="Lagarias (2010)"/><ref name="Tao">Template:Cite journal</ref>
Statement of the problemEdit
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 Template:Mvar as follows: <math display="block"> f(n) = \begin{cases} n/2 &\text{if } n \equiv 0 \pmod{2},\\
3n+1 & \text{if } n\equiv 1 \pmod{2} .\end{cases}</math>
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 display="block"> a_i = \begin{cases}n & \text{for } i = 0, \\ f(a_{i-1}) & \text{for } i > 0 \end{cases}</math> (that is: Template:Math is the value of Template:Mvar applied to Template:Mvar recursively Template:Mvar times; Template:Math).
The Collatz conjecture is: This process will eventually reach the number 1, regardless of which positive integer is chosen initially. That is, for each <math>n</math>, there is some <math>i</math> with <math>a_i = 1</math>.
If the conjecture is false, it can only be because there is some starting number which gives rise to a sequence that does not contain 1. Such a sequence would either enter a repeating cycle that excludes 1, or increase without bound. No such sequence has been found.
The smallest Template:Mvar such that Template:Math is called the stopping time of Template:Mvar. Similarly, the smallest Template:Mvar such that Template:Math is called the total stopping time of Template:Mvar.<ref name="Lagarias (1985)"/> If one of the indexes Template:Mvar or Template:Mvar doesn't exist, we say that the stopping time or the total stopping time, respectively, is infinite.
The Collatz conjecture asserts that the total stopping time of every Template:Mvar is finite. It is also equivalent to saying that every Template:Math has a finite stopping time.
Since Template:Math is even whenever Template:Mvar is odd, one may instead use the "shortcut" form of the Collatz function: <math display = "block"> f(n) = \begin{cases} \frac{n}{2} &\text{if } n \equiv 0 \pmod{2},\\ \frac{3n+1}{2} & \text{if } n\equiv 1 \pmod{2}. \end{cases}</math> This definition yields smaller values for the stopping time and total stopping time without changing the overall dynamics of the process.
Empirical dataEdit
For instance, starting with Template:Math and applying the function Template:Math without "shortcut", one gets the sequence Template:CSG.
The number Template:Math takes longer to reach 1: Template:CSG.
The sequence for Template:Math, listed and graphed below, takes 111 steps (41 steps through odd numbers, in bold), climbing as high as 9232 before descending to 1.
- Template:CSG(sequence A008884 in the OEIS)
Numbers with a total stopping time longer than that of any smaller starting value form a sequence beginning with:
- 1, 2, 3, 6, 7, 9, 18, 25, 27, 54, 73, 97, 129, 171, 231, 313, 327, 649, 703, 871, 1161, 2223, 2463, 2919, 3711, 6171, ... (sequence A006877 in the OEIS).
The starting values whose maximum trajectory point is greater than that of any smaller starting value are as follows:
- 1, 2, 3, 7, 15, 27, 255, 447, 639, 703, 1819, 4255, 4591, 9663, 20895, 26623, 31911, 60975, 77671, 113383, 138367, 159487, 270271, 665215, 704511, ... (sequence A006884 in the OEIS)
Number of steps for Template:Mvar to reach 1 are
- 0, 1, 7, 2, 5, 8, 16, 3, 19, 6, 14, 9, 9, 17, 17, 4, 12, 20, 20, 7, 7, 15, 15, 10, 23, 10, 111, 18, 18, 18, 106, 5, 26, 13, 13, 21, 21, 21, 34, 8, 109, 8, 29, 16, 16, 16, 104, 11, 24, 24, ... (sequence A006577 in the OEIS)
The starting value having the largest total stopping time while being
- less than 10 is 9, which has 19 steps,
- less than 100 is 97, which has 118 steps,
- less than 1000 is 871, which has 178 steps,
- less than 104 is 6171, which has 261 steps,
- less than 105 is Template:Val, which has 350 steps,
- less than 106 is Template:Val, which has 524 steps,
- less than 107 is Template:Val, which has 685 steps,
- less than 108 is Template:Val, which has 949 steps,
- less than 109 is Template:Val, which has 986 steps,
- less than 1010 is Template:Val, which has 1132 steps,<ref>Template:Cite journal</ref>
- less than 1011 is Template:Val, which has 1228 steps,
- less than 1012 is Template:Val, which has 1348 steps.<ref name=Roosendaal>{{#invoke:citation/CS1|citation
|CitationClass=web }} (Note: "Delay records" are total stopping time records.)</ref> (sequence A284668 in the OEIS)
These numbers are the lowest ones with the indicated step count, but not necessarily the only ones below the given limit. As an example, Template:Val has 1132 steps, as does Template:Val.
The starting values having the smallest total stopping time with respect to their number of digits (in base 2) are the powers of two, since Template:Math is halved Template:Mvar times to reach 1, and it is never increased.
VisualizationsEdit
- Collatz orbits of the all integers up to 1000.svg
Directed graph showing the orbits of the first 1000 numbers.
- CollatzConjectureGraphMaxValues.jpg
The Template:Mvar axis represents starting number, the Template:Mvar axis represents the highest number reached during the chain to 1. This plot shows a restricted Template:Mvar axis: some Template:Mvar values produce intermediates as high as Template:Val (for Template:Math)
- Collatz-max.png
The same plot as the previous one but on log scale, so all Template:Mvar values are shown. The first thick line towards the middle of the plot corresponds to the tip at 27, which reaches a maximum at 9232.
- All Collatz sequences of a length inferior to 20.svg
The tree of all the numbers having fewer than 20 steps.
- Collatz Conjecture 100M.jpg
The number of iterations it takes to get to one for the first 100 million numbers.
- Collatz conjecture tree visualization.png
Collatz conjecture paths for 5000 random starting points below 1 million.
Supporting argumentsEdit
Although the conjecture has not been proven, most mathematiciansTemplate:Citation needed who have looked into the problem think the conjecture is true because experimental evidence and heuristic arguments support it.
Experimental evidenceEdit
The conjecture has been checked by computer for all starting values up to 271 ≈ Template:Val. All values tested so far converge to 1.<ref name=Barina>Template:Cite journal</ref>
This computer evidence is still not rigorous proof that the conjecture is true for all starting values, as counterexamples may be found when considering very large (or possibly immense) positive integers, as in the case of the disproven Pólya conjecture and Mertens conjecture.
However, such verifications may have other implications. Certain constraints on any non-trivial cycle, such as lower bounds on the length of the cycle, can be proven based on the value of the lowest term in the cycle. Therefore, computer searches to rule out cycles that have a small lowest term can strengthen these constraints.<ref name="Garner (1981)"/><ref name="Eliahou (1993)"/><ref name="Simons & de Weger (2005)"/>
A probabilistic heuristicEdit
If one considers only the odd numbers in the sequence generated by the Collatz process, then each odd number is on average Template:Sfrac of the previous one.Template:Refn (More precisely, the geometric mean of the ratios of outcomes is Template:Sfrac.) This yields a heuristic argument that every Hailstone 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 assumes that Hailstone sequences are assembled from uncorrelated probabilistic events. (It does rigorously establish that the 2-adic extension of the Collatz process has two division steps for every multiplication step for almost all 2-adic starting values.)
Stopping timesEdit
As proven by Riho Terras, almost every positive integer has a finite stopping time.<ref name="Terras (1976)"/> In other words, almost every Collatz sequence reaches a point that is strictly below its initial value. The proof is based on the distribution of parity vectors and uses the central limit theorem.
In 2019, Terence Tao improved this result by showing, using logarithmic density, that almost all (in the sense of logarithmic density) Collatz orbits are descending below any given function of the starting point, provided that this function diverges to infinity, no matter how slowly. Responding to this work, Quanta Magazine wrote that Tao "came away with one of the most significant results on the Collatz conjecture in decades".<ref name="Tao"/><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
Lower boundsEdit
In a computer-aided proof, Krasikov and Lagarias showed that the number of integers in the interval Template:Math that eventually reach 1 is at least equal to Template:Math for all sufficiently large Template:Mvar.<ref>Template:Cite journal</ref>
CyclesEdit
In this part, consider the shortcut form of the Collatz function <math display="block"> f(n) = \begin{cases} \frac{n}{2} &\text{if } n \equiv 0 \pmod{2},\\ \frac{3n+1}{2} & \text{if } n \equiv 1 \pmod{2}. \end{cases}</math> A cycle is a sequence Template:Math of distinct positive integers where Template:Math, Template:Math, ..., and Template:Math.
The only known cycle is Template:Math of period 2, called the trivial cycle.
Cycle lengthEdit
The length of a non-trivial cycle is known to be at least Template:Val (or Template:Val without shortcut). If it can be shown that for all positive integers less than <math>3 \times 2^{69}</math> the Collatz sequences reach 1, then this bound would raise to Template:Val (Template:Val without shortcut).<ref name="Hercher (2023)"/><ref name="Eliahou (1993)"/> In fact, Eliahou (1993) proved that the period Template:Mvar of any non-trivial cycle is of the form <math display="block">p = 301994 a + 17087915 b + 85137581 c</math> where Template:Mvar, Template:Mvar and Template:Mvar are non-negative integers, Template:Math and Template:Math. This result is based on the simple continued fraction expansion of Template:Math.<ref name="Eliahou (1993)"/>
Template:Mvar-cyclesEdit
A Template:Mvar-cycle is a cycle that can be partitioned into Template:Math contiguous subsequences, each consisting of an increasing sequence of odd numbers, followed by a decreasing sequence of even numbers.<ref name="Simons & de Weger (2005)"/> For instance, if the cycle consists of a single increasing sequence of odd numbers followed by a decreasing sequence of even numbers, it is called a 1-cycle.
Steiner (1977) proved that there is no 1-cycle other than the trivial Template:Math.<ref name="Steiner (1977)"/> Simons (2005) used Steiner's method to prove that there is no 2-cycle.<ref>Template:Cite journal</ref> Simons and de Weger (2005) extended this proof up to 68-cycles; there is no Template:Mvar-cycle up to Template:Math.<ref name="Simons & de Weger (2005)"/> Hercher extended the method further and proved that there exists no k-cycle with Template:Math.<ref name="Hercher (2023)"/> As exhaustive computer searches continue, larger Template:Math values may be ruled out. To state the argument more intuitively; we do not have to search for cycles that have less than 92 subsequences, where each subsequence consists of consecutive ups followed by consecutive downs.Template:Clarify
Other formulations of the conjectureEdit
In reverseEdit
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 defined by the inverse relation <math display="block"> R(n) = \begin{cases} \{2n\} & \text{if } n\equiv 0,1,2,3,5 \\ \left\{2n,\frac{n-1}{3}\right\} & \text{if } n\equiv 4 \end{cases} \pmod 6. </math>
So, instead of proving that all positive integers eventually lead to 1, we can try to prove that 1 leads backwards to all positive integers. For any integer Template:Mvar, Template:Math if and only if Template:Math. Equivalently, Template:Math if and only if Template:Math. Conjecturally, this inverse relation forms a tree except for the 1–2–4 loop (the inverse of the 4–2–1 loop of the unaltered function Template:Mvar defined in the Statement of the problem section of this article).
When the relation Template:Math of the function Template:Mvar is replaced by the common substitute "shortcut" relation Template:Math, the Collatz graph is defined by the inverse relation, <math display="block"> R(n) = \begin{cases} \{2n\} & \text{if } n\equiv 0,1 \\ \left\{2n,\frac{2n-1}{3}\right\} & \text{if } n\equiv 2 \end{cases} \pmod 3. </math>
For any integer Template:Mvar, Template:Math if and only if Template:Math. Equivalently, Template:Math if and only if Template: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).
Alternatively, replace the Template:Math with Template:Math where Template:Math and Template:Math is the highest power of 2 that divides Template:Math (with no remainder). The resulting function Template:Mvar maps from odd numbers to odd numbers. Now suppose that for some odd number Template:Mvar, applying this operation Template:Mvar times yields the number 1 (that is, Template:Math). Then in binary, the number Template:Mvar can be written as the concatenation of strings Template:Math where each Template:Math is a finite and contiguous extract from the representation of Template:Math.<ref name="Colussi2011">Template:Cite journal</ref> The representation of Template:Mvar therefore holds the repetends of Template:Math, where each repetend is optionally rotated and then replicated up to a finite number of bits. It is only in binary that this occurs.<ref name="Hew2016">Template:Cite journal</ref> Conjecturally, every binary string Template:Mvar that ends with a '1' can be reached by a representation of this form (where we may add or delete leading '0's to Template:Mvar).
As an abstract machine that computes in base twoEdit
Repeated applications of the Collatz function can be represented as an abstract machine that handles strings of bits. The machine will perform the following three steps on any odd number until only one Template:Mono remains:
- Append Template:Mono to the (right) end of the number in binary (giving Template:Math);
- Add this to the original number by binary addition (giving Template:Math);
- Remove all trailing Template:Monos (that is, repeatedly divide by 2 until the result is odd).
ExampleEdit
The starting number 7 is written in base two as Template:Mono. The resulting Collatz sequence is:
111 1111 1011010111 100010100011 11010011011 1010001011 10000
As a parity sequenceEdit
For this section, consider the shortcut form of the Collatz function <math display="block"> f(n) = \begin{cases} \frac{n}{2} &\text{if } n \equiv 0 \\ \frac{3n + 1}{2} & \text{if } n \equiv 1 \end{cases} \pmod{2}.</math>
If Template:Math is the parity of a number, that is Template:Math and Template:Math, then we can define the Collatz parity sequence (or parity vector) for a number Template:Mvar as Template:Math, where Template:Math, and Template:Math.
Which operation is performed, Template:Math or Template:Math, depends on the parity. The parity sequence is the same as the sequence of operations.
Using this form for Template:Math, it can be shown that the parity sequences for two numbers Template:Mvar and Template:Mvar will agree in the first Template:Mvar terms if and only if Template:Mvar and Template:Mvar are equivalent modulo Template:Math. This implies that every number is uniquely identified by its parity sequence, and moreover that if there are multiple Hailstone cycles, then their corresponding parity cycles must be different.<ref name="Lagarias (1985)"/><ref name="Terras (1976)"/>
Applying the Template:Mvar function Template:Mvar times to the number Template:Math will give the result Template:Math, where Template:Mvar is the result of applying the Template:Mvar function Template:Mvar times to Template:Mvar, and Template:Mvar is how many increases were encountered during that sequence. For example, for Template:Math there are 3 increases as 1 iterates to 2, 1, 2, 1, and finally to 2 so the result is Template:Math; for Template:Math there is only 1 increase as 1 rises to 2 and falls to 1 so the result is Template:Math. When Template:Mvar is Template:Math then there will be Template:Mvar rises and the result will be Template:Math. The power of 3 multiplying Template:Mvar is independent of the value of Template:Mvar; it depends only on the behavior of Template:Mvar. This allows one to predict that certain forms of numbers will always lead to a smaller number after a certain number of iterations: for example, Template:Math becomes Template:Math after two applications of Template:Mvar and Template:Math becomes Template:Math after four applications of Template:Mvar. Whether those smaller numbers continue to 1, however, depends on the value of Template:Mvar.
As a tag systemEdit
For the Collatz function in the shortcut form
<math> f(n) = \begin{cases} \frac{n}{2} &\text{if } n \equiv 0 \\ \frac{3n+1}{2} & \text{if } n \equiv 1. \end{cases} \pmod{2}</math>
Hailstone sequences can be computed by the 2-tag system with production rules
In this system, the positive integer Template:Mvar is represented by a string of Template:Mvar copies of Template:Mvar, 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 Template:Mvar as the initial word, eventually halts (see Tag system for a worked example).
Extensions to larger domainsEdit
Iterating on all integersEdit
An extension to the Collatz conjecture is to include all integers, not just positive integers. Leaving aside the cycle 0 → 0 which cannot be entered from outside, there are a total of four known cycles, which all nonzero integers seem to eventually fall into under iteration of Template:Mvar. These cycles are listed here, starting with the well-known cycle for positive Template:Mvar:
Odd values are listed in large bold. Each cycle is listed with its member of least absolute value (which is always odd) first.
Cycle | Odd-value cycle length | Full cycle length |
---|---|---|
1 → 4 → 2 → 1 ... | 1 | 3 |
−1 → −2 → −1 ... | 1 | 2 |
−5 → −14 → −7 → −20 → −10 → −5 ... | 2 | 5 |
−17 → −50 → −25 → −74 → −37 → −110 → −55 → −164 → −82 → −41 → −122 → −61 → −182 → −91 → −272 → −136 → −68 → −34 → −17 ... | 7 | 18 |
The generalized Collatz conjecture is the assertion that every integer, under iteration by Template:Mvar, eventually falls into one of the four cycles above or the cycle 0 → 0.
Iterating on rationals with odd denominatorsEdit
The 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. Then the formula for the map is exactly the same as when the domain is the integers: an 'even' such rational is divided by 2; an 'odd' such rational is multiplied by 3 and then 1 is added. 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.
When using the "shortcut" definition of the Collatz map, it is known that any periodic parity sequence is generated by exactly one rational.<ref>Template:Cite journal</ref> Conversely, it is conjectured that every rational with an odd denominator has an eventually cyclic parity sequence (Periodicity Conjecture<ref name="Lagarias (1985)"/>).
If a parity cycle has length Template:Mvar and includes odd numbers exactly Template:Mvar times at indices Template:Math, then the unique rational which generates immediately and periodically this parity cycle is Template:NumBlk}{2^n - 3^m}.</math>|Template:EquationRef}}
For example, the parity cycle Template:Nowrap has length 7 and four odd terms at indices 0, 2, 3, and 6. It is repeatedly generated by the fraction <math display="block">\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> as the latter leads to the rational cycle <math display="block">\frac{151}{47} \rightarrow \frac{250}{47} \rightarrow \frac{125}{47} \rightarrow \frac{211}{47} \rightarrow \frac{340}{47} \rightarrow \frac{170}{47} \rightarrow \frac{85}{47} \rightarrow \frac{151}{47} .</math>
Any cyclic permutation of Template:Nowrap is associated to one of the above fractions. For instance, the cycle Template:Nowrap is produced by the fraction <math display="block">\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>
For a one-to-one correspondence, a parity cycle should be irreducible, that is, not partitionable into identical sub-cycles. As an illustration of this, the parity cycle Template:Nowrap and its sub-cycle Template:Nowrap are associated to the same fraction Template:Sfrac when reduced to lowest terms.
In this context, assuming the validity of the Collatz conjecture implies that Template:Nowrap and Template:Nowrap are the only parity cycles generated by positive whole numbers (1 and 2, respectively).
If the odd denominator Template:Mvar of a rational is not a multiple of 3, then all the iterates have the same denominator and the sequence of numerators can be obtained by applying the "Template:Math " generalization<ref name="Belaga (1998a)"/> of the Collatz function <math display="block"> T_d(x) = \begin{cases}
\frac{x}{2} &\text{if } x \equiv 0 \pmod{2},\\ \frac{3x+d}{2} & \text{if } x\equiv 1 \pmod{2}.
\end{cases}</math>
2-adic extensionEdit
The function <math display="block"> T(x) = \begin{cases} \frac{x}{2} &\text{if } x \equiv 0 \pmod{2}\\ \frac{3x+1}{2} & \text{if } x\equiv 1 \pmod{2} \end{cases}</math> is well-defined on the ring <math>\mathbb{Z}_2</math> of 2-adic integers, where it is continuous and measure-preserving with respect to the 2-adic measure. Moreover, its dynamics is known to be ergodic.<ref name="Lagarias (1985)"/>
Define the parity vector function Template:Mvar acting on <math>\mathbb{Z}_2</math> as <math display="block"> Q(x) = \sum_{k=0}^{\infty} \left( T^k (x) \mod 2 \right) 2^k .</math>
The function Template:Mvar is a 2-adic isometry.<ref>Template:Cite journal</ref> Consequently, every infinite parity sequence occurs for exactly one 2-adic integer, so that almost all trajectories are acyclic in <math>\mathbb{Z}_2</math>.
An equivalent formulation of the Collatz conjecture is that <math display="block"> Q\left(\mathbb{Z}^{+}\right) \subset \tfrac13 \mathbb{Z}.</math>
Iterating on real or complex numbersTemplate:AnchorEdit
The Collatz map can be extended to the real line by choosing any function which evaluates to <math>x/2</math> when <math>x</math> is an even integer, and to either <math>3x + 1</math> or <math>(3x + 1)/2</math> (for the "shortcut" version) when <math>x</math> is an odd integer. This is called an interpolating function. A simple way to do this is to pick two functions <math>g_1</math> and <math>g_2</math>, where:
- <math>g_1(n) = \begin{cases}1, &n\text{ is even,}\\ 0, &n\text{ is odd,}\end{cases}</math>
- <math>g_2(n) = \begin{cases}0, &n\text{ is even,}\\1, &n\text{ is odd,}\end{cases}</math>
and use them as switches for our desired values:
- <math>f(x) \triangleq \frac{x}{2}\cdot g_1(x) \,+\, \frac{3x + 1}{2}\cdot g_2(x)</math>.
One such choice is <math>g_1(x) \triangleq \cos^2\left(\tfrac{\pi}{2} x\right)</math> and <math>g_2(x) \triangleq \sin^2\left(\tfrac{\pi}{2} x\right)</math>. The iterations of this map lead to a dynamical system, further investigated by Marc Chamberland.<ref name="Chamberland (1996)"/> He showed that the conjecture does not hold for positive real numbers since there are infinitely many fixed points, as well as orbits escaping monotonically to infinity. The function <math>f</math> has two attracting cycles of period <math>2</math>: <math>(1;\,2)</math> and <math>(1.1925...;\,2.1386...)</math>. Moreover, the set of unbounded orbits is conjectured to be of measure <math>0</math>.
Letherman, Schleicher, and Wood extended the study to the complex plane.<ref name="Letherman, Schleicher, and Wood (1999)"/> They used Chamberland's function for complex sine and cosine and added the extra term <math>\tfrac{1}{\pi}\left(\tfrac12 - \cos(\pi z)\right)\sin(\pi z)\,+</math> <math>h(z)\sin^2(\pi z)</math>, where <math>h(z)</math> is any entire function. Since this expression evaluates to zero for real integers, the extended function
- <math>\begin{align}f(z) \triangleq \;&\frac{z}{2}\cos^2\left(\frac{\pi}{2} z\right) + \frac{3z + 1}{2}\sin^2\left(\frac{\pi}{2} z\right) \, + \\
&\frac{1}{\pi}\left(\frac12 - \cos(\pi z)\right)\sin(\pi z) + h(z)\sin^2(\pi z)\end{align}</math>
is an interpolation of the Collatz map to the complex plane. The reason for adding the extra term is to make all integers critical points of <math>f</math>. With this, they show that no integer is in a Baker domain, which implies that any integer is either eventually periodic or belongs to a wandering domain. They conjectured that the latter is not the case, which would make all integer orbits finite.
Most of the points have orbits that diverge to infinity. Coloring these points based on how fast they diverge produces the image on the left, for <math>h(z) \triangleq 0</math>. The inner black regions and the outer region are the Fatou components, and the boundary between them is the Julia set of <math>f</math>, which forms a fractal pattern, sometimes called a "Collatz fractal".
There are many other ways to define a complex interpolating function, such as using the complex exponential instead of sine and cosine:
- <math>f(z) \triangleq \frac{z}{2} + \frac14(2z + 1)\left(1 - e^{i\pi z}\right)</math>,
which exhibit different dynamics. In this case, for instance, if <math>\operatorname{Im}(z) \gg 1</math>, then <math>f(z) \approx z + \tfrac14</math>. The corresponding Julia set, shown on the right, consists of uncountably many curves, called hairs, or rays.
OptimizationsEdit
Time–space tradeoffEdit
The section As a parity sequence above gives a way to speed up simulation of the sequence. To jump ahead Template:Mvar steps on each iteration (using the Template:Mvar function from that section), break up the current number into two parts, Template:Mvar (the Template:Mvar least significant bits, interpreted as an integer), and Template:Mvar (the rest of the bits as an integer). The result of jumping ahead Template:Mvar is given by
The values of Template:Mvar (or better Template:Math) and Template:Mvar can be precalculated for all possible Template:Mvar-bit numbers Template:Mvar, where Template:Math is the result of applying the Template:Mvar function Template:Mvar times to Template:Mvar, and Template:Math is the number of odd numbers encountered on the way.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> For example, if Template:Math, one can jump ahead 5 steps on each iteration by separating out the 5 least significant bits of a number and using
- Template:Mvar(0...31, 5) = { 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 },
- Template:Mvar(0...31, 5) = { 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 }.
This requires Template:Math precomputation and storage to speed up the resulting calculation by a factor of Template:Mvar, a space–time tradeoff.
Modular restrictionsEdit
For the special purpose of searching for a counterexample to the Collatz conjecture, this precomputation leads to an even more important acceleration, used by Tomás Oliveira e Silva in his computational confirmations of the Collatz conjecture up to large values of Template:Mvar. If, for some given Template:Mvar and Template:Mvar, the inequality
holds for all Template:Mvar, then the first counterexample, if it exists, cannot be Template:Mvar modulo Template:Math.<ref name="Garner (1981)"/> For instance, the first counterexample must be odd because Template:Math, smaller than Template:Math; and it must be 3 mod 4 because Template:Math, smaller than Template:Math. For each starting value Template:Mvar which is not a counterexample to the Collatz conjecture, there is a Template:Mvar 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 Template:Mvar increases, the search only needs to check those residues Template:Mvar that are not eliminated by lower values of Template:Mvar. Only an exponentially small fraction of the residues survive.Template:Refn For example, the only surviving residues mod 32 are 7, 15, 27, and 31.
Integers divisible by 3 cannot form a cycle, so these integers do not need to be checked as counter examples.<ref name=Clay>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
Syracuse functionEdit
If Template:Mvar is an odd integer, then Template:Math is even, so Template:Math with Template:Math odd and Template:Math. The Syracuse function is the function Template:Mvar from the set Template:Mvar of positive odd integers into itself, for which Template:Math (sequence A075677 in the OEIS).
Some properties of the Syracuse function are:
- For all Template:Math, Template:Math. (Because Template:Math.)
- In more generality: For all Template:Math and odd Template:Mvar, Template:Math. (Here Template:Math is function iteration notation.)
- For all odd Template:Mvar, Template:Math
The Collatz conjecture is equivalent to the statement that, for all Template:Mvar in Template:Mvar, there exists an integer Template:Math such that Template:Math.
Undecidable generalizationsEdit
In 1972, John Horton Conway proved that a natural generalization of the Collatz problem is algorithmically undecidable.<ref>Template:Cite conference</ref>
Specifically, he considered functions of the form <math display="block"> {g(n) = a_i n + b_i} \text{ when } {n\equiv i \pmod P},</math> where Template:Math are rational numbers which are so chosen that Template:Math is always an integer. The standard Collatz function is given by Template:Math, Template:Math, Template:Math, Template:Math, Template:Math. Conway proved that the problem
- Given Template:Mvar and Template:Mvar, does the sequence of iterates Template:Math reach Template:Math?
is undecidable, by representing the halting problem in this way.
Closer to the Collatz problem is the following universally quantified problem:
- Given Template:Mvar, does the sequence of iterates Template:Math reach Template:Math, for all Template:Math?
Modifying the condition in this way can make a problem either harder or easier to solve (intuitively, it is harder to justify a positive answer but might be easier to justify a negative one). Kurtz and Simon<ref name=KurtzSimon>Template:Cite book As PDF</ref> proved that the universally quantified problem is, in fact, undecidable and even higher in the arithmetical hierarchy; specifically, it is Template:Math-complete. This hardness result holds even if one restricts the class of functions Template:Mvar by fixing the modulus Template:Mvar to 6480.<ref>Template:Cite journal</ref>
Iterations of Template:Mvar in a simplified version of this form, with all <math>b_i</math> equal to zero, are formalized in an esoteric programming language called FRACTRAN.
In computational complexityEdit
Collatz and related conjectures are often used when studying computational complexity.<ref>Template:Cite journal</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> The connection is made through the busy beaver function, where BB(n) is the maximum number of steps taken by any n state Turing machine that halts. There is a 15 state Turing machine that halts if and only if a conjecture by Paul Erdős (closely related to the Collatz conjecture) is false. Hence if BB(15) was known, and this machine did not stop in that number of steps, it would be known to run forever and hence no counterexamples exist (which proves the conjecture true). This is a completely impractical way to settle the conjecture; instead it is used to suggest that BB(15) will be very hard to compute, at least as difficult as settling this Collatz-like conjecture.
See alsoEdit
Template:Portal Template:Sister project
- [[3x + 1 semigroup|Template:Math semigroup]]
- Arithmetic dynamics
- Juggler sequence
- Modular arithmetic
- Residue-class-wise affine group
NotesEdit
ReferencesEdit
External linksEdit
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
- An ongoing volunteer computing project Template:Webarchive by David Bařina verifies Convergence of the Collatz conjecture for large values. (furthest progress so far)
- (BOINC) volunteer computing project Template:Webarchive that verifies the Collatz conjecture for larger values.
- An ongoing volunteer computing project by Eric Roosendaal verifies the Collatz conjecture for larger and larger values.
- Another ongoing volunteer computing project by Tomás Oliveira e Silva continues to verify the Collatz conjecture (with fewer statistics than Eric Roosendaal's page but with further progress made).
- {{#invoke:Template wrapper|{{#if:|list|wrap}}|_template=cite web
|_exclude=urlname, _debug, id |url = https://mathworld.wolfram.com/{{#if:CollatzProblem%7CCollatzProblem.html}} |title = Collatz Problem |author = Weisstein, Eric W. |website = MathWorld |access-date = |ref = Template:SfnRef }}
- Template:PlanetMath.
- {{#invoke:citation/CS1|citation
|CitationClass=web }}