frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Collatz's Ant

https://gbragafibra.github.io/2025/01/08/collatz_ant2.html
102•Fibra•6mo ago

Comments

keepamovin•6mo ago
I love that people are working on this. It's inspiring. Thank you for posting. It's interesting if you post a comment about your process, purpose or idea - and maybe a link to code, etc (even tho it's all linked in the post, HN likes comments & discussion)
pvg•6mo ago
The previous piece previous thread https://news.ycombinator.com/item?id=42479375
cdaringe•6mo ago
I didnt know what i was getting into but i loved it
berlinbrowndev•6mo ago
I love cellular automata projects like this.
1024core•6mo ago
Now if someone could figure out a link between this and Conway's Game of Life...
lapetitejort•6mo ago
I've been fiddling with the Collatz Conjecture off and on for years now. I'm convinced I found a pattern that I haven't been able to find mentioned anywhere. Granted, that could be because I lack the mathematical language needed to search for it.

First, I'm going to use an implicit even step after the odd step, as 3*odd + 1 always equals even. If you look at the path a number takes to its next lowest number, for example 5->8->4, visualize it by just looking at the even and odd steps like so: 5->10, you will see that other numbers follow a similar pattern:

9->10

13->10

17->10

What do these number have in common? They follow the pattern 5 + k(2^n) where n is the number of even steps (with the implicit even step, two in this case).

For another example, look at 7:

7->1110100

Seven even steps, so the next number will be 7 + 2^7 = 135:

135->1110100

I'd love to hear if this has been found and documented somewhere. If not, I have additional ramblings to share.

InfoSecErik•6mo ago
I too have been playing with the conjecture for fun. Your insight is interesting because of the appearance of 2^n, given that that always resolves to 1 for all n.
lapetitejort•6mo ago
I ran some calculations looking to see if there were patterns to the next lowest number (call that number x) and could not quickly find any. So even if 7 + k*2^n follows a predicable path to its next lowest number, that number is not currently predictable.

Of course, if you can identify which n satisfies the equation x = s + k*2^n for some value of n and some "base" value s (7 is the base value in the previous example), you can predict the path of that number.

As an example, take 7 + 4*2*7 = 519. Its next lowest number is 329. 329 = 5 + 81*2^2. So for 329, s=5, k=81, n=2. So we know 329 will only take two steps to reach 247.

kr99x•6mo ago
In my phrasing, 128k + 7 -> 81k + 5 for all positive integers k.

Pick a power of 3 n to be the coefficient for k on the right/reduced side, and then the left side will have at least one valid reducing form with coefficient power of 2 f(n) = ⌊n·log2(3)⌋+1. If there is more than one, they will have different constants. Each multiplication immediately has a division (you already got this part), and there must be a final division which is not immediately preceded by a multiplication because (3x + 1)/2 > x for all positive integers (that is, if you multiply once and then divide once, you will always be larger than just before those two things, so an "extra" division is needed to reduce). This means that there must always be at least one less multiplication than division, so the initial condition is one division and zero multiplications - the even case with n = 0. Then for n = 1 you need 2 divisions, which works because 2^2 > 3^1. Then for n = 2 you need 4 divisions, because 2^3 < 3^2 so 3 divisions is not enough. This is where f(n) comes in, to give you the next power of 2 to use/division count for a given n. When you do skip a power of 2, where f(n) jumps, you get an "extra" division, so at 16k + 3 -> 9k + 2 you are no longer "locked in" to only the one form, because there is now an "extra" division which could occur at any point in the sequence...

Except it can't, because you can't begin a reducing sequence with the complete form of a prior reducing sequence, or else it would "already reduce" before you finish operating on it, and it so happens that there's only one non-repeating option at n=2.

At n = 0, you just get D (division). At n = 1, you have an unsplittable M (multiply) D pair MD and an extra D. The extra D has to go at the end, so your only option is MDD. At n = 2, you appear to have three options for arranging your MD MD D and D: DMDMDD, MDDMDD, and MDMDDD. But DMDMDD starts with D so isn't valid, and MDDMDD starts with MDD so also isn't valid, leaving just MDMDDD.

At n = 3 there are finally 2 valid forms, 32k + 11 -> 27k + 10 and 32k + 23 -> 27k + 20, and you can trace the MD patterns yourself if you like by following from the k = 0 case.

The constants don't even actually matter to the approach. If there are enough 2^x k - > 3^y k forms when n goes off to infinity, which it sure looks like there are though I never proved my infinite sum converged, you have density 1 (which isn't enough to prove all numbers reduce) and this angle can't do any better.

gregschlom•6mo ago
You lost me here: "visualize it by just looking at the even and odd steps like so: 5->10"

Where does the 10 come from?

skulk•6mo ago
5 is odd, so that's where the 1 comes from

8 ((5*3+1)/2) is even, so that's where the 0 comes from

4 (8/2) is the end.

lapetitejort•6mo ago
That is correct. I use pseudo-binary to represent the steps the number takes. Simply counting the number of steps is enough to get n, as all steps will have an implicit or explicit even step.
kr99x•6mo ago
I've been down that road, and it's unfortunately a dead end. You can generate an infinite number of reducing forms, each of which itself covers an infinite number of integers, like 4k + 5 → 3k + 4. Each one covers a fraction of the integers 1/(2^x) where x is the number of division steps in its reducing sequence (and the right hand side is always 3^y where y is the number of multiplying steps). You can't just make 1/2 + 1/4 + 1/8 and so on though (the easy path to full coverage) because sometimes the power of 3 overwhelms the power of 2. There is no 8k → 9k form, because that's not a reduction for all k, so you instead have to go with 16k → 9k. This leaves a "gap" in the coverage, 1/2 + 1/4 + 1/16th. Fortunately, when this happens, you start to be able to make multiple classes for the same x and y pair and "catch up" some, though slower. As an amateur I wrote a whole bunch about this only to eventually discover it doesn't matter - even if you reach 1/1th of the integers by generating these classes out to infinity, it doesn't work. An infinite set of density 1 implies a complementary set of density 0, but a set of density 0 doesn't have to be empty! There can still be finitely many non-reducing numbers which are not in any class, allowing for alternate cycles - you would only eliminate infinite growth as a disproof option.

Mind you, it's almost certain Collatz is true (generating these classes out to 3^20 nets you just over 99% coverage, and by 3^255 you get 99.9999999%) but this approach doesn't work to PROVE it.

prezjordan•6mo ago
Potentially useful to you: https://en.wikipedia.org/wiki/Collatz_conjecture#As_a_parity...
genewitch•6mo ago
If you search sequentially, or start from the highest known failed number, you can also short circuit every even number you start on, as well as any number that goes below the start number. My code it requires copies of huge numbers, but I barely understand why the conjecture is special.

Anyhow I wrote a single-threaded collatz "benchmark" that does this using bigint and its hilarious to run it up around 127 bit numbers, inlet it run for 3 or 4 days and it never finished the first number it was given.

My github has a Java and Python version that should produce identical output. Collatz-gene or so.

standardly•6mo ago
The conjecture holds up through 2^68. Can't we just call it there? Lol I'm obviously being obtuse, but really is there some reason to think there would be an exception at sufficiently large integers? It's hard to even imagine that one wouldn't.

edit: I'm in way over my head. Disregard me :)

WhitneyLand•6mo ago
It’s a fair question. Two things:

1. It does happen. These conjectures can fall apart after seeming like a lock: https://en.m.wikipedia.org/wiki/Mertens_conjecture

2. Even if it is true, the process of proving can yield interesting insights.

standardly•6mo ago
That's pretty mind-blowing. Hey thanks for replying. Mathematics is a tough subject to take interest in as a layman, but I still enjoy it for some reason.

Longtime Mozilla Support Japanese Community Shuts Down over AI Translation Usage

https://support.mozilla.org/en-US/forums/contributors/717446
69•phantomathkg•34m ago•6 comments

Solarpunk is happening in Africa

https://climatedrift.substack.com/p/why-solarpunk-is-already-happening
589•JoiDegn•7h ago•300 comments

Recursive macros in C, demystified (once the ugly crying stops)

https://h4x0r.org/big-mac-ro-attack/
28•eatonphil•2h ago•2 comments

Dillo, a multi-platform graphical web browser

https://github.com/dillo-browser/dillo
243•nazgulsenpai•8h ago•91 comments

ChatGPT terms disallow its use in providing legal and medical advice to others

https://www.ctvnews.ca/sci-tech/article/openai-updates-policies-so-chatgpt-wont-provide-medical-o...
229•randycupertino•9h ago•216 comments

FAA to cut flights by 10% at 40 major airports due to government shutdown

