Algorithms In The Blood: The P vs. NP Problem

Published Apr 12, 2016, 6:44 PM

What does it mean to solve a problem in our universe? That's a trickier question than you might think, with some fairly high-stakes ramifications in the worlds of computing and even philosophy. In this episode of Stuff to Blow Your Mind, Robert and Joe explore the inherent logic of problem-solving in our universe, with some attention to a special example of an outstanding problem in computer science: P vs. NP.

Learn more about your ad-choices at https://www.iheartpodcastnetwork.com

Welcome to Stuff to Blow your Mind from how Stop works dot com. Hey, welcome to Spectable in your Mind. My name is Robert Lamb and I'm Joe McCormick. And today we're going to be taking a look at issue in computer science. Uh funny enough, I'd say that's not one of the sciences we dip into very frequently on this podcast. Yes, and I mean really, we should probably just remind everyone to stick with us, trust us on this one. Uh, don't be scared off by the computer science thing, don't be scared off by the P versus NP thing. It's it's it's all gonna make a type of sense at the end, hopefully. But I'm wondering if maybe we should dip into computer science more often because or at least wherever we can find a way to make the contents of it reasonably concrete, because, let's be honest, as we've discovered in researching this episode, it's very abstract, very difficult, and a lot of times hard to come up with ways of explaining that makes sense just just talking about it without visual aids or watching programs execute as an example. Yeah, it's definitely one of those topics that it's a swimming pool of a topic in which there is no gradual deepening from the kitty area to the deep end. It's just shallow, and at times it feels too shallow, and then you're immediately out of your depth. Yeah. But if you're thinking, kind of computer science, really does that fit with the show? Hold on for a second, because I think it does. Um. Computer science to me is a fascinating subject. Uh, and it's not just limited to how computers work. So my advice is, when you think about the idea of computer science, forget the computer sitting in front of you. That's not all it is. Computer science is really something more akin to the philosophy of logic, understanding the the underlying sorcery of how logic and math work in the universe we inhabit, and especially the science of how problems are solved, and certainly when you start bringing math into the equation here as well, I mean you're talking we're talking about the essentially the very fabric of the universe. We're talking about either the fabric of the universe, either the way the universe works or this perfect creation that humans have come up with that so accurately describes how the universe works, and that is pretty mind blowing territory. Well, either way you look at it, there is something mystical about about the math that we walk on every day, that you know, that makes up the fabric and the logic math beneath the math beneath our feet. You know, if you go with the Max teg Mark idea of the mathematical universe that some people don't like this idea because, like I don't understand what that means. But at least it's a very intriguing idea. I think it. His idea is that the underlying basis of all reality not just as described by math, but is math, and the universe is a mathematical object. But we're gonna get back to this idea of problem solving because today we want to focus on algori rhythms and on the inherent logic of problem solving in our universe, with some attention to a special example of one really interesting outstanding problem in computer science, and that's the P versus n P issue. If you've never heard of this before, don't worry. We'll explain what the terms mean in a simplified manner. And uh I at this point also do want to give a shout out to our listener Jim in New Jersey, who has been encouraging me over email to tackle this issue for a while despite all the challenges, and has also sent some really helpful, uh really helpful guides and explainers on some stuff he he learned about this when he was in graduate school. Yeah, indeed, and uh and I think this is great too because this episode is coming on the heels of, first of all, the Wicked Problems episode that came out of a few weeks ago, as well as the more recent Cargo Cults episode which in which we discuss outside context problems a little bit as well. So it's it's perfectly fitting that we would discuss another problem. Well, well, what does it mean inherently to solve a problem? If you get into the theory of problem solving? What what what does this process look like? Well, when it comes down just to the basics open and this also kind of gets into the whole Wicked Problems area of like what's what's missing when you don't have, um, you know, everything you need to solve a problem for for a real problem, you have to be able to course do to find what the problem is a lot of a lot of attempts fail right there. Yeah, you've got to you've got to be able to say this is the thing you know, and then you and then you have to be able to measure your success and check the solution. So you essentially have to be able to say, hey, this is wrong because of X, and then if you then figure out what X is and see if the equation balances out. Um, it sounds pretty simple. But like I said, as we discussed in Wicked Problems, that's uh, it can be very difficult to do, especially in you know, the very complex social situations when you're dealing with with certainly some of the larger problems that we're going to talk about here, or even if you want to go into the simplest level, well, I mean depending on what you would call simple. In fact, what we're going to be getting into today is directly referred to as complexity theory. Uh. So maybe it's not so simple, but at least simple in terms of not involving uh phenomena in the real world, but just math, just math and logic and and true versus untrue and UH and algorithms. So I think it's time to pull back the curtain a little bit and reveal some of the deep weirdness of the nature of algorithms and problem solving in our universe. So let's look at this P versus MP problem. This is something that comes from two of the great minds of the twentieth century, Kurt Girdle and John von Neuman. And in nineteen fifty six, Kurt Girdle, who's a mathematician and logician, wrote a letter to John von Neuman which kicked off this quest to solve one of the biggest questions in computer science, the P versus n P issue. Now, who were these guys, but both were heightens of the twentieth century in terms of math, logic, and computers. Well. Godal is probably most famous for his first incompleteness theorem, and this states that any adequate um axiomatizeable theory that means, a theory that's based on self evident but unprovable proofs, is incomplete or inconsistent. Yeah, Girdle's whole incompleteness theorem set. He had a couple of his incompleteness theorems essentially amount to the idea that any mathematical system that makes sense will have some statements that are true yet impossible to prove. It's sort of the idea that you can't ever know everything about a self consistent system. Yeah, And the the the implication here, according to theoretical physicist and mathematician Freeman Dyson, who has is also quite a giant in the field, is that mathematics is inexhaustible, that no matter how many problems we solve, will inevitably encounter more unsolvable problems within the existing rules. I take comfort in that measure a few tility. Yeah, but there's also John von Neuman, the recipient of the letter. And von Neuman, I don't know what you've heard about him, but I'd say he's often considered one of the most intelligent people who ever lived that we know about at least, And so maybe we call him a mathematician and a physicist, but he made contributions to numerous fields. He was a modern Da Vinci kind of you know, a polymath and so, and that includes computer science, for example, the von Neuman architecture in the history of computer design, which is basically it's a way of controlling the interaction between processing operations the CPU and the memory of a computer and this letter in nineteen fifty six from Girdle to von Neuman started this process of looking into the question of whether P does or does not equal in P. Now, like I said, we're about to explain what all the terms here mean. But I do want to note at the outset of this explanation that you know, on the show we always try to do our best to present our subjects accurately but then at the same time be understandable to the average person. And this, this P versus INP issue in complexity theory is probably the most difficult and abstract subject I've ever tried to cover on a podcast. So we'll have to do our best to explain the issue and its implications without losing you in asphyxiating clouds of abstraction. Yeah, I mean basically that the house stuff works mission overall is to demystify your science and UH topics like this can be a bit difficult because you don't want to through the explanation just mystify it even more for the average listener exactly right. So this is necessarily going to involve a lot of simplified versions of principles. We won't be able to go down uh, and explore all of the complex details behind these principles. But we hope that you computer scientists and mathematicians out there will not be too scandalized or think we're doing violence to your subject. Anyway, here we go. So we we've got to start with the concept of algorithms. What what is an algorithm? Well, I'd say an algorithm is a self contained list of instructions to solve a problem. You've got a goal, and then you make a step by step list of things to do that gets you to the goal. A common example within a computer program would be a subroutine designed to sort a list of things. That's an algorithm. Yeah, and you know, algorithms are something we encounter on a just on a daily basis, especially online. I mean Facebook, Google. Both of these depend on ever changing algorithms to decide what you see and don't see on your feeds and on your search results. Yeah, and I think that's a great example of how complex algorithms can get. You've got the simple sorting algorithm on one hand, and then you've got the stuff that decides whether you only see political articles you agree with, or whether you sometimes see stuff that's going to make you mad. So when you're designing algorithms in in a computer science arena, or really to solve any problem, but we're mostly gonna be talking about computer programs. You compare how much time it takes to solve a problem with an algorithm given the scope of a problem. So this is usually expressed in terms of inputs versus time. So I want to give a quick example with sorting. Like I said, you say, you're given a spreadsheet that includes a list of all the James Bond movies that exist currently in a random order, and you've got to write a computer program that sorts all of those lists of James Bond movie titles into a list in the order they came out. How would you do that? Now, there are a lot of ways you actually could approach the problem, and that they don't all take the same amount of time. Some are much more efficient than others. Here's one example. You could create an algorithm that goes like this. Step one, rearrange the entire list at random. Step two, check each movie in the list to see if it came out before the next movie in the list. If the answer is yes, all the way down the line, then the list is sorted correctly, and you're done. If not, start over and rearrange it entirely randomly. Now, given enough time and a small enough data set, this algorithm will eventually finish by blind luck. Is just brute force burning through computer resources wastefully in order to eventually solve the problem by blind block. But there are also much more efficient ways you could go about it. For example, you could go down the list comparing each movie to the next, and if the second movie came out before the first, you switch their order on the list, and then go on like that. Uh, and then you do that until the list is sorted. But some problems are inherently a lot harder than others, and there aren't any algorithmic shortcuts like that that we know about. We don't know of any easy way to solve them. The only thing we know how to do is do that stupid brute force method where you just wastefully burned through computer resources until it's solved by time and force. And in fact, I'd like to make a comparison here in the you know, the efficient algorithm versus brute force methods to what you might see in animals in the wild using intelligence to solve a problem. So, like if you're hunting another animal, you could use a brute force method of just running after the animal until it is tired or until your muscles have allowed you to catch it, and then killing it with the strength of your muscles. That's sort of the brute force method. Or you could set a trap, or you could build a weapon that these are shortcuts that make the process of hunting a lot more efficient. Now here's where we get to our main terms in this discussion. P and n P. P is going to stand for polynomial time, and in P stands for nondeterministic polynomial time. You don't really need to remember that for the purpose of this discussion, because we're gonna make it a lot simpler. Yeah, I mean, this is one of the problems with the topic is that like just the word this, this the the the basic idea here of P and n P. There, it's so dry and unrelated, doble, But allow us to explain. Yeah, okay, so the real difference has to do with um processes of solving problems on a deterministic Turing machine, which is equivalent to the kind of computer you'd be using right now. You know, any device you have versus a hypothetical nondeterministic machine, which in theory you could say works by magically guessing the answers to questions and then just checking to see if the magic guess is correct. But, like we said, we don't want to get too bogged down in all those details. So here's the simplified version. P is a set of all problems that can be solved by an algorithm quickly or easily or efficiently. This is the easy the list of easy problems in computer science. N P, on the other hand, stands for answers that can be easily checked by a computer once you have them, but they can't necessarily be solved easily. Yeah, so it's difficult to place this in a non mathematical context. But one way I like to think about this is in terms of written reviews for for albums, for you know, for for musical albums, um. Because a good a good review, a good music review is difficult to write, uh, and hard to find and hard to find. Yeah, like in my own experience you often find I mean, I I write many reviews of stuff of stuff from time to time, and that alone is challenging enough for me but but yeah, when you even when you're looking out of the major publications, uh yeah, it's hard to find one that feels just right. It's uh. The average reader, though, can can swiftly judge to what extent they agree with the author, obviously, to what extent the author is just blowing smoke. We've all read those music reviews where you get the sense that the the author is really using the music as an excuse to sort of write his or her own poetry. Uh there on the page episodes actually just describing what the music is like. But but the reader knows. So the reader can can can look at the material and you either believe in or you don't. Either you buy into their opinion or you don't. Yeah, so you could. You don't have the algorithm internally to efficiently right this piece of writing yourself, but you know it when you see it exactly. Yeah. It's kind of like pornography, and that's it. It's right. You might not be able to define clearly the difference between art and pornography, but you know it when you see it. Once you have that answer certificate there, you can check and by golly, it checks out. And I like that because it also gives a whole new meaning to the P and to the NP. And now, so there are a couple of other terms that matter. There's MP hard, and this means that are problems that are as hard as any other MP problem essentially. And then there's also MP complete, which is a big issue in this arena, and this is problems that are m P and m P hard. So you you can check the answer once you have it in in a reasonable amount of time, and they're in P hard. Now, the interesting thing about MP complete problems is that it has been proved in the literature that if you have an algorithm that can efficiently solve one MP complete problem, it can be transposed to solve all of them. These problems reduced to each other. So if you if you can solve one MP complete problem and a reasonable amount of time, you have found the master key. And this in the universe kind of shrinks. Yeah, in response to this, So a classic example of an MP problem is the prime factorization problem that we use in encryption on the Internet. Again, we don't want you to get lost too much here, So here's the simple version with smaller numbers than usual. Let's say I just throw out a random number, and let's say it's a number of I don't know what's a good one skulls in a pile. So let's say I give you a number. Let's say there are seven hundred and twenty one thousand, four hundred twenty one skulls in a pile. It's a lot skulls, it is. Now, I tell you this number is the product of two prime numbers of skulls in a pile, but I don't tell you what they are. Now, how could you figure out what those two prime numbers of skulls in a pile are? For a computer with numbers this small, this wouldn't be all that big a deal. But we're we're gonna have to extrapolate too much bigger numbers. But for you, this would be really annoying to figure out, right, Oh yes, because there's no simple, efficient way to do it. You'd pretty much have to get out a huge list of all the prime numbers between zero and seven thousand, four hundred one and start trying multiplying them together to see if they give you the right answer. Yeah, And in this situation, I imagine it's like the opening scenes of Terminator, And I'm probably already pretty distracted by the Pyramids of Bone and the Hunter Killer. The Hunter Killers exactly how I'm not gonna have time for all this prime number nuns. Now, since we've solved the equals in p at this point, they don't have rubber skin anymore. They figured out how to how to get through the problem to make the bio org suits. So, yeah, you're you're in a real rush here. But anyway, back to the problem. Yeah, there's just no fast, simple, easy way to solve this. And if you use numbers large enough, this type of problem is excruciatingly slow, even for computers to conquer by brute force. But let's say I told you the two prime numbers are seven hundred and fifty seven and nine hundred and fifty three piles skulls in a pile. It would be trivially easy for you to check and see if that's the correct solution. You just have to multiply them and see if you get the right answer, and it takes almost no time at all. And in fact, I really only need to tell you one of the numbers because you already know what they're supposed to multiply too, so you could just divide that by the one number. So here's an example. This is a problem that if you're going to try to solve it starting with no information, it's just going to take ages. It's going to be impossible. But if you already know a selected answer to test, you can check and see if that answer is right. Yeah, I mean this brings to mind. Uh it's a bit like trying to crack a four number code on a simple combination lock right, And I'm talking about a human doing this, not a computer. So it would take me, as a human quite a while to test out all ten thousand possible solutions, but no time at all to check a solution that someone else had provided me. So you know, I'd be there all day just putting in each one of those ten thousand solutions. But but I can easily put in, you know, uh, thirty three sixty six and see if that is correct. You found a really interesting request for help on this subject in you Oh yeah, yeah, there was because I wanted to check to make sure that my math was right on how many possible combinations. I was pretty sure it was the ten by ten by ten by ten thing. But I I did one of those searchers to just see people asking math questions online. And I found one where, um, this user apparently had a combination lock or it maybe it was like a contractor's box, you know, like at a house we had real estate agent. Yeah, and she says it's like a thirty dollar box. So she didn't want to just have it, you know, cut into and ruin it in order to get the keys out. She wanted to, but she didn't know what the combo was, so she wanted to just enter all the possible combinations to get it. And here's the here's the caveat though she knows that no number was used uh more than once and that cut it down significantly, just just more than five thousand, yeah, just like or something. Yeah. And and the person who supplied the answer on this forum, they included a list of all of them for her convenience, so, um, and I don't know how that came out. I wonder if she then took that list and just painstakingly, uh spent the time to try each one out, or if she decided, you know, actually that inputting all those numbers is not worth the thirty dollars that I would save by keeping the box attacked. That sounds like a fun Saturday, you know, on the porch in front of the box with a case of beer. Hopefully it's nice weather. But anyway, So yeah, this is problems that can potentially be brutally hard to solve, but they're easy to check once you have a certificate of the answer. Another classic and often cited example of an MP complete problem is the traveling salesman problem. Now I think something is exciting because now we have something with more of an anthropomorphic name smply scenario. It's like the Infinity Hotel. Well, I want to change it up, and I want to call I want to call this the nationwide infection problem. So imagine that you are the vanguard of an alien species that has come to Earth, and you want to land in a country, say the United States, and infect at least one person in every township and municipality in this country with one of your larvae. But you've got limited time to do it. Okay, you know, no dilly dalian around. So what you're looking for is a route that you can plan out on your alien equivalent of Google Maps directions or or you know, your Apple Directions device that will tell you how to go to every single city and township in the country only one time each in the shortest route possible. Okay, that's not easy. If you just had four or five cities, this wouldn't be such a big deal for a computer to figure out. Once you start adding hundreds or thousands of cities, how is it going to figure this out? The only way we know of is back to brute force. It could try one method, so well, you go to city A, and then city B, and then city C and then D and go all the way around the country and see how long that takes. And then it could try again with first city B and then A, and then the same from there and then so you end up getting these exponentially multiplying combinations there. It is just going to take massive amounts of time and computing power to figure out what is actually the shortest trip. Now, you might already see an issue with including this problem within in P and actually reade an interesting blog post by somebody writing for for IBM about how, under certain conditions this problem actually isn't in P depending on how you define what you're checking for, Like if you're just looking to check that a given route is a correct solution, it visits every city only once. Uh, then it is easy to check. You can check that very quickly. All right, this comes down to accurately defining the problem right exactly now. If you're looking to check that it visits every city only once under a certain mileage, that's also easy to checking. Just see that it visited every city once and see how long it took. But if you're looking to verify whether a solution is in fact the shortest of all possible routes, that's not easy to check because you'd still have you'd essentially have to do the entire brute force meth that that way and compare it to every other possibility. All possible routes have to be have to be considered. So if if that's what you're going for, it's not hard to solve, easy to check. It's hard to solve and hard to check. But here's the big problem with the with the P versus n P issue. We know that P problems are a subset of MP problems, But what if the subset is actually the same as the set, Meaning what if all NP problems are actually P problems? Meaning what if all problems where we can check the answer are actually problems where we can solve them efficiently. We just haven't figured out how to solve them efficiently yet, Okay, Or we haven't developed the here the machines that can do it. Yeah. Yeah, so is that possible? And that's actually probably the single biggest open question in computer science today. Is P equal or not equal to n P? Are they or are they not? Equival valence sets? Now, the obvious answer is no, Right, that seems intuitive, That seems that that seems to be the answer. That that feels most in keeping with our our understanding of the limits of human ability, the limits of human knowledge, and just sort of the fabric of our universe. Yeah, and so most computer scientists and mathematicians, I think agree that the more likely answer to this unsolved question is that P does not equal MP. I found one pole that was taken. It was more than ten years ago. I don't know if things have changed much since then. But in two thousand two, the University of Maryland computer scientist William I. Guess Arc did a poll of colleagues in complexity theory and UH and he found the results. And so he found out of this poll of colleagues, sixty one of his colleagues thought that P did not equal MP. Nine thought that P did equal MP, And some of those that said that said they they said that basically just to be contrarian or to continue encouraging people to research the possibility. UH. And then several other colleagues either offered no opinion or offered UH sort of complex answers that weren't yes or no. But so you can obviously see that the opinion that P does equal MP, or the prediction that that will be what's eventually proved, is the minority. It's not what we would tend to think is the more likely possibility. Okay, it's the more outsider consideration here. So it let's assume for a second that that is the case that one day some amazing mathematician or computer scientists somebody comes along and they figure out a way to prove that P does not equal in P. Proof Proofs like this happen in UH, in math and computer science all the time. You might be wondering how could that be proved, But people figure out ways to demonstrate logically that something is true like this. So let's say it's demonstrated that P does not equal MP. What are the implications. Well, mostly I'd say not much changes. This is sort of the obvious conclusion. It's the one that wouldn't surprise us. In other words, all of our brute force problems remain brute force problems. Uh. But if this is the case, it would still be useful to know. It would be useful to people. Wouldn't start floating into the sky, the great old ones, wouldn't come back, It would just the business is usual for most people. Yeah, So we we'd have a proof so people can stop trying to solve it, and we'd be able to use the fact that P is not equal to MP as an assumption for other work in mathematics and computer science. So we just move on with our lives basically essentially. But here's where things get interesting. What would the implications be if P does equal MP. Well, right off the top of my head, of of course, what comes to mind is the the the use of encryption that we've already talked about. Like that's really like our most everyday interaction with with the idea of of of P and NP. Yeah, I mean, why is it not easy for me to get into those photos you have on your phone? Whatever they are? Well, it's because it's because we use these encryption methods, and almost all current encryption methods would be subject to UH. They just depend on the fact that you don't have, you know, tons of supercomputers and time to sit around trying to brute force crack into people's junk. But if you were able to reduce those problems to UH to essentially easily solvable problems, problems that could be solved in regular polynomial time, the P class then suddenly, yeah, by by encryption essentially, I mean, we can't know for sure exactly how big a deal this uh this would be in terms of applied sciences and technology, but the likely implication UH seems to be that any job currently hindered by the limits of brute force computation would be revolutionized. So yeah, there's the there's the prime factorization issue that that feeds into encryption. And the informal way of summing this up is that, you know, if if if our present methods of encryption and data security are like a like a plastic diary lock on our information, every hacker on Earth might have access to a pair of fourteen inch bolt cutters of the equals in p on the other hand, and this would be a positive. It could also mean that research projects that rely on brute force computation could also potentially see huge leaps forward. For example, one one that I saw, I've seen mentioned, and I've read about before is protein folding simulation. Have you ever read about this? Uh? Yeah, a little bit. Um. I think I tended a discussion on on the topic a few years back. Yeah. So this research, it involves going through permutations of of different ways of folding proteins in a computer simulation. And this research could help cure diseases and treat medical conditions if we learned the right things about the behavior of how protein molecules fold up on one another and be have in the body. But simulating all of these folding permutations is a brute force computing project. So if this actually reduced to a p problem, we might be able to hasten research that saves lives, maybe cure cancer. Who knows. Okay, so we're already we're looking at a world where maybe we have to go back to using just normal mail instead of email. But on the other hand, and maybe we cure cantor or if people I mean digital security, maybe could still be a thing. If people just come up with another method, we just our current methods would would possibly become obsolete. Yeah, and then the new method will be sealed envelope under your back or a chest buried in your backyard. Yeah, that's where you have to keep all You'd have to physically meet up with everybody to trade information with an agree on a password in person. You know. That would be interesting. Like trying to imagine a a digital civilization that suddenly has to become a non digital civilization, but wants to keep everything uh operating more or less as it did when it lives digital, you know, like they still want to use tender uh, but they can no longer use a true digital version of it. What does that even consist of? Oh wow, Yeah, that's fascinating. But of course the changes wouldn't just be in applied sciences and technology. One of the interesting things about this is multiple experts have commented that if we live in a P equals in P universe, we have been sorely mistaken about what reality is like. If this is the universe we inhabit, in fact, it is quite different than we thought. And one one thing I want to quote is by Scott Aaronson, who offers this as quote a physical philosophical argument against P equals in P, and he says, quote, if P equals in P, then the world would be a profoundly different place than we usually assume it to be. There would be no special value for creative leaps, no fundamental gap between solving a problem and recognizing the solution once it's found. Everyone who could appreciate a symphony would be Mozart, Everyone who could follow a step by step argument would be Gauss. Everyone who could recognize a good investment strategy would be Warren Buffett. It's possible to put the point in Darwinian terms. If this is the sort of universe we inhabited, why wouldn't we already have evolved to take advantage of it. That's a really interesting point. But at the same time, so he's framing it in terms of it. This is one among a list of arguments he gives that P probably does not equal and seems to be This seems to be very much an argument in favor of their, of their being no equality here, right, But you could also look at that look at it as an interesting comment on how different the world would be from how we assume it is if this were in fact case. And it's interesting to note that we shouldn't assume that just because it doesn't feel like we live in a P equals in P world, that P equals np is necessarily false. Our our intuitions about what's possible in the math and problem solving space have turned out to be very wrong in the past, and sometimes long standing problems in math and computer science are solved by UH solved. They're solved or proved in ways that just seem extremely peculiar. Yet you can't deny the result. I can't help but circle back around to the earlier opinion that we mentioned is attributed to Freeman Dyson that mathematics is inexhaustible. If P equals MP in the universe, is the universe really inexhaustible? And uh? And if P equals mp, does that mean that there is, in a sense, that a universal algorithm out there? Uh? I mean there there is a theory of everything within our mathematical universes, as math max tech Mark argues in mathematical universe theory that we mentioned earlier. Because the tech Mark even go so far as to predict that a mathematical proof for a theory of everything could eventually fit on a T shirt. Well, I would kind of like to do that the kind of universe. Yeah, I mean, that's an interesting thought on its own, and tech marks theories I I, as I think I said earlier in this episode, I find them very interesting, even if I'm not qualified enough to know whether they're really rigorous physics. I read that book Our Our Mathematical Universe, and I found it amazingly stimulating. You know. He talks about different levels of of multiverse realities and what they each imply. Uh, And he gives a very, at least to the lay person, a very reasonable sounding explanation of how these are natural conclusions from what we know about physics. But I do want to use what you said as a sort of jumping off point to take a broader view about the algorithmic nature of reality. But first we're going to take a quick break to hear from the sponsor of this episode. Everybody in this day and age, you know the importance of having a professional looking website. That's how you represent yourself in the world at large. Come on, you can't just have a geo cities page hanging out there with all your dancing baby gifts. It's it's come on, that's right, that's not gonna fly. The problem is, of course, most of us, you know, we don't have the coding expertise to go out and make one of these things. We don't have the money to throw at some sort of big fancy, big wig website designer. So what do you do? You sign up for Squarespace, is what you do. Because Squarespace they have the easy to use tools, the interface that you need, all everything at your disposal to knock out that professional looking website. Yeah, it'll look great and it won't be scary. They take away all of the gears and the creepiness of designing a website. They make it super intuitive, super easy. You have what you need and you can make it yourself in no time. And hey, if you want to use our offer code, you can go to squarespace dot com and enter in mind blown to get twenty off your first purchase and a free domain when you sign up today. So go check out squarespace dot com special code mind blown and get started making that awesome website. So whatever the solution to P equals and P turns out to be. I think one thing that's very interesting about it is just the idea that this problem in computer science runs under the skin of everything that exists. You know, It's it's not something that people just made up. This is talking about a fact about the universe. That would be a fact about the universe whether we were here to discuss it or not. Yeah, I mean there's a certain amount of it's difficult, kind of to get to get outside of the mirror language of the situation when we're talking about problem solving, because we can't help but think about a human mind trying to solve a problem. But in a sense, problem solving takes place not only the human level, it takes place that at at at at the animal level, at as you know, as this particular entity is trying to navigate a world of fixed and moving objects, generally to acquire some goal, to acquire food or or a mate. Uh. You could even you could probably even extrapolate it as far to say to say that that an object obeying gravity is kind of engaging in a sort of non mental problem solving in a way, in in a limited way. Uh, I guess I'm just trying to drive home here, is that when we continue to talk about problem solving here, it's like trying not to think about it as much within in the human realm, because it is we're about to see it gets well outside of it, remove the consciousness from it, retain only the teleology exactly that there there are, there are steps towards a purpose, but you don't have to know what the purpose is, and you don't even have to realize you're taking steps right now. A great example of this is the slime mold. So slime molds don't have brains. They consist of a single cell containing millions of nuclei and they form a network of protoplasmic tubes to creep toward a food source along the shortest path. And that's essential here. Uh. It sends out limbs to find food, and when it finds food source, it spreads over, It secretes too digestive enzymes, and has its meal. When it doesn't, yeah, it's pretty it's pretty great. Essentially, have a blob, right and when it doesn't find food, then the limb you know, dies in retreats back. So in this it creates a network for transporting nutrients and chemicals, for inter cellular communication and the method allows them to perform such feats and this is generally and this is in lab environments. Uh, such feats as solving a maze, like a straight up maze that you would put a mouse in, as well as when presented with a miniaturized earth environment. Uh, they can they can recreate some of the great trade routes of the world, some of the great highway systems. They can model cancer growth. Um. Let me go to a little detail about the silk road thing, and this is this gets into exactly what we're talking earlier about an algorithm attempting to to plot a course right and and having to hit all those stuffs the salesman problem that we're discussing earlier. Okay, so back into computer scientist Andre Adamanski from the University of the West of England. He took a globe. Okay, and you can do this at home probably, I guess if you have access to the materials. He took a globe and he coated it with auger. All right, this, of course is the stuff in a peat free dish that you know bacteria grows up eat. Yeah. Uh and then he um. And then what he did is he removed uh, the auger from the areas over the ocean, so it's just covering the continents and the land at this point. And then he placed oat flakes at the locations of twenty four different major cities on the globe, so that's a food source. Okay. Then he introduced the slime mold. Alright. He did this third any different times, and each time the slime mold conquered the world in a slightly different way, establishing trade routes between the various oats cities. Yeah, and it's the picture their pictures out there. This is pretty remarkable, uh because it and maybe a little bit scary because you see these ten drils just spreading out all over the world. It managed to plan out engineering projects that, of course humans can only dream of right now, like Transatlantic bridges. Obviously we're not going to do that. It wasn't I don't. I don't think it was ever able to really conquer the Pacific, be Pacific was just too too uh too great of a distance without agur there for it to grow on. Uh. But but it also managed to recreate the Silk Road as well as the modern Asian highway network, which consists of about the eighty seven thousand miles of roads running between thirty two countries. So it exactly it provides a great example of uh, not a problem solving intelligence, but an algorithmic problem solving organic system. Of course, this, I do think raises the specter of the question how do you tell the difference between an algorithm and intelligence unless you want to be anthropomorphic and say, well, intelligence is consciousness and the ability to love and yeah, and then we start gazing down that of this right, Yeah, you know, we get back that to some of the problems we've discussed in relation to AI in the past. How do you know when you created it? If you can't really say what it is, it becomes this this problem. We can't even define the problem, so how can we come up with the solution or check the solution? Yeah, and it's funny that we were talking earlier about about sets that sort of recursively consume one another. Is one set within another set, but then the first set is the second set is also in the first set. Now we just gave an example of how nature can be like an algorithm. But you can also say that plenty of algorithms and computer science have been essentially derived from nature. Um and yah, there's a great example of this with ants. So ant colonies we've discussed adnce here in the podcast before and I'm sure we'll cover them again in the future. You know that they're complex societies, and we see plenty of examples in which colonies accomplished complex tasks that exceed the individual capacities of a single ant. Of course, so they worked together and they're able to solve problems. And this is mound mind. Yeah, exactly, it's the the the the the emergent intelligence of the group, the swarm intelligence. Um. This is a particular note to computer programming as though, as we see how they're self organizing capacities and distributed organization enable them to solve difficult optimization and distributed control problems. Okay, So back in a Stanford study looked at how harvester ants determine how many foragers to send out. Of course, so they're sending out a rating party, right, uh, which is you know, more complex than than than you might think, because you get down to the basic you know, how many do you send out? You know, what's the way time? Uh? And then they compared this to the manner in which a search engine brings back search results. So specifically, yeah, specifically, we're talking about transmission control Protocol or TCP, which, if you're like me, that's mostly something that you run into when you have to adjust something on your your Internet situation at home. Yeah, but but in anyway, it's a it's essentially an algorithm that manages data congestion on the Internet. So they they compared the two, right, and they combined the two, and they created the anternet. So that's that's Internet, except instead of you, you have an ant um. So it's a TCP influenced algorithm that accurately matched ant behavior in the experiment. So it's an example of ants reaching the same place as our computer programming UM. So basically they created a tc PEE program that accurately predicted how the ants were going to act. Yeah, we've definitely talked on the other podcasts that I do with Jonathan Strickland and Lauren Vogelbaum Forward Thinking. We talk about biommetic robotics a lot about ways that robots can be inspired by the ways that animals move, especially in mobile robotics. You know, how do you get a swarm of things to behave as a group correctly, and I'd imagine that this would be a very good example of how to control them. Yeah, you see swarm organisms used in various AI programs. I believe here Georgia Tech in Atlanta, they've used bees a lot. Oh yeah, yeah. And more recently, a two thousand fourteen study from Zero's Institute of Pharmaceutical Sciences explore the possibility of using ant algorithms to search for new composite agents in the development of new pharmaceuticals. And this gets down to the whole in a situation discussing earlier about do you do you take a brute uh strength approach to finding out which connections amid all these possible connections are the ideal ones to then test and explore. Um So they've looked into the possibility of using an ant based algorithm to find though to do essentially, you know, magically guess those uh, those those composite agents that that deserve further examination. Well, you know, one thing these examples in nature make me think about is an idea that really intrigues me, and that's the question of whether evolution by natural selection can itself be best interpreted as an algorithm, Because think about it. It's it's kind of an iterate and test style algorithmic procedure. Let me give you a list of steps. Step one, randomly introduce a change that would be like a mutant allele into the genome. You very one gene from the existing model, so you've random that. That's step one. Then step two test against the baseline performance rate of the standard allile in the environment or you know. The individual steps here would be attempt to copy. If being succeeds, go to one or return to the first step. If copying fails, return void. It's almost like a computer program. Yeah, I think I think there's a very strong case to be made there. I mean earlier I made that I said that gravity an object of band gravity and is it is in a way kind of obeying a certain algorithm. It's kind of problem solving. So this I think this fits Bill as well. Yeah, and I certainly didn't come up with this idea. I know, I've read about it in the philosopher Daniel Dennett, who advocated this point of view in this nine book. Darwin's dangerous idea was which was a lot about the implications of evolution beyond just explaining the diversity of species on Earth. Evolution is a sort of principle that extends even beyond biology. But this universal driving force that that drives design through the design space and the way he would explain it. But uh so, of course, not everybody agrees with that interpretation ation thinks that an algorithm is a good way of thinking about evolution. But I've got another follow up question that's kind of interesting to me. If evolution is an algorithm, is it an efficient algorithm or a brute force algorithm? Now that's a good question. I mean, it seems to me kind of like it would be a brute force algorithm, right, because you're you're trying any number, it's you know, just brute force combinatrix. You're trying something. Here's a pair of genes, here's an alleal. Does that work? Now? Okay, throw in the trash. It seems very wasteful. Yeah, here's a lizard with spots, here's one without spots, which one gets eaten, which one continues. That sounds like kind of a brute brute force You're just like throwing out all the produce possible prototypes and uh and seeing what the thing you see what happens, and I think this would actually be one way of framing the difference between the standard scientific materialist view of evolution, which I think would probably be is best I can tell. I bet that'd be the brute force method, and then some types of believers in intelligent design. Right, So if you are are somebody who believes um, you you accept the evidence for evolution and common descent, but you simply believe the process was guided in one way or another. You think aliens or a god or some other you know, powerful supernatural or otherworldly technological force interfered with evolution, maybe reached in to cause specific mutations to the terrestrial gene space at key points. That sounds like that would be optimizing the algorithm, right, like somebody's introducing artificial efficiency. Yeah, but then again, i'd i'd be interested in hearing from the evolutionary biologists and geneticists sat there in the audience on this one. Like, if you accept the idea that natural selection is like an algorithm, is it a brute force algorithm unless you go to the intelligent design hypothesis or are there other ways of thinking of the algorithm as in some way optimized by material circumstances. And since you did mention God or the gods, here would the God in this scenario that Okay, so this is a force coming from outside our universe. Then perhaps in this scenario our world is is a ped is not equal in the universe, but the realm of the gods is a P equals in p universe. Huh. Well, I mean that's an interesting way of putting it. Like they can they can knock it out right there, Gods, they're basically limitless. Well, it's infinite possibility, I mean, the whole the realm of mathematics and logic is. In many ways, it often signals to me the sort of underlying hint of infinite possibilities but also infinite constraints. At the same time. Mathematics is both infinite power and ultimate helplessness. You know. It's the power to accomplish anything and the inevitability of being thwarted and destroyed by processes beyond your control. Uh. It just sort of makes everything good and bad possible. But it sounds like you're talking about the gods again. It could be Yeah, all right, So there you have at p m p P versus m P P equals m p P does not equal MP. Hopefully at this point you have if you if you didn't know what any of this stuff was about beforehand, you have a much better graph on the idea. You can at least realize why it is a topic that people continue to discuss and even argue about. But if you want to get into the actual details of of it, there are plenty of good resources out there on the internet if you are a math and computer science and logic inclined person who has a good abstract mind for that kind of thing. But either way, I do want to remind you to always think about the algorithmic nature of the ground beneath your feet, and the laws that govern the way the way everything around you works, the logic of reality. Uh, Is there a problem solving process inherent to everything that's going on around you all the time? I don't know. It's it's a strange specter of an idea to keep behind your head at all times. Yeah. Again, like when a when like a walnut falls out of a tree, there are certain there's an there's an algorithm at play right as to how exactly it's going to make it to the ground, which branches is going to hit. I guess that depends on your perspective. Is there is there a goal, there is something happening, or did something just happen. I don't know, man, it's pretty far out. Well, let's not get too much into weird stone or territory here. And I do want to say right here at the end, if you are somebody who's involved in mathematics or computer science and uh and you would like to write in to tell us about one of the one of the more detailed or complex aspects of this that we didn't get to. Like we said, we we gave you the very simple version. Please right in and we'd love to share your thoughts with the rest of you guys. Yeah, and I'd also love to hear from anyone you know who's read some some science fiction that definitely weighs in on this. Um. You know, I was trying to think of sific examples from N. N. Banks culture books, because the courent they have these minds, these aies that are incredibly powerful. But for the life of me, I can't remember, uh exactly where they they weigh in in terms of the air We're indeed, um Banks is universe, their wigs in on the on the P and P spectrum. Hey, but in the meantime, you want to check out this and other pieces of content, head on over to stuff to Blow your mind dot com. That's the mothership. That's where we have all the articles. That's where we have blog posts, we have links out to social media, we have some videos. Uh, be sure to go there. Hey, and if you listen to us on what iTunes, Spotify, Google Play, however you get your podcast, um it, it's possible to do. So, leave us a nice review there, give us a little boost in the algorithm that ultimately, uh determines our faith. You can tweet that at that out of of and you can reach out as an as an outside force like God and shift things in our favor. So I invite you to do so. And as always, if you'd like to get in touch with us, and we really hope you do, you can email us and blow the mind at how stuff works dot com for more onness and thousands of other topics. Is it how stuff works dot com

Stuff To Blow Your Mind

Deep in the back of your mind, you’ve always had the feeling that there’s something strange about re 
Social links
Follow podcast
Recent clips
Browse 2,851 clip(s)