Hacker News new | past | comments | ask | show | jobs | submit login
The Busy Beaver Challenge (bbchallenge.org)
67 points by bmc7505 on Feb 7, 2023 | hide | past | favorite | 21 comments



Wikipedia [1] has a problem statement that I find explains the game quite simply:

> the busy beaver game aims at finding a terminating program of a given size that produces the most output possible.

The Busy Beaver Challenge website [2] also has an explainer page with interactive Turing Machines.

[1] https://en.wikipedia.org/wiki/Busy_beaver

[2] https://bbchallenge.org/story


Some discussion of remaining infinite BB(5) machines yesterday in [1][2]

[1] https://www.sligocki.com//2023/02/02/skelet-34.html

[2] https://news.ycombinator.com/item?id=34689068 and


For functional programming fans, there is an alternative definition of the busy beaver function as [1]

    the maximum normal form size of any closed lambda term of size n
This has the advantage of having a higher "resolution" by measuring program size in bits rather than states.

[1] https://oeis.org/draft/A333479


Oops; that link should be https://oeis.org/A333479


Scott Aaranson’s decades old “big numbers” write up which I think explains why this is useful and fun: https://www.scottaaronson.com/writings/bignumbers.html


So, about 88 millions of machines is left to test. We're interested in any, which runs longer than about 47 millions steps. Multiplying we get about 4.2e15 steps at worst. Can't we brute force the solution? It's like 5 million seconds - or less than two months - 1 billion steps a second, which looks doable for a modest system, and we don't even need much memory...


Further to what other people have said, a weird thing about the Busy Beaver is that it's eventually harder than all of mathematics.

https://bbchallenge.org/story#what-is-known-about-bb

(People have proven in Gödel-style that eventually any given mathematical theory is not strong enough to confirm, by any method, that a specific high-enough BB value is correct.)

And it famously "grows faster than any computable function".

https://en.wikipedia.org/wiki/Busy_beaver#Maximum_shifts_fun...

The people running this challenge believe that confirming with certainty the very next value, BB(6), probably requires answering questions that are, or are equivalent to, mathematical conjectures that humanity will never resolve.

A closely related concept about quantifying the behavior of all Turing machines is Chaitin's omega

https://en.wikipedia.org/wiki/Chaitin%27s_constant

which has similarly bizarre properties about it being as hard as all of the rest of mathematics to calculate digits of this number.


> A closely related concept about quantifying the behavior of all Turing machines is Chaitin's omega

More precisely, Chaitin's Omega quantifies the behaviour of all Lisp expressions, since he defined it not in terms of Turing machines, but in terms of a universal lisp interpreter. Not your standard lisp either, but a minimal version geared toward Algorithmic Information Theory [1].

[1] https://www.jucs.org/jucs_2_5/the_limits_of_mathematics/Chai...


I think the problem is that some of the Turing machines are infinite, so getting 47 million steps in is the _entrypoint_ and you must then run until it halts (or you determine it’s not going to halt somehow). So the search space is unbounded, but it seems like you could snapshot the state of each machine at the 47 million steps and then incrementally search a couple thousand steps forward on each one looking for halting? I may be totally off though, I won’t pretend to fully grok this.


If you get < 47M steps out of all possible 5 state machines, they you have proven the conjecture. A 5 state requires at most 47M states. I don't know if that's an upper bound or a precise estimate, but if they all halt, it's true.


The 47 million thing is based on a specific machine, which was identified as the current 5-state champion in 1990 and is known to halt.

https://bbchallenge.org/story#goal

Since nobody has found any busier 5-state beaver than that since 1990, Scott Aaronson conjectured that this might be the actual maximum for halting 5-state machines.


The tape under the turing machine is infinite, so it's certainly not limited to 47M states. The conjecture states that all machines that halt will do so within 47M states.


Steps rather than states.


In "Story" website section:

"This conjecture says that 47,176,870 is the maximum number of steps that a 5-state Turing machine can run before halting (starting from all-0 memory tape)."

So, we can run up to this number and either the machine will stop - and we'll go to the next one until exhaust the whole set - or the machine won't stop, and we'll refute the conjecture.


No, you seem to be misunderstanding the conjecture. It's about the maximum number of steps executed by a Turing machine that eventually halts.

If you simulate a Turing machine up to that many steps, and find it hasn't halted yet, then the conjecture is refuted if you know the machine's execution will eventually terminate -- but famously, there's no algorithm that can reliably tell you whether or not a given TM halts.

If it was just about the maximum number of steps that could be executed by a 5-state Turing machine, it would be trivially false, because it's easy to construct a Turing machine that runs forever.


Yeah, I was surprised the statement is constructed this way. Adding condition of eventual halting - which is what makes it the busy beaver - makes the difference :) .


I think that this wording relies on carefully interpreting "before halting". A TM which runs forever can run more than 47 million steps, but it does not run more than 47 million steps steps before halting, since it never halts.


I have changed the wording on the website in order to make it hopefully more straightforward:

"This conjecture says that if a 5-state Turing machine runs for more than 47,176,870 steps without halting then it will never halt (starting from all-0 memory tape)."


> So, we can run up to this number and either the machine will stop - and we'll go to the next one until exhaust the whole set - or the machine won't stop, and we'll refute the conjecture

No, you do not refute the conjecture if you run up to this number and a machine does not stop. Finding a machine that runs for more than 47,176,870 steps is easy - there are plenty of machines that run forever. The trick is that it needs to stop.


i think the "Story" page might be a better link, i know about busy beavers, but those that don't might be a bit lost.


A bit? :)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: