People found a way to compress conway's game of way and even make an algorythem that makes a possible pattern before a particular patern I think it could be possible to find BB(6) by compressing a lot of the steps the bever would take but I don't know how
The halting problem is a fantastic example of the difference between theory and practice, because in practice we know that all programs halt just 2 weeks after the original programmer moves to a different company.
Program broke. Original maintainer left. No documentation. The few comments it has are outdated. Functions are abbreviated. Variables are named one letter. The other employees aren't even familiar with the language. Large part of the code is a macro hell. Regexps.
@@janisir4529tack on inheritance and unobvious abstraction, make the variable names 5 letters long, and make it scores of variables with confusingly similar names - I have lived that hell.
I contracted at a company that had a stack that I had over 10 years experience in. Ends up the guy that left wrote a UI engine in the language and everything was custom. Not only was the program not working, it had a complex engine that was written in a language the nobody used or cared about anymore. The company went out of business.
Awesome video! BTW, I'm the bbchallenge contributor born in Beaverton :) I really appreciate the detail you delved into our forum posts and announcements to describe this process!
@JS-TexanJeff Yes we are! In fact, we've made a lot of progress there and are down to ~4k holdiuts. But among them are "Cryptids" which seem beyond current mathematics to solve! (Search "Busy Beaver Antihydra" for more information). However, even if we cannot prove the exact value of BB(6) in our lifetime, there is still hope to reduce the problem down to a small list of such "hard" machines with an explanation for what they are doing that makes them hard.
@sligocki; Ah, Beaverton! I worked for Tek in the 1990's, and spent many interesting times in Beaverton! And, hidden away, a math genius! Great story... Keep well, keep happy! (As long as the state of the USA/world don't getcha down...)
Dude you're a legend. Figuring out that Skelet #1 seems an insane feat. 1 trillion trillion steps before settling into an 8 billion step cycle. To my laymen brain that feels like finding what's hidden behind a moon on the other side of the galaxy.
My favorite aspect of the Busy Beaver numbers is something briefly touched on in the video. Because BBNs are non-computable, it means that they (eventually) grow faster than any computable sequence of numbers. This not only means we can't compute the busy beaver numbers, we cannot even estimate the rate at which they grow. Any function for estimating them would necessarily grow slower than the BBNs being estimated.
@@Shijaru64to clarify some context about the type of math we're dealing with here, the vast majority of numbers have no closed-form representation. Try proving a result about a number you can't express
@@Shijaru64 I don't see a reason they would help. It's about sequences of operations that are utterly impossible to happen in the age of the universe (high time resolution requires enormous energy. There is a limit).
mei dropping out of uni and just popping in to make a breakthrough on some decades old math problem -> mei getting obsessed with european rail and working to be a train driver..... mei.... i know what you are.....
One thing not mentioned: we have proved, that there is some number N, such that it is impossible to find BB(N), or BB(K) for any K greater than N. In fact, we cannot even find an upper bound for these busy beaver numbers. We don't know what N is, but it's almost certainly below 27, and may be equal to 6. It's not just a matter of the numbers being too big, at some point it becomes literally impossible to prove whether or not a non-halting Turing Machine halts.
I made the opposite conjecture, but it seems unwise now! I thought that all the BB(N) might be individually computable (we know the first 5 are). Where is a reference for the conclusion you stated? It would be a remarkable result, suggesting that N-bit Turing machines are in some sense very different to (N-1)-bit ones. A similar sort of question is whether you can write down a program which has the property that you can never prove whether it terminates or not. Of necessity, such a program would not terminate, a case of "true but not provable" reminiscent of Goedel incompleteness.
@@liamroche1473 I don't have a precise source, but I can explain it briefly if you want. The idea is to use Gödel's second incompleteness theorem for ZFC. So basically, what Gödel has proven, is that it is impossible to prove in ZFC that ZFC is coherent. Now imagine that you conceive a Turing machine that just enumerates proofs in ZFC one after the other, and stops if it finds a contradiction. Then this machine would halt if and only if ZFC is incoherent. But now let's call N the number of states of this machine: if you were able to compute BB(N) in ZFC, you would then be able to know whether or not the machine halts, just by running it for BB(N)+1 steps: if it has already halted, then you know that ZFC is incoherent, and if it hasn't halted yet, you know for sure it never will and so ZFC is coherent. But this contradicts Gödel's theorem, because you have just devised a proof of the coherence of ZFC assuming you can compute BB(N). You hence obtain by contradiction that it is impossible to compute BB(N) using ZFC.
So it seems the search for BB(6) has already thrown up some issues, e.g. one machine called "Antihydra" that seems to behave in a way reminiscent of the Collatz conjecture. So even this single machine may be beyond our ability to prove its behaviour.
It has been proven both answers of BB(6) are greater than 10^10^10^10^10^10^10^10^10^10^10^10^10^10^10 😥 (since someone found a 6 state machine that would halt after that).
@@lyrimetacurl0this number is bigger than the amount of atoms in the universe. I assume this list bound was found via some mathematical trick. It's not possible to run so many steps.
@@newkobra you greatly under-represent the size of that number. There are about 10^80 particles in the universe, give or take. BB(6) is "at least larger" than all possible arrangements of every particle in the universe. If you were to know the position of all particles everywhere in the universe, then swap 1 particle on Earth with 1 particle in a very distant galaxy, and call that 1 arrangement: You'd have 10^10^10^1.9138 'possible' arrangements. Even if you expanded it such that particles could take up any position in the entire universe (not just currently occupied ones), you'd still be coming up short. This number is unfathomably large, and is so much closer to 0 than BB(6) that you may as well call it 0.
English pronunciation is evolving, and the caption bot is not up to date on "chrain changing", "jrum majoring" and "shtreet shopping", as Dr Geoff Lindsey famously calls these processes.
@ What stuns me is the fact that, after what starts quite placidly, it is impossible to algorithmically define a function that grows as fast as the busy beaver numbers do. For example, define a sequence (starting with 2) where each number is the previous one raised to the power of itself, repeated itself times. Or when you get that number n, use the n-th number in that sequence instead. Or... way worse versions. Nothing you can describe is fast enough to keep up with the busy beaver numbers.
Finding BB(5) so recently with 88 million machines and trillions of steps is amazing and like you said any small, minor error could throw everything in disarray. Your videos make these concepts so much easier to digest and I feel like I learn more in them than I did in my computer science classes!
By hearing about the equivalence between Beasy Beaver and Goldbach conjecture now I am curious which basic mathematical theorems can be proven with the knowledge of the smaller Busy Beavers.
@upandatom: Thanx. Let me just say that the name Skelet given to some busy beavers comes from the nickname of the person that discovered them - my friend Georgi Georgiev - Skeleta (and yes - it means skeleton, he is quite thin).
"If we could find BB(27) we could solve Goldbach's conjecture." Few minutes later: BB(6) is in the order of 10^10^10^10^10^10^10^10^10^10^10^10^10^10^10 (And that number is nothing compared to BB(27))
Yeah, but the transition function is [state:n, read:0,1] --> [write:0,1, act:left/right/halt], for which the tuple [read, write, act] is the "rule" for the state.
Yes. You would need to solve it and all the problems as complicated (either show that they are infinite loops or how many steps they have). So, finding bbn is the same as solving all problems that can be classified as n-rules machine.
It's not like knowing BB(27) would trivially "solve" the Goldbach conjecture, as the number would be so enormously big that you can forget about running a machine for that many steps. You would probably have to prove some lower bound on the Turing machine that solves Goldbach and show that this lower bound is > BB(27)
2:09 A slight correction: no existing computer is based on a Turing machine. Turing machines are extremely simple, which makes them easy to reason about mathematically but very difficult to use for any practical purpose. However, it is possible to prove that practical computers are functionally equivalent to Turing machines (or would be if they had infinite storage), which means that when reasoning about computability, we can use Turing machines, which are much easier to reason about, as surrogates, and the results we arrive at will still be applicable to actual computers.
1 minute in and want to say, scientists need to make more games for complicated problems and throw them into the wild. The collective knowledge of the masses can sometimes solve these issues even if they have no supposed knowledge of the subject. Some years ago, doctors did this for some kind of protein folding they were stumped on for 20 years and was solved in weeks.
I love the poetic finale about curiosity. But some humans just give up on curiosity, and such gives me chills. Why aren't some people curious? Why do some of us just don't care?
It is possible to have a 6-state Turing machine that its halting problem is undecidable. Turing proved that some machines are undecidable, no one proved the lower limit of the states, it might just be 6, we now know it wasn't 5
When did mathematicians/computer scientists figure out that a Goldbach conjecture machine would need 27 rules? And did that say "proving the Riemann Hypothesis is equivalent to finding BB(744)?" Side note: BB(6)>= 10^^15? That's CRAZY!
I mean, making a Turing machine is basically just writing a code. They basically just needed to write a code that checks for each number whether it can be written as a sum of 2 primes. If yes, then it halts for that number checks the following number. If not, it doesn't halt. Whether it's proven you need at least 27 rules to write such a machine, I'm not sure. But Turing machines in general are pretty straight-forward
A lot of this conjecture. Conjecture from smart people who have a pretty good idea they're approximately correct, but conjecture never the less. A good amount of it is this problem requires BB(a), BB(b), and BB(c) so we'll call it BB(a+b+c). Which is a reasonable assumption.
@@hugmynutusHuh?? Regarding the BB(27), the relationship between BB(27) and the conjecture mentioned, is not itself a conjecture. They have a particular machine with 27 states such that, if there are no counterexamples, the machine runs forever when started on an empty tape, and if there is a counterexample, eventually halts, in which case BB(27) is at least the number of steps that Turing machine takes to halt. Finding these busy beaver numbers is not an effective way to solve these problems though. Rather, solving these problems is a prerequisite for finding these busy beaver numbers. We cannot determine what BB(27) is without first determining whether there are counterexamples to the conjecture the 27 state machine is looking for counterexamples to. (Goldbatch or whichever).
7:43, the thing about BB being used to prove math statements, is that the BB problem is itself an exhaustive search. The Haulting Problem shows that it's not possible for a Turing Complete system to compute the haulting state of a program. BB relies on being able to sort by the Haulting state, which is not possible with a TC system (which is the most powerful computational system we know of) So, using the BB to "prove" a math statement is a non-starter, since you have to exhaustively iterate through all possible states a TM can exist in --- Not to say that the BB problem isn't useful to think about. Just that even with the connection to other math questions, BB cannot be used to (directly) compute a proof
I suspect some people (*cough*) are far more able to dedicate themselves to a problem when nobody is making them do it and there are no grades, or consequences to failing.
I was initially confused by what kind of rules the machine can have, but turns out they are super simple. Every rule can be seen as an if-else statement, that depends only on the value of the current square. Each rule has two branches, which to me seems like a set of two rules, but anyway. Inside each branch we have three instructions: write, movement, and next rule to apply. Or only one part: the special instruction to Halt. Write means altering (or not altering) the cell this rule just read. Move can be L or R, for left or right. The instruction can not move more than one square, nor can you choose to not move. Next rule can be any of the other rules. Usually this is represented by an arrow from one state to another, here the word rule is used instead of state. So, the BB(2) could be written as follows: Rule A: if 0: 1RB if 1: 1LB Rule B: if 0: 1LA if 1: Halt Rule A always applies rule B next, while rule B can either apply rule A or Halt. Rule A can move the tape left (if the value was 1) or right (if it was 0), while rule B can only move left (or halt). The example didn’t show an extremely easy case of a rule for the sake of understantability. All rules are like that. Alternative syntax for writing rules is using | instead of ”if”: rule A: 0 | 1RB 1 | 1LB
17:30 I was just thinking that BB(27) was “probably 10^10^10^10^10, or something.” Yeesh. Guess I’ll just be content I saw BB(5) discovered in my lifetime.
Very good video. I missed one thing though. Did you tell us what the input tape isfor a busy beaver? Because haltung should depend upon the input I think. Anyway thanks for all you amazing videos
Question: how do we know the translation into COQ was error free, and the proof checking program doesn’t contain any errors? Using a program to determine if a program is error free had always seemed a bit … strange … to me.
Easy, just write a program to show that program is error free. But then how do you know THAT program is error free? Simple, just write a new program to check that program. Now, how do you know this new program is error free? Well easy, just write another program........
1.- Should say that the tape is initially "blank" (meaning all cells in 0). 2.- What here are called "rules" are usually called (operational) states. In this "game" all Turing machines are supposed to start in a given operational state (apart from the op.states, the TM can be in the HALT state). Good exposition, much over the level typical in this network.
What's the limit for the number of symbols that can be written? At first I thought there wouldn't be a limit, but then you could just have a 2 state machine that keeps incrementing the symbol until it gets to the last one, then halts. Does blank count as a symbol? If so, can you have a functioning Turing machine that only uses two symbols?
@@mikeciul8599traditionally the symbols are 0 and 1. And what you write cannot be computed based on what you read -- if you are in some state and read a certain symbol, you must always write the same symbol as a result. So if state A with read 0 outputs a 1, then that state and read will always output 1. You can't have a rule that if you are in state A and read a symbol, you output the symbol's successor, as you seem to be suggesting.
@@lrwerewolf You absolutely can, as long as the alphabet is finite (which it is by definition). You could have a state A, where, upon reading 0 the machine outputs a 1, and upon reading a 1, outputs a zero. If it doesn't move in either case, then that would be result in a trivial cycle, which is totally allowed
It should be noted that there are multiple, differing definitions/variations of "Busy Beavers" -- I'm not sure which, if any, can be considered authoritative. There is the "runs for the longest number of steps", which this seems to be (sometimes called a "Frantic Frog"?), and there is the "produces the longest output", which is somewhat different. I think I've also heard suggested, though I don't think it's one that is normally bothered with, the most futile beaver, that terminates in a finite number of steps, but ends up on the square it started on with no 1's on the final tape at all -- essentially it has gone through the most amount of work to end up having accomplished nothing at all!
One of the things that is interesting to me is that all of the machines for BB(5) have been computable in a "relatively" reasonable timeframe. Considering the halting problem, you could have easily gotten to a point where a machine runs infinitely....but you couldn't validate it runs infinitely and so it would just suck up years and years and years of computing time.
Indeed, although in theory machines that halt don't have to be categorized as such by running them manually and counting the number of steps. The number of steps in any "unreasonably" long machines could also be nailed down by treating those suspected machines as ad-hoc problems to be solved with ad-hoc human proofs, much like how ad-hoc proofs need to be discovered to categorize the non-halting ones. Instead of sucking up years and years of computing time, it sucks up years and years of human mathematician time. Which is the whole BB saga in a nutshell.
Yeah, but that does not make it circular. It just means that if you can prove bb(27), you prove both at the same time. (And many other conjectures, hence the interest.) (It is not circular because proving bb(27) allows you to decide goldbach, but knowing goldbach does not give you bb(27).)
@@landsgevaer Indeed, it is by no means unknown in mathematics that it is easier to prove an apparently harder generalisation of a claim than it is to prove the claim itself. Sometimes this is because the generalisation strips away certain inessential features of the original problem which actually obscure how to think about it.
I agree. The proof for BB (5) is pretty much just calculating all possible programs / or predicting their outcome. This would mean in order to do BB(27), you would need to run all 27 rule programs. Including the one we are actually trying avoid running... Very much circular indeed. The way to break the cycle would be to prove it mathematically. This publication unfortunately did not bring us very much closer to it.
The halting problem isn't as strict as you think. If a machine halts, you can prove that it halts. You can even prove that some trivial non-halting machines don't halt. You just can't prove that all non-halting machines don't halt.
@@landsgevaer But you do need to prove Goldbach first, because it might be the Busy Beaver. So using BB(27) to prove Goldbach is impossible, because you are guaranteed to have Goldbach first.
Can't wait for 500 years to solve BB(6) EDIT: Technically BB isn't the number of *steps* until halting. BB counts how many 1s it writes onto the tape of all 0s before halting. The counting of steps is called step/shift function, because a TM head must move at every step. EDIT 2: BB(6) is extremely hard to solve because it contains exponential Collatz-like functions in it, which is still unsolved.
Also because unlike with the 5-rule machines, it'll be impossible to "manually" check a lot of the machines. You'll have to prove that something halts without being able to explicitly run it. You'll have to prove that some machines loops without even being able to calculate all the steps in a single loop.
BB(n) is the number of steps, also called S(n) in the wikipedia article, while the number of 1's written is called Sigma(n) on wikipedia, not sure if that is standard notation or not. Sigma(5) is "only" 4098 ones compared to BB(5)=47176870
@@thomashoglund5671 The original definition is counting 1s. The number of steps are colloquial/common usage of BB. Both are equivalent because proving one can be converted to the other proof.
I'm unexpectedly hyped that they were able to prove it for 5. But for 6, there seems to be a conceptual gap, and I doubt we'll know its value for sure within our lifetime. Still, big numbers are funny, so I'm sure people will continue to work on it. The things I find the most fascinating about these numbers is that they all definitely have a value, but if you go far enough, the BB becomes more "powerful" (if that makes sense) than problems like Goldbach or Riemann, or even than ZFC at some later point. Which is weird, because it means that up until a point it's possible to prove what the value of BB is, using our normal way of working (as we were able to do it up to 5, so supposedly ZFC applies), but after a point, ZFC isn't good enough. That's what I meant earlier with a conceptual gap, and I don't know how it's veen possible to overcome that. Great video as always.
Thanks, do you have a reference for the statement at 6:44 about the 27 rules ? (Because usually a program starts with symbols on a tape whereas in the busy beaver definition the tape is empty, also 4 states is enough to have a 2 symbols universal turing machine, so I guess this 27 is some kind of hack to build the Goldbach verifier but from an empty tape, and I'd like to see more details about it)
I wonder.. is it possible to in a way “compact” the Turing machine so that we can do a less amount of work but get the same outcome? For example, instead of having 1 bit in each cell where a rule decide what to do to that single bit and then where to move, what if we stored 8 bits per cell, then made a “compact” rule to change the full 8 bits at the same time in exactly the same way the regular Turing machine would have changed them individually? A regular Turing machine would have only two cases for each rule, for a 0 or a 1, but these rules would need to each have 256 cases to decide what to do, and possibly actually double that because you need to keep in mind which direction you entered the cell from since it will change how it gets computer on a regular Turing machine. It’s important to note that doing this will make getting the count of operations it computes more elaborate (but I guess if you manually generate all 256 cases for each rule anyway, you can also save how many operations those cases would take for a regular Turing machine to do, then just add that to the total), but if all you really care about is whether or not a machine with a lot of rules will halt, this could cut down the time to execute by MASSIVE amounts, assuming it isn’t already being done.
Yes, this is possible for some machines. The technique is usually called "simulation acceleration". It is essential for tackling BB(6), which is a lot harder than BB(5)- the current 6-state champion terminates in around 10^^15 steps, where ^^ is two-arrow Knuth Up Arrow notation. But it doesn't work on every machine- if their behavior is chaotic enough, computing the "accelerated" machine takes much longer than actually using it to simulate tape behavior. And if the machine doesn't halt, simulation acceleration often doesn't give you any way to detect this- you can run it quickly but can't verify that it's going to run forever, just run it longer and hope that it stops. For BB(5) a few people looked into simulation acceleration, but it wasn't one of the techniques that was necessary for the final proof; other simpler ones covered more cases with less effort.
@ That’s kinda what I’m talking about though, I’m not looking to change what isn’t and isn’t computable, but just to find results faster. This means any attempt to find Busy Beaver numbers would be MUCH quicker for any machines that could be compressed this way
@@janisir4529 That’s why what I’m talking about is pre-computing how the rules will apply to every symbol on the tape by having each symbol represent multiple bits from the original tape. The pre-computing step would basically take every state and change it into the correlated state all in one step. As long as you’ve already done the pre-computing step, it’s no more difficult than the regular version, and I can’t really see any reason this wouldn’t work for any machine as long as it always exits the N-bit group at some point for every starting state (but if it never does, then you’ve got a program that never halts…)
4:16: my understanding about Busy Beaver so far was that the Busy Beaver number is not the number of steps taken but the number of ones on the tape when the Busy Beaver halts. Now I see that actually there are 2 definitions: the number of ones (denoted with Σ) and number of steps (denoted with S). Thanks for the video, it is really great!
I believe she said these conventions allow for rules to explicitly halt. If a rule of that kind doesn’t have a new state or tape direction, that would remove the symmetry. I’d be interested to know the specific conventions being used
Here is how to compute it. There are 4 combinations of current state and current symbol. For each of those, we either need to specify halt or we need to specify a direction, new symbol, and new State. So there are nine total options for each combination of current state and current symbol. That means the number is 2 state machines is 9^4,
So, I'm trying to sumerize : if we know an upper bond for BB(27), we could run the 27-rules turing machine (to check the Goldbach conjecture for every even number), for a number of steps greater that BB(27), and if the machine didn't stop before we know it will never stop, and so it proves the Goldbach conjecture. BUT ! But BB(27) is probably bigger that we can imagine and even the best computer will never be able to compute this many steps before the death of the univers. So we need an other way to prove the Goldbach conjecture.
Theres also the issue that one of the many, many 27 step machines you have to sort into halting or non halting is the goldbach conjecture itself, since its one of the programs. So you are basically required to solve goldbach first in order to find bb(27). So its not really that we dont have enough time to use bb(27) to solve goldbach, its that if you have bb(27) then you've already solved it.
Lovely video, thank you. It’s amazing how much we know, and are able to know, about truly deep topics like the Halting Problem, Gödel incompleteness, Busy Beavers, etc.
While I understand the theoretical connection between BB and various unsolved math problems (and it’s really cool!), I’m not sure I see the practical implication. Sure, Goldbach can be proved in theory if we found BB(27). But BB(27) is such a large number that no physical Turing machine could ever run fast enough to reach BB(27) number of steps before the heat death of the universe. So in practice, we’ll never be able to prove Goldbach that way. That’s not to say that finding BB numbers isn’t valuable for its own sake, but rather that it isn’t a practical tool for proving anything but the simplest (in terms of Turing machine size) conjectures.
@@mikosoft Yes, I did, obviously. I got the impression that the outlook was positive in terms of using BB to prove conjectures. What time stamp does she talk about BB not being practical?
18:21 if there is one thing this story has shown, autism isn't a disability... It's a super power. Buddy solves a math problem this difficult and Is all.... "I wanna dwive twain's now".... You ain't convincing me otherwise 😂
Can you please explain where the number of 27 states would be enough to satisfy the Goldbach conjecture? I don’t understand. That number seems far too small to me. Is there a reference to a paper that claims this?
@1:32 "A mathematician named" Peebull Raider? Weevil Trader? The audio dips down a bit and you kind of mumbled the pronunciation; with your accent I had no idea what his name was. An on-screen graphic showing us that he is Tibor Radó would have been helpful (I looked it up). Otherwise, this is your usual great video.
I guess one might get confused because the "md" sound of "named" tends to blend into the following "t" sound of Tibor, resulting in something more like "mbt", introducing a labial component. But I definitely didn't hear a P or W sound. Maybe you have some issue with your audio equipment? Also, the subtitles get the name right.
Tibor Rado. There's a show transcript in the description of all Up N Atom's videos. Because names and terminology can be hard to remember or hear correctly.
I weakly dispute "usually, the more rules a Turing machine has, the more computations it can do," because there is a 4-state, 6-symbol universal Turing machine, but of course when we say "it can compute anything computable," we usually skip the part that says, "provided that you preload its tape with a correct encoding of the machine that actually computes what you want."
I was taught about the Busy Beaver concept in my university class on Complexity in 1995. Amazed to see that our understanding of complexity is evolving.
6:22 This part is wrong. Modern mathematicians don't need "hard logical proof" anymore. Sometimes a statistical solution is enough. That's how the Goldbach's weak conjecture was solved in 2013.
This is one of your best videos. I’ve always been fascinated by these big numbers. I’ve casually tried to understand Tree(3) and Kruskal’s theorem proving it is finite to no avail. I also never really understood BB numbers until I watched your video today. Thank you so much!
A perfectly legitimate math video with mentions of beaver, and BB COQ. I can’t believe it happened to me. 😂 (Great video, by the way-very interesting!)
Jade, you should know you are absolutely phenomenal - just by sheer sparkling **enthusiasm**, you are able to compel me to view long videos on obscure abstract concepts in a way no other youtuber can! 🙂
it's the space time diagram of the first 100,000 steps of busy beaver 5. A "space-time diagram"shows the state of a memory tape on a row from top to bottom. Orange is "1", white is "0". It didn't really fit into the video as it would have taken loads of explaining.
So, i watched it all. I enjoyed it, the presenters love of maths shines through, i understood virtually nothing but that didn't stop it being enjoyable, i wish i had the intelligence to understand so i would enjoy it even more
You can, to a point, run multiple turing machines in parallel, as many will have the same start, as they share rules and until they use their unique rules, everything will be the same and not needed to recompute.
@@justsomeguy5628 i more mean if it takes one machine 10^10^10^10... cycles to finish, and we don't have 10^10^10^10... cycles worth of time in the entire universe, then we've got to figure out how to run 2, 3, 5, 100 cycles in the time of a single cycle. to be able to finish the running of one machine. issue being, to run one cycle, you usually need the data of the previous cycle.
Was listening to this on a wireless headset while doing other chores and had to abandon my dishes to see if I accidentally got an April 1 video. Well played!
7:27 but i thought you said the BB number is determined after discarding the non halting problems, how can we do that if we don't know if the goldbach conjecture problem is halting or not?
What she's saying is that in proving bb27 you would necessarily need to prove or disprove the goldbach conjecture because the proof is contained within the logic of at least one turing machine of that size. Sort of like if you went through all the possible proofs in a proof checker below the size we know contains the proof.
Yes. I think this is somewhat of a circular argument. If we work out what BB(27) is then we can code the Goldbach conjecture, run it and see if it halts before that point. If not we know it never halts and it is proved either way. However to work out BB(27) we would have already, as part of that, had to have resolved that case of the beaver that represents the Goldbach conjecture and worked out whether it halted or not. Given that BB(6) programs will take longer than the age of the universe to run, this isn't exactly a practical way to prove anything.
@@mattc3581 It's not necessarily circular. While previous proofs of BB(n) values have been done by nearly brute force (explicitly checking the full behavior of every machine), there's no guarantee that this would necessarily need to be the case. It could turn out that TMs with 27 rules have some special quirk or property unique to machines with that many rules that lets us shortcut finding it without separately learning the halting behavior of every individual machine. Though, I do admit this is unlikely. And probably no being in the universe will ever even prove the value of BB(6), let alone BB(27).
I'm annoyed that the whole video was trading clarity and precision for spectacular fun facts meant to trick people into believing they understood it all, while simply reaching to top of stupidity mount. That's not educative, that's quite the opposite. If looks like people trying to explain quantum computing except that in this case, the problem is simple and you had no excuses.
Could you imagine... BB(27) or even BB(744) was found like Mathematicians can be like... well we know exactly how to solve this problem, but our universe is simple too tiny and short lived to run the algorithm to check find it.
Yes, there are necessarily mathematical facts which we cannot prove simply due to the fact that the universe is too small and we would therefore not have enough space or enough atoms to fully represent or analyze them. But what'll really bake your noodle, is that even though I can concisely represent the number 10^(10^(10^10)), I am only able to do so because the number is somehow "compressible". But due to a proven rule about compression, MOST strings of numbers cannot be compressed at all. So, although I can express 10^(10^(10^10)), most of the number less than 10^(10^(10^10)) cannot be represented in any way within the observable universe, because the only way to represent most of them would be to just write out every single digit. But that many digits is far too large to fit in any form in the observable universe. There are only around 10^80 atoms in the observable universe.
So long, as the computer exists. A simple Pascal program that could do so: program Donothing var i: integer; begin i:=1; while i>0 do begin if i=1 then begin i:=2; end; else begin i:=1; end; end; end. This program will flick the variable i between 1 and 2, until the computer it is running on is turned off.
@@nxtvim2521 Nonsense. One millennium is singular. More than one millennia is plural. I've never heard anyone other than Jade in this video say "one millennia" or "a millennia". Back in the 1990s nobody was talking about the upcoming "new millennia". It was always the upcoming "new millennium". What you typed is about like saying "birds" and "bird" are the same word (like "both are English variations of the same word", which is true, but ...), so that I shouldn't notice if someone says "I heard one birds as it was chirping".
All problems like this, prime unpredictably, Riemann hypothesis, uncertainty principle etc. are all due to the fact that you need to combine information from both unbounded and bounded infinities. Which is inherently impossible.
The longest time a program can run depends on the processor's task handling. If a computer is left running without being touched, a program could run until the expiration of a processor.
00:02 Just my 2 cents. The answer to this question, in the way it is asked, is actually trivial under the assumption of a deterministic program on a specific computer. Chose a computer, then sum all the bits it has read-write access to (for example, include CPU registers and cache, RAM and disk space). 2 raised to the power of this quantity is the total number of different states the computer can be in at any given time. A simple way to think about this problem is to pretend that the entire memory is a very large binary number. The program simply increments the number and halt when all the bits are set to 1. This is the program that will take the largest number of steps to run on this specific computer under the assumptions above. As you explain later in the video, BusyBeaver(n) is about a fundamentally different problem as it fixes the number of Turing machine states and has access to an arbitrarily large quantity of memory.
The Turing H - machine and an infinite number of Turing machines with infinite ticker tape can all be converted to binary and can be placed into a finite set.
No one was wondering "what's the longest time computer program can run?", because the answer is simple and obvious: there is no upper limit. Infinite loop does it. That's not how "Halting problem" question is defined.
Get Nebula using my link for 40% off an annual subscription: go.nebula.tv/upandatom
Watch Becoming Human: nebula.tv/becominghuman
I just want you to know that i'd play the busy beaver with you any day.
🗿
Until the computer's battery runs out. Done.
How do amatures report thier findings, when they make a discovery?
People found a way to compress conway's game of way and even make an algorythem that makes a possible pattern before a particular patern
I think it could be possible to find BB(6) by compressing a lot of the steps the bever would take but I don't know how
"Humans are the smartest species on Earth", says human
The halting problem is a fantastic example of the difference between theory and practice, because in practice we know that all programs halt just 2 weeks after the original programmer moves to a different company.
Program broke.
Original maintainer left.
No documentation.
The few comments it has are outdated.
Functions are abbreviated.
Variables are named one letter.
The other employees aren't even familiar with the language.
Large part of the code is a macro hell.
Regexps.
@@janisir4529 Music to my ears, I like a challenge.
@@janisir4529tack on inheritance and unobvious abstraction, make the variable names 5 letters long, and make it scores of variables with confusingly similar names - I have lived that hell.
Gotta love regex being the punchline
I contracted at a company that had a stack that I had over 10 years experience in. Ends up the guy that left wrote a UI engine in the language and everything was custom. Not only was the program not working, it had a complex engine that was written in a language the nobody used or cared about anymore. The company went out of business.
Awesome video! BTW, I'm the bbchallenge contributor born in Beaverton :) I really appreciate the detail you delved into our forum posts and announcements to describe this process!
Nice!!! Are you working on BB(6)? It seems impossible to determine....but maybe there is a way.
@JS-TexanJeff Yes we are! In fact, we've made a lot of progress there and are down to ~4k holdiuts. But among them are "Cryptids" which seem beyond current mathematics to solve! (Search "Busy Beaver Antihydra" for more information). However, even if we cannot prove the exact value of BB(6) in our lifetime, there is still hope to reduce the problem down to a small list of such "hard" machines with an explanation for what they are doing that makes them hard.
@sligocki;
Ah, Beaverton!
I worked for Tek in the 1990's, and spent many interesting times in Beaverton!
And, hidden away, a math genius!
Great story... Keep well, keep happy!
(As long as the state of the USA/world don't getcha down...)
Dude you're a legend. Figuring out that Skelet #1 seems an insane feat. 1 trillion trillion steps before settling into an 8 billion step cycle. To my laymen brain that feels like finding what's hidden behind a moon on the other side of the galaxy.
Massive respect!
My favorite aspect of the Busy Beaver numbers is something briefly touched on in the video. Because BBNs are non-computable, it means that they (eventually) grow faster than any computable sequence of numbers. This not only means we can't compute the busy beaver numbers, we cannot even estimate the rate at which they grow. Any function for estimating them would necessarily grow slower than the BBNs being estimated.
Couldn't quantum computers eventually estimate such things?
@@Shijaru64 Quantum computers also have limits.
@@Shijaru64to clarify some context about the type of math we're dealing with here, the vast majority of numbers have no closed-form representation. Try proving a result about a number you can't express
@upandatom 666..
@@Shijaru64 I don't see a reason they would help. It's about sequences of operations that are utterly impossible to happen in the age of the universe (high time resolution requires enormous energy. There is a limit).
mei dropping out of uni and just popping in to make a breakthrough on some decades old math problem -> mei getting obsessed with european rail and working to be a train driver..... mei.... i know what you are.....
After a quick looking around this person has a Mastodon account which I happen to follow 😂✌️
Sounder familiar that name
One thing not mentioned: we have proved, that there is some number N, such that it is impossible to find BB(N), or BB(K) for any K greater than N.
In fact, we cannot even find an upper bound for these busy beaver numbers.
We don't know what N is, but it's almost certainly below 27, and may be equal to 6. It's not just a matter of the numbers being too big, at some point it becomes literally impossible to prove whether or not a non-halting Turing Machine halts.
You means like impossible to prove in ZFC axioms. Or i wrong?
So we will never solve the conjecture through this method,right?
I made the opposite conjecture, but it seems unwise now! I thought that all the BB(N) might be individually computable (we know the first 5 are). Where is a reference for the conclusion you stated? It would be a remarkable result, suggesting that N-bit Turing machines are in some sense very different to (N-1)-bit ones.
A similar sort of question is whether you can write down a program which has the property that you can never prove whether it terminates or not. Of necessity, such a program would not terminate, a case of "true but not provable" reminiscent of Goedel incompleteness.
@@liamroche1473 I don't have a precise source, but I can explain it briefly if you want. The idea is to use Gödel's second incompleteness theorem for ZFC. So basically, what Gödel has proven, is that it is impossible to prove in ZFC that ZFC is coherent. Now imagine that you conceive a Turing machine that just enumerates proofs in ZFC one after the other, and stops if it finds a contradiction. Then this machine would halt if and only if ZFC is incoherent. But now let's call N the number of states of this machine: if you were able to compute BB(N) in ZFC, you would then be able to know whether or not the machine halts, just by running it for BB(N)+1 steps: if it has already halted, then you know that ZFC is incoherent, and if it hasn't halted yet, you know for sure it never will and so ZFC is coherent. But this contradicts Gödel's theorem, because you have just devised a proof of the coherence of ZFC assuming you can compute BB(N). You hence obtain by contradiction that it is impossible to compute BB(N) using ZFC.
@@k_meleon Very nice!
BB(8) was really hard to find. Turned out he was off in a galaxy far far away.
@@bnoel12345 Perfect comment.
BB(8) must be round
Curiously, is good evidence that BB(8) was discovered a long time ago, but we only became aware of it quite recently.
We have BB(8) at home… and he can rap.
So it seems the search for BB(6) has already thrown up some issues, e.g. one machine called "Antihydra" that seems to behave in a way reminiscent of the Collatz conjecture. So even this single machine may be beyond our ability to prove its behaviour.
That just means we'll have to solve the Collatz conjecture.
Collatz-like behavior shows up in a lot of bb5 machines too
It has been proven both answers of BB(6) are greater than 10^10^10^10^10^10^10^10^10^10^10^10^10^10^10 😥 (since someone found a 6 state machine that would halt after that).
@@lyrimetacurl0this number is bigger than the amount of atoms in the universe. I assume this list bound was found via some mathematical trick. It's not possible to run so many steps.
@@newkobra you greatly under-represent the size of that number. There are about 10^80 particles in the universe, give or take.
BB(6) is "at least larger" than all possible arrangements of every particle in the universe.
If you were to know the position of all particles everywhere in the universe, then swap 1 particle on Earth with 1 particle in a very distant galaxy, and call that 1 arrangement:
You'd have 10^10^10^1.9138 'possible' arrangements. Even if you expanded it such that particles could take up any position in the entire universe (not just currently occupied ones), you'd still be coming up short.
This number is unfathomably large, and is so much closer to 0 than BB(6) that you may as well call it 0.
She: "He is probably thinking about other girls..."
He: "I wonder if the fifth busy beaver is greater than 47.213.532..."
Now they can live in peace
"5 rule Turing machines" -> "5-year-old cheering machines" in the autogenerated captions!
The juxtaposition between the capabilities of dedicated humans and the theoretical computers, and the inabilities of real computers, is striking.
@upandatom 666..
English pronunciation is evolving, and the caption bot is not up to date on "chrain changing", "jrum majoring" and "shtreet shopping", as Dr Geoff Lindsey famously calls these processes.
@ What stuns me is the fact that, after what starts quite placidly, it is impossible to algorithmically define a function that grows as fast as the busy beaver numbers do. For example, define a sequence (starting with 2) where each number is the previous one raised to the power of itself, repeated itself times. Or when you get that number n, use the n-th number in that sequence instead. Or... way worse versions. Nothing you can describe is fast enough to keep up with the busy beaver numbers.
To be fair, Australian-to-English is one of the more complex translations
I AM a busy beaver. Will let you know when I'm done.
If you're a Buddhist (or several others), I've got bad news for 'ya--
No you won't
We look forward to seeing your coq.
are you done yet
it's best to be vocal with these things
Finding BB(5) so recently with 88 million machines and trillions of steps is amazing and like you said any small, minor error could throw everything in disarray. Your videos make these concepts so much easier to digest and I feel like I learn more in them than I did in my computer science classes!
@upandatom 666..
We all know why you had to flash COQ on screen
hahaha
I suppose this is the start of 'cunk on maths'
@@upandatom its See-Oh-Queue
@@Jacques_le_Blanc Well at least COQs on Beavers.
@@upandatom@upandatom 666..
By hearing about the equivalence between Beasy Beaver and Goldbach conjecture now I am curious which basic mathematical theorems can be proven with the knowledge of the smaller Busy Beavers.
Apparently the Collatz conjecture can be proved/disproved if we knew BB(6).
0:14 until I pull the plug
Yeah, the intro was just confusing!
The floor is made of floor, and reality exists.
@@samarendra109 "a millennia" made me stop watching the video.
not if it has batteries
@ Until the batteries run out a few hours later.
@upandatom: Thanx. Let me just say that the name Skelet given to some busy beavers comes from the nickname of the person that discovered them - my friend Georgi Georgiev - Skeleta (and yes - it means skeleton, he is quite thin).
"If we could find BB(27) we could solve Goldbach's conjecture."
Few minutes later: BB(6) is in the order of 10^10^10^10^10^10^10^10^10^10^10^10^10^10^10
(And that number is nothing compared to BB(27))
I have a lecture book from long ago that calls this fool's errand as "finding the tallest midget". Aaah, those were the days :P
Omg, I gotta start using that, I'm practically crying 😭
Lol. Reminds me of an actual post by the colorado state highway patrol: "Small boulder the size of a large boulder blocking traffic".
Do you have a reference for this lecture book? I'm anxious to read it
we at bbchallenge would love to see this book :) (we collect various fun historical things about bb)
For those new to Turing machines, the "rules" in this video are normally referred to as "states" (see the X-axis label at 8:07).
Yeah, but the transition function is [state:n, read:0,1] --> [write:0,1, act:left/right/halt], for which the tuple [read, write, act] is the "rule" for the state.
First the einstein tile, now busy beaver 5- i don't know what, but something's brewing
@@fuseteam right?
And soon, AI will provide proofs too complicated for us to check.
@MarkAhlquist AI literally just makes things up, it probably shouldn't be used for mathematical proofs
@@MarkAhlquistwell they are going to be checked by computers then lol
Next, Epstein isle
@@justinliu7788 Will you believe the computer that checks it? I guess we write a program that checks that check
You said that knowing BB(27) would allow a computer to prove Goldbach's conjecture.
But don't you also need the solution in order to find BB(27)?
Yes. You would need to solve it and all the problems as complicated (either show that they are infinite loops or how many steps they have). So, finding bbn is the same as solving all problems that can be classified as n-rules machine.
@@dobacetr And here i was getting all excited that Riemann is technically brute-forceable...
Yes, this means that finding BB(27) is at least as hard as proving the Goldbach conjecture.
that is unless BB(n) is computable, but it isn't
@@FunkyTurtlewe still need a paper proof after all
It's not like knowing BB(27) would trivially "solve" the Goldbach conjecture, as the number would be so enormously big that you can forget about running a machine for that many steps. You would probably have to prove some lower bound on the Turing machine that solves Goldbach and show that this lower bound is > BB(27)
But theoretically, an immortal person with infinite time who knows BB(27) would be able to eventually brute force the Goldbach conjecture using BB(27)
@@RGC_animationand not even infinite time, its incredible
2:09 A slight correction: no existing computer is based on a Turing machine. Turing machines are extremely simple, which makes them easy to reason about mathematically but very difficult to use for any practical purpose. However, it is possible to prove that practical computers are functionally equivalent to Turing machines (or would be if they had infinite storage), which means that when reasoning about computability, we can use Turing machines, which are much easier to reason about, as surrogates, and the results we arrive at will still be applicable to actual computers.
1 minute in and want to say, scientists need to make more games for complicated problems and throw them into the wild. The collective knowledge of the masses can sometimes solve these issues even if they have no supposed knowledge of the subject. Some years ago, doctors did this for some kind of protein folding they were stumped on for 20 years and was solved in weeks.
I love the poetic finale about curiosity. But some humans just give up on curiosity, and such gives me chills. Why aren't some people curious? Why do some of us just don't care?
It is possible to have a 6-state Turing machine that its halting problem is undecidable. Turing proved that some machines are undecidable, no one proved the lower limit of the states, it might just be 6, we now know it wasn't 5
I was already holding my laughter from all these "beavers" and coincidences. Then you started talking about Coq and i couldn't hold it any longer
and then I started crying when she said Alan Brady died just a few weeks before the proof was finished
You know what they say. The solution to a busy beaver is a lot of Coq.
When did mathematicians/computer scientists figure out that a Goldbach conjecture machine would need 27 rules? And did that say "proving the Riemann Hypothesis is equivalent to finding BB(744)?"
Side note: BB(6)>= 10^^15? That's CRAZY!
I mean, making a Turing machine is basically just writing a code. They basically just needed to write a code that checks for each number whether it can be written as a sum of 2 primes. If yes, then it halts for that number checks the following number. If not, it doesn't halt. Whether it's proven you need at least 27 rules to write such a machine, I'm not sure. But Turing machines in general are pretty straight-forward
@methatis3013 Jane said that's at least what they think it is!
@upandatom 666..
A lot of this conjecture. Conjecture from smart people who have a pretty good idea they're approximately correct, but conjecture never the less.
A good amount of it is this problem requires BB(a), BB(b), and BB(c) so we'll call it BB(a+b+c). Which is a reasonable assumption.
@@hugmynutusHuh??
Regarding the BB(27), the relationship between BB(27) and the conjecture mentioned, is not itself a conjecture. They have a particular machine with 27 states such that, if there are no counterexamples, the machine runs forever when started on an empty tape, and if there is a counterexample, eventually halts, in which case BB(27) is at least the number of steps that Turing machine takes to halt.
Finding these busy beaver numbers is not an effective way to solve these problems though. Rather, solving these problems is a prerequisite for finding these busy beaver numbers. We cannot determine what BB(27) is without first determining whether there are counterexamples to the conjecture the 27 state machine is looking for counterexamples to. (Goldbatch or whichever).
Ah the intersection between Math and Programming, where Busy Beavers meet COQ.
Indeed, without COQ you can only explore a busy beaver by hand.
@upandatom 666..
"Intersection" and "COQ" in the same sentence can imply something else
Programming is just math masquerading with other lexicon
Ok, you made the joke better than I was about to try. I'll give you my upvote and leave.
I love COQ
big bold COQ caption
Whats that got to do with beavers?
I can feel the COQ coming inside of me
@@Breakfast_of_Champions16:01
COQ is great for your busy beaver
7:43, the thing about BB being used to prove math statements, is that the BB problem is itself an exhaustive search. The Haulting Problem shows that it's not possible for a Turing Complete system to compute the haulting state of a program.
BB relies on being able to sort by the Haulting state, which is not possible with a TC system (which is the most powerful computational system we know of)
So, using the BB to "prove" a math statement is a non-starter, since you have to exhaustively iterate through all possible states a TM can exist in
---
Not to say that the BB problem isn't useful to think about. Just that even with the connection to other math questions, BB cannot be used to (directly) compute a proof
They were so preoccupied with asking what problems a computer couldn't solve, they never thought to ask what problems a computer shouldn't solve
Fascinating that many seem to be drop-outs or students with no credentials. Proving that a paper is not your value. :)
I'd conjecture that intelligence has little to do with dropping out
@upandatom 666..
I suspect some people (*cough*) are far more able to dedicate themselves to a problem when nobody is making them do it and there are no grades, or consequences to failing.
I was initially confused by what kind of rules the machine can have, but turns out they are super simple.
Every rule can be seen as an if-else statement, that depends only on the value of the current square. Each rule has two branches, which to me seems like a set of two rules, but anyway.
Inside each branch we have three instructions: write, movement, and next rule to apply. Or only one part: the special instruction to Halt.
Write means altering (or not altering) the cell this rule just read.
Move can be L or R, for left or right. The instruction can not move more than one square, nor can you choose to not move.
Next rule can be any of the other rules. Usually this is represented by an arrow from one state to another, here the word rule is used instead of state.
So, the BB(2) could be written as follows:
Rule A:
if 0: 1RB
if 1: 1LB
Rule B:
if 0: 1LA
if 1: Halt
Rule A always applies rule B next, while rule B can either apply rule A or Halt.
Rule A can move the tape left (if the value was 1) or right (if it was 0), while rule B can only move left (or halt).
The example didn’t show an extremely easy case of a rule for the sake of understantability. All rules are like that.
Alternative syntax for writing rules is using | instead of ”if”:
rule A:
0 | 1RB
1 | 1LB
Can Halt appear in multiple places? For example, in both Rule A and Rule B?
@@RGC_animationYes. Halt is just a special kind of state. Anywhere that you could transition into a state, you could instead halt.
@@RGC_animation yes
17:30
I was just thinking that BB(27) was “probably 10^10^10^10^10, or something.” Yeesh. Guess I’ll just be content I saw BB(5) discovered in my lifetime.
Very good video. I missed one thing though. Did you tell us what the input tape isfor a busy beaver? Because haltung should depend upon the input I think.
Anyway thanks for all you amazing videos
the tape is all 0s
I didn't mention in the video
@@upandatom🤯
I had the same question 😅
@upandatom 666..
I came looking for this question, thank you.
Question: how do we know the translation into COQ was error free, and the proof checking program doesn’t contain any errors? Using a program to determine if a program is error free had always seemed a bit … strange … to me.
Easy, just write a program to show that program is error free. But then how do you know THAT program is error free? Simple, just write a new program to check that program. Now, how do you know this new program is error free? Well easy, just write another program........
1.- Should say that the tape is initially "blank" (meaning all cells in 0).
2.- What here are called "rules" are usually called (operational) states. In this "game" all Turing machines are supposed to start in a given operational state (apart from the op.states, the TM can be in the HALT state).
Good exposition, much over the level typical in this network.
Thanks for your comment. I had been puzzled by this during the whole video.
What's the limit for the number of symbols that can be written? At first I thought there wouldn't be a limit, but then you could just have a 2 state machine that keeps incrementing the symbol until it gets to the last one, then halts.
Does blank count as a symbol? If so, can you have a functioning Turing machine that only uses two symbols?
@@mikeciul8599traditionally the symbols are 0 and 1. And what you write cannot be computed based on what you read -- if you are in some state and read a certain symbol, you must always write the same symbol as a result. So if state A with read 0 outputs a 1, then that state and read will always output 1. You can't have a rule that if you are in state A and read a symbol, you output the symbol's successor, as you seem to be suggesting.
@@lrwerewolf You absolutely can, as long as the alphabet is finite (which it is by definition). You could have a state A, where, upon reading 0 the machine outputs a 1, and upon reading a 1, outputs a zero. If it doesn't move in either case, then that would be result in a trivial cycle, which is totally allowed
@@mikeciul8599 Yes, blank counts as a symbol. Usually we use "0" instead of "blank" though, so we assume that the tape starts out with all 0s
at 17:29 you could simplify this by writing 10^^15 or ¹⁵10 (not 10¹⁵, that's different lol)
It should be noted that there are multiple, differing definitions/variations of "Busy Beavers" -- I'm not sure which, if any, can be considered authoritative. There is the "runs for the longest number of steps", which this seems to be (sometimes called a "Frantic Frog"?), and there is the "produces the longest output", which is somewhat different. I think I've also heard suggested, though I don't think it's one that is normally bothered with, the most futile beaver, that terminates in a finite number of steps, but ends up on the square it started on with no 1's on the final tape at all -- essentially it has gone through the most amount of work to end up having accomplished nothing at all!
6:46 "Computable by a Turing machine with 27 rules" I'm interested to know how this number 27 was determined.
They wrote the Turing Machine that tested the Goldbach Conjecture against increasing even numbers. It had 27 rules.
One of the things that is interesting to me is that all of the machines for BB(5) have been computable in a "relatively" reasonable timeframe. Considering the halting problem, you could have easily gotten to a point where a machine runs infinitely....but you couldn't validate it runs infinitely and so it would just suck up years and years and years of computing time.
This proof took about 35 years. The champion was found in 1990 but not proved until 2024.
Indeed, although in theory machines that halt don't have to be categorized as such by running them manually and counting the number of steps. The number of steps in any "unreasonably" long machines could also be nailed down by treating those suspected machines as ad-hoc problems to be solved with ad-hoc human proofs, much like how ad-hoc proofs need to be discovered to categorize the non-halting ones. Instead of sucking up years and years of computing time, it sucks up years and years of human mathematician time. Which is the whole BB saga in a nutshell.
But the issue is circular, in order to know Busy Beaver 27, you would need to know if your goldbach machine halted or not
Yeah, but that does not make it circular. It just means that if you can prove bb(27), you prove both at the same time. (And many other conjectures, hence the interest.)
(It is not circular because proving bb(27) allows you to decide goldbach, but knowing goldbach does not give you bb(27).)
@@landsgevaer Indeed, it is by no means unknown in mathematics that it is easier to prove an apparently harder generalisation of a claim than it is to prove the claim itself. Sometimes this is because the generalisation strips away certain inessential features of the original problem which actually obscure how to think about it.
I agree. The proof for BB (5) is pretty much just calculating all possible programs / or predicting their outcome.
This would mean in order to do BB(27), you would need to run all 27 rule programs. Including the one we are actually trying avoid running... Very much circular indeed.
The way to break the cycle would be to prove it mathematically. This publication unfortunately did not bring us very much closer to it.
The halting problem isn't as strict as you think.
If a machine halts, you can prove that it halts.
You can even prove that some trivial non-halting machines don't halt.
You just can't prove that all non-halting machines don't halt.
@@landsgevaer But you do need to prove Goldbach first, because it might be the Busy Beaver.
So using BB(27) to prove Goldbach is impossible, because you are guaranteed to have Goldbach first.
Can't wait for 500 years to solve BB(6)
EDIT: Technically BB isn't the number of *steps* until halting. BB counts how many 1s it writes onto the tape of all 0s before halting. The counting of steps is called step/shift function, because a TM head must move at every step.
EDIT 2: BB(6) is extremely hard to solve because it contains exponential Collatz-like functions in it, which is still unsolved.
Also because unlike with the 5-rule machines, it'll be impossible to "manually" check a lot of the machines. You'll have to prove that something halts without being able to explicitly run it. You'll have to prove that some machines loops without even being able to calculate all the steps in a single loop.
BB(n) is the number of steps, also called S(n) in the wikipedia article, while the number of 1's written is called Sigma(n) on wikipedia, not sure if that is standard notation or not.
Sigma(5) is "only" 4098 ones compared to BB(5)=47176870
@@thomashoglund5671 The original definition is counting 1s. The number of steps are colloquial/common usage of BB. Both are equivalent because proving one can be converted to the other proof.
@@hanifarroisimukhlis5989 Ok, so when they say that eventually BB(n) grows faster than any computable function, is that steps or 1s or both?
@upandatom 666..
When I heard the Busy Beavers solved this problem I went ''Dam''.
Can you give an example of a previously proven problem which can also be proven by BB(5)?
Can the same machine be halting and non-halting depending on what's written on the tape?
18:00 yeah, that checks out hahaha
2:09 Sorry, that's not correct, the Von Neumann Architecture is the actual blueprint, but Turing Machines are still an important theoretical concept.
666
I'm unexpectedly hyped that they were able to prove it for 5. But for 6, there seems to be a conceptual gap, and I doubt we'll know its value for sure within our lifetime. Still, big numbers are funny, so I'm sure people will continue to work on it.
The things I find the most fascinating about these numbers is that they all definitely have a value, but if you go far enough, the BB becomes more "powerful" (if that makes sense) than problems like Goldbach or Riemann, or even than ZFC at some later point. Which is weird, because it means that up until a point it's possible to prove what the value of BB is, using our normal way of working (as we were able to do it up to 5, so supposedly ZFC applies), but after a point, ZFC isn't good enough. That's what I meant earlier with a conceptual gap, and I don't know how it's veen possible to overcome that.
Great video as always.
Thanks, do you have a reference for the statement at 6:44 about the 27 rules ? (Because usually a program starts with symbols on a tape whereas in the busy beaver definition the tape is empty, also 4 states is enough to have a 2 symbols universal turing machine, so I guess this 27 is some kind of hack to build the Goldbach verifier but from an empty tape, and I'd like to see more details about it)
I wonder.. is it possible to in a way “compact” the Turing machine so that we can do a less amount of work but get the same outcome? For example, instead of having 1 bit in each cell where a rule decide what to do to that single bit and then where to move, what if we stored 8 bits per cell, then made a “compact” rule to change the full 8 bits at the same time in exactly the same way the regular Turing machine would have changed them individually?
A regular Turing machine would have only two cases for each rule, for a 0 or a 1, but these rules would need to each have 256 cases to decide what to do, and possibly actually double that because you need to keep in mind which direction you entered the cell from since it will change how it gets computer on a regular Turing machine.
It’s important to note that doing this will make getting the count of operations it computes more elaborate (but I guess if you manually generate all 256 cases for each rule anyway, you can also save how many operations those cases would take for a regular Turing machine to do, then just add that to the total), but if all you really care about is whether or not a machine with a lot of rules will halt, this could cut down the time to execute by MASSIVE amounts, assuming it isn’t already being done.
Yes, this is possible for some machines. The technique is usually called "simulation acceleration". It is essential for tackling BB(6), which is a lot harder than BB(5)- the current 6-state champion terminates in around 10^^15 steps, where ^^ is two-arrow Knuth Up Arrow notation.
But it doesn't work on every machine- if their behavior is chaotic enough, computing the "accelerated" machine takes much longer than actually using it to simulate tape behavior.
And if the machine doesn't halt, simulation acceleration often doesn't give you any way to detect this- you can run it quickly but can't verify that it's going to run forever, just run it longer and hope that it stops.
For BB(5) a few people looked into simulation acceleration, but it wasn't one of the techniques that was necessary for the final proof; other simpler ones covered more cases with less effort.
It would make them faster, but not change what's computable and what's not.
@ That’s kinda what I’m talking about though, I’m not looking to change what isn’t and isn’t computable, but just to find results faster. This means any attempt to find Busy Beaver numbers would be MUCH quicker for any machines that could be compressed this way
@@GameJam230 Finding BB for tapes with more than 2 symbols is a thing, but it's a different question, and also harder than only having a binary value.
@@janisir4529 That’s why what I’m talking about is pre-computing how the rules will apply to every symbol on the tape by having each symbol represent multiple bits from the original tape. The pre-computing step would basically take every state and change it into the correlated state all in one step. As long as you’ve already done the pre-computing step, it’s no more difficult than the regular version, and I can’t really see any reason this wouldn’t work for any machine as long as it always exits the N-bit group at some point for every starting state (but if it never does, then you’ve got a program that never halts…)
4:16: my understanding about Busy Beaver so far was that the Busy Beaver number is not the number of steps taken but the number of ones on the tape when the Busy Beaver halts. Now I see that actually there are 2 definitions: the number of ones (denoted with Σ) and number of steps (denoted with S).
Thanks for the video, it is really great!
10 GOTO 10
Until computer melts.
2:16 No. The computers we use are von Neuman machines, not Turning machines.
4:40 6561 2-rule machines is incorrect. It has to be an even number because the machines have symmetry (in symbol, direction).
Any 2 step that has the same rule twice as its ruleset wont have that symmetry, and there could be an odd number of those.
I believe she said these conventions allow for rules to explicitly halt. If a rule of that kind doesn’t have a new state or tape direction, that would remove the symmetry. I’d be interested to know the specific conventions being used
Here is how to compute it. There are 4 combinations of current state and current symbol. For each of those, we either need to specify halt or we need to specify a direction, new symbol, and new State. So there are nine total options for each combination of current state and current symbol. That means the number is 2 state machines is 9^4,
This was a brilliant video! Fantastic narrative, great animation, very well presented. Superb work!
So, I'm trying to sumerize : if we know an upper bond for BB(27), we could run the 27-rules turing machine (to check the Goldbach conjecture for every even number), for a number of steps greater that BB(27), and if the machine didn't stop before we know it will never stop, and so it proves the Goldbach conjecture.
BUT !
But BB(27) is probably bigger that we can imagine and even the best computer will never be able to compute this many steps before the death of the univers. So we need an other way to prove the Goldbach conjecture.
precisely: BB is the worst way to prove anything
(perhaps not _the_ worst, for... reasons, but definitely very bad)
Theres also the issue that one of the many, many 27 step machines you have to sort into halting or non halting is the goldbach conjecture itself, since its one of the programs. So you are basically required to solve goldbach first in order to find bb(27).
So its not really that we dont have enough time to use bb(27) to solve goldbach, its that if you have bb(27) then you've already solved it.
Lovely video, thank you. It’s amazing how much we know, and are able to know, about truly deep topics like the Halting Problem, Gödel incompleteness, Busy Beavers, etc.
While I understand the theoretical connection between BB and various unsolved math problems (and it’s really cool!), I’m not sure I see the practical implication. Sure, Goldbach can be proved in theory if we found BB(27). But BB(27) is such a large number that no physical Turing machine could ever run fast enough to reach BB(27) number of steps before the heat death of the universe. So in practice, we’ll never be able to prove Goldbach that way. That’s not to say that finding BB numbers isn’t valuable for its own sake, but rather that it isn’t a practical tool for proving anything but the simplest (in terms of Turing machine size) conjectures.
That's pretty obvious given the lower bound of BB(6).
That's exactly what the video says, did you watch it?
@@mikosoft Yes, I did, obviously. I got the impression that the outlook was positive in terms of using BB to prove conjectures. What time stamp does she talk about BB not being practical?
I’m just making a stab in the dark, but maybe a quantum computer in the future could do it? 🤷♂️
@@qwerty_and_azerty right at the end when she mentions how absurdly large BB(6) is.
It's amazing how so many mathematicians in the animation look like John Lithgow
18:21 if there is one thing this story has shown, autism isn't a disability... It's a super power. Buddy solves a math problem this difficult and Is all.... "I wanna dwive twain's now".... You ain't convincing me otherwise 😂
Can you please explain where the number of 27 states would be enough to satisfy the Goldbach conjecture? I don’t understand. That number seems far too small to me. Is there a reference to a paper that claims this?
I read this as "Hot Amateurs Solved a 30-year-old Math Problem" at least 4 times before realizing it said How.
@upandatom 666..
I like that the code from 0:53 onwards is different (n
What code?
@anselmschueler On the screen in the right hand corner. It's a different code from the starting animation where the counter runs as long as n>=1.
BB(6) is 10 to the 10.. to the 10.. to the 10.. to the 10... to the 10...
I love content with big numbers lol
What about BB(BB(BB(BB(BB(BB(BB(...BB(2)...))))))).
If Cookie Clickers have taught me anything, we need to Prestige Maths to locate (BB)6
@1:32 "A mathematician named" Peebull Raider? Weevil Trader? The audio dips down a bit and you kind of mumbled the pronunciation; with your accent I had no idea what his name was. An on-screen graphic showing us that he is Tibor Radó would have been helpful (I looked it up). Otherwise, this is your usual great video.
I guess one might get confused because the "md" sound of "named" tends to blend into the following "t" sound of Tibor, resulting in something more like "mbt", introducing a labial component. But I definitely didn't hear a P or W sound. Maybe you have some issue with your audio equipment? Also, the subtitles get the name right.
Don't you dare criticize her accent!
Tibor Rado.
There's a show transcript in the description of all Up N Atom's videos. Because names and terminology can be hard to remember or hear correctly.
The CC button is your friend
Yeah I also heard a t. Definitely not Tibor Radó thi
Mei's done being a computer scientist. They're moving on to driving trains. LMAO
This video is amazing. I didn't know about these BBN's and I'm hooked, but too dense to listen to in the background. I'll come back after work :)
I love your productions. Thanks :)
I weakly dispute "usually, the more rules a Turing machine has, the more computations it can do," because there is a 4-state, 6-symbol universal Turing machine, but of course when we say "it can compute anything computable," we usually skip the part that says, "provided that you preload its tape with a correct encoding of the machine that actually computes what you want."
I've found a truly elegant counterexample of the Goldbach Conjecture, but this comments section is too small to contain it
@upandatom 666..
I found a counterexample too, but oh no youtube comments section is the only place I want to share it in, and it cannot fit it!
Surprisingly, or maybe not, there is a limit to the length of a UA-cam comment and when you exceed it, it says you made an invalid argument (haha)
I was taught about the Busy Beaver concept in my university class on Complexity in 1995. Amazed to see that our understanding of complexity is evolving.
6:22 This part is wrong. Modern mathematicians don't need "hard logical proof" anymore. Sometimes a statistical solution is enough. That's how the Goldbach's weak conjecture was solved in 2013.
7:13 this sounds like P equals NP
This is one of your best videos. I’ve always been fascinated by these big numbers. I’ve casually tried to understand Tree(3) and Kruskal’s theorem proving it is finite to no avail. I also never really understood BB numbers until I watched your video today. Thank you so much!
@upandatom 666..
A perfectly legitimate math video with mentions of beaver, and BB COQ. I can’t believe it happened to me. 😂 (Great video, by the way-very interesting!)
Let BB(6) = a
Therefore
BB(6) = a
and you can find all the others in the same way
You're like the kid who says he can count to infinity.... by counting by infinities.
@@sykes1024 Well, you're like the adult who never gets a joke 🤣
@@ThoughtPhoenix BB(6) is crazy big- she showed that in terms of up-arrow notation, it's O(10^^15)!
@upandatom 666..
@@wyattstevens8574 She said it's at least that, it could be far larger.
Jade, you should know you are absolutely phenomenal - just by sheer sparkling **enthusiasm**, you are able to compel me to view long videos on obscure abstract concepts in a way no other youtuber can! 🙂
Was hoping to learn what the thumbnail of the video had to do with busy beaver programs.
it's the space time diagram of the first 100,000 steps of busy beaver 5. A "space-time diagram"shows the state of a memory tape on a row from top to bottom. Orange is "1", white is "0". It didn't really fit into the video as it would have taken loads of explaining.
@@upandatomthanks for the explanation
@@upandatom maybe another video?
@@upandatom@upandatom 666..
@@upandatom Ahh, that makes sense. Thank you for the reply.
So, i watched it all. I enjoyed it, the presenters love of maths shines through, i understood virtually nothing but that didn't stop it being enjoyable, i wish i had the intelligence to understand so i would enjoy it even more
there would have to be some way to run the steps of a busy beaver in parallel, rather than in series.
i don't know how it'd happen, but yeah.
You can, to a point, run multiple turing machines in parallel, as many will have the same start, as they share rules and until they use their unique rules, everything will be the same and not needed to recompute.
@@justsomeguy5628 i more mean
if it takes one machine 10^10^10^10... cycles to finish, and we don't have 10^10^10^10... cycles worth of time in the entire universe, then we've got to figure out how to run 2, 3, 5, 100 cycles in the time of a single cycle. to be able to finish the running of one machine.
issue being, to run one cycle, you usually need the data of the previous cycle.
Was listening to this on a wireless headset while doing other chores and had to abandon my dishes to see if I accidentally got an April 1 video. Well played!
My favorite received. Inspiration is: "if you don't know what you can't do, you can do anything"
7:27 but i thought you said the BB number is determined after discarding the non halting problems, how can we do that if we don't know if the goldbach conjecture problem is halting or not?
What she's saying is that in proving bb27 you would necessarily need to prove or disprove the goldbach conjecture because the proof is contained within the logic of at least one turing machine of that size. Sort of like if you went through all the possible proofs in a proof checker below the size we know contains the proof.
Yes. I think this is somewhat of a circular argument. If we work out what BB(27) is then we can code the Goldbach conjecture, run it and see if it halts before that point. If not we know it never halts and it is proved either way.
However to work out BB(27) we would have already, as part of that, had to have resolved that case of the beaver that represents the Goldbach conjecture and worked out whether it halted or not.
Given that BB(6) programs will take longer than the age of the universe to run, this isn't exactly a practical way to prove anything.
@@mattc3581 It's not necessarily circular. While previous proofs of BB(n) values have been done by nearly brute force (explicitly checking the full behavior of every machine), there's no guarantee that this would necessarily need to be the case. It could turn out that TMs with 27 rules have some special quirk or property unique to machines with that many rules that lets us shortcut finding it without separately learning the halting behavior of every individual machine.
Though, I do admit this is unlikely. And probably no being in the universe will ever even prove the value of BB(6), let alone BB(27).
@@mattc3581 no one is saying it is practical, but it is one way to prove it
@upandatom 666..
I'm annoyed that the whole video was trading clarity and precision for spectacular fun facts meant to trick people into believing they understood it all, while simply reaching to top of stupidity mount.
That's not educative, that's quite the opposite.
If looks like people trying to explain quantum computing except that in this case, the problem is simple and you had no excuses.
Always great to see you pop up Jade👍👍
@upandatom 666..
This is definitely one of the best videos ever made on this channel. I keep waiting for your videos to come. Love them❤
Again Jade’s scientific ASMR!
@upandatom 666..
Listening to this girl explaining this breakthrough is a treat
Could you imagine... BB(27) or even BB(744) was found like Mathematicians can be like... well we know exactly how to solve this problem, but our universe is simple too tiny and short lived to run the algorithm to check find it.
Yes, there are necessarily mathematical facts which we cannot prove simply due to the fact that the universe is too small and we would therefore not have enough space or enough atoms to fully represent or analyze them.
But what'll really bake your noodle, is that even though I can concisely represent the number 10^(10^(10^10)), I am only able to do so because the number is somehow "compressible". But due to a proven rule about compression, MOST strings of numbers cannot be compressed at all. So, although I can express 10^(10^(10^10)), most of the number less than 10^(10^(10^10)) cannot be represented in any way within the observable universe, because the only way to represent most of them would be to just write out every single digit. But that many digits is far too large to fit in any form in the observable universe. There are only around 10^80 atoms in the observable universe.
the answer is 42 :P
@upandatom 666..
@@SumGuyLovesVideos but what is the question?
So long, as the computer exists.
A simple Pascal program that could do so:
program Donothing
var i: integer;
begin
i:=1;
while i>0 do
begin
if i=1 then
begin
i:=2;
end;
else
begin
i:=1;
end;
end;
end.
This program will flick the variable i between 1 and 2, until the computer it is running on is turned off.
0:10 - Does she say "a millennia"? I've replayed this several times to find out if it's "millennium" but I can't hear the "um".
yes, I think she misspoke there
millennia is a valid form of Millennium. both are latin variations of the same word
@@nxtvim2521 Nonsense. One millennium is singular. More than one millennia is plural. I've never heard anyone other than Jade in this video say "one millennia" or "a millennia". Back in the 1990s nobody was talking about the upcoming "new millennia". It was always the upcoming "new millennium". What you typed is about like saying "birds" and "bird" are the same word (like "both are English variations of the same word", which is true, but ...), so that I shouldn't notice if someone says "I heard one birds as it was chirping".
All problems like this, prime unpredictably, Riemann hypothesis, uncertainty principle etc. are all due to the fact that you need to combine information from both unbounded and bounded infinities. Which is inherently impossible.
That even sounds difficult! I don't even understand those terms 😂
You don't even understand any of the words you just uttered...
what does a bounded infinity look like? im curious.
@@zackreich390-1
@@zackreich39 I think a bounded infinity is an infinity that falls within a range. For example, all of the possible decimal numbers between 0 and 1.
The longest time a program can run depends on the processor's task handling.
If a computer is left running without being touched, a program could run until the expiration of a processor.
Did well to keep a straight face when explaing that Busy Beaver 5 was finally found by the Coq.
00:02 Just my 2 cents. The answer to this question, in the way it is asked, is actually trivial under the assumption of a deterministic program on a specific computer. Chose a computer, then sum all the bits it has read-write access to (for example, include CPU registers and cache, RAM and disk space). 2 raised to the power of this quantity is the total number of different states the computer can be in at any given time. A simple way to think about this problem is to pretend that the entire memory is a very large binary number. The program simply increments the number and halt when all the bits are set to 1. This is the program that will take the largest number of steps to run on this specific computer under the assumptions above.
As you explain later in the video, BusyBeaver(n) is about a fundamentally different problem as it fixes the number of Turing machine states and has access to an arbitrarily large quantity of memory.
The Turing H - machine and an infinite number of Turing machines with infinite ticker tape can all be converted to binary and can be placed into a finite set.
No one was wondering "what's the longest time computer program can run?", because the answer is simple and obvious: there is no upper limit. Infinite loop does it.
That's not how "Halting problem" question is defined.