https://www.cnbc.com/2025/11/05/faa-cuts-flight-capacity-shutdown.html
27•mikhael•29m ago•7 comments

The state of SIMD in Rust in 2025

https://shnatsel.medium.com/the-state-of-simd-in-rust-in-2025-32c263e5f53d
168•ashvardanian•8h ago•85 comments

Firefox profiles: Private, focused spaces for all the ways you browse

https://blog.mozilla.org/en/firefox/profile-management/
141•darkwater•1w ago•69 comments

New gel restores dental enamel and could revolutionise tooth repair

https://www.nottingham.ac.uk/news/new-gel-restores-dental-enamel-and-could-revolutionise-tooth-re...
354•CGMthrowaway•7h ago•149 comments

The Basic Laws of Human Stupidity (1987) [pdf]

https://gandalf.fee.urv.cat/professors/AntonioQuesada/Curs1920/Cipolla_laws.pdf
47•bookofjoe•4h ago•15 comments

Why aren't smart people happier?

https://www.theseedsofscience.pub/p/why-arent-smart-people-happier
210•zdw•10h ago•331 comments

Ruby and Its Neighbors: Smalltalk

https://noelrappin.com/blog/2025/11/ruby-and-its-neighbors-smalltalk/
175•jrochkind1•11h ago•98 comments

A Lost IBM PC/at Model? Analyzing a Newfound Old Bios

https://int10h.org/blog/2025/11/lost-ibm-at-model-bios-analysis/
61•TMWNN•6h ago•10 comments

Unicode Footguns in Python

https://pythonkoans.substack.com/p/koan-15-the-invisible-ink
28•meander_water•1w ago•8 comments

The shadows lurking in the equations

https://gods.art/articles/equation_shadows.html
256•calebm•12h ago•81 comments

NY school phone ban has made lunch loud again

https://gothamist.com/news/ny-smartphone-ban-has-made-lunch-loud-again
220•hrldcpr•13h ago•165 comments

An eBPF Loophole: Using XDP for Egress Traffic

https://loopholelabs.io/blog/xdp-for-egress-traffic
210•loopholelabs•1d ago•69 comments

Vacuum bricked after user blocks data collection – user mods it to run anyway

https://www.tomshardware.com/tech-industry/big-tech/manufacturer-issues-remote-kill-command-to-nu...
182•toomanyrichies•4d ago•57 comments

Timing Wheels

https://pncnmnp.github.io/blogs/timing-wheels.html
31•pncnmnp•4d ago•0 comments

I want a good parallel language [video]

https://www.youtube.com/watch?v=0-eViUyPwso
60•raphlinus•1d ago•33 comments

I was right about dishwasher pods and now I can prove it [video]

https://www.youtube.com/watch?v=DAX2_mPr9W8
310•hnaccount_rng•1d ago•196 comments

Carice TC2 – A non-digital electric car

https://www.caricecars.com/
189•RubenvanE•12h ago•143 comments

Absurd Workflows: Durable Execution with Just Postgres

https://lucumr.pocoo.org/2025/11/3/absurd-workflows/
104•ingve•2d ago•22 comments

App Store web has exposed all its source code

https://www.reddit.com/r/webdev/comments/1onnzlj/app_store_web_has_exposed_all_its_source_code/
188•redbell•2d ago•50 comments

Gloomth

https://www.lrb.co.uk/the-paper/v47/n20/jon-day/gloomth
3•prismatic•6d ago•0 comments

SPy: An interpreter and compiler for a fast statically typed variant of Python

https://antocuni.eu/2025/10/29/inside-spy-part-1-motivations-and-goals/
235•og_kalu•6d ago•110 comments

Learning from failure to tackle hard problems

https://blog.ml.cmu.edu/2025/10/27/learning-from-failure-to-tackle-extremely-hard-problems/
103•djoldman•6d ago•22 comments

A P2P Vision for QUIC (2024)

https://seemann.io/posts/2024-10-26---p2p-quic/
88•mooreds•13h ago•40 comments

Visualizing the most common unisex names in the US

https://nameplay.org/blog/common-unisex-names-by-gender-ratio
27•aaronjbecker•1w ago•10 comments

Norway reviews cybersecurity after remote-access feature found in Chinese buses

https://scandasia.com/norway-reviews-cybersecurity-after-hidden-remote-access-feature-found-in-ch...
332•dredmorbius•10h ago•187 comments