"Let's choose something universal, that even aliens could understand!" "like this string of undecipherable characters that encodes Melo's number in lambda calculus!"
@@robocatssj3theofficial TREE is just a function and has no value without an input so TREE(TREE) isn’t even a number. It would be like saying “5 +” is a larger number than “5” TREE(TREE(3)) on the other hand…
I’m so glad he showed a picture of the guy at the end, otherwise I would’ve genuinely left this video with the impression that JonTron made contributions to the field of mathematics
it's already a thing, the incredible proof machine has a section on typed lambda calculus, although it's more of a construction puzzle than larger growth hierarchies type of game
Note that the "must include instructions to compute its value" makes a very big difference. There is a sequence called the Busy Beaver which is a well-defined sequence of finite integers, but that is proven to grow large faster than ANY sequence of numbers that can be computed. So, for example, the number BB(11111) is certainly much bigger than the Buchholz Ordinal - but (despite it being a specific integer) there is almost certainly no way to prove what its exact value is. For more info, check Scott Aaronson's classic essay "Who Can Name the Bigger Number?"
that's correct. the Busy Beaver grows so fast that it's not computable in any way. in fact, the 6th Busy Beaver has been proven to be, at least, over 10↑↑15. sooo... how big would be BB(BB(6))?
I just have seen a video about it since the B(5) was proven. I thought maybe thats why RUclips recommended this video to me and now I stumbled over your comment haha
@@user-ce5sh5bd4f They're not excluded if you can prove what the program actually is for a Turing machine that can be described in 140 bytes. That's a big IF considering we only just proved BB(5) this month after decades of work, and may never even find BB(6). The proof of a busy beaver number BB(N) requires you to prove the halting behavior for each possible Turing machine with N or fewer states. Then for all the ones that do halt, you need to prove which one takes the longest to halt. I'm not an expert or mathematician, I know the halting problem is undecidable in general. I don't know whether any specific individual Turing machines exist for which a halting proof cannot exist. One thing we can be reasonably sure of though is, there are bigger numbers than CodeParade found which can be expressed in 160 characters, and almost definitely even in the 49 characters needed to express Bucholtz tree ordinals.
@@JorgeLopez-qj8pu "after my uncountable hours of training with the infinite cheese, i am finally ready to comprehend the realms of near-infinity algarisms. LETS GOOOOOOO"
When I was 10 I said I wanted to be a googologist but I became a computer scientist instead. I'm happy with the choice I made but man big numbers are cool
@@Thoth0333 there was some BBC mini documentary about infinity that included mention of Graham's number and I think little me just wanted the possibility of naming a number after myself
I don't think a googologist's salary can pay the bills man. You can think of ten to the vigintilionth power, but that 10 in your pocket has to last you till the end of the month
The idea behind adding the limit of an SMS is that it prevents you from just +1ing a number to produce a bigger number. Once it's as long as an SMS, you need a fundamentally new idea for computing a number that's bigger. Obviously in this video the number wasn't maxed out but pretend it was or just shrink the limit to the final size given in the video.
I once delved into this very briefly, and the coolest notation I found was conway's chained arrow notation. For example, Graham's Number has an upper bound of 3->3->65->2. This is just 11 characters! I looked up how it compares and apparently it's at f_w^2(n). I'd never have imagined there's a need for a faster growing function than this one.
Yeah, I don't think there's any need for a faster growing function (hell, there's hardly a need for a function growing this fast either), but it is very funny seeing how far we can push it
I think the coolest notations are Strong Array Notation, Bashicu Matrix System and ω-Y Sequence, able to go FAR beyond the Buchholz Ordinal (that is, ψ(Ω_ω) where _ means subscript)
You should have explained omega and ordinal numbers a bit more thoroughly because I have a hard time understanding what the omega is even supposed to do. Please explain.
So you have this chain of functions, each one is the previous repeated. f0(x) is 'the next number', f1(x) is repeated f0, f2(x) is repeated f1, etc. What fω(x) does is it takes its input and outputs fx(x). This grows faster than any of the previous functions, no matter how large it is. Imagine f-one-billion, for example. That sure is a very fast growing function, and for small inputs it would in fact grow faster than fω. However, fω eventually catches up, and by the time the input is one billion, the two functions are identical (f-one-billion(billion) vs fω(billion), which turns into f-billion(billion), literally the exact same number). After that, fω dominates, since the f-number it resolves to becomes greater than one billion, obviously beating out f-one-billion. This property of fω can be applied to any finite number, so fω is 'stronger' than any finite number, and that is why an infinite ordinal is used, because ω is the number that 'comes after' all the integers.
I studied all of this stuff in a course called "computabilty theory". It was one of the weirdest courses i ever took. I think it has almost none real world practical applications but it was incredibly fascinating
Some of it actually is useful as a computer programmer. For example, many seemingly simple or straightforward things that you can really try to code an algorithm for are actually the halting problem in disguise, or similarly “undecidable” in the most general case. For example, comparing 2 black box functions for equality. Recognizing that very thing once saved me days of futile coding. I had a public API that internally required comparing objects for equality, and the objects could store generic functors (c++ lambdas). I realized that writing the bug free “==“ this object needed was equivalent to solving the halting problem; it was impossible. If I’d not known some computability and complexity theory I could’ve easily wasted days trying to find, write, and test the nonexistent algorithm I was looking for. Instead I realized in about an hour that a bigger rewrite was needed. The only viable fix was to change the design.
I was wondering, "Wait JonTron is also involved in advanced mathematics? There's a professional mathematician who decided to borrow the name of the controversial entertainer JonTron?"
@@pleaseenteraname1215 Jontron articulated a commonly held political view (held by a plurality of voters or even a majority in Europe and America) that is denied political representation in all liberal democracies.
Fortran could do with a little more Lambda calculus. But I think that the Fortran-lang org needs to first decide to implement things that they are procrastinating for 30 years, like exception handling.
the funniest part of this video is the fact that the people who jokingly in the comments go "ahaha what you said + 1 😜" are actually exactly right and in fact, the solution to the question involves the maximal amount of that exact annoying instinct
I've been waiting for you to get back to this kinda content. I love your work, devlogs and all, but this stuff takes the cake and makes me want to learn more
We can't be sure whoever is deceiving our text message understands binary, therefore the largest number that definitely definitely fits in a text message is 1120.
Who’s to say the recipient knows decimal? What if the recipient can’t observe things in any way? What if they don’t have a valid SIM card?! What if there is no recipient? What if we’re all alone in the universe with nothing but binary lambda calculus to keep our brain warm? What if we don’t have a brain to come up with an answer to this question? What if there wasn’t a question in the first place?
I would say that binary is more natural to come up with than decimal. Like sure we came up with decimal first, but that's because we have 10 fingers. If some aliens had 8 fingers they would come up with octal first. But everyone would stumble upon binary when they would try to make stuff like computers.
7:40, the halting problem is about arbitary programs with arbitary inputs, you don't have that here, you've a fixed program (The lambda interpretor) and a limited range of inputs (166 characters).
Using any language assumes the receiver understands what "program" to use to run it. Doesn't matter if it is English, C++, or otherwise. We have no "solved" way to encode information in a way that can be universally understood. If you post a link to the definition of a large number on the English Wikipedia, to someone who doesn't speak English, and doesn't have the internet, then that is as intelligible to them, as well... receiving a Lambda Language program.
512 bytes of C code if I recall correctly. Not counting white space. Pretty sure the winner created a program that implemented lambda calculus. Had to go look, third place was f w^w (2↑↑35), second was f epsilon0+w³(1,000,000), and I'm not even sure how they figured out first place.
Calculus of Inductive(?) Constructions, weaker than lambda, but guaranteed to halt. Would have been interesting if CP touched on this. Like he even touches on binary representations in the video. As I understand it, that's basically what the BnB winner did: Look through every binary representation of CoC (of some initial length) and calculate what the output is for each one, always keeping track of the biggest output. ....And then do the whole thing again using that big number as the length of the binary representation for this next round. ....And then do that process,... 9 times. So on the very last round, it's looking through every single binary representation of some absurd length. Ah well, a followup video is always possible.
Actually now that I think about it, CP would *have* to know about the BnB winner. So I assume that in whatever game he is making, the "final level" must be solved in a similar way. And he left it out of this video to obscure the solution a little, make it a bit more a surprise or narrative twist.
The thing about TREE(3) was that it was supposed to be the largest “functionally useful” bit of math, i.e. something that we could actually use to solve an actual applied problem. Does Buchholtz do the same, or is it still theoretical?
Buchholz itself I doubt, but there's SCG that's used in math and it's a function that grows as fast as the Buchholz Ordinal under the Fast Growing Hierarchy (that f function at the end), but no function used in actual math is faster
Not wild. It's because you clicked on the first one (or even looked at it for a few seconds without scrolling past). Now that you've seen a second one and commented on it, you can expect a lot more. The algorithm watches everything you do.
Reminds me of the Bignum Bakeoff, except that contest was (IIRC) limited to 512 bytes of C code, giving a bit more flexibility. The winner implemented a program that would generate every possible expression in the calculus of constructions (similar to lamda calculus) with less than (x) symbols, evaluate and concatenate their values, and then feed that number back into itself as (x) several times in a row. The trick is that the calculus of constructions isn't turing complete, but it is guaranteed to terminate, so it's immune to infinite loops. So the program overall will terminate... Eventually.
Super interesting video. My only gripe is that I just made a video about Graham's number and TREE(3) and now they look tiny in comparison. In all seriousness though, this was absolutely fascinating.
This was a really cool and different kind of video. Love it. Also, is the VR mode for 4D golf still planned? I've been really looking forward to subjecting my family to that.
At the end the biggest number that can be said as a type of constant is lim x->∞( x ) No matter which number type or function you present it couldn't possibly be bigger than THIS or else it will break the rules of mathematics Thankyou
its honestly kinda fun to program in but you need to practice functional programming if you've only done imperative programming before, codewars has a lambda calculus section if you actually wanna try it
Ordinals mentioned in the video are not themselves the numbers, but represent growth rates for functions. There is nothing infinite about them used in that way.
@@MrQuantumInc That is not what he meant. Imagine comparing a linear to a quadratic function. Lets say we have f(x)=nx and g(x)=x^2. n can be any finite number here. It could be 10, it could be 10000 and it could be TREE(3). Picking a very large n would of course make the function grow quite rapidly while g would stay quite small in comparison for quite a while. However no matter how big n is, the quadratic function will always catch up eventually. In this case it is obvious that g(x) will be larger for x>n. For other functions those points may of course not be obvious. And here you can think of the quadratic function as the omega of the linear function. Because you no longer have to pick a ridiculously large n to make it grow fast and can instead just define x^2. Its much simpler and will still grow much much faster in the long run. And yet the quadratic function has nothing to do with infinity.
i simply love this video. it explains everything that it should explain, and it presents a thought process which tries to avoid trivial solutions and lack of rigor. also there are 0 mistakes
PIOC(PIOC(1)) completely breaks that though as that's a function thats greater than 1 greater of any number you suggest. Like if "a" was my variable for largest number possible then PIOC(a) = a + 1 POIC(POIC(a)) = PIOC(a+1) = a + 2 a + 1 < a + 2, therefore the recursive function is larger than the single function. You would have to add an arbitrary constraint that doesn't allow for it to be recursive, because otherwise I just proved 1 = 2 if the function holds true for all possible inputs.
Ascii is a 7 bit standard and way back when SMS was created using less memory was still a thing that software developers cared about so they didn't have an unused 8th bit like PC encoding does (though PC encoding was more future proof as that 8th bit could later be used to safely create UTF-8, by extending the regular encoding)
There are no busy beaver numbers with known values larger than the one in the video that I'm aware of. The BB problem itself is uncomputable so can't be used as a program.
@@moonsweater it's an already well enough covered topic I think. And I think the only interesting thing about busy beaver number is that once we know one of them we got to own that size of Turing machine and can predict if it halts properly, and the use case there is that if we can describe a problem within that size of Turing machine we can simply prove it by calculating it. But since we can't even confirm the size of BB(5) that's kinda useless.
This was super cool! I knew about omega as an infinite ordinal, but I had no idea you could go this bonkers with it! I def have some wikipedia rabbit holes that I need to traverse, might have to TSP a good path through them ;)
yes, old ASCII was designed with just 7 bits per character... that's 128 different characters you can encode. we only have 26 characters and 10 digits, plus a handful of special characters. 128 characters will totally suffice... it's not like there are other languages and scripts out there, amirite? :D
If we start including non Latin based languages, Chinese simplified adds over 30,000 unique characters, so yeah, it makes sense that they’d stick to just the Latin alphabet, which covers most of the user base use cases
@@SioxerNikita correct, my friend. I'm a bit puzzled why the presenter shows binary and then converts it into some... well it looks like an 8-bit self-contained set. He already said the characters are ASCII, right? Anyway, SMSs are sometimes written in UCS-2 as well, but he could have just stopped at binary, because GSM 03.38 allows binary. BTW, he'll need UCS-2 for his lambdas and whatnot.
@@rebeccachoice An SMS doesn't actually support "characters" in the end, it supports up to 140 bytes. This means 140 characters with ASCII (1 byte per character, or 8 bits specifically) and 70 characters if it contains Unicode characters, as a Unicode characters takes two bytes (or 16 bits to be specific.) The stuff he shows is just arbitrary representation of that... It doesn't matter if he shows ASCII or Unicode, what so ever... It is bits...Pure bits... It's like you ... almost get it.
@@rebeccachoice Woops, got one thing wrong. It would support 160 characters, as the basic SMS format is 7 bits per character... but again, completely irrelevant, because... the characters are simply just a representation of the bits.
Loader’s number, Busy Beaver function, Bachihu Matrix System, Pointer Matrix system and so on. These are all growing much faster than Buchholz Ordinal.
Loader's number was the winner of a competition to see who can write the biggest computable number in 500 characters in C. Meaning it can't be expressed in 140*7 bits, or at least no one has figured out how to do it. So it doesn't count. Busy Beaver isn't computable and so also doesn't count. It's equivalent to saying "a largest computable integer expressible in N bits exists". This is true, but that doesn't tell you what those bits actually are.
Once, when I was a kid, I asked my dad what the largest number was, and he said "N1" I asked him what it meant, and he said it was always 1 higher than what you are thinking of. I thought it had some mathematical basis, which took me way too long to realize it is a pun. Since then, I've always used it as a short hand for the largest number because no matter your number, you can always add one.
Great video! Personally, I found the conclusion to be slightly unsatisfying, at least compared to what I was expecting. It seems to me that the answer is to find the biggest lambda calculus algorithm that can fit in n bits, however that doesn't really tell me anything about the algorithm or number itself. As a layman, I would appreciate a solution to this question from the perspective of the information density of lambda calculus. Certainly, higher order functions must take more bits to define, right? So, if we can find some sort of pattern to how the function sizes grow, I think it would provide a better resolution to this question as opposed to "hey, this function fits, good enough".
i have thought about this stuff before, although not knowing about lambda calculus, only really knowing about the arrow up symbol used in graham's number and how you can add a number to it to simplify it, quite fun exercise
Encoding a TM in raw binary is actually pretty easy: 2bits for choosing what bit to write, 2bits for choosing to shift left or right, N bits for jumping/transitioning to another state. N = ceil(log2(number_of_states)) Since each state has a fixed-size (at "compilation time"), the state ID can be considered an index (a pointer multiplied by some factor), so we can simply concatenate (ordered by index) all the states of the TM into executable memory
A big problem that you haven't addressed is that there is also a limit on which characters are allowed in an SMS message - some greek characters are allowed there, but many are not. Some functions could then be used if that character is allowed, but others may need to be defined every instance or possilby present in another way that would be less efficient
I saw the video title in my notifications. I saw the channel name. I knew this was gonna be incredible 👍 Also, the music gave me a strange but good type of vibe...
thing is there is no largest number, since the number of 0’s could go forever, but then forever is infinity, but then that means we could never get a largest character
It's crazy that once you get to fast enough growing functions, f and f composed with f are essentially the same. But there aren't good ways to portray what "essentially the same" means other than to compare large numbers and show that these sorts of operations don't change their places on the list. Where things get interesting for me is that all of these computable functions are bounded above by certain non-computable functions. This means that as wild as these functions get, it's possible to score their size using relatively small numbers. We could, for instance define a function called "Smooth Inverse Busy Beaver" or SIBB(f) that returned the smallest x such that a BB(x) ≥ f(h(x)) for some fixed function h(x). (Ignoring the difficulty of smoothly extending this from the integers to the reals. Ignoring how to best choose h(x), although we could choose h(x)=10 and be fine give or take some hand-waving). We can't compute SIBB, but it does have a value. If we had an oracle that gave us its values, we'd see all of the computable functions mentioned here mapped to some relatively small (
The answer is like the line from The Phantom Mencae (Its been used elsewhere first, but its where I first heard the phrase) "Theres always a bigger fish" you can always go higher. No matter what you try its always possible to add one even if it dosent make sence you can still in theory add one to make it bigger
The largest number that can fit in an SMS message is null. Numbers are abstract mathematical concepts, they can't be put in a SMS message. SMS messages may contain information, but not concepts. Concepts exist in human brains. Okay, I understand why you might say I'm being pedantic and philisophical. This isn't what was meant, right? We'll consider an example. "Graham's number" was not allowed but "
I agree, this was a very weird video where he kept walking in circles and now at the end I'm kind of lost as to what was the point of it all. Just like you said, there should've been some context and rules to this "problem" that made it clear what sort of tools we have at our disposal
90 is a pretty big number
Wait till you hear about 91
3 is already too big
@@nerdstaunch If you know that, you'll need to hold onto your socks for 92
@@nerdstaunch can you name a single collection of objects that can be counted by that number please?
I feel like it makes very little sense, sorry
You got more likes so maybe no
"Let's choose something universal, that even aliens could understand!"
"like this string of undecipherable characters that encodes Melo's number in lambda calculus!"
Maybe the aliens only have an old Nokia, an Australian data plan and a book on lambda calculus.
lets use weed, that's universal (shut up you dont count)
try it holmes 420 * 420 * ONE QUARTER. of weed. see what you get!
No he wasn't talking about that specific example.
he was talking about the lambda function in general, not Melo's number in lambda.
Lambda calculus is an extremely natural way of representing general computation
@@atomictravellerThe answer is 0... It was 420, we did done smoke that shiz!
TREE(3) gonna be shaking in their boots when TREE(4) walks in
it is significantly larger
can't wait for the character introduction of TREE(TREE)
Can't wait for Forest(Tree)@@robocatssj3theofficial
Imagine when TREE(Melo's number) drops
@@robocatssj3theofficial TREE is just a function and has no value without an input so TREE(TREE) isn’t even a number. It would be like saying “5 +” is a larger number than “5”
TREE(TREE(3)) on the other hand…
6:10
>watching this on phone at low volume
>"Invented by JonTron"
>??????¿
I’m so glad he showed a picture of the guy at the end, otherwise I would’ve genuinely left this video with the impression that JonTron made contributions to the field of mathematics
I mean, it's gotta be at least 3
I'm no mathematician, but i bet it's also larger than 4
You think it might be bigger than 5?
@@Zeero3846 these are great points, I didn’t think of that :0
I can only count to 4
I can only count to 4
I think it’s bigger than 6, maybe 7, but I’m not so sure about the second one.
Please don't make Lambda calculus into a game lol
it already is, check out the incredible proof machine
Please make.
too late, it's already happening. no one, not even CodeParade himself can stop it. aaaaaaaaaaaaaaaaaaaaaaaaaaaaa.................... lol
PLEASE DO
it's already a thing, the incredible proof machine has a section on typed lambda calculus, although it's more of a construction puzzle than larger growth hierarchies type of game
Note that the "must include instructions to compute its value" makes a very big difference. There is a sequence called the Busy Beaver which is a well-defined sequence of finite integers, but that is proven to grow large faster than ANY sequence of numbers that can be computed. So, for example, the number BB(11111) is certainly much bigger than the Buchholz Ordinal - but (despite it being a specific integer) there is almost certainly no way to prove what its exact value is. For more info, check Scott Aaronson's classic essay "Who Can Name the Bigger Number?"
that's correct.
the Busy Beaver grows so fast that it's not computable in any way.
in fact, the 6th Busy Beaver has been proven to be, at least, over 10↑↑15.
sooo... how big would be BB(BB(6))?
absolutely right
I just have seen a video about it since the B(5) was proven.
I thought maybe thats why RUclips recommended this video to me and now I stumbled over your comment haha
@user-ir8er1bh4q I didn't see that video, but yeah - I expected this video to be about the BB(5) discovery before I clicked it
This video is "Let's lower bound the Busy (binary lambda) Beaver(140 * 8)"
"We should include all the necessary instructions to actually generate the number for it to count."
Dammit, there goes busy beaver stopping times...
Ope i just made a comment abt busy beavers, are they excluded somehow?
@@user-ce5sh5bd4f They're not excluded if you can prove what the program actually is for a Turing machine that can be described in 140 bytes. That's a big IF considering we only just proved BB(5) this month after decades of work, and may never even find BB(6).
The proof of a busy beaver number BB(N) requires you to prove the halting behavior for each possible Turing machine with N or fewer states. Then for all the ones that do halt, you need to prove which one takes the longest to halt.
I'm not an expert or mathematician, I know the halting problem is undecidable in general. I don't know whether any specific individual Turing machines exist for which a halting proof cannot exist.
One thing we can be reasonably sure of though is, there are bigger numbers than CodeParade found which can be expressed in 160 characters, and almost definitely even in the 49 characters needed to express Bucholtz tree ordinals.
Easy 0/1
@@user-ce5sh5bd4f busy beavers are not computable because of halting problem. it's explained in the video though not mentioned
huuhuhuuhuhuhuh you said beaver
it's wild how infinite chess prepares you for this
Clicked on the link thinking, will we get our fair share of large countable ordinals? And I wasn't disappointed.
Oh, ♟ I read that as 🧀
@@JorgeLopez-qj8pu "after my uncountable hours of training with the infinite cheese, i am finally ready to comprehend the realms of near-infinity algarisms. LETS GOOOOOOO"
@@JorgeLopez-qj8pu are you one of those pesky infinite-mice?
Bro I completely agree
When I was 10 I said I wanted to be a googologist but I became a computer scientist instead. I'm happy with the choice I made but man big numbers are cool
10 years old and dropping ‘I wanna be a googologist’
@@Thoth0333 there was some BBC mini documentary about infinity that included mention of Graham's number and I think little me just wanted the possibility of naming a number after myself
I've been told computer scientists just google for answers in stack overflow all day long tho
I don't think a googologist's salary can pay the bills man. You can think of ten to the vigintilionth power, but that 10 in your pocket has to last you till the end of the month
@@neoqueto you're about 15 years late but I'll tell my younger self that when I can
"Whatever you say plus one 🤪"
The idea behind adding the limit of an SMS is that it prevents you from just +1ing a number to produce a bigger number. Once it's as long as an SMS, you need a fundamentally new idea for computing a number that's bigger. Obviously in this video the number wasn't maxed out but pretend it was or just shrink the limit to the final size given in the video.
2:59
@@James_3000i lost 😔
@@James_3000+1 … i won
Than take tree(that number+10)
I once delved into this very briefly, and the coolest notation I found was conway's chained arrow notation.
For example, Graham's Number has an upper bound of 3->3->65->2. This is just 11 characters!
I looked up how it compares and apparently it's at f_w^2(n). I'd never have imagined there's a need for a faster growing function than this one.
Yeah grahams number itself is around f_w+1(65)
TREE is above SVO
chained arrow notation is at f_w^2(n) Graham's number is defined using only f_w+1(n)
Yeah, I don't think there's any need for a faster growing function (hell, there's hardly a need for a function growing this fast either), but it is very funny seeing how far we can push it
I think the coolest notations are Strong Array Notation, Bashicu Matrix System and ω-Y Sequence, able to go FAR beyond the Buchholz Ordinal (that is, ψ(Ω_ω) where _ means subscript)
Didn’t know Jontron was into Lambda Diagrams
Exactly what I heard haha
I thought he said John Trump who together with Van de Graaff developed one of the first million volt X ray generators 🤷♂️
@@nahkaimurrao4966 small correction: his name is Tromp, not Trump
nah JonTron is more into white supremacy
New googology series from CodeParade? Can't say I'm anything but excited.
You should have explained omega and ordinal numbers a bit more thoroughly because I have a hard time understanding what the omega is even supposed to do. Please explain.
I recommend Naviary's videos 'Mate-in-Omega' and 'The search for the longest infinite chess game' which explain what ordinals are in this context.
So you have this chain of functions, each one is the previous repeated. f0(x) is 'the next number', f1(x) is repeated f0, f2(x) is repeated f1, etc. What fω(x) does is it takes its input and outputs fx(x). This grows faster than any of the previous functions, no matter how large it is. Imagine f-one-billion, for example. That sure is a very fast growing function, and for small inputs it would in fact grow faster than fω. However, fω eventually catches up, and by the time the input is one billion, the two functions are identical (f-one-billion(billion) vs fω(billion), which turns into f-billion(billion), literally the exact same number). After that, fω dominates, since the f-number it resolves to becomes greater than one billion, obviously beating out f-one-billion. This property of fω can be applied to any finite number, so fω is 'stronger' than any finite number, and that is why an infinite ordinal is used, because ω is the number that 'comes after' all the integers.
Best video you can find for this IMHO is Vsauce "How to count past infinity"
I studied all of this stuff in a course called "computabilty theory". It was one of the weirdest courses i ever took. I think it has almost none real world practical applications but it was incredibly fascinating
Sometimes those are the best classes you can take. Even if you only just learn how to think differently. Sometimes the facts are just so fascinating.
Some of it actually is useful as a computer programmer.
For example, many seemingly simple or straightforward things that you can really try to code an algorithm for are actually the halting problem in disguise, or similarly “undecidable” in the most general case. For example, comparing 2 black box functions for equality. Recognizing that very thing once saved me days of futile coding. I had a public API that internally required comparing objects for equality, and the objects could store generic functors (c++ lambdas). I realized that writing the bug free “==“ this object needed was equivalent to solving the halting problem; it was impossible. If I’d not known some computability and complexity theory I could’ve easily wasted days trying to find, write, and test the nonexistent algorithm I was looking for. Instead I realized in about an hour that a bigger rewrite was needed. The only viable fix was to change the design.
11:07 Oh, John _Tromp_
I was wondering, "Wait JonTron is also involved in advanced mathematics? There's a professional mathematician who decided to borrow the name of the controversial entertainer JonTron?"
@@MrQuantumInccontroversial is putting it lightly
@@pootis1699 what did he do?
@@pleaseenteraname1215 IIRC a bunch of anti-immigration “we need to stop the great replacement” stuff.
@@pleaseenteraname1215 Jontron articulated a commonly held political view (held by a plurality of voters or even a majority in Europe and America) that is denied political representation in all liberal democracies.
The Lambda Calculus inspired Lisp, one of the oldest computer language families still in use today; roughly the same age as Fortran.
Fortran could do with a little more Lambda calculus. But I think that the Fortran-lang org needs to first decide to implement things that they are procrastinating for 30 years, like exception handling.
Don’t forget Greenspun’s tenth law.
is that a half life refurance
@@robproductions2599 λ has some use in quantum mechanics, AFAIK. That said, it has no real relation to the calculus.
the funniest part of this video is the fact that the people who jokingly in the comments go "ahaha what you said + 1 😜" are actually exactly right and in fact, the solution to the question involves the maximal amount of that exact annoying instinct
What you said +∞
@@kazedcatInfinity isn't a number...
@@kazedcatYou can't add infinity to something, it's just gonna be infinity!
@@emmanuelfiorini2145 yes I can watch me do it. ω+ω=ω×2
@@emmanuelfiorini2145 You can add things other than numbers.
From 4D golf to code golf.
Lambda Golf.
"That's Numberwang!"
"Let's rotate the board!"
_contestants rotate into 4D_
That’s Wangernumb!
Das ist numberwang
Look, Mr. Show proved that 24 is the highest number, and that settles that.
this is a quest for the largest, not a quest for the highest. don't even get started holmes
@@atomictraveller well then it's 40
24 plus 1
@@rsyvbh Not quite literally. The number with the largest _value._
And by value, I mean mathematically, not artistically.
End of sponsored segment:
1:05
Thank you queen
I've been waiting for you to get back to this kinda content. I love your work, devlogs and all, but this stuff takes the cake and makes me want to learn more
We can't be sure whoever is deceiving our text message understands binary, therefore the largest number that definitely definitely fits in a text message is 1120.
Deceiving?
@@StefanReich minor spelling mistake
Who’s to say the recipient knows decimal? What if the recipient can’t observe things in any way? What if they don’t have a valid SIM card?! What if there is no recipient? What if we’re all alone in the universe with nothing but binary lambda calculus to keep our brain warm? What if we don’t have a brain to come up with an answer to this question? What if there wasn’t a question in the first place?
Any race that can create a radio receiver would certainly know about binary.
I would say that binary is more natural to come up with than decimal. Like sure we came up with decimal first, but that's because we have 10 fingers. If some aliens had 8 fingers they would come up with octal first. But everyone would stumble upon binary when they would try to make stuff like computers.
According to vsauce, the biggest number is 40.
33* 40 is not a number
It's 1,320.
40? Like how many cakes Lex Luthor stole?
For Cosmic Encounter cards, yes
if u watched that video it's 1=0
7:40, the halting problem is about arbitary programs with arbitary inputs, you don't have that here, you've a fixed program (The lambda interpretor) and a limited range of inputs (166 characters).
Indeed
It's gotta be 40. It's the largest number by surface area!
VSauce reference
According to Vsauce, 40 is the biggest number
sometimes you gotta think outside the box
I went down the rabbit hole of Lambda Calculus a few weeks ago. I had a headache for about 2 days after.
You had a headache for λf.λx.f(f(x)) days? Oof!
I've seen a lot of videos on big numbers, but it was really cool to see how they can be encoded in smaller and smaller ways.
>let's not use a programming language to define the number
>uses a pseudo programming language instead
Using Lambda language assumes the receiver understands what program to use to run it.
Or you can just post a link to the definition of a large number.
Using any language assumes the receiver understands what "program" to use to run it.
Doesn't matter if it is English, C++, or otherwise.
We have no "solved" way to encode information in a way that can be universally understood.
If you post a link to the definition of a large number on the English Wikipedia, to someone who doesn't speak English, and doesn't have the internet, then that is as intelligible to them, as well... receiving a Lambda Language program.
Bignum Bakeoff?
512 bytes of C code if I recall correctly. Not counting white space.
Pretty sure the winner created a program that implemented lambda calculus. Had to go look, third place was f w^w (2↑↑35), second was f epsilon0+w³(1,000,000), and I'm not even sure how they figured out first place.
Calculus of Inductive(?) Constructions, weaker than lambda, but guaranteed to halt. Would have been interesting if CP touched on this. Like he even touches on binary representations in the video. As I understand it, that's basically what the BnB winner did:
Look through every binary representation of CoC (of some initial length) and calculate what the output is for each one, always keeping track of the biggest output.
....And then do the whole thing again using that big number as the length of the binary representation for this next round.
....And then do that process,... 9 times.
So on the very last round, it's looking through every single binary representation of some absurd length.
Ah well, a followup video is always possible.
Actually now that I think about it, CP would *have* to know about the BnB winner. So I assume that in whatever game he is making, the "final level" must be solved in a similar way. And he left it out of this video to obscure the solution a little, make it a bit more a surprise or narrative twist.
The thing about TREE(3) was that it was supposed to be the largest “functionally useful” bit of math, i.e. something that we could actually use to solve an actual applied problem.
Does Buchholtz do the same, or is it still theoretical?
Buchholz itself I doubt, but there's SCG that's used in math and it's a function that grows as fast as the Buchholz Ordinal under the Fast Growing Hierarchy (that f function at the end), but no function used in actual math is faster
Just a thought exercise, but I really liked that this ended up being about lambda calculus, thanks
this is the second video on lambda calculus that has hit my feed. wild.
Not wild. It's because you clicked on the first one (or even looked at it for a few seconds without scrolling past). Now that you've seen a second one and commented on it, you can expect a lot more. The algorithm watches everything you do.
@@TheOiseau "ermmmm ackshullyyyyy 🤓"
@@ratewcropolixYou seriously make fun of people with the nerd emoji?
You know stuff gets serious when you reach the Veblen functions.
3:52 That old VSauce feeling...
Reminds me of the Bignum Bakeoff, except that contest was (IIRC) limited to 512 bytes of C code, giving a bit more flexibility. The winner implemented a program that would generate every possible expression in the calculus of constructions (similar to lamda calculus) with less than (x) symbols, evaluate and concatenate their values, and then feed that number back into itself as (x) several times in a row.
The trick is that the calculus of constructions isn't turing complete, but it is guaranteed to terminate, so it's immune to infinite loops. So the program overall will terminate... Eventually.
He's gonna make infinity into some sort of weird mechanic for his next game isn't he?
A number that makes you "satisfied enough" does not satisfy the condition for "The Largest Number".
Super interesting video. My only gripe is that I just made a video about Graham's number and TREE(3) and now they look tiny in comparison. In all seriousness though, this was absolutely fascinating.
I've thought a bit about Describable Numbers, and this fits in really cool with that.
This was a really cool and different kind of video. Love it.
Also, is the VR mode for 4D golf still planned? I've been really looking forward to subjecting my family to that.
in before codeparade makes an idle game with this principle
Sounds like something out of an idle/clicker game.
There already is one, Exponential idle
Theres Ordinal Markup but its a bad game
Try Ordinal Pringles instead (actual name)
interesting
I was going to see a lambda calculus video for the first time in a year, what a coincedence!
At the end the biggest number that can be said as a type of constant is
lim x->∞( x )
No matter which number type or function you present it couldn't possibly be bigger than THIS or else it will break the rules of mathematics
Thankyou
This makes me want to learn lamda calculus
my condolences
its honestly kinda fun to program in but you need to practice functional programming if you've only done imperative programming before, codewars has a lambda calculus section if you actually wanna try it
Get that SICP in you baybeeee
get well soon
oof
"What's the biggest number? [...] And I don't mean infinity"
Proceeds to mention transinfinite ordinals later
Ordinals mentioned in the video are not themselves the numbers, but represent growth rates for functions. There is nothing infinite about them used in that way.
@@CodeParade If the growth rate is infinite, then any input past 1 is going to be infinity, or transfinite.
@@CodeParade nerd
@@MrQuantumInc
That is not what he meant.
Imagine comparing a linear to a quadratic function.
Lets say we have f(x)=nx and g(x)=x^2.
n can be any finite number here. It could be 10, it could be 10000 and it could be TREE(3).
Picking a very large n would of course make the function grow quite rapidly while g would stay quite small in comparison for quite a while.
However no matter how big n is, the quadratic function will always catch up eventually. In this case it is obvious that g(x) will be larger for x>n. For other functions those points may of course not be obvious.
And here you can think of the quadratic function as the omega of the linear function. Because you no longer have to pick a ridiculously large n to make it grow fast and can instead just define x^2. Its much simpler and will still grow much much faster in the long run. And yet the quadratic function has nothing to do with infinity.
@@MrQuantumInc They explicitly don't have infinite growth rate as both demonstrated in the video as well mentioned in the comment above
i simply love this video. it explains everything that it should explain, and it presents a thought process which tries to avoid trivial solutions and lack of rigor. also there are 0 mistakes
"The largest number possible using lambda calculus plus one"
no
@@user-pc5ln1rc2p yes multiplied by whatever you say + 1.
11:17 THIS WAS YOU?
Legendary W
surprised me too
W
Can't wait to see what game you make of this.
There is no way you posted this after my 1 week lambda calc to combinatory logic rabbit hole 😂
I was like "I like your funny words, magic man" for 80% of this video
The biggest number is PIOC(1). PIOC is defined as being 1 greater than any number you suggest.
I suggest PIOC(PIOC(1))
@@aleksakocijasevic6613 Nope, PIOC(1) > PIOC(PIOC(1))
"The biggest number you can think of +1."
PIOC(PIOC(1)) completely breaks that though as that's a function thats greater than 1 greater of any number you suggest. Like if "a" was my variable for largest number possible then
PIOC(a) = a + 1
POIC(POIC(a)) = PIOC(a+1) = a + 2
a + 1 < a + 2, therefore the recursive function is larger than the single function.
You would have to add an arbitrary constraint that doesn't allow for it to be recursive, because otherwise I just proved 1 = 2 if the function holds true for all possible inputs.
@@MyNameIsSalo Then I suggest (PIOC(a)/PIOC(a)) / (PIOC(a+1)/PIOC(a+1) - 1)
Mere days after I played Hyperbolica you show up on my feed again, nice
Ascii is a 7 bit standard and way back when SMS was created using less memory was still a thing that software developers cared about so they didn't have an unused 8th bit like PC encoding does (though PC encoding was more future proof as that 8th bit could later be used to safely create UTF-8, by extending the regular encoding)
No mention of busy beavers?? Sad!
There are no busy beaver numbers with known values larger than the one in the video that I'm aware of. The BB problem itself is uncomputable so can't be used as a program.
@@CodeParade Totally makes sense, given the restriction to computables! Still, there's no denying they would have been a cool topic to touch on.
@@moonsweater it's an already well enough covered topic I think. And I think the only interesting thing about busy beaver number is that once we know one of them we got to own that size of Turing machine and can predict if it halts properly, and the use case there is that if we can describe a problem within that size of Turing machine we can simply prove it by calculating it.
But since we can't even confirm the size of BB(5) that's kinda useless.
@@FlameRat_YehLon As of recently, *we can’t even confirm the size of BB(6) :)
@@FlameRat_YehLon BB(5) was proven to be 47,176,870 a week ago
Casually brushes against Berry's Paradox.... Keeps walking....
This was super cool! I knew about omega as an infinite ordinal, but I had no idea you could go this bonkers with it! I def have some wikipedia rabbit holes that I need to traverse, might have to TSP a good path through them ;)
Big Numbers from CODE PARADE?? This is gonna be great!
Love this!! Reminds me of those old Vsauce videos
No mention of the Loader's number?
It is larger than the one in the video! But I couldn't get it to fit into the 140 bytes, so I don't end up mentioning it.
Two of my favorite bits of math: Lambda Calculus, and limits of computation. Yay!
I fricking love this stuff, nerding out so hard over here 😂
what ever happened to "can't define things off-screen" and "unfair that there's no way to compute its value"
yes, old ASCII was designed with just 7 bits per character... that's 128 different characters you can encode.
we only have 26 characters and 10 digits, plus a handful of special characters.
128 characters will totally suffice... it's not like there are other languages and scripts out there, amirite? :D
If we start including non Latin based languages, Chinese simplified adds over 30,000 unique characters, so yeah, it makes sense that they’d stick to just the Latin alphabet, which covers most of the user base use cases
Choosing a different language does not change that you have X amount of bytes.
@@SioxerNikita correct, my friend. I'm a bit puzzled why the presenter shows binary and then converts it into some... well it looks like an 8-bit self-contained set. He already said the characters are ASCII, right? Anyway, SMSs are sometimes written in UCS-2 as well, but he could have just stopped at binary, because GSM 03.38 allows binary. BTW, he'll need UCS-2 for his lambdas and whatnot.
@@rebeccachoice An SMS doesn't actually support "characters" in the end, it supports up to 140 bytes.
This means 140 characters with ASCII (1 byte per character, or 8 bits specifically) and 70 characters if it contains Unicode characters, as a Unicode characters takes two bytes (or 16 bits to be specific.)
The stuff he shows is just arbitrary representation of that... It doesn't matter if he shows ASCII or Unicode, what so ever... It is bits...Pure bits...
It's like you ... almost get it.
@@rebeccachoice Woops, got one thing wrong. It would support 160 characters, as the basic SMS format is 7 bits per character... but again, completely irrelevant, because... the characters are simply just a representation of the bits.
very nice video! glad to see a video in the area of math i study in
Rayo’s number walks in, looks at this infinitesimally small value, can’t even see it, walks away.
4:54 is that a half life refurance?
Loader’s number, Busy Beaver function, Bachihu Matrix System, Pointer Matrix system and so on. These are all growing much faster than Buchholz Ordinal.
It's restricted to computable functions.
Loader's number was the winner of a competition to see who can write the biggest computable number in 500 characters in C.
Meaning it can't be expressed in 140*7 bits, or at least no one has figured out how to do it. So it doesn't count.
Busy Beaver isn't computable and so also doesn't count. It's equivalent to saying "a largest computable integer expressible in N bits exists". This is true, but that doesn't tell you what those bits actually are.
@@iankrasnow5383 980 bits?
I was thinking this is going to be a set of all infinities
Once, when I was a kid, I asked my dad what the largest number was, and he said "N1" I asked him what it meant, and he said it was always 1 higher than what you are thinking of. I thought it had some mathematical basis, which took me way too long to realize it is a pun. Since then, I've always used it as a short hand for the largest number because no matter your number, you can always add one.
> It's weird, it's 7 bits per character
That's not weird at all, thats how ascii works
Great video! Personally, I found the conclusion to be slightly unsatisfying, at least compared to what I was expecting. It seems to me that the answer is to find the biggest lambda calculus algorithm that can fit in n bits, however that doesn't really tell me anything about the algorithm or number itself. As a layman, I would appreciate a solution to this question from the perspective of the information density of lambda calculus. Certainly, higher order functions must take more bits to define, right? So, if we can find some sort of pattern to how the function sizes grow, I think it would provide a better resolution to this question as opposed to "hey, this function fits, good enough".
i have thought about this stuff before, although not knowing about lambda calculus, only really knowing about the arrow up symbol used in graham's number and how you can add a number to it to simplify it, quite fun exercise
Encoding a TM in raw binary is actually pretty easy: 2bits for choosing what bit to write, 2bits for choosing to shift left or right, N bits for jumping/transitioning to another state. N = ceil(log2(number_of_states))
Since each state has a fixed-size (at "compilation time"), the state ID can be considered an index (a pointer multiplied by some factor), so we can simply concatenate (ordered by index) all the states of the TM into executable memory
6:00 Lambda Diagrams FTW!
This number is insanely big, but it's practically zero compared to infinity. Let that sink in.
A big problem that you haven't addressed is that there is also a limit on which characters are allowed in an SMS message - some greek characters are allowed there, but many are not. Some functions could then be used if that character is allowed, but others may need to be defined every instance or possilby present in another way that would be less efficient
I think this video could benefit a lot with extra explanation about all the numbers mentioned.
Try finding out the last digit of pi next
@dontreadmyprofile Stupid bots😅
10:57 1729? That's a rather dull number.
what did ramanujan and the english guy smoke to memorize the propierties of 1729 what the f
I saw the video title in my notifications. I saw the channel name. I knew this was gonna be incredible 👍
Also, the music gave me a strange but good type of vibe...
1:35 ASCII was made with 7 bits per character, so the 8th could be used for parody checks
thing is there is no largest number, since the number of 0’s could go forever, but then forever is infinity, but then that means we could never get a largest character
Which is why he limited himself to those describable in a sms.
@@antonf.9278 oh
6:18 Can we add a 3rd dimension?
It's crazy that once you get to fast enough growing functions, f and f composed with f are essentially the same. But there aren't good ways to portray what "essentially the same" means other than to compare large numbers and show that these sorts of operations don't change their places on the list.
Where things get interesting for me is that all of these computable functions are bounded above by certain non-computable functions. This means that as wild as these functions get, it's possible to score their size using relatively small numbers.
We could, for instance define a function called "Smooth Inverse Busy Beaver" or SIBB(f) that returned the smallest x such that a BB(x) ≥ f(h(x)) for some fixed function h(x). (Ignoring the difficulty of smoothly extending this from the integers to the reals. Ignoring how to best choose h(x), although we could choose h(x)=10 and be fine give or take some hand-waving).
We can't compute SIBB, but it does have a value. If we had an oracle that gave us its values, we'd see all of the computable functions mentioned here mapped to some relatively small (
The answer is like the line from The Phantom Mencae (Its been used elsewhere first, but its where I first heard the phrase) "Theres always a bigger fish" you can always go higher. No matter what you try its always possible to add one even if it dosent make sence you can still in theory add one to make it bigger
2:01 tetration
Calling it now, it's gonna be Rayo's
Go Numberphile
no, because Rayo's number is not computable.
@@Cypooos It's even worse than that, Rayo's number is not even well defined.
Got the game in the sale, I'll wait for VR to actually play it though, looking forward to it 😁
All of these get put to shame by large Busy Beaver outputs.
watch me add one
*Ackermann function iterated one googolquadriplex times on the superfactorial of one googolquadriplex.*
Thats not even close to G(G(64)).
I'd love if you continued to upload more content in the math edutainment category
Omgomgomg codeparade video on the lambda calculus, i am in heaven
The largest number that can fit in an SMS message is null.
Numbers are abstract mathematical concepts, they can't be put in a SMS message. SMS messages may contain information, but not concepts. Concepts exist in human brains.
Okay, I understand why you might say I'm being pedantic and philisophical. This isn't what was meant, right? We'll consider an example.
"Graham's number" was not allowed but "
If math cared about this, wouldn't math simply unexist? Math itself is a concept too.
@@slamopfpnoobneverunsub5362 Math is a concept, it doesn’t have a physical existence outside of our minds
I agree, this was a very weird video where he kept walking in circles and now at the end I'm kind of lost as to what was the point of it all. Just like you said, there should've been some context and rules to this "problem" that made it clear what sort of tools we have at our disposal
@@andrew-ud8pe Yeah, I agree, he probably should’ve explained what knowledge was assumed.
very valid point, that's what i was thinking during the lambda notation segment