Quest To Find The Largest Number

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
what's the biggest number no really I'm serious and I don't mean Infinity I mean like an actual largest number you could write down I promise there's a real answer so come with me down this crazy rabbit hole because we're going all the way to the [Music] bottom but first today's sponsor brilliant brilliant is where you learn by doing with thousands of interactive lessons and math data analytics programming and a I brilliant is uniquely effective to help teach you difficult subjects from the ground up build your critical thinking skills through problem solving not memorizing I really enjoyed their programming with python course with so many interactive examples brilliant makes it really fun to learn with bite-sized lessons you can do every day whenever you have time to try everything brilliant has to offer for free for a full 30 days visit brilliant.org Cod parade or click on the link in the description you'll also Al get 20% off an annual premium subscription thanks brilliant so back to the question we need to set some kind of limit on how much space we're allowed to use to write down this number but the exact size we choose won't really matter because whatever Technique we come up with should generalize if we want to use a different size so just for fun let's limit ourselves to the largest number that could fit in a single SMS text message that's 160 characters or 140 bytes yeah I know it's weird for some reason SMS is only seven bits per character naively we could just fill up the whole thing with nines and that gives us a number about 10 to the 160 so we'll add that to the leaderboard but obviously we can do better than that I mean I was able to write it on the leaderboard in way less space if we include basic math symbols we could instead make a Power Tower like this which is already unfathomably large but this might as well be zero compared to where we're going I mean while we're using math symbols technically we could have a nine followed by 159 factorials that's definitely larger but come on that's still smaller than well-known numbers like grams number in fact couldn't we just write Gram's number or Gram's number to the power of Gram's number or G number followed by as many factorials as we could fit I guess but if we can use Gram's number what's stopping us from using any other large number you can think of the problem is we can't Define our number off screen and then just write its name that's cheating because really that's using more symbols and bytes than the rules allow it also wouldn't be fair to only write a definition of the number if there's no way to actually know its value it's uncomputable we should include all the necessary instructions to actually generate the number for it to count fine then here's a Python program that would theoretically generate grams number if you had unlimited computing power and It just fits into the 140 bytes okay fine that seems fair to add to the leaderboard but is python really the best way to make a large number surely there's programming languages that are more compact allowing more space to make even larger numbers for example here's a significantly smaller grams number program written in hasell but now there is another dilemma if we can just pick any programming language there could just be some obscure language that happens to have the exact function or number we need as part of the syntax I mean at some point is it really any different than just writing down the name of the number what should even count as a valid programming language where do we draw the line should python even count what about math symbols in general that's kind of like a language okay if we want to Define numbers with programs we need something as basic and Universal as possible something so simple even aliens could decipher it and there's a few candidates for that the first is a turing machine which is an infinite tape with the a set of States rules and starting conditions the head reads the tape and then changes state flips bits and moves the tape it's certainly better but it still feels a bit clunky and artificial and It's tricky to see how you'd encode a turing machine into a message in a universal way luckily there is an even better option and that's Lambda Calculus if you've never heard of it before it's basically a programming language that only has one function the Lambda plus parentheses and variables that's it literally nothing else no numbers no data structures no math strings Loops conditionals anything that's what makes it so Universal you define all those things yourself nothing is taken for granted so how do you even Define a number in a language that has no numbers the most common way in Lambda calc is with something called Church numerals in that system the number of times you apply a function represents the number so not applying F at all is zero applying f one time is one applying it twice is two and so on to make loops and conditionals you can use certain Lambda Expressions called combinators in fact there's a whole alphabet of combinators from a to Omega for all sorts of things you'd expect effect in a programming language it can often be hard to follow what these Lambda Expressions do but one cool way to help visualize them is with these Lambda diagrams invented by John Trump it's a really nice way to directly turn linear code into 2D images and there's just something very satisfying about it so here's yet again another program to make grams number but this time as a Lambda expression it does take up quite a bit of space though but we don't actually need this many symbols anymore in fact there is a natural extension to something called binary Lambda calculus or BLC which uses different bit patterns to represent the symbols in a much more compact way using BLC we can actually compress this down to only 15 bytes and it can get really compressed here's another program that outputs a number even larger than GS number number that's only 49 bits long yes bits not bites that would fit in only seven characters of a text message that's great we have a super Compact and Universal system to make really big numbers so what's the answer what's the biggest number well unfortunately it's impossible to know the exact number I mean it is out there somewhere but even if we had unlimited comput computational power to check every possible bit pattern there's still no way to algorithmically check if a Lambda expression terminates or expands forever in a loop it's the classic halting problem but that doesn't mean we can't get close let's go back to some classic operators each one can be defined as repeating the previous operation that many times for example if we have a function which Returns the next number apply applying that repeatedly is just addition and applying addition repeatedly is just multiplication and next is exponents and that can be extended as far as we want but since we're using a number here that number could itself be an expression to determine which operation we want to do so let's define this new expression where we plug in the same variable into the operator this expression is often written as f Omega yes that Omega is an infinite ordinal but to be clear there's nothing infinite about this function it just grows faster than any finite number you could put here as X gets larger so it's just a useful notation okay but let's keep continuing the pattern what would happen if we apply X applications of f Omega well obviously that's F Omega + 1 and of course that could go on forever and hey what do you know we have another number here that could plug into itself and continuing the notation we now have omega plus Omega or 2 Omega and we could keep doing this to get 3 Omega 4 Omega hey look another number plug it into itself for Omega Omega or Omega squared and as you can imagine this process can continue for a long time you can get omegas to the power of omegas go past the transfinite omegas into the epsilons you can run out of Greek letters and parameterize that let's just say it gets insane and it's really really hard to describe just how fast these functions grow and how large these numbers can get so I think now we have all the tools we need to finally answer the question what is the fastest growing largest ordinal function we could fit into a text message well the fastest one I could find that definitely fits is the buck holes ordinal it's really hard to describe just how fast it grows but it does have a nice tree based construction similar to the famous tree function but it's much much faster growing than that surprisingly the Buckle's ordinal function only takes 49 bytes at most so there's still a ton of room to do way more to it but what you have to understand is that when you get to this level of growth it doesn't really matter what number you put here or how you construct it it's not going to change its position on the leaderboard even if we apply it to itself that many times we're only adding one to the ordinal the next fastest growing ordinal will just completely dominate it no matter what we do so just for fun let's plug in these numbers and call it a day this number number dominates almost any other well-known computable number so I think I'm satisfied enough to end it here a huge shout out to John Trump for all his help in researching this video he pioneered a lot of the techniques I've used in this video so big thanks for that and before I go don't forget to check out my game 4D golf on Steam it's actually on sale for a limited time right now there's still been a steady stream of updates with new courses on the Steam Workshop new languages and a ton of overall improvements and it really supports the channel and thanks for watching
Info
Channel: CodeParade
Views: 136,255
Rating: undefined out of 5
Keywords:
Id: Mzgw6zMtipQ
Channel Id: undefined
Length: 11min 43sec (703 seconds)
Published: Tue Jul 09 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.