Computer scientists attempt to corner the Collatz conjecture
quantamagazine.org
quantamagazine.org
[1] http://nocurve.com/virtual-lab/contemplating-the-collatz-con...
This game has positive expected value, the only problem is risk of ruin if you size your bets too aggressively as a percentage of your chip stack
1. No sequence grows bigger and bigger forever; and
2. No sequence gets caught in a loop (except for the trivial 4 -> 2 -> 1 -> 4 loop).
Your article addresses 1, but I don't think it says much about 2. Sure, sequences should probably trend downward over time, but why shouldn't a sequence that hops upward at the beginning get snagged on a value it's already hit as it falls back down, trapping it a nontrivial loop?
The equivalence I made is to a truly random coin toss where heads means the number will be divided by two, and tails means the number will be multiplied by 1.5 and then 0.5 added to the result.
If the coin toss is truly random, it stands to reason there will be no loop (following the same intuition that entropy always increases). Any permanent loop will contradict the randomness of the coin toss.
Whether or not the reasoning above gives valid intuition to the conjecture being true depends upon the degree to which the Collatz mathematical procedure can be treated as generating a truly random process, and this is the point where I presented the main flaw in the intuition.
Has Aaronson written about this anywhere? I'm curious what system he came up with & how it maps onto Collatz.
https://repositories.lib.utexas.edu/bitstream/handle/2152/74...
if ( lowest bit of x is 0 ) x >>= 1 else x += ( x << 1 ) + 1
And it's immediately obvious that the else branch always produces an even number.
https://terrytao.wordpress.com/2011/08/25/the-collatz-conjec...
For what its worth Tao is possibly the only person in the world I wouldn't be shocked to hear of making progress on the Collatz conjecture. He actually proved a pretty nice result on it recently
https://arxiv.org/abs/1909.03562
but the technology employed doesn't seem strong enough to go beyond "almost all" statements.
Sure, thanks for that Terence Tao links! I just wanted to confirm the efficiency of C notation to "see" what happens with the bits at the lowest level in this case, at least to those used to C. Now thinking about it, literal C would be even more concise:
if ( x & 1 ) x >>= 1 else x += ( x << 1 ) + 1
What do we know about the class of terminating rewriting systems that are solvable by translation to matrixes of size n? Is there a known terminating system that does not have a matrix solution? Or maybe at least a proof that such a system exists?
One thing I noticed was that the seemingly chaotic directed graph can be ordered if you arrange the integers in a two dimensional grid where the x axis is the uneven numbers and each row doubles the previous one. So like:
1 3 5 7 9 ...
2 6 10 14 18
4 12 20 28 36
..
It's clear to see that if n ≡ 0 (mod 2) we'll be on some row other than the first so we'd just move all the way to the top. For integers on the first row there's some interesting "orbits" forming[1].You can categorize them by which 2^n row the 3n+1 rule will jump to and each of those will attract to some specific position the 2^1 and 2^2 ones seem to be the only ones with an integer center point (at 1 and -1 respectively, so that's where you have cycles). Another interesting pattern I've noticed (not really shown) is that "combined" jumps like "first a jump into the 2^1 row followed by a jump into the 2^2 row" also follow these fixed intervals.
[1] https://raw.githubusercontent.com/gist/ginkgo/7120618db058d6...
https://www.quantamagazine.org/mathematician-terence-tao-and...
HN discussion at the time: https://news.ycombinator.com/item?id=21780068
I know that many mathematical problems are more about "charting the terrain" and don't have a particular use until long after they're discovered. But this one seems especially arbitrary; almost like a brain-teaser. And given the funding involved, I have to wonder if there's some usecase that's already known- even if that usecase is just for other high-level math.
Edit: I found this https://math.stackexchange.com/questions/2694/what-is-the-im...
Sounds like it has something to do with the predictability of primes, which has obvious importance
/s
let memo = {}
function conjecture(n) {
let str = "";
while (n !== 1) {
str += n + " ";
if (memo[n] != null) {
str += "->";
return str;
} else {
if (n % 2 === 0) n = memo[n] = n / 2;
else n = memo[n] = n * 3 + 1;
}
}
str += n + " ";
return str;
}
function rangeTo(end) {
return new Array(end).fill(null).map((_, i) => i + 1)
}
for (const n of rangeTo(1000)) {
console.log(conjecture(n))
}
A neat thing is that this terminates (at 1) for seemingly every number you try (I disabled console-logs and the process terminated for every number up to a range of 10,000,000, which is as high as I tested). It's just the formal proof that missing. There also seems to be a vague pattern to the results, but that may just be cloud-pictures."... It also has a very interesting property as an adjective, and that is it's impossible to use the word dynamic in a pejorative sense. Try thinking of some combination that will possibly give it a pejorative meaning. It's impossible. Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities." https://en.wikipedia.org/wiki/Dynamic_programming#History
Also, by the way, to the extent that "dynamic programming" has a definition (the words have little to do with what it means, so it's hard to fix the term to a specific definition), it generally refers to a superset of memoization. So memoization is the more specific term, and should be preferred.
I think we may be able to help kill usage of the term by observing that its initialization, DP, which some people are fond of using, has a much more graphic alternate meaning. Then modern puritanism may make people reluctant to say it anymore.
Other people have taken this experiment a bit further already:
https://en.wikipedia.org/wiki/Collatz_conjecture#Experimenta...
> As of 2020, the conjecture has been checked by computer for all starting values up to 2⁶⁸.
As well as the rest of the numbers between ten million and infinity.
And I suppose, an understanding of why.
That's the only thing that actually matters. You've demonstrated something analogous to the following: "Claim: there are no numbers larger than 100,000,000,000,000,000." You've then gone and checked all the numbers from 1 to 10 million, concluded that it's true, and then just say that we're missing a formal proof. I don't mean to be rude, but from an actual mathematical point of view, you've basically demonstrated nothing.
10 million is mindboggling tiny when it comes to all the numbers. Consider this counterexample to Polya's conjecture: https://www.youtube.com/watch?v=eQCUPQdi6DY
Or so many other examples: https://math.stackexchange.com/questions/514/conjectures-tha...
Well that's how it comes off. Obviously I didn't think I'd made some breakthrough in five minutes with some JavaScript, and obviously I know that the formal proof is the important thing. I was just poking at the phenomenon and expressing my curiosity. There's no need to be so eager to jump in and shut that down.
Yup, quickly it gets to the role of prime numbers or a product of primes and some number of factors of 2.
Heck, obviously can draw a directed graph with an arc from each odd number, that is, a product of primes except 2, and the result of the 3X + 1 operation. Then have an arc from each even number to that number with one less factor of 2.
Then if could argue that given a number n, the nodes in the graph that can be reached from n are finite and if we don't enter cycles without a 1, then we are done!
Alas, as one might expect from all the effort on this problem, a gap here is the argument of finiteness, and that quickly gets to how many primes there are or are not! And as we know, where all the primes are is a tough problem.
Long ago in math, I decided not to spend effort on big questions about prime numbers!
So, I gave up, decided to use easier problems to think about when going to sleep!
I've done some work on this and have an idea of this rule but haven't been able to find anyone that is knowledgeable enough to comment on it.
The expansion's number of coefficients increases by 1 at each step until the leading coefficient becomes 0, and then continues. Although, it must be noted that the leading coefficient acts as a "pilot value" of sorts seeing that it is greater than c for most of the steps, given that each of the rest of the coefficients, call them s, are typical in that 0 ≤ s < c.
https://terrytao.wordpress.com/2019/09/10/almost-all-collatz...
Once it reaches a power of 2, it can only become odd when it reaches 1, so there you have it.
Why do you think that's the case?