1 00:00:01,140 --> 00:00:10,200 In the last lecture we saw both for the Turing machine is and we saw something of what a Turing convention machine is, 2 00:00:10,200 --> 00:00:18,930 a Turing convention machine is a Turing machine in which we follow the conventions that Turing does in his 1936 paper, 3 00:00:18,930 --> 00:00:29,190 like putting Schwab's at the left hand end of the tape and writing figures in double digits on alternate squares and that sort of thing. 4 00:00:29,190 --> 00:00:40,620 We also saw briefly at the end, a sort of subroutine that you can have within a Turing machine. 5 00:00:40,620 --> 00:00:49,050 And we saw how this provided a general recipe for adding functions to a Turing machine. 6 00:00:49,050 --> 00:00:52,020 Turing does it in the way of skeleton tables. 7 00:00:52,020 --> 00:01:06,690 We've got a diagram here just to remind you this is implementing a find function where you can choose two states here and C and B and a symbol alpha. 8 00:01:06,690 --> 00:01:14,220 And what this does is it searches for the leftmost alpha on the tape. 9 00:01:14,220 --> 00:01:18,630 If one is found, it goes into State C at that point. 10 00:01:18,630 --> 00:01:29,760 And if none is found and gets to the right hand end of the tape, the two spaces two empty squares which mark the right hand end of the tape. 11 00:01:29,760 --> 00:01:34,830 Then it ends up in State B. And remember the crucial point? 12 00:01:34,830 --> 00:01:41,010 I emphasised that you mustn't think of this state as some funny beast. 13 00:01:41,010 --> 00:01:46,500 This is just a label for it. OK? It is just a state like any other. 14 00:01:46,500 --> 00:01:49,830 But this is a functional description of it. 15 00:01:49,830 --> 00:01:58,500 It says this is the state whose role is to search for an alpha to go into State C if an alpha is found and to go into State B, 16 00:01:58,500 --> 00:02:02,760 if not, so it gives us a general recipe. 17 00:02:02,760 --> 00:02:07,170 We might end up adding lots and lots and lots of states like this. 18 00:02:07,170 --> 00:02:12,000 You know, we've got three new states here that we've introduced for this purpose here. 19 00:02:12,000 --> 00:02:18,750 We might do it for lots of different symbols and we might do it for lots of different pairs of states that we want it to go into, 20 00:02:18,750 --> 00:02:21,120 depending whether something is found or not. 21 00:02:21,120 --> 00:02:28,740 Every time we have another instance, we're going to have to introduce three new states into our Turing machine, but we can do that as much as we like. 22 00:02:28,740 --> 00:02:36,270 And this imposes a sort of order on it. It makes it comprehensible what's going on. 23 00:02:36,270 --> 00:02:42,990 So here is a summary of the function of this here. 24 00:02:42,990 --> 00:02:50,820 I've just reduced to a single state. I'm ignoring the other two states that are added to enable this to work. 25 00:02:50,820 --> 00:02:58,230 We can simplify and just think, well, this if we add a state like this, then if an al.4 exists, 26 00:02:58,230 --> 00:03:04,410 it's going to move to the square containing the less most alpha and Interstate S. And if no alpha exists, 27 00:03:04,410 --> 00:03:09,660 it will move to the square after the two blanks at the right and go into state B. 28 00:03:09,660 --> 00:03:20,820 Okay, so that's that's the way to think of it. The the other two states are just there in order to enable this functionality to be achieved. 29 00:03:20,820 --> 00:03:25,620 Okay, we're now going to see quite a lot of these Turing skeleton tables. 30 00:03:25,620 --> 00:03:29,790 I haven't given you all of them here. I've chosen a representative sample. 31 00:03:29,790 --> 00:03:35,940 If you read Petzold, you'll see all the others. And I do give a list of them later in the lecture. 32 00:03:35,940 --> 00:03:44,010 But once you've got the general idea, it should be relatively straightforward to see how these things would work. 33 00:03:44,010 --> 00:03:59,040 So here is erase once. So this is a this is a function which finds the leftmost alpha and then erases it. 34 00:03:59,040 --> 00:04:05,430 OK. How does it work? Well, you can see here that it's very simple. 35 00:04:05,430 --> 00:04:12,600 It doesn't take any account of the symbol that's there at the time. 36 00:04:12,600 --> 00:04:17,430 It doesn't do any special behaviour. It doesn't move left or right or print anything. 37 00:04:17,430 --> 00:04:27,960 All it does is go straight into this state. OK, so here we have to have another new state in our machine, which plays this functional role. 38 00:04:27,960 --> 00:04:35,790 So notice this is using the find function. So it is looking for the leftmost alpha. 39 00:04:35,790 --> 00:04:44,790 If it finds the leftmost alpha, then it goes into this state, which is this one here, which is about to be defined. 40 00:04:44,790 --> 00:04:54,030 Otherwise it goes into State V as before. So assuming it finds an alpha, it goes to the left most alpha and he raises it. 41 00:04:54,030 --> 00:05:00,330 In other words, it prints of blank on that square and then goes into State C so that I can. 42 00:05:00,330 --> 00:05:07,470 So Turing is using the find function here to define an erase function. 43 00:05:07,470 --> 00:05:14,550 And again, in order to implement this, you can see you, you need two new states. 44 00:05:14,550 --> 00:05:21,810 So for any, any time you want to include some kind of erase function like this, 45 00:05:21,810 --> 00:05:27,330 you need to add two states to your Turing machine and you give them this behaviour. 46 00:05:27,330 --> 00:05:33,030 And there you have it. Okay, so Turing defined two versions of this. 47 00:05:33,030 --> 00:05:42,180 This is a version that you can see has three arguments, and we'll see that there's another as well. 48 00:05:42,180 --> 00:05:48,330 That's the summary for you. Raise again. 49 00:05:48,330 --> 00:05:53,970 I mean, once once you get the hang of these, I think you'll find it will become straightforward. 50 00:05:53,970 --> 00:06:03,630 If you add two states, as I've just shown, then effectively whenever you go into this state, you don't need to worry about the other auxiliary state. 51 00:06:03,630 --> 00:06:08,430 You just know that given the way this is being defined, if it finds an alpha, 52 00:06:08,430 --> 00:06:13,080 it's going to move to the square of the leftmost alpha and erase it and move into State C. 53 00:06:13,080 --> 00:06:17,640 And if no Alfred exists, then it'll move to the square after the two blanks. 54 00:06:17,640 --> 00:06:24,900 Right? Okay, I'm going to be OK. 55 00:06:24,900 --> 00:06:33,360 So here is a another version of Erase, and this just has two arguments. 56 00:06:33,360 --> 00:06:39,990 So what this is going to do is erase all the alphas on the tape and then move into state. 57 00:06:39,990 --> 00:06:45,630 Be right this time. There's no choice. It's just going to remove all the alphas. 58 00:06:45,630 --> 00:06:52,530 It's not searching to see whether there is one. It's just getting rid of any that there may be. 59 00:06:52,530 --> 00:07:00,720 Again, it's this is completely insensitive to what's on the tape at the particular point where this arises. 60 00:07:00,720 --> 00:07:03,420 It doesn't have any printing or moving behaviour. 61 00:07:03,420 --> 00:07:15,150 It just goes into this state and you can see that that state is defined functionally as erasing the leftmost alpha. 62 00:07:15,150 --> 00:07:25,750 OK. You can go out there is found it goes into state B, and if an outside is found, then it goes into this state, which is this state. 63 00:07:25,750 --> 00:07:34,120 So it just repeats itself again and again and again and again, it's easier to understand, probably with an arrow diagram. 64 00:07:34,120 --> 00:07:39,400 You start off coming in this state. This just transitions immediately to this. 65 00:07:39,400 --> 00:07:45,700 If an alpha exists, it moves to the square of the leftmost alpha and erases it and goes back into this state. 66 00:07:45,700 --> 00:07:48,340 So it just follows around again. 67 00:07:48,340 --> 00:07:59,560 And if at any point, well, eventually no alpha will exist and then it will move to the square after two blanks at the right. 68 00:07:59,560 --> 00:08:07,780 Print at the end function, again, I'm I'm not going through all of these, but just choosing a representative sample. 69 00:08:07,780 --> 00:08:11,410 So here there's the skeleton table. 70 00:08:11,410 --> 00:08:15,790 Here's the corresponding diagram. 71 00:08:15,790 --> 00:08:28,120 So when you go into this state, it transitions immediately into this state that moves to the left most schwa of the two at the start of the tape. 72 00:08:28,120 --> 00:08:33,340 Remember, the tape always starts in the Turin convention machine with two shows at the very left. 73 00:08:33,340 --> 00:08:42,100 They get written right at the start. This is moving to the left most of those, and then it's moving into this state. 74 00:08:42,100 --> 00:08:48,760 And in this state, you can see that if it encounters anything other than a blank, 75 00:08:48,760 --> 00:08:58,120 then it's moving two steps to the right and it's keep staying in the the same state here. 76 00:08:58,120 --> 00:09:05,290 Eventually, it will encounter a blank, and when it does so, the prince of beats of that and goes into state C. 77 00:09:05,290 --> 00:09:12,260 So essentially it it's going right to the left. The left hand end of the tape to the schwa. 78 00:09:12,260 --> 00:09:17,230 And then it's going through two steps at a time until it encounters a blank square. 79 00:09:17,230 --> 00:09:22,360 And at that point, it's writing a beta and moving into state c. 80 00:09:22,360 --> 00:09:28,300 Whatever sees remember state when state B and C when you see these, 81 00:09:28,300 --> 00:09:35,630 these are variables you can choose whatever state you want for it to go into at that point. 82 00:09:35,630 --> 00:09:38,870 OK. These are very, very simple. 83 00:09:38,870 --> 00:09:47,600 We've got our all of sea and air of sea, and all these do is move left or right, come and go interstate sea absolutely trivial. 84 00:09:47,600 --> 00:09:56,060 OK, so we've just introduced a state whose only function is no matter what may be on the table at that point, 85 00:09:56,060 --> 00:10:03,140 move left, go interstate sea, whatever seas will move right and go interstate sea. 86 00:10:03,140 --> 00:10:13,130 And these get used in within these functions because essentially what they mean is that after something has been found, 87 00:10:13,130 --> 00:10:27,440 you can then move left or right. So you can specify you don't have to stay on the square itself, having found something the copy and function. 88 00:10:27,440 --> 00:10:32,480 OK, so again, this is using functions that have already been defined. 89 00:10:32,480 --> 00:10:39,650 You can see it's using find and it's using print at the end. So let's let's follow through what it does. 90 00:10:39,650 --> 00:10:46,540 So if we go into this state, we. 91 00:10:46,540 --> 00:10:54,580 Here we're finding if some alpha exists, we're finding it and we're moving to the square to the left of the leftmost alpha. 92 00:10:54,580 --> 00:11:04,180 Okay, so that is using. This function here, this is the one that does a fine and then moves left. 93 00:11:04,180 --> 00:11:06,810 Okay, so now we're using that. 94 00:11:06,810 --> 00:11:17,160 So if somehow four exists moved to the square to the left of the left, most alpha move left and then go into this state. 95 00:11:17,160 --> 00:11:22,410 And then if on that square there's a zero printer, zero at the end of the tape. 96 00:11:22,410 --> 00:11:26,340 If on that square there's a one printer, one at the end of the tape. 97 00:11:26,340 --> 00:11:33,090 And of course, you could have more symbolism as well. You hear I'm only dealing with the figures zero and one. 98 00:11:33,090 --> 00:11:36,750 But it might be that you'll have other things written on the tape that you want to copy at the end. 99 00:11:36,750 --> 00:11:45,390 So essentially, what this is doing, this is looking for the square that is marked with a particular symbol. 100 00:11:45,390 --> 00:11:51,570 So suppose you've got a figure square with a zero or one there, and it's marked with an X. 101 00:11:51,570 --> 00:11:57,210 What this is doing, it's looking for the X, then it's identifying the digit that's been marked with the X, 102 00:11:57,210 --> 00:12:06,750 and then it's copying it to the end of the tape. So you can see we're building up quite sophisticated behaviour. 103 00:12:06,750 --> 00:12:10,590 Is the comparing function, Turing's description of it here, 104 00:12:10,590 --> 00:12:17,730 the first symbol marked Alpha and the first mock beta are compared if there is neither alpha nor beta, 105 00:12:17,730 --> 00:12:26,850 then go to St. E. If there are both and the symbols are alike, go to St., see otherwise go to state A. 106 00:12:26,850 --> 00:12:31,080 And again, I see India all variables here. 107 00:12:31,080 --> 00:12:40,800 A word of warning when you're reading Turing's paper, he uses these gothic letters and it can be very confusing. 108 00:12:40,800 --> 00:12:45,360 The Gothic e looks ever so like the sea at this particular point. 109 00:12:45,360 --> 00:12:51,170 Just be warned. 110 00:12:51,170 --> 00:12:59,790 So here's a summary of the various tape manipulating subroutines that Turing's defined as the find this the erase the print at the end, 111 00:12:59,790 --> 00:13:04,550 we found that there's a couple of varieties of copy. 112 00:13:04,550 --> 00:13:14,280 There's a replace function where you can replace any given symbol by any other copy at the end, 113 00:13:14,280 --> 00:13:18,950 all the symbols marked with an alpha without erasing the Alphas. 114 00:13:18,950 --> 00:13:23,990 And then there's some comparison functions, as you see. 115 00:13:23,990 --> 00:13:32,840 Yeah, there's a function to find the lost alpha. And I've pointed out here that it's littered throughout Turing's paper. 116 00:13:32,840 --> 00:13:37,340 There are various unfortunate misprint. 117 00:13:37,340 --> 00:13:44,300 The great advantage of studying it through Petzold book is that Petzel points these out that I'm just drawing this to your attention. 118 00:13:44,300 --> 00:13:54,410 Be aware that it looks like Turing mixed up Q and G a couple of times, and this actually arises later as well. 119 00:13:54,410 --> 00:14:02,570 So be aware at Page 124, Petzold explains this it's worth bearing in mind. 120 00:14:02,570 --> 00:14:14,970 OK, so we've got here a whole library of subroutines, as it were now. 121 00:14:14,970 --> 00:14:21,570 I want very briefly to go back and look at a machine that we were seeing yesterday. 122 00:14:21,570 --> 00:14:31,290 This is Turing's machine that prints out this probably transcendental number. 123 00:14:31,290 --> 00:14:43,630 And you can see what's going on here as it goes backwards and forwards, you can see it's marking the various figures and then it's finding them out, 124 00:14:43,630 --> 00:14:50,010 some copying, but now it's going to the left goes to the right, marks the figures. 125 00:14:50,010 --> 00:14:59,040 Now it copies them and then it's going to add an extra one. 126 00:14:59,040 --> 00:15:07,330 We all know that goes back to the left again. You can see the way in which it's working, it's using the kinds of subroutines that Turing has defined. 127 00:15:07,330 --> 00:15:16,120 It's going back and forth up the tape, going to the left, looking for the next, whatever it may be, finding the symbol that's marked with that. 128 00:15:16,120 --> 00:15:21,430 Copying it to the end, et cetera, et cetera. You know, erasing the symbols. 129 00:15:21,430 --> 00:15:32,170 And so if you see this kind of thing in operation, it helps to understand why Turing has defined these functions as he has. 130 00:15:32,170 --> 00:15:42,400 Now we're going to find later in the lecture that this business of if you like, subroutines editing the tape become absolutely crucial. 131 00:15:42,400 --> 00:15:53,320 When Turing defines the universal Turing machine, he's deliberately selected functions, which will enable him to do that. 132 00:15:53,320 --> 00:15:59,840 So we'll see that before long. OK. 133 00:15:59,840 --> 00:16:04,700 Section five of the paper enumeration of computable sequences. 134 00:16:04,700 --> 00:16:12,380 So what Turing is now going to do is explain how any Turing machine can be put in a standard form. 135 00:16:12,380 --> 00:16:21,770 And ultimately what he's going to do is assigned to every possible Turing machine a number, a natural number. 136 00:16:21,770 --> 00:16:29,900 It's going to immediately follow that if there are if every single Turing machine has a unique natural number, 137 00:16:29,900 --> 00:16:37,910 then there cannot be more Turing machines than there are natural numbers. So all the possible Turing machines are going to be innumerable. 138 00:16:37,910 --> 00:16:41,360 You could, in principle, put them in a list, an infinite list of goals, 139 00:16:41,360 --> 00:16:49,100 but they are innumerable and that's going to have consequences for computable numbers because a computable number, 140 00:16:49,100 --> 00:16:54,350 remember, is a number that can be generated by a Turing machine. 141 00:16:54,350 --> 00:17:04,910 And if there's only an innumerable number of Turing machines in the zone and in Europe, innumerable number of of computable numbers. 142 00:17:04,910 --> 00:17:13,100 So there are going to be fewer computable numbers than there are real numbers. 143 00:17:13,100 --> 00:17:24,240 Okay, so in order to do this, we have to use the strict kind of Turing machine where you have only one kind of action per line. 144 00:17:24,240 --> 00:17:28,460 You only have one print, one move left or right. 145 00:17:28,460 --> 00:17:32,240 OK. All stay still. 146 00:17:32,240 --> 00:17:42,140 We're going to no all the states and we're going to no, all the symbols and each line of the table is then going to take a very simple form. 147 00:17:42,140 --> 00:17:50,010 OK. So. Every single line of the table, 148 00:17:50,010 --> 00:17:59,610 we have the state in which the initial state in which the machine is and that's going to be Q1 and Q2, Q3, Q4, whatever. 149 00:17:59,610 --> 00:18:05,550 So we're getting rid of the letters that Turing's being used using up to now we're just going to number them. 150 00:18:05,550 --> 00:18:13,950 We have a particular symbol on the tape at that point. Snort is the blank S1, S2 as three, as four or other symbols. 151 00:18:13,950 --> 00:18:21,000 So they all have to be numbered in sequence and each line of the table. 152 00:18:21,000 --> 00:18:30,030 What this will mean is if you're in state Q I and you read on the tape symbol SJ, 153 00:18:30,030 --> 00:18:36,550 then what you are to do is print onto the tape symbol s k, which could of course, be the same right. 154 00:18:36,550 --> 00:18:43,530 It might actually be leaving the symbol unchanged, move left and go into state Q. 155 00:18:43,530 --> 00:18:47,400 And so there are three different forms. 156 00:18:47,400 --> 00:18:51,360 This one's moving left. This one's moving right. This one's staying in the same place. 157 00:18:51,360 --> 00:19:03,270 No move. OK, so our Turing machine, then we've we've simplified it in a sense, made it more complex in another sense. 158 00:19:03,270 --> 00:19:16,350 I mean, if you if you have a Turing machine that let me just illustrate that again, if we go back to this. 159 00:19:16,350 --> 00:19:27,810 Rats, maybe if you remember that Turing machine, the one that prints out the animal for one third. 160 00:19:27,810 --> 00:19:36,060 This has false statements and the action in each state is very, very simple. 161 00:19:36,060 --> 00:19:47,560 Whereas. This machine does the same thing with a single state, but its actions are more complicated. 162 00:19:47,560 --> 00:19:52,150 It has to move moves right when it encounters a zero or a one. 163 00:19:52,150 --> 00:19:59,110 Remember? So there's a sense in which this table is simpler than the other one because it's only got one state as opposed to four. 164 00:19:59,110 --> 00:20:03,310 But there's a sense in which it's more complex because it's got more complex actions. 165 00:20:03,310 --> 00:20:07,450 Okay. So in order to apply what Turing is doing here, 166 00:20:07,450 --> 00:20:18,790 we have to go for this form where we've simply got a single print, a single move at most per line of the table. 167 00:20:18,790 --> 00:20:26,290 OK, so we have a line of text consisting of quintuplets separated by semicolons. 168 00:20:26,290 --> 00:20:36,220 We're going to take all these quintuplets. The quintuple is simply that that list of five things all the quintupling that 169 00:20:36,220 --> 00:20:39,670 make up the machine table and we're going to put semicolons between them. 170 00:20:39,670 --> 00:20:45,310 And then we have a line of text which gives a description of the machine. 171 00:20:45,310 --> 00:20:48,730 In this description, we shall replace QE by the letter D, 172 00:20:48,730 --> 00:20:56,740 followed by the letter a repeated eight times and SJ by Dat D, followed by C repeating j times. 173 00:20:56,740 --> 00:21:07,030 So just to spell it out. Q one, that's the first step it will become a Q two will become a s zero. 174 00:21:07,030 --> 00:21:17,380 That's the blank which becomes D x one becomes DC S2, becomes the DC C and so on. 175 00:21:17,380 --> 00:21:22,450 So we end up our Turing machine, which started as a nice, easy to read table, 176 00:21:22,450 --> 00:21:27,160 is being successively transformed so that we just end up with a line of text 177 00:21:27,160 --> 00:21:33,730 consisting of letters and semicolons and that describes what the machine does. 178 00:21:33,730 --> 00:21:36,910 And he calls that the standard description. 179 00:21:36,910 --> 00:21:45,280 Then we go on again and we replace the letters by digits, and that gives us the description number of the machine. 180 00:21:45,280 --> 00:21:54,100 So let's let's see an example here again, is that machine that we've just seen running machine one of S. three. 181 00:21:54,100 --> 00:21:59,500 Okay. There we are. 182 00:21:59,500 --> 00:22:07,120 That's the table when we rename the end configurations, this is quoted from cheering, 183 00:22:07,120 --> 00:22:11,440 its table becomes this so you can see we've now numbered the state. 184 00:22:11,440 --> 00:22:17,650 So instead of giving them all their own letter, we just called them Q1, Q2, Q3, Q4. 185 00:22:17,650 --> 00:22:24,310 In every case, we're looking at the blank symbol. So it's not here. 186 00:22:24,310 --> 00:22:34,250 We're printing in zero, but this one and moving right here, we're printing a one that's s two and moving right. 187 00:22:34,250 --> 00:22:41,470 And so you'll notice that there's a slight additional complication here. 188 00:22:41,470 --> 00:22:46,360 Where is this just says move right from St. 189 00:22:46,360 --> 00:22:52,750 This is saying move right and print a blank. 190 00:22:52,750 --> 00:22:57,010 It's reading a blank and printing a blank. So it's leaving the tape unchanged. Right? 191 00:22:57,010 --> 00:23:04,000 So if you move and you leave the tape unchanged, you have to print back the symbol that was that. 192 00:23:04,000 --> 00:23:05,980 But even if you don't move, you have to. 193 00:23:05,980 --> 00:23:14,540 You can see, actually, that's going to make the tables rather more complicated because we can no longer really use a wild card. 194 00:23:14,540 --> 00:23:24,850 Right? If you're reading, if there's a certain action that you're going to take, no matter what is on the table to do it in this way, 195 00:23:24,850 --> 00:23:31,090 you're going to have to print back onto the take that same symbol, which means you need to record it. 196 00:23:31,090 --> 00:23:35,440 So you're actually going to have to have a lot more states. But let's not worry about that. 197 00:23:35,440 --> 00:23:40,080 You can see how in principle it would work. 198 00:23:40,080 --> 00:23:46,590 We're still quoting cheering other tables could be obtained by adding irrelevant lines such as this last one. 199 00:23:46,590 --> 00:23:52,770 So here we've got the same machine table, but we've got an extra line here. 200 00:23:52,770 --> 00:24:06,240 And this extra line says that if you're in the first state and you read a zero print back to zero and move right now, actually that never happens. 201 00:24:06,240 --> 00:24:11,100 Never, ever happens. Because here we are. 202 00:24:11,100 --> 00:24:17,430 It's still churning away, isn't it? What happens is in the first state you print zero. 203 00:24:17,430 --> 00:24:24,420 It immediately moves, right? So you are never in the first state with a zero on the tape. 204 00:24:24,420 --> 00:24:27,870 All right. You only ever encountered blanks that moves right? 205 00:24:27,870 --> 00:24:32,650 And you see you come back into the first state from the fourth state just by moving right? 206 00:24:32,650 --> 00:24:37,320 So it's moving right all the time. I can actually. 207 00:24:37,320 --> 00:24:45,110 Stop it now. OK, so the upshot is here we've got a machine table, 208 00:24:45,110 --> 00:24:51,800 which in behaviour is absolutely identical to the one before because we've added a line to it which is completely irrelevant, 209 00:24:51,800 --> 00:25:03,530 which is never going to be reached. So cheering, as shown here, that many different machines can be entirely equivalent in behaviour, 210 00:25:03,530 --> 00:25:09,800 if you add an irrelevant line to a machine table, it's going to change the machine. 211 00:25:09,800 --> 00:25:14,510 It changes the description of the machine, changes the description number of the machine, 212 00:25:14,510 --> 00:25:19,850 but actually the number that's generated by the machine will be exactly the same. 213 00:25:19,850 --> 00:25:24,440 And of course, it's entirely possible to have the same number generated by a lot, 214 00:25:24,440 --> 00:25:31,280 by lots of machines that behave differently, not just with irrelevant lines, but in other ways. 215 00:25:31,280 --> 00:25:35,420 So it follows that you can have lots of different Turing machines, 216 00:25:35,420 --> 00:25:42,860 which all generate the same computable number, which all have the same output in terms of figures. 217 00:25:42,860 --> 00:25:48,560 So the mapping from satisfactory machines remember satisfactory machines of a circle, free machines, 218 00:25:48,560 --> 00:25:58,070 the machines that carry on generating digits forever, like the one we just saw the mapping from those to computable numbers is subjective. 219 00:25:58,070 --> 00:26:04,250 In other words, every computable number can be computed by one of these machines. 220 00:26:04,250 --> 00:26:15,000 At least at Turing is right that these machines correctly capture all possible computations, but it's not going to be an injected function. 221 00:26:15,000 --> 00:26:20,000 There will be lots and lots of different Turing machines that all mapped to the same computer bill. 222 00:26:20,000 --> 00:26:31,110 No. OK, so I'm quoting cheering again, our first standard form would be. 223 00:26:31,110 --> 00:26:37,620 So this is where he's taken the machine. He's divided up into lines, put those into Queen two falls. 224 00:26:37,620 --> 00:26:42,810 No, the states, no the symbols and separated the semicolon. 225 00:26:42,810 --> 00:26:48,060 So that's a single line that this is the standard description. 226 00:26:48,060 --> 00:26:57,840 And just to help you understand that I've put down here the key Q one has become a s north has become D as one has become DC. 227 00:26:57,840 --> 00:27:02,620 Q2 has become Kia. Q3 has become a and so. 228 00:27:02,620 --> 00:27:08,610 Okay, so you can see it pretty easily how you get from the table to that. 229 00:27:08,610 --> 00:27:17,640 And now what we're doing, we're simply doing that substitution into this and we end up with that. 230 00:27:17,640 --> 00:27:30,540 Then we replace the letters and indeed the semicolon by digits, and we get this, so that's all one single number. 231 00:27:30,540 --> 00:27:34,980 This might remind you a little bit of what we saw with girdle. 232 00:27:34,980 --> 00:27:42,960 We find some method of converting a formula or in this case, a Turing machine to a number. 233 00:27:42,960 --> 00:27:51,060 The numbers, we get a pretty humungous. I mean, these aren't actually as big as curdle numbers, but they're they're nevertheless pretty big. 234 00:27:51,060 --> 00:28:01,980 And the aim is to prove some theoretical result. This is the description number of the machine that has the extra state. 235 00:28:01,980 --> 00:28:13,770 And I've just shown in red the the extra digits that have been added at the end for that last quintuple. 236 00:28:13,770 --> 00:28:24,120 OK. To each computable sequence that corresponds at least one description, no whale, to no description, no. 237 00:28:24,120 --> 00:28:28,320 Does that correspond more than one computable sequence? 238 00:28:28,320 --> 00:28:37,770 OK, so a description number simply gives you a effectively a formula for generating a Turing machine. 239 00:28:37,770 --> 00:28:42,460 A Turing machine can generate, at most one computable No. 240 00:28:42,460 --> 00:28:47,580 Circle three. It will generate a computable number if it's not circle free. 241 00:28:47,580 --> 00:28:54,600 If it halts gets into a loop without outputting any more figures, then it will not generate the immutable number. 242 00:28:54,600 --> 00:29:00,930 But at most, it will generate one. The computable sequences is numbers are therefore innumerable. 243 00:29:00,930 --> 00:29:10,710 OK. You can put them in a list. You can list all the possible Turing machines in the order of these numbers, 244 00:29:10,710 --> 00:29:18,810 and you can thus produce a list of all the computable numbers by putting next to each description. 245 00:29:18,810 --> 00:29:29,670 Number the corresponding computable number of course, you can't in practise because they're only infinite, but infinitely more and more digits. 246 00:29:29,670 --> 00:29:37,200 You can't write them out. But we're doing this conceptually. OK, so it follows. 247 00:29:37,200 --> 00:29:47,880 I mean, this is this is quite a peculiar result if you think about it. We saw in the first lecture that the real numbers are not innumerable. 248 00:29:47,880 --> 00:29:57,210 They can't be put into a list. So there are far, far more real numbers than there are rational numbers, for example. 249 00:29:57,210 --> 00:30:11,450 That's a kind of slightly surprising result. I mean, to a very close approximation, all real numbers are irrational. 250 00:30:11,450 --> 00:30:22,900 It now follows that to a really close approximation, all real numbers are non computable. 251 00:30:22,900 --> 00:30:32,770 That means actually, if you have a non computable number, it's very hard to see how we could even refer to it. 252 00:30:32,770 --> 00:30:41,680 I mean, you clearly, clearly can't write it down. You can't even generate a formula to specify it. 253 00:30:41,680 --> 00:30:47,980 You can't. You can't. You certainly can't write a programme that is going to generate its digits. 254 00:30:47,980 --> 00:30:57,640 So we end up with this rather strange result that there are all these, those real numbers out there that we cannot get hold of any way at all. 255 00:30:57,640 --> 00:31:03,520 We can't refer to them, but we know by cantors proof that they're there. 256 00:31:03,520 --> 00:31:10,900 So you can see how this kind of result might stimulate quite a lot of interesting thinking in the philosophy of mathematics. 257 00:31:10,900 --> 00:31:17,240 We're not actually going to go there, but I I simply point that out as an interesting consequence of what Turing has done. 258 00:31:17,240 --> 00:31:24,520 I think it's it's a much more striking result than the result about there being more real than rational numbers. 259 00:31:24,520 --> 00:31:33,310 They're being more Reelz than computable numbers is is more dramatic because, of course, Pi and E and so on are computable. 260 00:31:33,310 --> 00:31:43,660 They're irrational, but they're computable. We now see that there are all these real numbers that aren't even computer that you can't 261 00:31:43,660 --> 00:31:52,660 even specify them by means of giving a computer programme that will generate digit by digit. 262 00:31:52,660 --> 00:31:56,920 OK, so that's that's quite momentous. Let's move on to section six. 263 00:31:56,920 --> 00:32:03,520 Another really momentous result the universal Turing machine. 264 00:32:03,520 --> 00:32:12,250 And here what Turing is going to do is to show how to design a single machine which can be used to compute any computable sequence. 265 00:32:12,250 --> 00:32:15,340 Now there's any compute of sequence of digits, any computable number. 266 00:32:15,340 --> 00:32:21,570 So up till now, we've had Turing machines, each of them generating at best one computable number. 267 00:32:21,570 --> 00:32:30,220 It's a circle circle. Three machine generates one computable number. Now he's talking about a single machine generating all computable numbers. 268 00:32:30,220 --> 00:32:36,490 How can that work? Well, of course it works now because he's going to he's not going to start with a blank tape. 269 00:32:36,490 --> 00:32:43,450 If you start with a blank tape, any given machine will generate a single computable number at best. 270 00:32:43,450 --> 00:32:53,320 What he's now going to do is show how you can create a Turing machine, which will read from its own tape from the left hand part of its own tape. 271 00:32:53,320 --> 00:33:02,620 It will read the instructions that it has to perform, and it will thus simulate the behaviour of any Turing machine you care to mention. 272 00:33:02,620 --> 00:33:06,370 Right. So we're going to end up with a universal machine, a Turing machine, 273 00:33:06,370 --> 00:33:12,850 which effectively runs from a specification of some other Turing machine and and 274 00:33:12,850 --> 00:33:20,020 generates exactly the same computer for number as that of a Turing machine would do. 275 00:33:20,020 --> 00:33:25,360 So if this machine you is supplied with a tape on the beginning of which is written, 276 00:33:25,360 --> 00:33:37,000 the standard description of some computing machine in the Turing machine, in other words, then you will compute the same sequence as in. 277 00:33:37,000 --> 00:33:41,050 OK, so Turing starts the discussion in a slightly odd way, but it's actually, 278 00:33:41,050 --> 00:33:47,200 I think, quite a good way of introducing the discussion and making the point. 279 00:33:47,200 --> 00:33:54,760 We can see at the end the denouement we we find we have actually done what we want to do. 280 00:33:54,760 --> 00:34:07,780 Let's first suppose that we have some particular machine in prime which will write down on the F squares, the successive complete configurations of N. 281 00:34:07,780 --> 00:34:15,430 So we're we're going to focus on one particular case we've got a machine m a Turing machine, 282 00:34:15,430 --> 00:34:21,130 and we're going to find out how we can create a machine m prime, 283 00:34:21,130 --> 00:34:31,600 which will generate exactly the same computable sequence by referring to the standard description of N. 284 00:34:31,600 --> 00:34:43,610 OK, so he's going to refer back now to machine to just to remind you that. 285 00:34:43,610 --> 00:34:54,170 This one, the one that generates the number in which you've got successively larger numbers of ones. 286 00:34:54,170 --> 00:35:00,440 Jason, followed by zero. It happened. She noticed a little bit odd. 287 00:35:00,440 --> 00:35:05,540 It doesn't matter. But I just want to point it out because it might. You might find it rather confusing. 288 00:35:05,540 --> 00:35:09,380 I mean, here we've got this machine, which has rather complicated behaviour. 289 00:35:09,380 --> 00:35:16,070 This is not a machine in the standard form that Turing later in the paper is requiring. 290 00:35:16,070 --> 00:35:21,050 We've seen that in order to produce the standard description of the machine, 291 00:35:21,050 --> 00:35:27,590 we have to reduce the machine to quintuplets where it's divided up into steps and actions, 292 00:35:27,590 --> 00:35:34,730 where we've got to at most one print, at most one right or left for each, each line of the table. 293 00:35:34,730 --> 00:35:42,410 So actually, to produce this same behaviour by a standard Turing machine that is the form that he's using later, 294 00:35:42,410 --> 00:35:50,150 we'd actually have to have a lot more state, which has to be a lot more complicated. So Turing's kind of cheating here. 295 00:35:50,150 --> 00:35:56,300 But that doesn't matter because what we're focussing on here is the behaviour of this machine, 296 00:35:56,300 --> 00:36:06,880 what it actually outputs, and we will see how that works. 297 00:36:06,880 --> 00:36:19,250 Okay, so I've just pointed out that oddity here. So we saw earlier this was on Slide 86. 298 00:36:19,250 --> 00:36:28,010 And it's in Petzold book page 92 that we saw how a sequence of complete configurations can be listed. 299 00:36:28,010 --> 00:36:38,060 Now remember, a complete configuration is what you see between the columns here. 300 00:36:38,060 --> 00:36:47,060 The complete configuration is it shows everything on the tape at that particular point in the calculation, 301 00:36:47,060 --> 00:36:54,020 and it also shows what state the machine is and where exactly it is on the tape at that point. 302 00:36:54,020 --> 00:36:59,930 Right? So remember the complete configuration I explained to you in the previous lecture? 303 00:36:59,930 --> 00:37:08,210 It's what you would need to write down if you wanted to stop doing the calculation and then come back to it later and pick up where you left off. 304 00:37:08,210 --> 00:37:13,130 You'd need to know exactly what was written on the tape at that point. You'd need to know which is the current square. 305 00:37:13,130 --> 00:37:22,940 And you'd need to know which state you're in. That's it. So we've got a complete configuration there, a complete configuration there and so on. 306 00:37:22,940 --> 00:37:32,150 So what Turing was illustrating here was how you could record the exact process of a calculation by listing the complete configurations. 307 00:37:32,150 --> 00:37:37,130 I mean, it starts just, you know, with nothing written on the tape and it's in state B. 308 00:37:37,130 --> 00:37:46,730 And then after the first step, it's got to and then a couple of zeros and so forth. 309 00:37:46,730 --> 00:37:55,310 And then it goes on. Now again, as I've said, you've got this oddity that we've got quite complicated behaviour here. 310 00:37:55,310 --> 00:38:02,570 If the machine was put in the standard form, we'd have far less change from one complete configuration to another. 311 00:38:02,570 --> 00:38:08,360 But that doesn't mean that's the basic idea is that whenever you have a Turing machine, 312 00:38:08,360 --> 00:38:14,930 whether a complex one or a simple one, you can in principle list the complete configurations one after another, 313 00:38:14,930 --> 00:38:15,530 after another, 314 00:38:15,530 --> 00:38:25,100 after another with columns in between and each complete configuration shows you exactly what the stage of the calculation was at that step. 315 00:38:25,100 --> 00:38:33,440 OK. But. So now cheering again, he's going to modify this format. 316 00:38:33,440 --> 00:38:40,160 He's going to replace the state code just in the same way as he's done with the quintuple, so instead of the old Q, 317 00:38:40,160 --> 00:38:51,740 we going to have Daddy AA and AAA blanks are going to be replaced by D zero by DC, one by DCC and Schwab by DC CC. 318 00:38:51,740 --> 00:39:03,900 So exactly as we had before. He's replacing the symbols in the complete configurations by this. 319 00:39:03,900 --> 00:39:11,150 This sequence of letters, so the result of these substitutions in to see is that OK, 320 00:39:11,150 --> 00:39:16,670 so you may remember see which we had before and we now get to see one. 321 00:39:16,670 --> 00:39:25,730 So effectively, what these sequences are encoding is a sequence of complete configurations. 322 00:39:25,730 --> 00:39:28,340 This is the sequence of symbols on f squares, he says. 323 00:39:28,340 --> 00:39:37,200 What he means is remember, we're trying to produce a machine in prime which is going to copy the behaviour of a machine. 324 00:39:37,200 --> 00:39:49,190 And it does that by referring to a specification of M, which is going to be written on the left hand end of the tape. 325 00:39:49,190 --> 00:39:53,540 So before the show was OK, there's going to be a left hand. 326 00:39:53,540 --> 00:39:58,130 There's going to be a description of the machine to be copied. 327 00:39:58,130 --> 00:40:04,270 The machine, which is going to be in this standard form with these scissors and so forth. 328 00:40:04,270 --> 00:40:10,700 And now what Turing is saying is what we want to happen at the right-hand end of the tape is we 329 00:40:10,700 --> 00:40:16,700 want a sequence of complete configurations like this to be generated in the same kind of format, 330 00:40:16,700 --> 00:40:21,860 diseases and so forth. So the machine in prime, 331 00:40:21,860 --> 00:40:30,290 which is being designed to print out the successive configurations of machine and is to do so in this form on the edge of squares. 332 00:40:30,290 --> 00:40:37,530 So we've no we've no longer got f squares being confined to zero and well. 333 00:40:37,530 --> 00:40:41,700 He remarked that if any can be constructed, then so can him prime, 334 00:40:41,700 --> 00:40:47,970 and it would operate by referring back to a copy of the standard description of him written on the tape. 335 00:40:47,970 --> 00:40:54,450 So having seen the way the Turing machines work, the kind of editing that they do, 336 00:40:54,450 --> 00:41:00,180 the way they can go back upwards and forwards, comparing symbols, copying them and all the rest. 337 00:41:00,180 --> 00:41:05,160 I hope you will find this credible that if at the left hand end of the tape, 338 00:41:05,160 --> 00:41:16,350 you've got a standard description of machine em and if and at the right hand end you've got a sequence of complete configurations. 339 00:41:16,350 --> 00:41:24,150 Then what machine am prime is going to do? It's going to look at the the last complete configuration. 340 00:41:24,150 --> 00:41:32,310 Oh, I see we're in that state with that symbol. Then it's going to shuffle back to the beginning of the tape. 341 00:41:32,310 --> 00:41:44,190 Look at the machine table for em, and it's going to identify what it should do, given that symbol and that state. 342 00:41:44,190 --> 00:41:53,280 So let's see that spelt out a little bit more. So Entrain will print out in sequence the complete configurations that M would produce at each stage. 343 00:41:53,280 --> 00:41:59,460 It will have a record of the last complete configuration that's at the right hand end of the tape 344 00:41:59,460 --> 00:42:06,720 and a record of MS rules in the form of the standard description at the left hand end of the tape. 345 00:42:06,720 --> 00:42:13,350 It will shuttle back and forth, checking the latest configuration that is the state and the symbol from the right, 346 00:42:13,350 --> 00:42:19,050 then finding the rule that this matches at the left, then moving back to build the next complete configuration accordingly. 347 00:42:19,050 --> 00:42:24,510 On the right side, right side, shuffle over to the right. 348 00:42:24,510 --> 00:42:28,140 What's the current configuration? Okay, you go back to the left. 349 00:42:28,140 --> 00:42:37,650 What's the rule for that configuration? OK, now we know what to do and it has to go back and it has to copy that configuration again, 350 00:42:37,650 --> 00:42:45,210 making changes the few changes that are required by the latest action. 351 00:42:45,210 --> 00:42:49,200 So it's keeping track as it goes. 352 00:42:49,200 --> 00:42:52,440 Of all the configurations, 353 00:42:52,440 --> 00:43:03,460 right here are the configurations in C one so C1 that we saw a slider two ago generated by the non-standard machine to the machine we saw. 354 00:43:03,460 --> 00:43:10,020 And what I've done here, I've underlined the configurations. OK. 355 00:43:10,020 --> 00:43:21,330 So here what you've got is the state here you've got state and symbol, here you've got state and symbol. 356 00:43:21,330 --> 00:43:35,770 OK. So in each case, the state will be a deal followed by a number of ayes, and the symbol will be followed by a number of seats. 357 00:43:35,770 --> 00:43:40,830 OK. OK. 358 00:43:40,830 --> 00:43:45,450 Recall that the complete configurations are separated by columns, so at the right of the tape, 359 00:43:45,450 --> 00:43:55,680 we've got complete configuration column, complete configuration code, complete configuration as you see within them. 360 00:43:55,680 --> 00:43:59,760 Just one state represented by D, followed by a sequence of A's, 361 00:43:59,760 --> 00:44:06,930 will appear followed by the scan symbol on the current square represented by D, followed by a sequence of CS. 362 00:44:06,930 --> 00:44:14,130 And I suggested that when you go through this, you might find it helpful to refer to the text on Page 151, 363 00:44:14,130 --> 00:44:21,620 where during spells out these these various translations. 364 00:44:21,620 --> 00:44:32,900 OK. What about the standard description? Remember, the standard description is the the left hand end of the tape. 365 00:44:32,900 --> 00:44:41,400 So here what I've done. I've underlined what I call the trigger configurations, so we've got the standard description of the machine. 366 00:44:41,400 --> 00:44:47,270 Remember, it consists of lots and lots of encoded quintuplets. 367 00:44:47,270 --> 00:44:52,880 And here all the various quinta balls for the machine we're looking at here. 368 00:44:52,880 --> 00:44:56,660 And what I've done here, I've shown you how the translation takes place. 369 00:44:56,660 --> 00:45:01,430 So initial state be read symbol blank, right? 370 00:45:01,430 --> 00:45:06,190 Symbol zero. Move right into state C. 371 00:45:06,190 --> 00:45:11,480 Okay. So first of all, we no the states and the symbols. So we get initial state. 372 00:45:11,480 --> 00:45:22,250 Q One read symbol, snort right symbol S1 move right into state Q2 and then the cues are being replaced by D, 373 00:45:22,250 --> 00:45:31,280 followed by the appropriate number of A's. The symbols are being replaced by D, followed by the appropriate number of seats. 374 00:45:31,280 --> 00:45:35,450 In the case of the blank. No signs because that s not okay. 375 00:45:35,450 --> 00:45:48,020 So if you look there d a d, d, c, r d, that's the first quintuple being encoded and daddy is the configuration. 376 00:45:48,020 --> 00:45:55,520 That's the state plus the symbol. That's what determines what should happen, what should happen. 377 00:45:55,520 --> 00:46:00,500 After you write this symbol, you move right and you go into that state. 378 00:46:00,500 --> 00:46:07,910 So if you put those two things together here on the right hand side of the tape, we've got the configurations, 379 00:46:07,910 --> 00:46:10,520 the complete configurations being built up, 380 00:46:10,520 --> 00:46:18,650 which is a record of what what is the case at each particular stage of the calculation you look there to see, 381 00:46:18,650 --> 00:46:23,780 I mean, you look at the last configuration to be written and you identify this part of it, 382 00:46:23,780 --> 00:46:29,240 the part that that gives you the configuration, the state and the symbol. 383 00:46:29,240 --> 00:46:35,600 And then you shuttle off back to the left hand end of the tape and you look for the the matching trigger. 384 00:46:35,600 --> 00:46:40,430 And when you find that, okay, that's the quintuple on which I need to act, 385 00:46:40,430 --> 00:46:49,460 that's the quintuple which is specifying what needs to change with the configuration, you know, as a as the next configuration is written. 386 00:46:49,460 --> 00:46:54,510 Okay? This is obviously quite complicated. 387 00:46:54,510 --> 00:47:04,250 I do urge you to read it through carefully. In petzold, it's not essential to understand, you know, every last detail of how this is working, 388 00:47:04,250 --> 00:47:08,720 particularly all the detail of how the universal machine is defined. 389 00:47:08,720 --> 00:47:13,490 But what's crucial is to have have the general idea of how it's worked, how it works. 390 00:47:13,490 --> 00:47:20,000 I mean, once you've seen some Turing machines in action, as you will have done by that stage of the book, including, 391 00:47:20,000 --> 00:47:28,430 you know, Petzold ingenious machine that does the square root of two, it gives you a feel for how these things operate. 392 00:47:28,430 --> 00:47:36,140 And then you should be able to see that in principle, you know, it's going to be fiddly, but you can see that it is possible to do this. 393 00:47:36,140 --> 00:47:42,710 You know, the universal Turing machine is certainly a possibility. 394 00:47:42,710 --> 00:47:50,240 Okay. One thing we've not done, we've not yet dealt with the figures that are printed. 395 00:47:50,240 --> 00:48:00,320 So to mimic MS generation of a computable number. We also have to print out at each stage any new figures, zeros and ones produced by the transition. 396 00:48:00,320 --> 00:48:04,760 And these are going to be colon separated between the successive complete configurations. 397 00:48:04,760 --> 00:48:09,590 So you just want to explain this zero and one or a special case? 398 00:48:09,590 --> 00:48:15,140 Right? All the other stuff that gets printed by the machines is working. 399 00:48:15,140 --> 00:48:24,440 The zeros and ones that are printed actually specify the computable number, the number that's going to end up on the tape. 400 00:48:24,440 --> 00:48:33,890 What Turing is saying is that rather than having zeros and ones printed, you know, and then printed again and again and again, 401 00:48:33,890 --> 00:48:41,090 because as we've seen with each quintuple, if you if you leave a square, you then have to print it again. 402 00:48:41,090 --> 00:48:46,250 What he's saying is you kind of save up the zeros and ones and you print them at the end. 403 00:48:46,250 --> 00:48:56,240 So as you go step by step through the as the machine churns from one state to another, you print out a complete configuration. 404 00:48:56,240 --> 00:49:07,430 But if a zero or a one has been printed you, then you add that at that stage after the complete configuration again separated by a colon. 405 00:49:07,430 --> 00:49:12,260 You'll see that if you look in the book, you'll find that that illustrated, 406 00:49:12,260 --> 00:49:19,400 which makes it very straightforward to understand if M Prime has been designed designed. 407 00:49:19,400 --> 00:49:25,040 Appropriately, then, this is the key move we've designed, 408 00:49:25,040 --> 00:49:33,920 and in prime and prime is this machine that refers to the description of machine and the left hand end of the tape and at the right hand 409 00:49:33,920 --> 00:49:41,180 end kind of reproduces its behaviour by generating complete configuration after complete configuration of the complete configuration. 410 00:49:41,180 --> 00:49:46,190 And between those putting in any zeros or ones that have to have been printed, 411 00:49:46,190 --> 00:49:52,430 you can actually see that if we change the description of anyone at the left hand end of the tape, 412 00:49:52,430 --> 00:49:58,460 then the same machine is going to mimic whatever machine description we put there. 413 00:49:58,460 --> 00:50:01,400 So actually, we have generated a universal machine, 414 00:50:01,400 --> 00:50:08,750 replacing the standard description of the left of the tape with the standard description of a different machine and will mean that 415 00:50:08,750 --> 00:50:16,550 we end up with the sequence of figures that end would generate on the tape instead of the sequence of figures that we generate. 416 00:50:16,550 --> 00:50:19,070 So now obviously, 417 00:50:19,070 --> 00:50:29,240 the universal Turing machine is not going to be generating exactly the same stuff on the tape as the machine and that it's mimicking, right? 418 00:50:29,240 --> 00:50:38,090 It's not mimicking, and in every respect, it's going to have loads and loads of working, all those complete configurations that M doesn't generate. 419 00:50:38,090 --> 00:50:39,980 But the crucial point is the figures, 420 00:50:39,980 --> 00:50:49,280 the zeros and ones are going to come out in exactly the same order from the universal machine as they do from machine. 421 00:50:49,280 --> 00:50:57,450 OK, so we end up with the same computable no. 422 00:50:57,450 --> 00:51:05,190 OK, so finally, I'm not going to go through how the universal machine works in detail, I've said go and look at that in the book and again, 423 00:51:05,190 --> 00:51:14,250 don't feel that you've got to understand every last detail, but do read it through and make sure you've got a feel for how this is working. 424 00:51:14,250 --> 00:51:25,710 So Section seven describes the universal machine in detail. It uses the kind of subroutines that we were talking about earlier those functions. 425 00:51:25,710 --> 00:51:30,390 This was the first proof that there could be a universal programmable machine 426 00:51:30,390 --> 00:51:37,950 capable of computing any number that we know how to compute when given the recipe. 427 00:51:37,950 --> 00:51:46,110 Now, Turing here is obviously focussing on computable numbers, the generation of sequences of zeros and ones, 428 00:51:46,110 --> 00:51:54,180 but by extension, it's clear that any other computer will function will be achievable by the same means. 429 00:51:54,180 --> 00:52:03,720 I mean, we've we've got a method essentially for replicating the computational behaviour of any Turing machine at all. 430 00:52:03,720 --> 00:52:12,450 And if Turing is right, as he argued, we looked looked at two lectures ago. 431 00:52:12,450 --> 00:52:23,340 If he's right that his kind of computing machines actually capture all the possible mechanical methods of computation, 432 00:52:23,340 --> 00:52:31,380 then it follows that we actually have a universal machine that is capable of replicating anything that can be computed. 433 00:52:31,380 --> 00:52:37,200 So a momentous result, indeed, and we'll say a little bit more about that next time. 434 00:52:37,200 --> 00:52:43,798 Thank you.