1 00:00:03,380 --> 00:00:09,605 Now we're going to look at MP completeness, which is, another idea that 2 00:00:09,605 --> 00:00:17,432 gives us even, even stronger, evidence that the problems that we can reduce that 3 00:00:17,432 --> 00:00:25,614 to are difficult. and MP completeness is a simple idea. it sounds almost, crazy. 4 00:00:25,614 --> 00:00:33,352 It's, asking for a lot. an MP problem is MP complete if every single problem in MP 5 00:00:33,352 --> 00:00:40,385 polynomial time reduces to that problem. that sounds like a fairly abstract 6 00:00:40,385 --> 00:00:48,800 concept, but in 1970's, right about the time Ed Karp was working Cook proved, just 7 00:00:48,800 --> 00:00:56,208 before actually Cook proved, and later Levine, a few years later, independently 8 00:00:56,483 --> 00:01:05,549 that sat is MP complete. so every problem in NP polynomial time reduces to sat. Hm. 9 00:01:05,549 --> 00:01:11,755 Well, that has profound implications that I'll talk about on the next slide. But 10 00:01:11,755 --> 00:01:18,034 first let's take a look at the Cook Levin theorem. Mm, this is an extremely brief 11 00:01:18,253 --> 00:01:24,824 proof sketch, but the idea of the theorem is. I can, I can describe the idea of the 12 00:01:24,824 --> 00:01:30,884 theorem. The execution of it is a tour de force in both cases, but the idea I can 13 00:01:30,884 --> 00:01:37,065 describe. the, so, a problem in NP. NNP is one that can be solved in polynominal time 14 00:01:37,065 --> 00:01:42,605 by a non-determinate Turing machine. Well, what's a non-determinate Turing machine 15 00:01:42,605 --> 00:01:48,008 exactly? Well, it's just a set of states and symbols and, if you in a table 16 00:01:48,008 --> 00:01:53,412 basically that says if you have a certain symbols or a certain state, you go to 17 00:01:53,412 --> 00:01:59,153 another table. Out of state. so actually, and actually at the beginning the way 18 00:01:59,153 --> 00:02:05,602 mathematicians thought of turing machines was not with diagrams but just as topals, 19 00:02:05,602 --> 00:02:11,472 as a list of every state, it's a list of other states and symbols and things, just 20 00:02:11,472 --> 00:02:17,922 following certain rules. so description of a Turing machine is a formal description 21 00:02:17,922 --> 00:02:23,937 of a bunch of rules with logically saying what happens and, and there's not much 22 00:02:23,937 --> 00:02:29,925 that happens. if you're in a state and you see a symbol, go to another state, move 23 00:02:29,925 --> 00:02:35,979 the tape head, and so forth. simple formal rules. so what Cook found was that, so 24 00:02:36,195 --> 00:02:42,600 anything that you can compute in, with a non-deterministic Turing machine, anything 25 00:02:42,600 --> 00:02:49,001 that you can compute you can write down on non deterministic turing machine for, and 26 00:02:49,001 --> 00:02:54,868 what Co okay found was a way to encode a non deterministic turing machine as an 27 00:02:54,868 --> 00:03:00,964 instance of SAT and so what does that mean. It's just writing down what a Turing 28 00:03:00,964 --> 00:03:07,061 machine is in kind of a different notation as an instance of SAT. What does that 29 00:03:07,061 --> 00:03:12,521 imply? Well if you could solve that instance of sat in polynomial time. you're 30 00:03:12,521 --> 00:03:17,320 simulating operation of that Turing machine. and you could solve, the 31 00:03:17,320 --> 00:03:22,347 computation that Turing machine's trying to do in polynomial time. That's the 32 00:03:22,347 --> 00:03:27,713 sketch of, the Cook-Levin theorem. anything that you can compute in a, on a 33 00:03:27,713 --> 00:03:33,011 non-deterministic Turing Machine in polynomial time. you can write as a SAT 34 00:03:33,011 --> 00:03:38,105 instance that you could solve in polynomial time. if you could solve the 35 00:03:38,105 --> 00:03:43,743 SAT instance quickly, you could do the non deterministic Turing Machine computation 36 00:03:43,743 --> 00:03:48,565 quickly. So any problem in NP, polynomial time reduces to SAT. That's the, 37 00:03:48,769 --> 00:03:56,800 Cook-Levin theorem. And if you combine that which was done immediately with 38 00:03:56,800 --> 00:04:03,976 Karp's observation, well first of all it means that, that there's a polynomial time 39 00:04:03,976 --> 00:04:09,414 algorithm for SAT, if and only if P equals NP. so that is non-determined, only if 40 00:04:09,414 --> 00:04:14,454 it's non-determined, doesn't help. You have the polynomial time algorithm for 41 00:04:14,454 --> 00:04:21,164 SAT. because polynomial time algorithm for SAT immediately means you could solve, all 42 00:04:21,164 --> 00:04:27,683 problems, in NP in polynomial time. That's what, that's what Cook's Theorem's about. 43 00:04:27,908 --> 00:04:34,651 so, and NP completes getting into the popular culture, as well. but what is the 44 00:04:34,651 --> 00:04:40,646 implications? It's means all of these thousands and thousands of problems all of 45 00:04:40,646 --> 00:04:48,114 a sudden reduce to SAT. and that means they're all equivalent. they're all 46 00:04:48,114 --> 00:04:54,235 manifestations of the, of the same problem. if you could solve any one of 47 00:04:54,235 --> 00:05:00,341 these problems in polynomial time, then it means that you can solve them all in 48 00:05:00,341 --> 00:05:07,005 polynomial time. That's a very profound result. particularly because thousands and 49 00:05:07,005 --> 00:05:13,076 thousands and thousands of important scientific problems, all the problems that 50 00:05:13,076 --> 00:05:18,999 we aspire to compute with feasible, feasible algorithms, they're all in the 51 00:05:18,999 --> 00:05:25,070 same class. if we could solve any one of them in polynomial time, we could solve 52 00:05:25,070 --> 00:05:31,821 all of them in polynomial time. so, what are the implications of MP completeness? 53 00:05:31,821 --> 00:05:38,939 So, it's the idea that SAT captures the difficulty of the whole class, NP. and if, 54 00:05:38,939 --> 00:05:45,053 either way, if you can prove that there's some problem, in NP, that there's no 55 00:05:45,053 --> 00:05:51,289 polynomial time algorithm for, then it's not going to be first half. And the other 56 00:05:51,289 --> 00:05:57,733 thing as I mentioned you can replace SAT with any problem that has been reduced 57 00:05:57,733 --> 00:06:03,428 down from SAT. Not just Karp's problems, but any of the thousands. so, so now, 58 00:06:03,428 --> 00:06:09,798 nowadays proving a problem in p-complete was actually many examples where it's 59 00:06:09,798 --> 00:06:17,067 actually guided what scientists do because it is saying something profound about the, 60 00:06:17,067 --> 00:06:24,804 profoundly important about the problem. so here's an example. I. I'm getting to that 61 00:06:24,804 --> 00:06:31,372 Ising spin model that I referred to. it was introduced in the'20s and people liked 62 00:06:31,372 --> 00:06:37,263 the model and they wanted to apply it and trying to compute with it but it's one 63 00:06:37,263 --> 00:06:42,747 thing to have a model, it's another thing to apply the model, try to say something 64 00:06:42,747 --> 00:06:48,096 about the real world that might involve some computation. so in the'40s a 65 00:06:48,096 --> 00:06:53,378 mathematical solution was found tour de force paper, which is fine, but in the 66 00:06:53,378 --> 00:07:00,137 real world it's 3D and a lot of smart people looked for. 3D solution to this 67 00:07:00,137 --> 00:07:08,774 problem. turns out to be In 2000 it was proven to be MP complete. And people work 68 00:07:08,774 --> 00:07:18,122 for 50 years trying to solve this problem. and . now we understand why they were 69 00:07:18,122 --> 00:07:25,741 unsuccessful. Because if they had been successful it would imply that, all those, 70 00:07:25,741 --> 00:07:32,668 all those other problems are going to be running in polynomial time. Or it would 71 00:07:32,668 --> 00:07:35,958 imply that PNP. Equals NP, and nobody believes that PNP. 72 00:07:35,958 --> 00:07:44,165 Equals NP. . So here we are. We're still with this, overwhelming consensus that P 73 00:07:44,165 --> 00:07:50,482 is not equal to MP. and not only that if P is not equal to MP, then MP complete 74 00:07:50,482 --> 00:07:57,500 problems are some other subset, of MP, and there's as I mentioned a zoo of complexity 75 00:07:57,500 --> 00:08:04,129 classes, at the, end of the reduction lecture a lot of them are, starting from 76 00:08:04,129 --> 00:08:10,601 this diagram, you can come up with, many, many other ideas to try to get at it and 77 00:08:10,601 --> 00:08:16,762 there's not a lot of problems that people ev en have any kind of conjecture for 78 00:08:16,762 --> 00:08:22,976 falling outside. Even though it seems like obvious there ought to be lots of problems 79 00:08:22,976 --> 00:08:28,446 in MP that are not in. It's quite a frustrating situation for people working 80 00:08:28,446 --> 00:08:34,204 in the field. So the right hand diagram's simple. The left hand diagram gets more 81 00:08:34,204 --> 00:08:40,250 and more complicated as people work on it. But really, the fundamental reason that we 82 00:08:40,250 --> 00:08:46,080 believe that p equals, not equals MP, gets back to that creativity. And I'd like to 83 00:08:46,080 --> 00:08:52,195 read a quote from Avi Gregerson, who have at the Institute for Advance Science here 84 00:08:52,195 --> 00:08:57,262 in Princeton, We admire Wiles' proof of Fermat's last theorem, and the scientific 85 00:08:57,262 --> 00:09:02,281 theories of Newton, Einstein, Darwin, Watson and Crick. The design of the Golden 86 00:09:02,281 --> 00:09:07,560 Gate Bridge and the Pyramids, precisely because they seem to require a leap which 87 00:09:07,560 --> 00:09:12,905 cannot be made by everyone, let alone by a simple mechanical device. It's all about, 88 00:09:12,905 --> 00:09:18,201 it's a lot more difficult to create something than to check that it's good. So 89 00:09:18,413 --> 00:09:24,556 here's the summary P's the class of search problems that are solvable in polynomial 90 00:09:24,556 --> 00:09:30,345 time. Np's the class of all search problems and some of which seem pretty 91 00:09:30,345 --> 00:09:36,629 hard and people have tried really hard to work on'em. NP complete in a sense are 92 00:09:36,629 --> 00:09:42,630 the, the hardest problems in NP'cause you know, all the problems in NP reduce to 93 00:09:42,630 --> 00:09:49,989 those problems. we talk about a problem having no polynomial prime algorithm, that 94 00:09:49,989 --> 00:09:56,484 is intractable, er, you know. And. we know that, lots and lots of fundamental 95 00:09:56,484 --> 00:10:03,277 problems are NP complete. so what we want to do is use theory as a guide, when we're 96 00:10:03,277 --> 00:10:09,344 confronting problems. everyone has to realize that a polynomial time for 97 00:10:09,344 --> 00:10:14,918 algorithm for an NP complete problem would be a stunning. Scientific breakthrough win 98 00:10:14,918 --> 00:10:21,125 a million dollars in this video thinks he can do it. certainly you will confront NP 99 00:10:21,332 --> 00:10:27,194 complete problems sometimes there's thousands and thousands and thousand of 100 00:10:27,194 --> 00:10:33,062 them out there. and probably a good idea, safe bet is to assume that P is not equal 101 00:10:33,062 --> 00:10:38,729 to NP because almost everyone believes that and therefore that there is NP comply 102 00:10:38,729 --> 00:10:44,188 problems are very intractable. You're not going to be able to guarantee polynomial 103 00:10:44,188 --> 00:10:49,440 running time for an algorithm. So, you better know about those situations and 104 00:10:49,440 --> 00:10:55,967 proceed accordingly. And, and we'll look at a couple of things to do. around in the 105 00:10:55,967 --> 00:11:01,590 1980s came to Princeton to start their computer science department and we built 106 00:11:01,590 --> 00:11:07,017 this building. And they asked you know, a lot of the buildings there, nobody asked. 107 00:11:07,017 --> 00:11:12,379 A lot of the buildings at Princeton have gargoyles, and I wanted to have something 108 00:11:12,379 --> 00:11:17,740 on our building that could stand the test of time, and this is what we wound up 109 00:11:17,740 --> 00:11:22,644 with, in a pattern on the brick up on the top of the building. Now I could just 110 00:11:22,644 --> 00:11:28,398 leave that there and maybe these count, the solution will get edited out. And so 111 00:11:28,398 --> 00:11:33,910 the, you can work on figuring out what that means. But, you know, anyway, here's 112 00:11:33,910 --> 00:11:39,790 the solution. the indented bricks are ones. I mean, ones that aren't indented 113 00:11:39,790 --> 00:11:46,444 are zeros in this little pattern. and they're just asking. encoding. So the top 114 00:11:46,444 --> 00:11:54,888 row is asking for P. and then the second one is asking for equal and then N. and 115 00:11:54,888 --> 00:12:01,274 then another P. and then, a question mark. so it seemed to me like that pattern, 116 00:12:01,505 --> 00:12:07,968 would span the test of time and that was that was over 25 years ago. now if, 117 00:12:08,199 --> 00:12:14,662 everyone asks, what do you do, if somebody proves that in fact P equals NP. Well in 118 00:12:14,662 --> 00:12:21,125 that case we can put an exclamation point on there. If somebody proves that P is not 119 00:12:21,125 --> 00:12:26,815 equivalent P then we're going to have to remove a lot of bricks. that's an, an 120 00:12:26,815 --> 00:12:30,260 introduction to the theory of intractability.