1 00:00:00,510 --> 00:00:06,390 So now we need to get the intersection of the site, little mappings into a little mapping salon and 2 00:00:06,390 --> 00:00:10,980 let the mapping do now will pass them into the Intersect mapping function. 3 00:00:11,340 --> 00:00:19,770 So for that in the interactive shell, he'll let us in sort see in dissected 4 00:00:22,200 --> 00:00:27,840 mapping is equal to the simple stuff heco dot. 5 00:00:28,350 --> 00:00:40,020 Now, let us first of all, open the simplest function in notepad and let us find out the actual material 6 00:00:40,020 --> 00:00:42,780 in the SEC to mappings that as mapping one. 7 00:00:43,140 --> 00:00:48,050 So now if you'll let us just copy paste the Intersect mappings one. 8 00:00:48,420 --> 00:00:57,980 And now here we are going to pass letter mapping one and letter mapping to in this case. 9 00:00:58,530 --> 00:01:06,690 And then if we try to say intersected mapping, we get both the things combined together. 10 00:01:07,050 --> 00:01:12,660 So now the list of potential decryption letters for any cipher letter in the intercepted mappings should 11 00:01:12,660 --> 00:01:17,820 be only the potential decryption letters that are in both letter mappings, one and two. 12 00:01:18,750 --> 00:01:24,800 So, for example, in the list of intercepted mappings, you can see for Z GUI it is just because in 13 00:01:25,050 --> 00:01:30,600 your letter mappings had envie, but that the mapping still had only so that it will build the thing 14 00:01:30,600 --> 00:01:34,020 so commonly those would be intercepted mappings. 15 00:01:34,200 --> 00:01:39,540 So now we will repeat the steps of the preceding step for them to decipher also which we have. 16 00:01:39,930 --> 00:01:48,630 So over here we would create Silvy letter mappings three and that is equal to we are using again. 17 00:01:48,750 --> 00:01:55,020 So simple sub hackle dot get the 18 00:01:57,600 --> 00:02:03,180 blank side for letter mapping one. 19 00:02:07,120 --> 00:02:19,240 That is a huge difference in capital and look is so simple, we will just say copy paste it so that 20 00:02:19,680 --> 00:02:20,470 out there, OK. 21 00:02:20,770 --> 00:02:25,770 Then again, let's take Watpac two, which is equal to now. 22 00:02:25,780 --> 00:02:29,050 Let's take the makework battle. 23 00:02:30,550 --> 00:02:37,570 Or rather, let us cooperate on the whole thing and the only thing we will have to change is the vote. 24 00:02:37,660 --> 00:02:41,200 So now we will take the total vote in this case. 25 00:02:41,330 --> 00:02:49,120 OK, so let's copy paste that word here and then recreate the candidate as which is equal do. 26 00:02:49,750 --> 00:02:52,870 So let us take the vote patterns from. 27 00:02:54,880 --> 00:03:03,410 And let's put here, but now we will change this to walk back to OK, now, after that let's run will 28 00:03:03,430 --> 00:03:14,350 say even in the range, and we would go on for length of your candidate SDR and here we would take Sillitoe. 29 00:03:14,350 --> 00:03:19,450 Mapping is equal to Symbol's Hucko Dot. 30 00:03:19,570 --> 00:03:26,110 Now you have the matter that is Dolittle's mapping. 31 00:03:27,130 --> 00:03:37,270 And then here we would be passing the little mapping one sorry, three in this case, the voter and 32 00:03:39,580 --> 00:03:40,360 candidate. 33 00:03:40,480 --> 00:03:41,380 S.G. are. 34 00:03:42,400 --> 00:03:49,320 At the index, I so let us face the same war here. 35 00:03:51,850 --> 00:04:01,620 And let's execute this fall, so Novacek, our letter mapping three, we get the values printed. 36 00:04:01,850 --> 00:04:07,990 OK, so now again, we have to call for an intercepted mappings because the intercepted mappings is 37 00:04:07,990 --> 00:04:09,040 already there with us. 38 00:04:09,340 --> 00:04:12,910 So now what we would do is, let's see, intercepted 39 00:04:15,440 --> 00:04:15,880 mapping. 40 00:04:15,880 --> 00:04:21,250 One is equal to let's take a simple sub hackl. 41 00:04:21,790 --> 00:04:31,120 But now here we have already used the intercepted mappings and here we would pass the initial intercepted 42 00:04:31,120 --> 00:04:34,140 mappings that we have is this one. 43 00:04:35,050 --> 00:04:37,570 So let's pass that on. 44 00:04:37,570 --> 00:04:40,000 The second one, we have this little. 45 00:04:41,610 --> 00:04:45,300 Mapping three, the current one. 46 00:04:45,990 --> 00:04:54,060 OK, so now if we try to see intersected mapping one, so we get this mapping system. 47 00:04:54,510 --> 00:05:00,050 So in this example, we are able to find a solution for the geese that have only one value in the list. 48 00:05:00,570 --> 00:05:07,800 For example, decrypts to Vibert, that aim would be Krypto in this case already because we know that 49 00:05:08,040 --> 00:05:15,840 the key decrypts to eight, we can reduce that gate or the geek must to Krypto and not a so after all, 50 00:05:15,840 --> 00:05:22,290 if it is solved that those are used by one side FALLETTA, it can be used by another because a simple 51 00:05:22,290 --> 00:05:25,160 substitution cipher and a plain text letter. 52 00:05:25,210 --> 00:05:25,740 Exactly. 53 00:05:25,740 --> 00:05:26,730 One cipher little. 54 00:05:27,150 --> 00:05:33,690 So now let's have a look at the remove solve letters from mapping function and find the solve letters 55 00:05:33,690 --> 00:05:36,860 and remove them from the list of potential decryption letters. 56 00:05:37,230 --> 00:05:42,240 We will need the intersected map that we have just created so we will not lose. 57 00:05:42,240 --> 00:05:47,850 This interactive shit is coming to the identifying solve letters and mapping. 58 00:05:48,210 --> 00:05:51,140 You have to remove some of the tools from mapping function. 59 00:05:51,570 --> 00:05:57,300 So just for any cipher letters in the letter mappings that have only one potential decryption letters. 60 00:05:57,520 --> 00:06:03,120 So these letters are considered solved, which means that they are or any other cipher letter. 61 00:06:03,120 --> 00:06:05,250 Which of a disabled veteran? 62 00:06:05,250 --> 00:06:10,120 The list of potential decryption letters can't possibly decrypt this letter. 63 00:06:10,470 --> 00:06:16,860 So this could cause a chain of chain reaction because one potential decryption letter is removed from 64 00:06:16,880 --> 00:06:20,700 other list of potential decryption letters holding just two letters. 65 00:06:20,700 --> 00:06:22,770 The result could be a new cipher. 66 00:06:23,370 --> 00:06:29,400 OK, so the program handles the situation by looping and removing the newly solved letter from the entire 67 00:06:29,400 --> 00:06:30,870 cipher letter mapping. 68 00:06:31,560 --> 00:06:32,010 Now. 69 00:06:33,300 --> 00:06:35,580 Let us do one thing, let us open our. 70 00:06:36,710 --> 00:06:38,490 Simple Subiaco function. 71 00:06:39,500 --> 00:06:42,740 So let's go to a record on this one. 72 00:06:43,130 --> 00:06:49,100 OK, so now here, if we go for the removal of letters from up, you can see this. 73 00:06:49,500 --> 00:06:51,850 OK, so over here we are having the loop. 74 00:06:52,370 --> 00:06:54,730 They invited this loop again is true. 75 00:06:54,980 --> 00:06:59,970 We are assuming that this will not go against making this false here. 76 00:07:00,260 --> 00:07:06,020 It's not because the difference for dictionaries pass with the little mappings parameter that the dictionary 77 00:07:06,020 --> 00:07:08,390 will contain the changes made in the functions. 78 00:07:08,630 --> 00:07:10,490 Even after the function returns. 79 00:07:10,640 --> 00:07:16,310 It creates a loop again variable that holds a boolean value, which determines that the code needs to 80 00:07:16,310 --> 00:07:19,390 loop again when it finds another source of letters. 81 00:07:19,910 --> 00:07:25,010 So if the loop again variable is set to truly program execution and does the VI loop at the beginning 82 00:07:25,010 --> 00:07:27,770 of the loop, it sets the loop again to force. 83 00:07:27,950 --> 00:07:32,840 And the code assumes that this is the last iteration through the value and the loop. 84 00:07:32,840 --> 00:07:38,540 Again, variable is only set to true if the program finds a new SÖLVI for later during the iteration. 85 00:07:38,660 --> 00:07:45,890 Now the next part of the code over here, OK, it creates a list of cipher letters that have exactly 86 00:07:45,890 --> 00:07:47,860 one potential decryption letters. 87 00:07:48,080 --> 00:07:51,930 And these are the sort of letters that will be removed from the mappings. 88 00:07:52,160 --> 00:07:53,660 So this is all letters. 89 00:07:53,660 --> 00:08:00,410 One, if create value for, say, for little ones in your letter are if the length of this is equal 90 00:08:00,410 --> 00:08:05,840 to one, then you're appending it to solve letters dot append method that the letter mappings with the 91 00:08:05,840 --> 00:08:06,640 index of five four. 92 00:08:06,650 --> 00:08:07,970 Letter zero.