WEBVTT 1 00:05:40.319 --> 00:05:44.249 Silence. 2 00:05:48.478 --> 00:05:55.528 Silence. 3 00:06:03.418 --> 00:06:16.798 Silence okay. 4 00:06:16.798 --> 00:06:26.999 Good afternoon class you can hear me. I didn't even have to ask about that. Okay. So the problem with the current blog posting for today, but. 5 00:06:26.999 --> 00:06:35.788 What it says is that there's a chance for each of you to give, like, a 1 or 2 minute presentation about what your. 6 00:06:36.084 --> 00:06:48.803 Project proposal is, and then I'll show more videos. I'll continue that long Microsoft video that I showed about the 1st, 33 minutes or so and continue because that's very good. 7 00:06:48.803 --> 00:06:53.303 And guys have better lecture than me and he's got visual aids 1 or 2 other videos. 8 00:06:54.298 --> 00:07:04.199 And then I'll continue on with my notes if there's any time left over and. 9 00:07:04.199 --> 00:07:10.228 So, it's over to you almost to what order. 10 00:07:10.228 --> 00:07:13.468 You do this and we can do that. 11 00:07:13.468 --> 00:07:18.749 In order to basically. 12 00:07:18.749 --> 00:07:24.238 That I see you signed in just a 2nd here signed in to the website. 13 00:07:24.238 --> 00:07:29.879 Even if you want, which would be Joseph? Ben Blaine. Dan Isaac. 14 00:07:29.879 --> 00:07:35.399 And then I'll scroll over to get more so. 15 00:07:35.399 --> 00:07:39.718 And if you're not prepared, just tell me, and we'll move on. 16 00:07:41.394 --> 00:07:55.853 Oh, some news before that, I'll put it on the blog and videos. Interesting news. Like, they're trying to buy arm. They're also announcing they're trying to do more general purpose computation to actually take on Intel somewhat. I'll put links to that, but where. 17 00:07:56.218 --> 00:08:09.509 And video is coming from his intel's progress has been stalling lately. Perhaps they go through cycles and they're in a slow cycle right now. It's also possible. It entails. Architecture is a little. 18 00:08:09.509 --> 00:08:14.098 Mature and that invidious architecture being totally different, you know. 19 00:08:14.098 --> 00:08:19.228 Design has more future potential and NVIDIA certainly thinks that way. So. 20 00:08:19.228 --> 00:08:23.788 Sort of thing saying, and video in the news in any case. 21 00:08:25.468 --> 00:08:31.468 I'm going to order that I can see St Joseph. Would you like to tell us about your. 22 00:08:31.468 --> 00:08:35.249 Project proposal take over the screen and so on or. 23 00:08:35.249 --> 00:08:38.548 I'll share a little PowerPoint. I made. 24 00:08:38.548 --> 00:08:43.109 It's Nothing's too special. Feel free to tell me if I have to change this. 25 00:08:44.158 --> 00:08:48.149 But we've all had the 1 night. 26 00:08:48.149 --> 00:08:52.499 And circuits where we've had a circuit that we wanted to take a look at. 27 00:08:52.499 --> 00:08:56.548 Seeing is this is a time constraint of probably about a week or 2. 28 00:08:56.548 --> 00:09:05.068 I was going to try to have a parallel get solver where you would tell me we would get in some basic information about the circuit. 29 00:09:05.068 --> 00:09:08.999 And then you would get back your voltage across the components in the circuit. 30 00:09:08.999 --> 00:09:12.119 For the components, stuff like that. 31 00:09:12.119 --> 00:09:17.369 I was going to start with just resistance and then if there's time possibly go to our series peril. 32 00:09:17.369 --> 00:09:27.269 Just series and parallel resistors it was time adding capacitors and inductors possibly during that takes a lot more math, but it's doable. Probably. 33 00:09:27.269 --> 00:09:31.139 I don't know if it's still more on the 1 to 2 weeks, but it's still more than. 34 00:09:32.698 --> 00:09:36.599 Then possibly serious parallel as well because I've had the. 35 00:09:38.038 --> 00:09:43.229 Yes, I know that meeting is happening. Now I'm in it. I would like to have a. 36 00:09:44.609 --> 00:09:47.639 We've all had that 1 night and circuits where we wanted to check something. 37 00:09:48.808 --> 00:09:56.009 The idea behind the parallel computing, you would have to use the parallel. Probably something like open. Mp was my initial thought. 38 00:09:56.009 --> 00:09:59.458 The fragment there can be non dependent. 39 00:09:59.458 --> 00:10:06.448 Things in parallel or not. So if you have an example of the power of each resistor or the. 40 00:10:07.469 --> 00:10:12.839 Hold your transistor that's probably doable in parallel, but if you need something that's sequential. 41 00:10:12.839 --> 00:10:20.818 That part might not be in parallel. That was my thought for a project. If anybody else has a different 1 feel free to let me know. 42 00:10:20.818 --> 00:10:24.808 Yeah, thank you. Looks interesting comments. 43 00:10:24.808 --> 00:10:28.859 Then what do you want to do? 44 00:10:28.859 --> 00:10:35.068 Hi, so Jack and I are going to be working together on. 45 00:10:35.068 --> 00:10:40.469 On this project, I'm making a. 46 00:10:40.469 --> 00:10:43.678 A program that's part of his capstone. 47 00:10:43.678 --> 00:10:46.739 To run for parallel. 48 00:10:46.739 --> 00:10:50.458 I think he understands a little bit better. So if. 49 00:10:50.458 --> 00:10:54.208 If you're good to talk Jack, anyone to talk a bit more about it. 50 00:10:54.208 --> 00:10:57.269 Yeah, that's fine. Yeah, so. 51 00:10:57.269 --> 00:11:04.198 For my capstone senior engineering capstone class we're making is a. 52 00:11:04.198 --> 00:11:08.129 Web basically like a simple web app to display. 53 00:11:08.129 --> 00:11:12.869 I can, I can share it better not created, explaining this. 54 00:11:12.869 --> 00:11:19.048 Uh, basically from the materials department, we were given an algorithm. 55 00:11:19.048 --> 00:11:27.119 Where you would get certain inputs in this case, a liquid fraction, and a small fraction and this is supposed to represent. 56 00:11:27.119 --> 00:11:30.178 A microstructure, which is what you would see. 57 00:11:30.178 --> 00:11:33.688 If you were to look under the microscope at 2. 58 00:11:33.688 --> 00:11:38.399 Elements as they are changing phases. So this is a representation of. 59 00:11:38.399 --> 00:11:43.708 An element or composition of elements changing from. 60 00:11:43.708 --> 00:11:47.698 Light blue, being liquid to these big blue blogs being. 61 00:11:47.698 --> 00:11:51.269 Solid and this is a. 62 00:11:51.269 --> 00:11:59.879 He uses in this algorithm that they use numb pie for vector operations. 63 00:11:59.879 --> 00:12:05.188 So, I think that presents are pretty big opportunity to parallelize since. 64 00:12:05.188 --> 00:12:11.278 Many of the calculations are done to, or many of the same calculation is done. 65 00:12:11.278 --> 00:12:14.729 A lot of times, but just with different data. So. 66 00:12:14.729 --> 00:12:18.028 Yeah, this is a I can. 67 00:12:18.028 --> 00:12:21.958 Give an example of this, so, yeah, if you. 68 00:12:21.958 --> 00:12:27.058 Obviously, a less you have a higher liquid fraction you should see more. 69 00:12:27.058 --> 00:12:33.658 Light blue space, lower, liquid fraction you shed more solid space, which is these big blue ones. 70 00:12:33.658 --> 00:12:36.719 And mole fraction is just a. 71 00:12:36.719 --> 00:12:40.109 A comparison between element a, and B. 72 00:12:40.109 --> 00:12:44.428 And it's tough in this example, because they're the same color, but. 73 00:12:44.428 --> 00:12:49.979 Obviously, the higher fraction of element a might make. 74 00:12:49.979 --> 00:12:53.308 Some blogs bigger and other smaller so. 75 00:12:53.308 --> 00:12:56.818 Yeah, we will be trying to parallelize this and. 76 00:12:57.839 --> 00:13:03.239 Since it will be used by a lot of freshmen and sophomore material students hopefully. 77 00:13:07.739 --> 00:13:11.999 Okay, thanks. And then Jack. 78 00:13:13.019 --> 00:13:16.678 Useful then great plain. 79 00:13:16.678 --> 00:13:21.479 What do you want to do? Okay just give me a 2nd to share my screen. 80 00:13:24.178 --> 00:13:28.798 I've just got a similar short, like, 3 slide PowerPoint. 81 00:13:28.798 --> 00:13:33.328 So, a mighty was basically, um. 82 00:13:33.328 --> 00:13:38.038 Doing, like, move prediction for this simple board game called corridor. 83 00:13:38.038 --> 00:13:41.129 I see your slides yet. 84 00:13:41.129 --> 00:13:53.249 I might be needed, does anyone else see them. 85 00:13:53.249 --> 00:13:57.389 I see a message saying viewing Blaine, hilary's application. 86 00:13:59.548 --> 00:14:03.208 Huh. 87 00:14:03.208 --> 00:14:08.788 Silence. 88 00:14:09.808 --> 00:14:21.028 Let's see if I can't do this. Um, I try sharing it again. Is it working now? I'm, I'm also using the, um, the Linux web app for Webex and it's a bit. 89 00:14:21.028 --> 00:14:24.448 Annoying sometimes with this kind of thing. Yeah. 90 00:14:25.769 --> 00:14:33.448 No, nothing yet. Okay. Well, I can, I can just talk to it. Okay. Sorry. Um, there's this simple board game called corridor. 91 00:14:33.448 --> 00:14:44.219 And, um, I had previously taken the, like, CS introduction to class where they just, um, 1 of the things we did in that was just breaking down. Like, if you have a a simple game or something. 92 00:14:44.219 --> 00:14:50.938 Breaking down all the different states that you can go into, that came from each possible move and, like, ways to just go through that. 93 00:14:50.938 --> 00:14:56.578 Gain tree that it makes to optimize the move that you would want to take, depending on what your opponent we want to do. 94 00:14:56.578 --> 00:15:00.688 And I guess my hope is to just take like, a really. 95 00:15:00.688 --> 00:15:10.379 Simple algorithm and try to paralyze it because the more compute power that you have, the more options you can go through in the same amount of time even if you can't possibly explore all of them. So you can just. 96 00:15:10.379 --> 00:15:13.708 Make a better prediction in the same amount of time for what to do next. 97 00:15:15.418 --> 00:15:18.899 And just to explain the board game a little bit, it's like, on. 98 00:15:18.899 --> 00:15:25.678 There's a, it's a 9 by 9, uh, tiled square where you have, like, 2 pieces where. 99 00:15:25.678 --> 00:15:32.639 You're trying to walk over to the opponent side and your opponent trying to walk over to your side and you can either move 1 space or place a wall down in front of them. 100 00:15:35.818 --> 00:15:39.839 Okay, thanks. 101 00:15:39.839 --> 00:15:48.479 Question 1 of many problems that I solved with using Linux or sharing my. 102 00:15:48.479 --> 00:15:57.479 I pad onto the onto my laptop, using us play is I discovered I have to. 103 00:15:57.479 --> 00:16:05.849 Make sure there's no extra libraries in the low library past. Like, if I had video libraries and low library path, they prevent us from working. 104 00:16:05.849 --> 00:16:16.229 Crazy stuff like that also rebooting stuff or if not rebooting logging out and logging in again because that initializes the display driver. 105 00:16:16.229 --> 00:16:20.908 That's been known to help and usually I just have to like. 106 00:16:20.908 --> 00:16:24.808 Refresh the page and it's all fine, but it's not a. 107 00:16:24.808 --> 00:16:28.499 Large slides of content. Okay. We got it. 108 00:16:28.499 --> 00:16:32.399 Wait, but now you suddenly have, I didn't do anything. 109 00:16:32.399 --> 00:16:35.759 Okay, so just. 110 00:16:35.759 --> 00:16:43.499 Here's a simple diagram of, like, a game tree for tic TAC toe, just to show the optimization. Uh, I think like the main parallel computing part of this would be. 111 00:16:43.499 --> 00:16:49.708 Figuring out a way to linearized this into a vector even though you don't know what the spacing I'm assuming that'd be like. 112 00:16:49.708 --> 00:16:55.019 From 1, vector of all the States, and then 1 vector of like, the indices of where the next state would be. 113 00:16:55.019 --> 00:16:59.009 Or, like the branching ones so that I don't have to actually like. 114 00:16:59.009 --> 00:17:04.828 Make it into a, um, a graph in memory with using pointers. 115 00:17:04.828 --> 00:17:10.078 So, uh, yeah, and this is just a picture of the game. 116 00:17:10.078 --> 00:17:13.919 You just move around and you'd try to block your opponents. 117 00:17:13.919 --> 00:17:17.519 So, what's your platform proposed? 118 00:17:17.519 --> 00:17:26.308 My idea was to use open MP or open ACC. If I figure out a way to that. I think I can use the GPU, but my intuitions that. 119 00:17:26.308 --> 00:17:30.568 In this, I come up with a different algorithm for it. I wouldn't be able to because, um. 120 00:17:30.568 --> 00:17:39.028 Just like the single instruction, multiple data type situation doesn't lend itself well, to where each instruction is doing something distinct. 121 00:17:39.028 --> 00:17:42.298 So, I'm thinking, I'll just spread it across threads. Okay. 122 00:17:42.298 --> 00:17:46.439 Thank you. Okay. 123 00:17:46.439 --> 00:17:54.148 Connor, what do you want to do? Yeah. So, can you guys hear me? Okay. 124 00:17:54.148 --> 00:18:07.919 Yes, perfect. So my idea is more of a distributing computing as opposed to a parallelize nation or using open. 125 00:18:07.919 --> 00:18:19.888 Um, so my idea was to develop a indeed webs paper to go ahead and receive information for job postings job listings from indeed. 126 00:18:19.888 --> 00:18:23.338 As well, as you know, I can do that using that. 127 00:18:23.338 --> 00:18:27.989 A spider by caller as well as using their API. 128 00:18:27.989 --> 00:18:35.038 And from collecting that information, go ahead and process those collecting jobs to go ahead and sort them. 129 00:18:35.038 --> 00:18:43.798 According to experienced desired skills, keywords that are listed in the job posting and present. 130 00:18:43.798 --> 00:18:55.138 As what job you might make good fit for based off of your resume go ahead and just determine keywords off of and your skills. 131 00:18:57.269 --> 00:19:08.368 Okay, thank you. So you're searching resumes for keywords the lesson for people applying for jobs, but lots of keywords in your resumes. 132 00:19:08.368 --> 00:19:16.378 Yeah, just have some keywords in your resume, you know, whether it's skills or experience or something. 133 00:19:16.378 --> 00:19:20.189 They can go out and pull the match to you. 134 00:19:20.189 --> 00:19:28.919 Job postings, pulling information, matching those keywords. Essential to the Josh is on engaging. 135 00:19:28.919 --> 00:19:34.739 Okay, thank you. That's the. 136 00:19:34.739 --> 00:19:40.558 If we know, I heard Dan, you kind of parallel. 137 00:19:40.558 --> 00:19:45.269 I don't know. Can you hear me? Yes. Okay cool. So. 138 00:19:45.269 --> 00:19:55.528 I am currently taking professor colors, graphics class and there's a big end of the semester project for that. So Here's my. 139 00:19:55.528 --> 00:20:01.439 Presentation short, but can you see that. 140 00:20:01.439 --> 00:20:05.009 Yes, yeah, so I chose to kind of. 141 00:20:05.009 --> 00:20:09.628 Do the retracing part of the semester and. 142 00:20:09.628 --> 00:20:13.739 I thought to render. 143 00:20:13.739 --> 00:20:17.368 It's got a material sciencey and. 144 00:20:17.368 --> 00:20:20.578 So, I found this cool paper. 145 00:20:20.578 --> 00:20:29.759 Talking about rendering those butterfly wings so they're kind of iridescent change color, depending on what direction you're looking at them. 146 00:20:29.759 --> 00:20:34.949 Uh, so it's going to be a lot of the inspiration afraid tracing. 147 00:20:34.949 --> 00:20:41.459 Paralyzing that might be quite difficult. There's another aspect of the project, which is. 148 00:20:41.459 --> 00:20:46.229 Using photon mappings shooting photons and then. 149 00:20:46.229 --> 00:20:49.318 As they hit a surface, storing it in a 3 D. 150 00:20:49.318 --> 00:20:54.449 Data structure, and then you have to access from that to. 151 00:20:54.449 --> 00:20:59.608 Check if a re, how many photons are collected. 152 00:20:59.608 --> 00:21:02.788 So, I think that that might be a better. 153 00:21:02.788 --> 00:21:07.739 I think to parallelize rather than the recursive nature of the. 154 00:21:07.739 --> 00:21:13.019 For actual rate tracing so gathering those photons might be a more. 155 00:21:14.999 --> 00:21:21.088 Simpler thing to do that might actually work better and I could probably do it in the scope. 156 00:21:22.469 --> 00:21:25.828 And hopefully get something like that, which is made in blunder. 157 00:21:25.828 --> 00:21:29.398 Cycles I believe very cool. 158 00:21:31.138 --> 00:21:41.159 Using open, I think, open ACC open a, whatever I get working. I, I'll try and do open ACC. I think. 159 00:21:41.159 --> 00:21:45.989 It's all open GL, stuff so I don't know how easily That'll. 160 00:21:45.989 --> 00:21:50.699 Integrate, but I will for sure I try good. 161 00:21:50.699 --> 00:21:55.709 Thank you. So. 162 00:21:55.709 --> 00:22:01.259 See, Isaac, what do you want to do? 163 00:22:02.398 --> 00:22:09.419 And so, um, the problem statement from my project is actually pretty simple. So I want to. 164 00:22:09.419 --> 00:22:14.009 Implement a algorithm that confined, connect components of a graph in parallel. 165 00:22:14.009 --> 00:22:18.929 Um, there's a optimal serial algorithm. 166 00:22:18.929 --> 00:22:24.749 But, um, there's a lot of different competing parallel algorithms, so. 167 00:22:24.749 --> 00:22:28.138 Ideally, I'd like to implement a few of them and compare them. 168 00:22:28.138 --> 00:22:36.598 I think that I'll probably be using open ACC because I'm not be able to use both the. 169 00:22:36.598 --> 00:22:40.348 The processor and the. 170 00:22:40.348 --> 00:22:44.878 But I would be interested in looking at a using frost as well, though. 171 00:22:46.019 --> 00:22:53.398 Okay, good now for both of you using open ACC so you can't you cannot use g. plus. Plus it doesn't do it. 172 00:22:53.398 --> 00:22:59.068 Maturely so I recommend the invidia and the C plus plus compiler. 173 00:22:59.068 --> 00:23:03.659 Which, I think is just an updated version of the PG. 174 00:23:03.659 --> 00:23:09.449 Compiler so it appears to work fine. So. 175 00:23:09.449 --> 00:23:13.199 Options are slightly different. Great. 176 00:23:13.199 --> 00:23:16.739 Building off the kind of a question so. 177 00:23:16.739 --> 00:23:19.888 I have an empty graphics card. I don't know if. 178 00:23:19.888 --> 00:23:28.798 Oh, okay. You're on your own well, no, you you tell me how it works out. I mean, it might be as fast as video, but I. 179 00:23:28.798 --> 00:23:35.878 Sure, I don't know. I believe all the integrations are still there with, like, some okay. 180 00:23:35.878 --> 00:23:49.499 Higher level, like open empty and stuff so I, I hope it, I think it works from what I've research so far, but yeah good. G plus plus does open empty. Fine. It just open to new in. 181 00:23:49.499 --> 00:23:55.828 Who other compilers are their client might do it might do it. Fine. I just haven't tried it. 182 00:23:55.828 --> 00:24:00.509 Intel has a series of compilers that are free, I think. 183 00:24:00.509 --> 00:24:09.088 C, plus, plus, and they try to be compatible with g. plus plus I haven't used them for years but so there's a couple of choices. 184 00:24:10.709 --> 00:24:14.068 Okay, so. 185 00:24:15.538 --> 00:24:19.528 Can you do mark? I guess. 186 00:24:19.528 --> 00:24:23.308 Okay, so I haven't really. 187 00:24:23.308 --> 00:24:27.898 Decided or figured out something yet, but the 2 paths I was thinking. 188 00:24:27.898 --> 00:24:32.098 I wanted to do was 1 something with, like, graphics or. 189 00:24:32.098 --> 00:24:37.709 Image processing, like, maybe finding patterns and images or something. 190 00:24:37.709 --> 00:24:41.249 And the other path I was thinking about was. 191 00:24:41.249 --> 00:24:45.509 Simulating some sort of like, mesh network kind of thing. 192 00:24:45.509 --> 00:24:49.949 You know, like like kind of. 193 00:24:49.949 --> 00:24:53.759 Thing with some network of sensors and. 194 00:24:53.759 --> 00:24:58.138 Like, sensors moving around are like, nodes and. 195 00:24:58.138 --> 00:25:02.729 How they like the fastest way to share information to like the. 196 00:25:02.729 --> 00:25:07.288 Central unit or whatever. 197 00:25:07.288 --> 00:25:11.338 So, I need to I need to do a little more research and. 198 00:25:11.338 --> 00:25:17.848 To, like, come up with a practical thing to be simulating in that case because. 199 00:25:17.848 --> 00:25:21.868 I don't really have something in mind. I was just thinking of, like. 200 00:25:21.868 --> 00:25:31.709 That general okay, you got to move because is project progress report and a week and the final thing's doing a few weeks. So. 201 00:25:31.709 --> 00:25:38.519 Okay, thank you. Let's see who we have not done yet. 202 00:25:38.519 --> 00:25:49.439 Justin hey, so yeah kind of similar countered idea. I was learning web development this semester or another final project. 203 00:25:49.439 --> 00:25:55.199 So, I want to see, I could use the parallel libraries they think like gateway. 204 00:25:55.199 --> 00:25:58.769 And web workers for a web scraping. 205 00:25:58.769 --> 00:26:02.068 Uh, no JS so I think. 206 00:26:02.068 --> 00:26:07.469 The image web scraper so I could use parallel to, uh. 207 00:26:07.469 --> 00:26:12.479 Do the search do the parsing of the file? See a parallel could help that. 208 00:26:12.479 --> 00:26:16.019 And then, of course, maybe downloading the images. 209 00:26:16.019 --> 00:26:19.648 To do a batch download and see how parallel can help that as well. 210 00:26:19.648 --> 00:26:24.209 Okay, you want to see how long it is before you get banned from the site. 211 00:26:24.209 --> 00:26:27.868 Yeah, I don't know how. 212 00:26:27.868 --> 00:26:30.868 They will like mass downloads from websites. 213 00:26:30.868 --> 00:26:41.513 Okay, 1 thing for Mark 1 idea, if you're searching for ideas is to compare a couple of different things. We've talked about different things. 214 00:26:41.933 --> 00:26:49.013 Now, try some them like, and NVIDIA got a website up somewhere. It was a blog posting where they compare. 215 00:26:49.259 --> 00:26:59.939 A couple of different parallel tools available. I had a reference I didn't give the URL because I lost it and couldn't find it again. So you could try that evaluate different. 216 00:26:59.939 --> 00:27:06.179 Techniques and recommend oh, that's an interesting idea. Thank you. 217 00:27:06.179 --> 00:27:11.128 Yeah, I'll try and find the video blog post and put it up on. 218 00:27:11.128 --> 00:27:20.009 I just I had it and then lost it and was searching around invidious wives. I couldn't find it again, but. 219 00:27:23.759 --> 00:27:28.919 Can you hear me? Yes. Yes. So, let me share my slide. 220 00:27:33.324 --> 00:27:43.763 Yeah, so my plan is to do a image processing program with a Pi coulda and obviously me is just, uh, open a library for Python. Um. 221 00:27:44.038 --> 00:27:58.288 And I might go as to, um, make a real time and processing with a, with my whitecamp. So, it's a motivation on this project is, um, conservation usually requires gpo computing uh, which is 2 part is. 222 00:27:58.288 --> 00:28:12.179 Image processing, and it's very rendering and, uh, I found a pipe and it's easy to use. And also my 1st program language is Python. So I decided to use as a, to libraries. 223 00:28:12.179 --> 00:28:25.979 And, um, my plan is to 1st, do the offline image processing, waste high resolution images, and compare the performance of the program on CPU and always could up. 224 00:28:26.394 --> 00:28:37.493 And then I'm going to implement the program and make it a real time with my, uh, webcam and, uh, it's just 5% interest. So, if I attend, I plan to implement in Australia, Roger with CUDA. 225 00:28:37.493 --> 00:28:51.594 So, I found a stamp for a graphic card set, a teach how to implement a simple renters, but I don't have any experiments in Excel. I still have time. I'll try to do that as well. 226 00:28:53.128 --> 00:28:58.469 Sounds fun Thank you. So. 227 00:29:01.648 --> 00:29:07.078 I think I've asked everyone who's on line if I missed any 1 scanning through the. 228 00:29:07.078 --> 00:29:10.318 10 days. 229 00:29:10.318 --> 00:29:15.269 Right. Okay so all interesting projects. 230 00:29:15.269 --> 00:29:19.679 And to do fun stuff now, let me. 231 00:29:21.929 --> 00:29:27.509 Look up some, give me a 2nd here. 2. 232 00:29:34.378 --> 00:29:42.749 Yeah, so I would like to see other hints for people using Linux and so on, as I discovered showing videos is. 233 00:29:42.749 --> 00:29:52.588 If I use my Bluetooth headset that it does not capture audio from a YouTube thing that I'm playing, which is why like, I'm not using the headset today. 234 00:29:52.588 --> 00:30:02.909 Because I want to show the video. Okay. So I want to move into the quantum computing for computer scientists and show more of that that you might even be the rest of the day. But again, you know. 235 00:30:02.909 --> 00:30:06.838 There talk better than I do, and they got video and they got. 236 00:30:06.838 --> 00:30:10.979 Visual assists, so let's see. 237 00:30:10.979 --> 00:30:14.038 To what extent I can get this working. 238 00:30:17.548 --> 00:30:26.999 Once I get a queued up right then I will start sharing it. 239 00:30:28.888 --> 00:30:33.808 An obvious problem with the constant functions. Can anyone tell me what it is? 240 00:30:33.808 --> 00:30:40.019 On a quantum computer. Okay. 241 00:30:40.019 --> 00:30:45.778 I remember what those are I set up. 242 00:30:45.778 --> 00:30:51.419 This is bucks number search a squared. Let's be squared. It goes 1. 243 00:30:51.419 --> 00:30:56.098 And our 2 vectors of complex numbers that a squared must be. 244 00:30:56.098 --> 00:30:59.729 Is where it goes 1 case the simplest problem. 245 00:30:59.729 --> 00:31:05.038 All right. Okay. Okay. And I'm deliberately. 246 00:31:05.038 --> 00:31:12.328 Going to, we're just retitle an overlapping manager, so. 247 00:31:12.328 --> 00:31:16.798 So, a 2nd, here. 248 00:31:33.239 --> 00:31:46.318 Now, we have everything we need to learn the simplest problem where a quantum computer over forms, a classical computer. We learn that. Stevens are just a special case of CubeSats and commits are 2 vectors of complex numbers, such a square plus B squared. It goes 1. 249 00:31:48.084 --> 00:31:59.574 That's going to be a separate 1 point when I full screen it. I can't see your chat window unless I fire up a 2nd client on another computer, which I'll try to do. 250 00:31:59.723 --> 00:32:04.523 So, should this cut out which it might cut out at a random time? Like, it did last week. 251 00:32:04.979 --> 00:32:08.159 On mute here I can tell me. 252 00:32:09.209 --> 00:32:13.108 Position they are probably politically collapsed to see if it's by measurement. 253 00:32:13.108 --> 00:32:17.878 Multi human systems, they learned our tens of products of single cable systems. Same as what. 254 00:32:17.878 --> 00:32:23.699 Matrices again represent operations on to this, and we learn about the head of our gate. Very important. 255 00:32:23.699 --> 00:32:27.058 Which takes our 0 and 1 bits to superposition and back. 256 00:32:27.058 --> 00:32:36.179 And finally, we learn that we can think of humans in their operations as for me to state machine on the unit circle, or units fear. If we're using complex numbers, it's actually called the block sphere. 257 00:32:36.179 --> 00:32:43.048 The here, if you want to look that up for the full complex numbers, but unit circle just fine for us. 258 00:32:43.048 --> 00:32:48.989 Okay, so we're going to learn about something called the Oracle. 259 00:32:48.989 --> 00:32:52.648 This is originally proposed by David in. 260 00:32:52.648 --> 00:32:58.709 Was it like 83 or something like that? And the problem is this going to show up on your doorstep? 261 00:32:58.709 --> 00:33:03.328 I'm going to give you a package. The package is just this black box. It's just horrible president. 262 00:33:03.328 --> 00:33:10.318 The black box, which has a function on 1 bit. So it's 1 of those 4 functions on 1 bit. Do you remember what those are? I said, I would ask you about that. 263 00:33:10.318 --> 00:33:15.479 So that's the 1 identity indication. Exactly. 264 00:33:15.479 --> 00:33:23.759 So 1 of those 4 functions, I don't tell you which 1 is inside this black box as a wire going in in the wire going out. So you can send in values. See what goes out. 265 00:33:23.759 --> 00:33:27.058 But you can actually look inside the black box. Okay. 266 00:33:28.288 --> 00:33:35.189 So, how many queries on a computer would it take to figure out which function is? Inside the black box? 267 00:33:37.138 --> 00:33:41.759 2, exactly you send in 0 to see what comes out you send in 1 and see what comes out. 268 00:33:41.759 --> 00:33:47.189 Value uniquely identify which function it is. Now. How many queries do you think it takes on a quantum computer? 269 00:33:48.538 --> 00:33:52.019 You're wrong it's 2. 270 00:33:52.019 --> 00:34:00.538 I say this to illustrate an important point, which is quantum computers. They don't really compute with all value simultaneously. 271 00:34:00.538 --> 00:34:05.128 At the end of the day, you collapse your cube it to a single bit of information. 272 00:34:05.128 --> 00:34:10.648 And a single bit of information is not enough to uniquely identify for functions 1 of our functions. Right? You need to bits, at least. 273 00:34:10.648 --> 00:34:16.168 So, this actually takes to queries on a quantum computer. Well, I'm not too exciting and so far. 274 00:34:17.398 --> 00:34:24.088 Now, what, if, instead of not wanting to know which function it is, we just want to know whether the function's constant or variable. 275 00:34:24.088 --> 00:34:28.438 So, the constant functions are the contents your constant 1? The argument because you're always with the 1. 276 00:34:28.438 --> 00:34:31.858 The variable functions are identity and negations. 277 00:34:31.858 --> 00:34:36.838 So, how many queries on a classical professional. 278 00:34:38.458 --> 00:34:49.768 Do you put in 000 and you don't if you get 1 you don't, or whatever or constant 1 symmetrically with 1. so it always takes 2 queries. 279 00:34:49.768 --> 00:34:56.878 On a glass on the ground, even though there are till category. Really we only need a single bit of information to tell us which category. 280 00:34:56.878 --> 00:35:01.798 How many how many queries do you think it takes on a quantum computer? 281 00:35:01.798 --> 00:35:05.188 I've confirmed you last time. 282 00:35:05.188 --> 00:35:16.679 1, you are correct you can just singles inquiry you can tell whether you're going to learn how. 283 00:35:16.679 --> 00:35:20.159 Okay, we do with the magical superposition. 284 00:35:20.159 --> 00:35:27.028 But 1st, we have to define what each of those 4 functions look like on a quantum computer. 285 00:35:27.028 --> 00:35:31.259 We have an instant obvious problem with the constant functions. Can anyone tell me what it is? 286 00:35:31.259 --> 00:35:41.938 They're not reversible. How are we going to write these non reversal functions on a reversible computer? This is actually a really common problem in quantum computation. You really? Often. 287 00:35:41.938 --> 00:35:45.418 I have to deal with non reversible functions. You have to write them in the reversible way. 288 00:35:45.418 --> 00:35:52.528 And the hack we do is this, so originally we had this right? We had an input and output a single wire going through. 289 00:35:52.528 --> 00:35:57.418 And we just imagine that you put in the value and you get the function applied to that value, right? 290 00:35:57.418 --> 00:36:02.938 But the hack that you always do on quantum computers is you add an additional output cube. 291 00:36:02.938 --> 00:36:06.148 So, we actually have 2 kids with the rewire a black box. 292 00:36:06.148 --> 00:36:12.358 So you have your input queue it, which is unchanged and then the value of the functional is input is written. 293 00:36:12.358 --> 00:36:20.458 To the output Cuba does everyone kind of got this? I think the problem, the thing that people have the most trouble with this necessity. 294 00:36:20.458 --> 00:36:25.228 The reason we have to do this is so we can write non reversible functions in a reversible way. 295 00:36:25.228 --> 00:36:30.358 And the way to do that is to have a separate input and output cubin. 296 00:36:30.358 --> 00:36:33.358 So, when you see larger quantum computations. 297 00:36:33.358 --> 00:36:38.518 Instead of having all the bits go in and have transformations apply to them and then being measured. 298 00:36:38.518 --> 00:36:42.719 Usually have a separate set of output that so the inputs go in. 299 00:36:42.719 --> 00:36:47.159 They have their value sort of written to the output bits and the measure of the output. This is, uh. 300 00:36:47.159 --> 00:36:50.849 A very standard way of doing quantum computation. 301 00:36:50.849 --> 00:36:55.018 So, does anyone have any trouble with this? This is a very difficult concept so yes. 302 00:36:55.018 --> 00:36:58.378 Okay, okay. 303 00:36:58.378 --> 00:37:02.759 Um, so do you understand this model? Basically, this is what we have now. Okay. 304 00:37:03.778 --> 00:37:07.259 We need to rewire it so there are 2. 305 00:37:07.259 --> 00:37:13.108 Wire is going through the box now. Okay. And 1 of those wires we call the input wire. 306 00:37:13.108 --> 00:37:18.389 1 of those wires, we call the alpha wire, we assume the upper wires just Initialized. 0, right? It's always here. 307 00:37:18.389 --> 00:37:22.168 Now, our input wire is when we actually give our input in. 308 00:37:22.168 --> 00:37:25.588 Like, it, it'd be like 0 or 1 or whatever value you want to give input to the function. 309 00:37:25.588 --> 00:37:29.009 So, it goes through the box, it's just unchanged. 310 00:37:29.009 --> 00:37:38.009 You know, we don't touch the value of the input wire, but we will function that we calculate the function in here on this input. And then we write its value. 311 00:37:38.009 --> 00:37:41.369 So the output wire okay. 312 00:37:41.369 --> 00:37:46.498 Yes, we are, we are rewiring the black box. 313 00:37:46.498 --> 00:37:50.159 We have to rewire the black box in order for the black box to really work. So. 314 00:37:50.159 --> 00:37:55.289 The black box I gave you has to be rewired. Yes. If you use the 1st, uh. 315 00:37:55.289 --> 00:38:02.818 Costs, which is the 0 use the 1st input because 1 of them was kind of identity right? 316 00:38:02.818 --> 00:38:06.088 Predicts out and then it was the. 317 00:38:06.088 --> 00:38:09.509 Wondering was actually there was so why did the. 318 00:38:09.509 --> 00:38:16.679 The other so ex out, right right. So say so say, we only have this right? This is the old way of doing it. 319 00:38:16.679 --> 00:38:20.849 Now, we can't have a non reversible function in here. 320 00:38:20.849 --> 00:38:29.130 Right for it to be on that. Okay. Okay. Right. Yeah. So what I'm saying is on the right side you have to going into going to going into burnout. Yes. 321 00:38:29.130 --> 00:38:39.780 I get why to going out. Yeah, but I don't get why the 0 is also going in. It doesn't seem to actually produce any of the office. Yeah Yeah. You're correct. It's just we need. 322 00:38:39.780 --> 00:38:47.070 No, not really cemetery. It's just like how we write the quantum how we would write the quantum circuit. 323 00:38:47.070 --> 00:38:50.130 We would need to keep it in general. 324 00:38:50.130 --> 00:38:56.579 So, and we just, you're correct that this value isn't really used to like. 325 00:38:56.579 --> 00:38:59.849 Uh, no, we do want it to be 0, because. 326 00:38:59.849 --> 00:39:04.679 This the way that we write, the circuit assumes that this value coming in, there's always 0. 327 00:39:04.679 --> 00:39:09.210 Yes, why is it called? Why son in going out? Goodbye. 328 00:39:09.210 --> 00:39:13.980 Of what? Yeah, yeah. So this is kind of weird. The. 329 00:39:13.980 --> 00:39:17.159 The output of the input is is funny, but, um. 330 00:39:17.159 --> 00:39:20.820 We basically only really look at this value here. 331 00:39:20.820 --> 00:39:23.909 Is is the basic idea this is like the real output. 332 00:39:23.909 --> 00:39:28.349 The input will always be unchecked, right? Yes, I have. 333 00:39:28.349 --> 00:39:32.099 Well, these 2 Blackbox series yes. 334 00:39:32.099 --> 00:39:35.670 The offer. 335 00:39:35.670 --> 00:39:44.880 Input which you have labeled out about. Yeah, that's the 2nd stage would be the FX out the 1st stage. Yes. 336 00:39:44.880 --> 00:39:48.090 Well, okay, so you're so you're saying if you had. 337 00:39:48.090 --> 00:39:51.090 So, these in series, rather than sort of in parallel what we're doing. 338 00:39:51.090 --> 00:39:55.260 Is that what you're saying? Yeah, I want to do 2 operations 1 and then another 1. 339 00:39:55.260 --> 00:40:05.369 In the black box is doing some operation, the black box is doing some operation. Uh, you can have as many operations as you want in here inside this black box. 340 00:40:05.369 --> 00:40:09.449 True but I'm trying to essentially. 341 00:40:09.449 --> 00:40:15.329 Understand, whether we take the output, it's output off the right and that would be the. 342 00:40:15.329 --> 00:40:19.619 In fact, just for. Yeah, absolutely. And in fact, uh. 343 00:40:19.619 --> 00:40:26.460 I said that this black box assumes this value is 0, this is maybe throwing a bit much of you, but actually we can break that assumption. 344 00:40:26.460 --> 00:40:31.980 And send it some other value, which maybe we'll get us more information, which is, in fact, what we'll do it. 345 00:40:31.980 --> 00:40:38.820 So, we, the black box, the working with lockbox assumes that the output input. 346 00:40:38.820 --> 00:40:42.389 It's 0, but we can break that assumption. It'd be tricky. 347 00:40:42.389 --> 00:40:47.219 My way of thinking was, I didn't have any other value for the 1st stage. 348 00:40:47.219 --> 00:40:55.590 For subsequent yes. Standpoint so I do have 1 so I can use it if I want. Yeah, you could. Yeah and you might get some interesting values, which actually will. 349 00:40:55.590 --> 00:41:02.849 Okay, does this I started this is the most difficult part conceptually of this entire presentation. So if anyone has any trouble with it, please. 350 00:41:02.849 --> 00:41:06.929 Just let me know, ask any questions you can spend as much as long time and this we want. 351 00:41:06.929 --> 00:41:10.289 Yes, go ahead. Is there some additional clarity. 352 00:41:10.289 --> 00:41:15.239 Students because I didn't get it. Okay, well, we'll go over how we'll write each of the 4 functions. 353 00:41:15.239 --> 00:41:19.380 In this way, so maybe that will help. So. 354 00:41:19.380 --> 00:41:24.900 For example, constant 0, here's how I would look X goes next out. It's unchanged. 355 00:41:24.900 --> 00:41:28.739 Now, the output is always going to be 0, right? 356 00:41:28.739 --> 00:41:31.739 That's just the what let the constant 0 done so we always want. 357 00:41:31.739 --> 00:41:36.150 This value in the upper right to be 0 If we assume 0 goes in. 358 00:41:36.150 --> 00:41:41.789 This is our circuit diagram not neither of the 2 wires, make any modifications, right? 359 00:41:41.789 --> 00:41:46.679 They're just a straight wire. Does that sort of make sense? 360 00:41:48.449 --> 00:41:51.480 And we'll see the next slide. What about for constant 1? 361 00:41:51.480 --> 00:41:55.829 We want we want 1 to go out here. Right? This is our. 362 00:41:55.829 --> 00:41:58.829 Function with value and we assumes here. 363 00:41:58.829 --> 00:42:02.159 For example, here all we do is we do a bit flip right here. 364 00:42:02.159 --> 00:42:05.789 And that gets us this semantics we want. 365 00:42:05.789 --> 00:42:08.909 Does anyone have any trouble with this so far? 366 00:42:08.909 --> 00:42:14.070 That's where this is the most difficult part. So if you got this, you're your goal. Yes. 367 00:42:14.070 --> 00:42:19.469 Output input, could you call them something like computation and spare. 368 00:42:19.469 --> 00:42:24.750 Sure, yeah, you could you could call like the compute and the spirit that yeah that also works. 369 00:42:24.750 --> 00:42:30.690 It might reduce some confusion about there being and open up and put open. 370 00:42:30.690 --> 00:42:34.920 So, again, why is it called out? Why is it called up but. 371 00:42:34.920 --> 00:42:39.659 Because it's we call this the alpha cube because it's just. 372 00:42:39.659 --> 00:42:43.139 The place that we write the output of the function. 373 00:42:43.139 --> 00:42:46.829 But we could call like. 374 00:42:46.829 --> 00:42:53.130 Computers there or something like that, like you suggested, like, this would be the community. This would be the spare sort of bit that we write. 375 00:42:53.130 --> 00:42:58.710 The functionality yes, we need. This is a reversal application, right? 376 00:42:58.710 --> 00:43:02.579 Why is this game called her? 377 00:43:02.579 --> 00:43:07.349 Very, very to the last place right? Farm virtual. Absolutely. 378 00:43:07.349 --> 00:43:11.039 Okay, so let's consider. 379 00:43:11.039 --> 00:43:15.690 This 1, right here right? We have our black box with a single wire. 380 00:43:15.690 --> 00:43:18.809 And say we want to do the flip operator. 381 00:43:18.809 --> 00:43:26.789 So that would just be sorry not the width of power is reversible. So we want to do the constant 0. 382 00:43:26.789 --> 00:43:31.260 Operator we always want to map this to 0 So you need some operation right here. 383 00:43:31.260 --> 00:43:37.949 That would map the city, right? But it'll it will be the matrix 1 1. 0. 0 But. 384 00:43:37.949 --> 00:43:41.670 This is not a valid operator in a quantum computer. 385 00:43:41.670 --> 00:43:45.059 Because it's not reversible. So. 386 00:43:45.059 --> 00:43:48.690 Does that kind of make sense? It's just we can construct a device, which does this. 387 00:43:48.690 --> 00:43:54.570 It's just not permitted by physical reality all this math and stuff I'm showing you is not like special. It's just. 388 00:43:54.570 --> 00:43:59.789 We found that it corresponds to the semantics and workings of a quantum system. 389 00:43:59.789 --> 00:44:03.059 And so it's, it's a nice way to reason about it basically. 390 00:44:03.059 --> 00:44:07.289 Okay. Versus yeah. 391 00:44:07.289 --> 00:44:12.179 Of course, if we want to write content in 0 here with the 2 input. 392 00:44:13.949 --> 00:44:17.639 Part of the 2 wire model it would it would just be. 393 00:44:17.639 --> 00:44:20.730 Blank, right? What do we want to do. 394 00:44:20.730 --> 00:44:26.039 This is constant 1, always maps to 1. 395 00:44:26.039 --> 00:44:30.630 We saw that this has an exit here and this is reversible. 396 00:44:30.630 --> 00:44:36.480 Right. Okay so we managed to write a non reversible function in reversible way. 397 00:44:36.480 --> 00:44:42.000 If you got this congratulations, this is the trickiest part. It took me a while to figure out why we needed to do this. 398 00:44:42.000 --> 00:44:45.300 Staring at the textbook, does anyone have any confusion here? 399 00:44:45.300 --> 00:44:49.380 Okay, so remember content 0 is. 400 00:44:49.380 --> 00:44:52.590 Just blank constant 1 has a single X gate. 401 00:44:52.590 --> 00:44:57.300 Yes, you always end up with the 4 by 4 reversible metrics. 402 00:44:57.300 --> 00:45:03.630 By doing this in black box yes. Yes. Black box is always a format for our personal matrix apply to a product today. 403 00:45:03.630 --> 00:45:08.940 You're correct, although we will be not going into the math in that way. We'll just be using the state machine. 404 00:45:08.940 --> 00:45:12.719 Look at it, but the math is very easy for you to do. 405 00:45:12.719 --> 00:45:18.059 Yourself okay, so let's let's look at identity. This is a bit more complicated. 406 00:45:18.059 --> 00:45:23.250 This is the CI, not gate. Okay. Where this is the control. 407 00:45:23.250 --> 00:45:27.659 And this is the target, so we'll end up with. 408 00:45:27.659 --> 00:45:34.019 Some input again is unchanged we want output. We assume it's 0, we want to end up with a value X, right? 409 00:45:34.019 --> 00:45:42.360 So, if 0 is sent in here, then this is the target control bit. So the target date is just lifetime change, right? So, 0 comes out. 410 00:45:42.360 --> 00:45:46.980 If 1 is here, 1 is sent in the control 1. 411 00:45:46.980 --> 00:45:51.150 So, we flip this bit and we end up with 1. 412 00:45:51.150 --> 00:45:58.019 Does this make sense? This is kind of trick is a bit the step up and complexity of our 2nd, but everyone's fine with this. 413 00:45:58.019 --> 00:46:01.349 Wow, okay. Can anyone guess how we'll do integration? 414 00:46:04.260 --> 00:46:10.590 Inside the control of it. 415 00:46:10.590 --> 00:46:15.119 How can we hard set of control of it to 1? 416 00:46:16.469 --> 00:46:20.340 Not to control not. 417 00:46:21.510 --> 00:46:26.909 It is we just have an aggregate there so up to here, it's equivalent to identity, right? 418 00:46:26.909 --> 00:46:30.960 And let me just flip the output that and then we got to not. 419 00:46:32.309 --> 00:46:36.719 So those are the for circuit values. 420 00:46:36.719 --> 00:46:41.519 Okay, everyone's good so far everyone knows how we write our 4. 421 00:46:41.519 --> 00:46:46.710 Functions are you ready to see how we solve it on a quantum computer? 422 00:46:46.710 --> 00:46:50.849 We use this, so we're going to break the assumption. 423 00:46:50.849 --> 00:46:54.840 That this value goes into the black box at 0. 424 00:46:54.840 --> 00:46:59.489 We put 1st, we Initialized both and put documents to 0. 425 00:46:59.489 --> 00:47:04.530 We bit flip them now they're both 1. we put them through the how to market. 426 00:47:04.530 --> 00:47:08.820 To put them in the equal superposition then we send them into the black box. 427 00:47:08.820 --> 00:47:16.079 1 of those 4 circuits is applied then we do the post processing. We send them through the head of our gate again and we measure them. This is measurement. 428 00:47:16.079 --> 00:47:19.260 And I claim, and I will show it to, you. 429 00:47:19.260 --> 00:47:24.539 That if the black box function is constant system will be in state 11 after measurement. 430 00:47:24.539 --> 00:47:29.639 Like, this will have value 1, this lead value. 1 we're using input is the most significant bit by the way. 431 00:47:29.639 --> 00:47:36.570 And his Blackbox function, Blackbox function is variable, the system will be in state 01 after measurement. So this will be 0. 432 00:47:36.570 --> 00:47:41.699 This will be 1 and we will know whether the function is constant or variable in a single query. 433 00:47:41.699 --> 00:47:47.340 Pretty nifty, right? I'm going to show you how it's done. 1st, the Pre processing. 434 00:47:47.340 --> 00:47:51.510 Remember we start with 0 Then we've been flipped both and how to market both. 435 00:47:51.510 --> 00:47:55.409 So, we start here flip takes us up to here. 436 00:47:55.409 --> 00:48:02.039 How to mark it down here? So this is the value that is sent into the black box. Just remember it's in the bottom, right? On the unit circle. 437 00:48:02.039 --> 00:48:05.130 This is the value right before we send it through 1 of those 4 circuits. 438 00:48:05.130 --> 00:48:09.059 Okay, now, let's look at how we do constant 0. 439 00:48:09.059 --> 00:48:12.809 The causes you don't remember it's just blank on both. 440 00:48:12.809 --> 00:48:18.539 And the post processing is a single how to market. So, since there, no, no gates are applied. They stay in this. 441 00:48:18.539 --> 00:48:24.480 Bottom right value and since the head of our gate is applied as part of the post processing. 442 00:48:24.480 --> 00:48:27.659 We flip back up here when we measure this. 443 00:48:27.659 --> 00:48:33.510 This is 11. remember I said the value would be 11 if it were a constant. 444 00:48:33.510 --> 00:48:36.750 Function so we're 1 for 1. okay. 445 00:48:36.750 --> 00:48:40.949 Same. Okay. So far. All right let's add. 446 00:48:40.949 --> 00:48:44.250 A bit slip, because we're going to go over constant 1. now. 447 00:48:44.250 --> 00:48:51.090 Those are the other constant function now remember if we go over if we do a flip in this. 448 00:48:51.090 --> 00:48:54.539 State we flip across the unit circle. 449 00:48:54.539 --> 00:48:58.440 Over here and how to market. 450 00:48:58.440 --> 00:49:01.440 Then takes us down to here. 0, negative 1. 451 00:49:01.440 --> 00:49:04.800 When we measure it, we again get 1 1. 452 00:49:06.059 --> 00:49:10.079 Okay, so we're 2 for 2. not bad, right? 453 00:49:10.079 --> 00:49:13.710 Okay, things get a bit more complicated. Does anyone have any trouble with this? So far? 454 00:49:13.710 --> 00:49:17.280 And then this yes. 455 00:49:17.280 --> 00:49:20.699 Yes, like our results. 456 00:49:20.699 --> 00:49:25.650 Why we're talking to 11? Well, that's a good question. Okay, so we're up here, right? 457 00:49:25.650 --> 00:49:28.650 If we measure this, then what value do we get. 458 00:49:29.730 --> 00:49:34.590 This is just 1, remember this. This is the value of the 1 thing. 459 00:49:34.590 --> 00:49:37.769 So the measure 1, we get 1 yes. 460 00:49:37.769 --> 00:49:43.349 Now, down here, if we measure this, we also get 1 because negative 1 squared is 1. 461 00:49:43.349 --> 00:49:47.969 So is 100% chance, Congress and probability of collapse into 1. 462 00:49:47.969 --> 00:49:51.420 And so we can say this is 1, 1. 463 00:49:51.420 --> 00:49:54.449 This is like the most significant bet and this is the least significant. 464 00:49:55.710 --> 00:49:59.130 So, we end up with 11. does that answer your question? Okay. 465 00:50:00.449 --> 00:50:06.960 Great. All right. Let's go on to something more complicated, which is see not. This is going to get a bit weird. 466 00:50:06.960 --> 00:50:11.099 This is how we do identity. You remember the input is the control that. 467 00:50:11.099 --> 00:50:14.519 Yep, I bet is the target bit and. 468 00:50:14.519 --> 00:50:18.090 Don't panic. I'm going to show you why this is in the next slide. 469 00:50:18.090 --> 00:50:21.630 But the action of C not is to take our input it. 470 00:50:21.630 --> 00:50:24.809 Up to here, it's the green line. 471 00:50:24.809 --> 00:50:28.559 This is weird for 2 reasons. 1, is that. 472 00:50:28.559 --> 00:50:36.150 See, not as supposed to leave the control, but unchanged credit but here, this is the only thing we control the enrollments. The only thing that's changed. 473 00:50:36.150 --> 00:50:40.590 And this, this sort of action is a bit odd, but don't worry. I'm going to show you the math. 474 00:50:40.590 --> 00:50:43.739 The reason why this works on the next slide, but. 475 00:50:43.739 --> 00:50:48.630 Just for now, so we look from here up to here and then when we do the, how to mark. 476 00:50:48.630 --> 00:50:51.869 The post process, we end up in. 477 00:50:51.869 --> 00:50:57.869 State 0, so 01, but you need. Okay. Here's how the math works. 478 00:50:57.869 --> 00:51:02.909 We at we are applying the gate to the state 1 over to. 479 00:51:02.909 --> 00:51:06.090 Negative 1, number 2 and 1 of our 2 negative 1 of her 2, right? 480 00:51:06.090 --> 00:51:11.130 When we transfer these together, we get this ridiculous Matrix, which I'm going to factor out 1, half. 481 00:51:11.130 --> 00:51:16.829 Just to make it readable so we have the matrix 1. our Specter is it 1 negative 1 negative 1 1 right? 482 00:51:16.829 --> 00:51:20.489 Now, we remember this familiar matrix from the C not slide. 483 00:51:20.489 --> 00:51:27.449 When we apply this matrix to this factor, we get this right we flip the bottom 2 rows. 484 00:51:27.449 --> 00:51:34.170 Now, when we factor this, remember, this is the product side, and we can factor it into the individual state. 485 00:51:34.170 --> 00:51:41.849 We got this tenser product if you ignore everything in the middle, and just compare our start values to our end values. 486 00:51:41.849 --> 00:51:46.110 This is the output or significant. 487 00:51:46.110 --> 00:51:49.860 This is unchanged, right? This is still 1 of our 2 negative 1 or 2. 488 00:51:49.860 --> 00:51:53.159 The input that you started out as 1 of our 2 negative 1 number 2. 489 00:51:53.159 --> 00:51:57.510 Ends up as 1 or 21 over to. This is just the action of the gate. 490 00:51:57.510 --> 00:52:01.469 So this is kind of a limitation of our visualizer that we can't really. 491 00:52:01.469 --> 00:52:08.159 Show the state transition, but I have convinced you that this arrow is, in fact, what happens. 492 00:52:08.159 --> 00:52:14.219 Does anyone have any questions about this? Okay, so we're 3 for 3, right? 493 00:52:14.219 --> 00:52:18.989 I sent the value output value would be the measure value would be 0 1. 494 00:52:18.989 --> 00:52:22.019 If it were a variable function and indeed. 495 00:52:22.019 --> 00:52:25.139 It is, as I said, so for 3, 3, 3 for 3. 496 00:52:25.139 --> 00:52:31.289 Let's go over the very last 1, which is C not and then a bit flip. 497 00:52:31.289 --> 00:52:35.579 Right. Let's see how that works again. We have this narrow. 498 00:52:35.579 --> 00:52:39.659 Taking this up to here and the flip takes across the unit circle. 499 00:52:39.659 --> 00:52:43.559 We do the post processing to get us down to here. 500 00:52:43.559 --> 00:52:48.570 When we measure these, we got 01444. 501 00:52:48.570 --> 00:52:53.429 A single query outperform classical computation pretty nuts, right? 502 00:52:53.429 --> 00:52:56.849 Pretty nuts. Okay. So we did it. 503 00:52:56.849 --> 00:53:02.760 We now we have our perform classical computing class computers in the dust it's done. It's dead. 504 00:53:02.760 --> 00:53:07.199 So you might think, like, yeah, I see how the math works or what's the intuition. 505 00:53:07.199 --> 00:53:10.199 I'm going to tell you the intuition. The intuition is. 506 00:53:10.199 --> 00:53:14.940 The difference between the, within the categories was a single negation gate, right? 507 00:53:14.940 --> 00:53:19.139 So, we go back to. 508 00:53:19.139 --> 00:53:26.849 Year so we have constant 0 and constant 1. the only difference between them is a single negation gate. 509 00:53:26.849 --> 00:53:30.539 When you apply negation gate in a superpower, a state. 510 00:53:30.539 --> 00:53:36.809 It's kind of it doesn't really have any effect. Right? So we kind of neutralize the effect of the negation gate. 511 00:53:36.809 --> 00:53:40.079 So, we neutralize the difference within the categories. 512 00:53:40.079 --> 00:53:45.989 And then we magnify the difference between the categories, which is that the variable functions of a scene. 513 00:53:45.989 --> 00:53:50.489 And the constant functions do not so we magnify the effect of the. 514 00:53:50.489 --> 00:53:56.550 And minimize the effect of the negation. And that's the neat thing about that's a powerful thing about quantum computing. 515 00:53:56.550 --> 00:54:00.659 Which is that you can change. 516 00:54:00.659 --> 00:54:03.719 The action of various logic gates. 517 00:54:03.719 --> 00:54:07.590 By putting yourself in superposition in different sort of states and stuff. 518 00:54:07.590 --> 00:54:11.610 That's pretty neat. And the problem you may say, like, okay, well, yeah. 519 00:54:11.610 --> 00:54:16.019 Right. Whatever it's really contrived. When do I ever do this in real life? 520 00:54:16.019 --> 00:54:20.489 That's a good question and it was contrived back when it was. 521 00:54:20.489 --> 00:54:23.730 Uh, and that's I think it was 90 93. 522 00:54:23.730 --> 00:54:27.719 But in a generalized version of this of this function. 523 00:54:27.719 --> 00:54:30.989 Was found, which is it takes input not a single bit. 524 00:54:30.989 --> 00:54:33.989 And the embeds either all mapped to the same value. 525 00:54:33.989 --> 00:54:38.190 I'm sorry, that's true. To the end possible values. They all mapped to the same value. 526 00:54:38.190 --> 00:54:42.929 Or they equally mapped a 01, constant or balance that's called. 527 00:54:42.929 --> 00:54:47.429 So, it's a kind of just a generalized version of this. It turns out we can still solve that. 528 00:54:47.429 --> 00:54:51.030 On a single query exponential speed up, huh? 529 00:54:51.030 --> 00:54:57.480 Exponential speed up single query versus on the classical computer you have to try to all 2 to the end values, right? 530 00:54:57.480 --> 00:55:01.320 Before, you know, whether it's constant or variable or E, nuts. 531 00:55:01.320 --> 00:55:07.289 Okay, and then there's a variant of that problem building. Everyone's kind of like building on top of each other. 532 00:55:07.289 --> 00:55:13.380 It's called Simon's periodicity problem. It's again, you have like, a black box and try and figure out some properties of the function. 533 00:55:13.380 --> 00:55:18.210 And that's actually and then once that came around, sure he looked at this. I was like, oh. 534 00:55:18.210 --> 00:55:24.630 We use us a factor large editors and so when he came up with shores algorithm and that's when the whole field really caught fire. 535 00:55:24.630 --> 00:55:29.760 So hope I convince you that while this individual problem is kind of contrived and not that useful that. 536 00:55:29.760 --> 00:55:35.550 It's this the banks like the foundation and ask some very interesting computational properties. 537 00:55:35.550 --> 00:55:43.650 Does that make sense? Anyone have any questions you're all convinced that we just crushed. 538 00:55:43.650 --> 00:55:46.679 Classical computer right here yes. I'm good. 539 00:55:46.679 --> 00:55:51.210 On the Microsoft site, there's an article where the gal saying that. 540 00:55:51.210 --> 00:55:58.590 But with quantum computers, you can take program and it's billions of years to derive it. 541 00:55:58.590 --> 00:56:08.340 This is going to be that, I mean, yeah. Exponential speed up hardware. If you have like, I don't know what it takes them like a 1Billion years to run. Like like. 542 00:56:08.340 --> 00:56:20.070 If you have any, any bit function, like, turn the power of a versus a single query that's probably a 1Billion years versus a week or something like that. So good question. So I did. 543 00:56:20.070 --> 00:56:24.719 But this is the speed of answering the question from the output coming. 544 00:56:24.719 --> 00:56:29.699 Get the weather, the function was a constant function, nor yes. 545 00:56:29.699 --> 00:56:34.590 Right, but in what context is that question and important. 546 00:56:34.590 --> 00:56:39.179 Great question why do we care about this sort of thing? So, for example ensures algorithm. 547 00:56:39.179 --> 00:56:42.599 You can construct a question like, does this. 548 00:56:42.599 --> 00:56:46.739 Into your have a certain factor and structure basically. 549 00:56:46.739 --> 00:56:51.539 And you can tell a property, like, whether it How's that property or not basically. 550 00:56:51.539 --> 00:56:55.170 Which will allow you to and if it doesn't have that property, you can factor it. 551 00:56:55.170 --> 00:57:03.210 Pretty much it's very, very hand Waverly explaining how short that works so you can construct a lot of. 552 00:57:03.210 --> 00:57:08.610 Problems in terms of, does this function have a certain property or not? 553 00:57:08.610 --> 00:57:14.039 Which you can find efficiently on a quantum computer, I hope. Yes. 554 00:57:14.039 --> 00:57:22.619 Mainly mainly decision problems, although like, as we know from theoretical computer science decision problems can be usually be. 555 00:57:22.619 --> 00:57:27.690 Turn into like general finding the answer problems. 556 00:57:27.690 --> 00:57:31.170 And vice versa so yeah. 557 00:57:31.170 --> 00:57:36.900 Okay, pretty good so far. Yeah. To recap the whole presentation. 558 00:57:36.900 --> 00:57:42.210 Learn how to model possible compensation with basically your algebra. We learned about superposition and the head bar gate. 559 00:57:42.210 --> 00:57:45.869 And finally we learned about the Oracle problem where quantum and proposed classical. 560 00:57:45.869 --> 00:57:52.949 Pretty nifty. Okay. Now the bonus topics with all the tools we have is will be a breeze for you. 561 00:57:52.949 --> 00:58:02.010 You'll never have to read some pop science article of quantum entanglement and try and muddle through their horrible metaphors. You'll actually know the math. 562 00:58:02.010 --> 00:58:08.039 All right, you'll know the math that is incredible and we'll go over quantum teleportation, which is super, Super. 563 00:58:08.039 --> 00:58:12.210 Like, it is my okay quantum entanglement. 564 00:58:12.210 --> 00:58:15.539 You asked a great question. Very impression question earlier. 565 00:58:15.539 --> 00:58:20.099 Which is can we always factor the product state into the state? 566 00:58:20.099 --> 00:58:23.610 When we cannot do that, that means. 567 00:58:23.610 --> 00:58:27.780 That the humans are entangled, for example, this state. 568 00:58:27.780 --> 00:58:33.059 If we have keywords in this date, which is 1 of our 2 0, 0, 1 or 2. 569 00:58:33.059 --> 00:58:41.190 If we try and factor this we can, so let's try and back to this we have, we should if we can factor it, we should be able to write it as a tentative product of 2 matrices. Right? 570 00:58:41.190 --> 00:58:47.969 Where 8 times he has 1 over at 28 times d0 B times c0 and is 1 of her 2. 571 00:58:47.969 --> 00:58:52.980 So, we have this set of equations right now. 8 times equals 0 that means 8. 572 00:58:52.980 --> 00:59:00.239 Or he has to equals 0 If any equals 0. then AC, what equals your own? It doesn't so economical. 0. 573 00:59:00.239 --> 00:59:06.960 If data equals 0, then VD would equal 0, but it doesn't so economical. So, the only solution is, there is no solution. 574 00:59:06.960 --> 00:59:11.760 We cannot factor this. This is an factorable state and what this means is, we cannot. 575 00:59:11.760 --> 00:59:15.869 We cannot separate these Cubans they have no. 576 00:59:15.869 --> 00:59:19.440 Individual value their value only makes sense together. 577 00:59:19.440 --> 00:59:23.579 Called the entangled, and the way we went think of this is that. 578 00:59:23.579 --> 00:59:28.409 This if we measure this date, it has a 50% chance of collapsing to 0. 0. 579 00:59:28.409 --> 00:59:33.750 And a 50% chance of collapse into 11 so the Cubans are coordinating, right? 580 00:59:33.750 --> 00:59:37.980 Does anyone have any confusion in with this sort of mathematical representations? 581 00:59:37.980 --> 00:59:47.610 Okay, let's talk about what it means. Well, think about what it means that might be like, well, Andrew, I can sling any old value into the factor. How do you actually in tangle Cubans? It's really simple. 582 00:59:47.610 --> 00:59:52.980 We have to we just put 1 Cuban through the how to market to put in superposition. 583 00:59:52.980 --> 00:59:57.239 And then that is the control bit and the C not good. That's all. We need. 584 00:59:57.239 --> 01:00:03.329 Here's how it works. Mathematically we started was 00 we put the most significant bit into position, right? 585 01:00:03.329 --> 01:00:08.969 And then Here's our familiar matrix matrix. If we apply it to the product date, we get it. 586 01:00:08.969 --> 01:00:14.940 This this is the state from previous slide, right? So really simple to untangle Cubans. 587 01:00:14.940 --> 01:00:19.650 Okay, what does this mean? I mean, they seem to be. 588 01:00:19.650 --> 01:00:23.969 Coordinating or like communicating or something in some way right? These 2 cubes. 589 01:00:23.969 --> 01:00:29.699 And if you measure 1 came in, it collapses the other in in coordinated state. Now. 590 01:00:29.699 --> 01:00:34.289 The weird thing, Here's how we're getting into really aware of stuff. Okay. 591 01:00:34.289 --> 01:00:38.940 This happens across huge distances, China just this year. 592 01:00:38.940 --> 01:00:42.750 Managed to do this between earth and a satellite in space. 593 01:00:42.750 --> 01:00:47.730 They entangled put 1 half on the satellite. It was launched in the space. 594 01:00:47.730 --> 01:00:52.619 When they measure them, they're the same value. It happens across huge distances. 595 01:00:52.619 --> 01:00:57.030 It happens faster than light. It is instantaneous. 596 01:00:57.030 --> 01:01:02.010 A 2013 experiment entangled cube, it's moved them very far apart. 597 01:01:02.010 --> 01:01:06.239 Synchronizing with an atomic clock, they measured them very close together. 598 01:01:06.239 --> 01:01:12.150 So, close together in time that it would have taken light 10,000 times longer to pass to travel between them. 599 01:01:12.150 --> 01:01:16.320 So, they aren't communicating with any sort of radiation, anything like that. Okay. 600 01:01:16.320 --> 01:01:21.510 They are instantaneous, it's faster than light and you might be like, well. 601 01:01:21.510 --> 01:01:27.300 It's pretty obvious what's going on here when the Cubans were entangled, they just decided ahead of time what they're going to do. Right? 602 01:01:27.300 --> 01:01:33.449 Well, that explains everything. Well, that's called a hidden variable theory. This is hidden very well. It's the same reason that. 603 01:01:33.449 --> 01:01:37.619 When it cubex in superposition, it isn't secretly 0 or secretly when it's both. 604 01:01:37.619 --> 01:01:44.190 Same thing, and hidden variable theory we're not going to go over the proof. Why it doesn't work but basically it is. This guy named John Bell. 605 01:01:44.190 --> 01:01:48.750 And he showed that if invariable theory were true and had some really weird implications. 606 01:01:48.750 --> 01:01:53.940 And therefore, it's untenable, it's just the state, it's just how the universe works. 607 01:01:53.940 --> 01:01:58.110 They coordinate passive light. They just do that's. 608 01:01:58.110 --> 01:02:06.300 Not it might be like, well, I've been taught my entire life. There's a universal speed limit, the speed of light, right? Like what's up with that? We can't just Chuck it all out. 609 01:02:06.300 --> 01:02:09.510 And this was, in fact, a big source of consternation to Einstein. 610 01:02:09.510 --> 01:02:13.530 The idea that locality wasn't true. 611 01:02:13.530 --> 01:02:19.050 And then it was discovered that there's a really important qualifier. You can have passive, like, coordination. 612 01:02:19.050 --> 01:02:24.090 You kind of how fast and the communication so information cannot be communicated. 613 01:02:24.090 --> 01:02:28.409 So think about it if I entangle 2 minutes, I give you 1. 614 01:02:28.409 --> 01:02:34.079 We go to opposite ends of the universe. If I collapse mine. All I know is that you collapse yours. 615 01:02:34.079 --> 01:02:40.829 When you claps yours, you will see the same thing. There's no information that can be communicated there. 616 01:02:40.829 --> 01:02:44.519 Really? So fast, like, coordination is okay. 617 01:02:44.519 --> 01:02:48.570 Communication not. Okay. Okay. 618 01:02:48.570 --> 01:02:51.869 Yes, she does not in the most efficient. 619 01:02:51.869 --> 01:02:57.690 It does in a way, but communication here is a technical term, which means like. 620 01:02:57.690 --> 01:03:01.320 You can I have a bit of information that I can transfer to you. 621 01:03:01.320 --> 01:03:07.650 Pretty much so I use the term coordination to try and to give a name to something which. 622 01:03:07.650 --> 01:03:12.840 Is not that, but still involves like, some kind of coordination, I guess. 623 01:03:12.840 --> 01:03:19.590 Like I said, this is a limitation of our language. All we can do is look at the math and see what it does. And our language is not. 624 01:03:19.590 --> 01:03:24.389 It it was not developed for this. Anything I try and tell you is fundamentally a lie. 625 01:03:24.389 --> 01:03:30.539 Stuff a laugh. Yes. So let's I have to tangle. Yes. 626 01:03:30.539 --> 01:03:33.539 I measure 1 and I know it's value. 627 01:03:33.539 --> 01:03:39.780 Does that mean that the other 1 is still could potentially still not the measure. 628 01:03:39.780 --> 01:03:48.090 But when it is measured, it will have the same though, right? When you measure when it instantly collapses the other actually. Yeah. Good. I mean. 629 01:03:48.090 --> 01:03:51.480 I said that's a simplification again of language, but. 630 01:03:51.480 --> 01:03:59.429 You can think of it that way yes. Sorry so there's no way to tell it. Something has been collapsed or not that actually question. 631 01:03:59.429 --> 01:04:05.099 If you could tell whether something's been collapsed or not, you could measure when to use that as synchronization faster the light synchronization, right? 632 01:04:05.099 --> 01:04:11.250 Yeah, you can't and the process of telling whether something's in superposition or not would just collapsing. 633 01:04:11.250 --> 01:04:18.059 Like, you would be able to tell through some of that sort of market computation might you do some competition on it? And it was collapsed it would only. 634 01:04:18.059 --> 01:04:23.820 Be the state, and if it wasn't, there would sometimes be this sometimes you that you would think so. But in fact, that is not the case. 635 01:04:23.820 --> 01:04:32.639 I believe you guys yes. Is there a reason? Is there an intuition? Why is it really into. 636 01:04:32.639 --> 01:04:37.889 Hello. 637 01:04:37.889 --> 01:04:44.010 Shut up and calculate. That's a good way out. 638 01:04:44.010 --> 01:04:49.139 I'm not, I'm not sure I can say it intuitively. I can I can say that if you do put a. 639 01:04:49.139 --> 01:04:55.619 Just depends on paper it try and try it yourself, try and come with some sequence of operations you can do on the other cube, which would. 640 01:04:55.619 --> 01:04:59.730 Reveal it as having being collapsed or not then. 641 01:04:59.730 --> 01:05:05.820 Maybe, but, yes, doesn't this coordination, communication oxygen that you're having violates consolidate. 642 01:05:05.820 --> 01:05:11.940 Does it? Yes, this is the critical thing it does not violate because if we could communicate, then it would violate. 643 01:05:11.940 --> 01:05:21.449 But since are coordinated does not by, like you said, was if you measure the other 1 is going to be yes. As well. Yes. Right. Yes. Yeah. Act of measurement is. 644 01:05:21.449 --> 01:05:27.000 In your control, right? Yes. So how can that happen on the other side? 645 01:05:27.000 --> 01:05:30.210 But the other, you don't have communication. 646 01:05:30.210 --> 01:05:37.500 Because that's what we'll, let's define what communication is. Communication is I have a bit either. 01, and I'm able to send it to you in some way. 647 01:05:37.500 --> 01:05:42.929 Somehow, yeah, yesterday that he's not collapse, be communicated to the US. 648 01:05:42.929 --> 01:05:50.880 Yeah, I mean, like, this is a language problem the Cubics are like communicating, but we can't. 649 01:05:50.880 --> 01:05:55.980 Get information through them, basically, you could might be able to say that, or I use the term coordinating. 650 01:05:55.980 --> 01:06:00.630 Trying to avoid this problem other other times and let her share you'll just see the word correlated. 651 01:06:00.630 --> 01:06:03.960 Which tries to, like, avoid that whole problem. 652 01:06:03.960 --> 01:06:15.269 State the word here, when you were using it, it has an action that you have. Yes, yes. You control when you measure it collapses the other. 653 01:06:15.269 --> 01:06:20.699 But there's no way you can change causality in that other frame. 654 01:06:20.699 --> 01:06:26.309 Basically, there's no way you can get information from your frame into that frame, which would affect their causality all. We can know. 655 01:06:26.309 --> 01:06:30.030 Is we can we have generated the same random numbers? Basically. 656 01:06:30.030 --> 01:06:34.110 Yeah, it's kind of like Pre coordinations and these are. 657 01:06:34.110 --> 01:06:37.110 I want to avoid that coordination is. 658 01:06:37.110 --> 01:06:40.619 The key was decided ahead of time, which is not the case. 659 01:06:40.619 --> 01:06:43.769 I bought until yeah, these. 660 01:06:43.769 --> 01:06:46.800 I want at the time they measure they like the side. 661 01:06:46.800 --> 01:06:51.269 Which, whether they're going to 01, and they somehow communicate that coordinate. 662 01:06:51.269 --> 01:06:55.440 Correlate whatever to the other cube, and it goes in the same. Yes. 663 01:06:55.440 --> 01:06:58.710 Cannot company what's the practical. 664 01:06:58.710 --> 01:07:02.579 Great question, we're getting into the quantum teleportation on the very next slide. 665 01:07:02.579 --> 01:07:06.659 1st, I want to tell a funny story about this, so. 666 01:07:06.659 --> 01:07:11.340 You may have heard the phrase, Dokey action at a distance. 667 01:07:11.340 --> 01:07:14.670 This is iodine coined that here is referring to this. 668 01:07:14.670 --> 01:07:18.090 So, Rosen are 3 physicists. 669 01:07:18.090 --> 01:07:21.090 Who actually came up with the idea of quantum entanglement. 670 01:07:21.090 --> 01:07:26.039 They call it the paradox. They're like the workings of quantum mechanics. 671 01:07:26.039 --> 01:07:31.980 Result in this, this is obviously observed therefore quantum mechanics is garbage. 672 01:07:31.980 --> 01:07:37.710 With the basic argument, but then the experiments came out and they're like, no, this is. 673 01:07:37.710 --> 01:07:44.190 How it works, this is the universe is, in fact, absurd. Locality is broken in. 674 01:07:44.190 --> 01:07:51.900 So, it's kind of funny that, like, a parent a deeper paradoxes originally designed, like, just credit quantum mechanics. 675 01:07:51.900 --> 01:07:57.210 Turn out to me, the actual way of the universe works. I think it's a great little story. 676 01:07:57.210 --> 01:08:00.300 Okay, any other questions about entanglement? Yes. 677 01:08:00.300 --> 01:08:04.500 Let's say the same problem. 678 01:08:04.500 --> 01:08:11.010 If we say that this has a problem certain already 0 collapse into 1. 679 01:08:11.010 --> 01:08:16.439 And then we also collapse to 1. yes. How can we justify that out? 680 01:08:16.439 --> 01:08:20.970 Presumption that it had a probability of collapsing to 0. 681 01:08:20.970 --> 01:08:24.119 What's fine? Excellent question. Excellent question. 682 01:08:24.119 --> 01:08:28.229 The answer is, you just do it all a bunch of times and you see that you get a 50% distribution of values. 683 01:08:28.229 --> 01:08:32.189 Exactly, they won't be all the same time. 684 01:08:32.189 --> 01:08:36.449 Experimentally we know that they occur at the same time with the 2013 experiment. 685 01:08:36.449 --> 01:08:40.079 Getting tangled Cubans took them far apart and used. 686 01:08:41.250 --> 01:08:49.770 Okay, see the same Cuban? Yes, it happened at Timex. Yes. And now you take another few minutes. 687 01:08:49.770 --> 01:08:54.750 And this is another pair of few bits, but not the same. Yes. 688 01:08:54.750 --> 01:08:59.430 So, I just happened at that time that space or whatever. 689 01:08:59.430 --> 01:09:03.449 The contract Intel that this was. 690 01:09:03.449 --> 01:09:09.779 Haven't even followed the, the 1 half you're questioning. Okay. So they could have decided ahead of time. For example. 691 01:09:09.779 --> 01:09:15.300 Or the language of problem in itself is not. 692 01:09:15.300 --> 01:09:20.550 It works, well, probably works. 693 01:09:20.550 --> 01:09:23.789 I mean, it's just the, the. 694 01:09:23.789 --> 01:09:28.229 The applicant square gives you the classical probability of it collapsing. Israel 1. 695 01:09:28.229 --> 01:09:33.239 I guess I'm not 100% sure what you're driving. 696 01:09:33.239 --> 01:09:37.649 So so, I mean, once also, then. 697 01:09:37.649 --> 01:09:46.260 Rationalize once observed, then we rationalize. Yes. And then if we do that a whole, if we do the experiment, a whole bunch of times, we see that it's about a 50% chance of them both being 0 or both being 1. 698 01:09:46.260 --> 01:09:50.430 Which, in fact, I will show that to you live on a quantum computer that we do that. 699 01:09:50.430 --> 01:09:55.050 Okay all right. Let's move on. 700 01:09:55.050 --> 01:09:58.260 This is the actual use which you asked about. 701 01:09:58.260 --> 01:10:02.729 And you probably write a book on health condition again and pop science articles. 702 01:10:02.729 --> 01:10:06.539 Needless to say their explanation was complete trash. 703 01:10:06.539 --> 01:10:11.130 Made no sense at all, but now will make sense to you. Okay. It's the process. 704 01:10:11.130 --> 01:10:15.180 By which we take an arbitrary cubic state and transfer it. 705 01:10:15.180 --> 01:10:18.779 Cross space and time somewhere else so. 706 01:10:18.779 --> 01:10:23.010 You use and tangle campus is a sort of bridge. 707 01:10:23.010 --> 01:10:26.760 To send it from 1 place to another. 708 01:10:26.760 --> 01:10:29.909 And Here's a very important thing. 709 01:10:29.909 --> 01:10:33.960 It's called the no colonial there. You can transfer Cuba States. 710 01:10:33.960 --> 01:10:37.079 So, you can cut and paste them, but you cannot copy them. 711 01:10:37.079 --> 01:10:41.909 And I copy and paste the Cuban that you cannot clone it. It's called the no cloning 0. 712 01:10:41.909 --> 01:10:48.960 It's actually pretty simple to prove. You just show that any offset operation would not be reversible or its own universe. 713 01:10:48.960 --> 01:10:53.909 But we're not going to go do that and here's an important thing. The, despite. 714 01:10:53.909 --> 01:10:57.569 Using a faster phenomenon of entanglement. 715 01:10:57.569 --> 01:11:01.350 Is not itself the whole protocol is not itself faster than light for. 716 01:11:01.350 --> 01:11:04.920 Communication because you actually must exchange 2, classical bits. 717 01:11:04.920 --> 01:11:10.470 The might give it to you in addition to us, having an entangled, keep it there. 718 01:11:10.470 --> 01:11:13.770 I also have to send you 2 bits of information and we'll show why that is in the next slide. 719 01:11:13.770 --> 01:11:17.369 They're kind of conceptually grasp the, I guess. 720 01:11:17.369 --> 01:11:22.590 The purpose of okay, so here's what the circuit looks like. 721 01:11:22.590 --> 01:11:26.699 We're not going to go over the math. There are appendices to this slide deck. 722 01:11:26.699 --> 01:11:31.350 Which I will, you can see after the class to go over the math, but it gets bit complicated. So we're not going to do it. 723 01:11:31.350 --> 01:11:34.859 So, we have the Cuba that we want to, we want to tell board here. 724 01:11:34.859 --> 01:11:39.600 We call it T, and its value is fee. It's just the generic Cuba any value. 725 01:11:39.600 --> 01:11:43.560 And then we have these 2 candidates and B, which are both Initialized to 0. 726 01:11:43.560 --> 01:11:46.949 Now you recall, this is the entanglement circuit. 727 01:11:46.949 --> 01:11:50.399 So these 2 Cubans are entangled. All right. 728 01:11:50.399 --> 01:11:54.149 Now, after they're in tangled, we'll say we have Allison Bob. 729 01:11:54.149 --> 01:11:58.319 Alice wants to send her and tangle, keep it to Bob. So. 730 01:11:58.319 --> 01:12:02.310 Alice has these 2 Cubans Bob has this Cuba. 731 01:12:02.310 --> 01:12:09.930 And these 2 Cubans are entangled, so the humans are like, these documents are separated, right? After being the. 732 01:12:09.930 --> 01:12:12.960 Now, Alice, then. 733 01:12:12.960 --> 01:12:23.220 entangles her, you bet she wants to tell aboard with the other thinking of it so it's a 3 cubic entangled system. If you were to write out the product date, you wouldn't be able to factor it. 734 01:12:23.220 --> 01:12:27.510 To events, then she puts this. 735 01:12:27.510 --> 01:12:33.569 Move it through the had our gate finally Alice measures, both cubital in her possession. 736 01:12:33.569 --> 01:12:37.050 And those are the 2 and this results into classical events. 737 01:12:37.050 --> 01:12:42.720 These are the 2 beds that Alice has to send the Bob. 738 01:12:42.720 --> 01:12:51.510 And the measurement result of this bit determines whether Bob has to put an X run and skim it, just give it through an X or. 739 01:12:51.510 --> 01:12:59.850 And the measurement result of this cube controls, whether Bob has to run it through a new type of gate, which we haven't seen before it's called the phase flip. 740 01:12:59.850 --> 01:13:04.409 Was that and this is what the matrix looks like. 741 01:13:04.409 --> 01:13:08.729 And basically, once Bob has applied those 2 Gates. 742 01:13:08.729 --> 01:13:13.109 Or, neither, if both of these end up being 0, Bob doesn't have to apply anything. 743 01:13:13.109 --> 01:13:16.649 You'll end up someone magically with Alex's. 744 01:13:16.649 --> 01:13:20.159 Give it value she wants to telephone pretty nifty. Ha. 745 01:13:20.159 --> 01:13:27.210 Pretty nifty and I'd be like, well, we're already exchanging a queue at here. Why do we even care? Like, we're obviously just giving the Cuban. 746 01:13:27.210 --> 01:13:31.770 To Bob can we just Alice just give her a cube it right? Right there. 747 01:13:31.770 --> 01:13:34.800 So, what you can do is you can Pre. 748 01:13:34.800 --> 01:13:39.930 And Tango, like a whole bunch of Cuba, it's a few 1Billion Cubans or something. 749 01:13:39.930 --> 01:13:43.649 And then you ship them by mail, they're called house. 750 01:13:43.649 --> 01:13:49.260 You like, ship them by mail or something so, Allison, Bob had a big repository of these entangled kits. 751 01:13:49.260 --> 01:13:54.060 And then anytime Alice wants to send a human to Bob, she can just use up 1 of the pairs. 752 01:13:54.060 --> 01:13:59.069 Maybe our house, a, and at that point, that if you have. 753 01:13:59.069 --> 01:14:04.289 Uh, has been cloud apps? No longer be used so it's, it's a non renewable resource. 754 01:14:04.289 --> 01:14:08.279 But Alice can just send as many cubes as she wants over to. 755 01:14:08.279 --> 01:14:15.840 Okay, now you may be saying, well, I don't really get this. The math is in the appendix. If you really want to go see it, get this pretty, pretty complicated. 756 01:14:15.840 --> 01:14:19.229 But I think I did it. Okay. Job of. 757 01:14:19.229 --> 01:14:26.340 No, okay. It might be like, okay. Oh, by the way. Oh, I forgot to say. 758 01:14:26.340 --> 01:14:36.149 Really cute. Really, really important thing. You may have heard that we can simulate chronic Peters on a classical computer, but it takes exponential slow down or exponential memory. 759 01:14:36.149 --> 01:14:39.329 This is the reason F2. 760 01:14:39.329 --> 01:14:43.350 They come and tangled, you have to keep their full product state around. 761 01:14:43.350 --> 01:14:48.899 So, if en, Cuba become untangle, if you have a vector of size 2, to the end, you have to keep a number. 762 01:14:48.899 --> 01:14:52.229 And that is why it takes exponential memory. 763 01:14:52.229 --> 01:14:57.329 Just simulate a quantum computer on the classical computer. They never okay. 764 01:14:57.329 --> 01:15:00.479 Like, okay, this is all pretty interesting for their learning goals. 765 01:15:00.479 --> 01:15:03.600 You can learn the darn shows the algorithm that's the 1 with end bits. 766 01:15:03.600 --> 01:15:09.479 That I talked about and also Simon's periodicity problem, which is another figure out some property about dysfunction. 767 01:15:09.479 --> 01:15:14.970 I'm not going to talk about the complexity stuff, but anyway, you can also insurance. I haven't Grover grover's algorithm with 1. 768 01:15:14.970 --> 01:15:19.710 Cryptographic key exchange. That one's actually pretty simple. I recommend that. 769 01:15:19.710 --> 01:15:26.579 You can learn how they're actually implemented in physical terms if you care about that's an important thing. Quantum error corrections since these systems. 770 01:15:26.579 --> 01:15:31.949 Are so small like a spare cosmic Greg? You just don't want to know where I just wreck your entire computation. 771 01:15:31.949 --> 01:15:35.489 I need very, very stringent error correction. States. 772 01:15:35.489 --> 01:15:40.380 So, I think theoretically, it takes 5 physical. 773 01:15:40.380 --> 01:15:47.489 For a single logical keep it like, we've been operating that in practice is looking more like we'll need 1 or 200 to get like a Cuban of like. 774 01:15:47.489 --> 01:15:51.539 A 100% probability like, we've been using pretty much. 775 01:15:51.539 --> 01:15:57.449 So, that's something to keep in mind like, when we see, like, google's coming out with a 30 cubic computer and maybe it doesn't mean as much as we hope. 776 01:15:57.449 --> 01:16:01.739 They don't want you guys like. 777 01:16:01.739 --> 01:16:09.449 2 or 3, really high quality students, and also fun and programming language design, which I will go over because I'll show you a sharp. 778 01:16:09.449 --> 01:16:12.840 Example, but anyway. 779 01:16:12.840 --> 01:16:19.350 Recommended textbooks this 1 is my absolute favorite has the same title is the name of the talk quantum computing for computer scientists. 780 01:16:19.350 --> 01:16:23.399 This algorithm is by our friend, David Berman, the shut up and calculate guy. 781 01:16:23.399 --> 01:16:28.979 It is a meat grinder of a textbook, but I started out with this 1. it was horrifying. 782 01:16:28.979 --> 01:16:35.819 You know, it's just like, but it gives a lot of steps. Basically it's more symbolic manipulation. You won't see as many factors and matrices. 783 01:16:35.819 --> 01:16:39.420 I like to write out the factors I'm interested to see what's going on, which. 784 01:16:39.420 --> 01:16:43.350 Gets really unwieldy when you're writing out, like a 64 by 64. 785 01:16:43.350 --> 01:16:52.289 Vector or Matrix, but I like to have both of these, you know, so I'll use this to fill in the gaps with this. This is more interesting to side stuff like that. 786 01:16:52.289 --> 01:16:58.949 This is also in the library, there's another 1 called quantum computing, gentle attraction, also enormous library for extra views or. 787 01:16:58.949 --> 01:17:09.720 Semi decent reviews of it. I haven't looked at it myself. There's also the Microsoft form development kit. They have the Docs. They're actually pretty nice thing for the cloning Peter simulator and Q. sharp as we'll see. 788 01:17:09.720 --> 01:17:13.079 Now, I said, I would end the talk on some skepticism. 789 01:17:13.079 --> 01:17:18.090 Which there's an article came out I think it was quantum magazine pretty prominent recently. 790 01:17:18.090 --> 01:17:22.199 Interview with a mathematician who believes. 791 01:17:22.199 --> 01:17:25.289 That physically realized what quantum computers. 792 01:17:25.289 --> 01:17:29.699 Cannot exist his basic argument simplifying is that. 793 01:17:29.699 --> 01:17:32.939 The amount of noise in the system grows exponentially. 794 01:17:32.939 --> 01:17:38.970 With a number of Cubics, so we cannot get a really large keep system because it are. 795 01:17:38.970 --> 01:17:44.069 Our compensation, we'll just keep collapsing in the middle of it and, like. 796 01:17:44.069 --> 01:17:49.229 It's just like an exponential term and so I would be very sad. 797 01:17:49.229 --> 01:17:56.880 If this happened, I feel like the universe is against me, it'd be really it'd be very sad if we could not realize the benefits. 798 01:17:56.880 --> 01:18:01.079 Of quantum computing, so, like, cosmetically so. 799 01:18:01.079 --> 01:18:06.869 But, anyway, you know, can't argue with the universe and yeah, you can read that article for some skepticism. 800 01:18:06.869 --> 01:18:12.119 His name is Gil is the mathematician there's an appendices. 801 01:18:12.119 --> 01:18:16.739 But I'm going to do some demos now. Okay. The 1st demo. 802 01:18:16.739 --> 01:18:19.770 Is just the Oracle problem in Q sharp. 803 01:18:19.770 --> 01:18:23.520 The sharpest based on sharp and. 804 01:18:23.520 --> 01:18:27.779 We have this function I've written is black box constant. 805 01:18:27.779 --> 01:18:32.369 You've taken a black box and they tell you whether it's cash. Sorry? 806 01:18:32.369 --> 01:18:36.180 Here, of course, okay. 807 01:18:36.180 --> 01:18:41.609 We have our function is Blackbox constant where it takes in a black box, and it just returns a bull. 808 01:18:41.609 --> 01:18:52.619 Is it constant or not? And it just uses the same protocol. We went over, it allocates 2. Cubics calls 1 input 1 output. There's them set some, both to 0. does the Pre processing flips them? 809 01:18:52.619 --> 01:18:56.220 Puts them through the, how to market then it sends them into the black box. 810 01:18:56.220 --> 01:18:59.760 Afterward it again, but center of the, how to market. 811 01:18:59.760 --> 01:19:04.979 And then it measures both of them and again, if if the input results. 812 01:19:04.979 --> 01:19:08.640 Is 1, then it's constant otherwise it's variable. 813 01:19:08.640 --> 01:19:15.090 Okay, we have our black boxes defined here so constant 0 again remember it's nothing. 814 01:19:15.090 --> 01:19:18.899 For constant 1, we flip the output that. 815 01:19:18.899 --> 01:19:22.079 For identity, we run a scene. 816 01:19:22.079 --> 01:19:26.729 Uh, with input and control up his target and integration you see not next. Okay. 817 01:19:26.729 --> 01:19:32.640 And we just have these, like, is 00 I call is blackboard constant with. 818 01:19:32.640 --> 01:19:39.779 Constant 0, and then we have our classical driver, any quantum computation. We'll have a sort of classical computer to tell it what to do. 819 01:19:39.779 --> 01:19:43.350 And so we just, I asked for each of those 4. 820 01:19:43.350 --> 01:19:47.489 Well, what's going on and we can run it and it runs on a simulator. 821 01:19:47.489 --> 01:19:52.229 And we see. 822 01:19:52.229 --> 01:19:56.789 Is constant constant true constant 1. constant. True. 823 01:19:56.789 --> 01:20:00.630 I during any constant, false negation, constant, false. So there you go. 824 01:20:00.630 --> 01:20:05.819 Yeah, we wrote the darn article around it on a real quantum simulator. You saw that worked out. 825 01:20:05.819 --> 01:20:10.109 Okay, the final demo of the day and then I'll let you get out of here. 826 01:20:10.109 --> 01:20:13.920 Is it would go. 827 01:20:16.050 --> 01:20:20.189 This is called the IBM quantum experience. There is a real. 828 01:20:20.189 --> 01:20:25.890 Like, world the quantum computer that IBM is built, it only has a 45 minutes. 829 01:20:25.890 --> 01:20:28.920 But they just let you online just. 830 01:20:28.920 --> 01:20:34.409 Drank Gates onto this quantum circuit diagram and run it on a real quantum computer. So I thought I was pretty nifty. 831 01:20:34.409 --> 01:20:38.640 If we demonstrate entanglement, right? Live for you on stage. 832 01:20:38.640 --> 01:20:43.619 Let's see. So, if you remember the 1st thing we do is your drink ahead of our gate. 833 01:20:43.619 --> 01:20:47.310 On to 1 that and then. 834 01:20:47.310 --> 01:20:52.350 We use the control, not the okay, so. 835 01:20:52.350 --> 01:20:55.710 The way the quantum computers are constructed, you can only only usually. 836 01:20:55.710 --> 01:21:01.170 But see between certain, that's basically, it's just kind of otherwise. 837 01:21:01.170 --> 01:21:04.319 It's just mechanically impossible to see. Can we do that? 838 01:21:04.319 --> 01:21:10.140 Nope. Okay. How about. 839 01:21:13.050 --> 01:21:17.159 Success okay, we did it here is our. 840 01:21:17.159 --> 01:21:21.779 This is the see not. You can see varying representations of it. It's like the. 841 01:21:21.779 --> 01:21:26.489 And I say it will run it on a quantum computer. 842 01:21:26.489 --> 01:21:31.109 All right measurement kits I forgot we need to add 2 measurement. Obviously. 843 01:21:32.880 --> 01:21:39.810 So, we're measuring both these events after entangling them and what we expect is to see them predominantly being 00 and 1 1, right? 844 01:21:39.810 --> 01:21:43.680 All that stuff done that. 845 01:21:45.210 --> 01:21:49.770 And because we can some cash. 846 01:21:49.770 --> 01:21:54.180 But I want to do it live for you guys so I'm going to run a new execution. 847 01:21:54.180 --> 01:21:58.710 And you can imagine right now, even an IBM research lab. 848 01:21:58.710 --> 01:22:04.170 Nestled within a dilution refrigerator operating at slightly above absolute 0. 849 01:22:04.170 --> 01:22:08.909 We have real cube that's being entangled and measured thousands of times for our entertainment. 850 01:22:10.380 --> 01:22:15.840 That's pretty cool. That's pretty cool. Okay. Let's see. If it's. 851 01:22:15.840 --> 01:22:19.949 Oh, here we go, we've got the results and. 852 01:22:19.949 --> 01:22:24.239 Executions is it it's pending. Okay. 853 01:22:24.239 --> 01:22:29.789 So, it might take a couple of minutes. We can sync out. Does anyone have any questions while we're waiting for this? 854 01:22:30.234 --> 01:22:44.694 Yes, you said this experiment where the sentiment tangled keep it up to space and a satellite? Yes. Are we good at storing like Cubans for a long time but I really surprised they were able to do that. I thought they kind of yeah, they were managed to send the. 855 01:22:45.300 --> 01:22:53.279 We'll keep it up file, laser, but yes. Okay. I don't think we're that good of storing Cubans for a while. I think they're fairly short. Lived. 856 01:22:53.279 --> 01:23:03.359 I suppose there was something yes, they actually this Chinese satellite experiment, they California, the Cuban up there so they sent 1 have the bio laser. 857 01:23:03.359 --> 01:23:07.229 And then they use that have to teleport the, keep it up there. 858 01:23:07.229 --> 01:23:10.380 Pretty cool. Yeah, we can send and take off Cubans, laser. 859 01:23:10.380 --> 01:23:14.310 You can send and take. Okay. Was by laser? Yes. Okay. Yeah. 860 01:23:14.310 --> 01:23:18.479 Let's see. 861 01:23:18.479 --> 01:23:23.369 And it's still not. Okay. That's fine. Anyway. Yes. 862 01:23:23.369 --> 01:23:26.430 Mentioned that there is this. 863 01:23:26.430 --> 01:23:34.829 Article by the competition that says is going to grow faster. Yes. The whole purpose of the tunnel logical is to. 864 01:23:34.829 --> 01:23:38.729 Resist that of course, any corner computer will have issues with noise. 865 01:23:38.729 --> 01:23:42.029 The top logical corner computer is supposed to be better than it's. 866 01:23:47.640 --> 01:23:51.239 Okay, well it's 1240, so. 867 01:23:51.239 --> 01:23:58.619 May play the last 5 minutes of questions on Thursday, or you can watch it. So that's a good talk getting down to some mathematics or. 868 01:23:58.619 --> 01:24:03.000 Sample quantum computer is any questions. 869 01:24:03.000 --> 01:24:08.100 If not then have a good week and I'll see you. 870 01:24:08.100 --> 01:24:14.399 Thursday.