1 00:00:02,575 --> 00:00:03,450 PROFESSOR: All right. 2 00:00:03,450 --> 00:00:06,000 So, lecture 13 was about a lot of things. 3 00:00:06,000 --> 00:00:08,189 We had algorithms for the carpenter's rule theorem. 4 00:00:08,189 --> 00:00:10,200 We had three of those. 5 00:00:10,200 --> 00:00:13,600 Let's see, there's the CDR strain 6 00:00:13,600 --> 00:00:15,700 of pseudo-triangulations, which we're 7 00:00:15,700 --> 00:00:17,820 going to talk about a bunch today. 8 00:00:17,820 --> 00:00:20,870 There's the energy method, which we'll talk about a little bit. 9 00:00:20,870 --> 00:00:22,760 Then there was locked trees. 10 00:00:22,760 --> 00:00:25,310 I'll give you-- there's one new result in locked trees 11 00:00:25,310 --> 00:00:26,540 I'll tell you about. 12 00:00:26,540 --> 00:00:37,520 And then we had the last topic, which was-- cheat-- oh, right. 13 00:00:37,520 --> 00:00:39,320 Last topic for today is four dimensions, 14 00:00:39,320 --> 00:00:40,620 which wasn't covered in class. 15 00:00:40,620 --> 00:00:42,764 And what we did talk about in class is 3D. 16 00:00:42,764 --> 00:00:44,930 Essentially no updates there, although open problems 17 00:00:44,930 --> 00:00:46,370 are still open. 18 00:00:46,370 --> 00:00:47,680 Fairly challenging. 19 00:00:47,680 --> 00:00:49,750 But 4D we didn't get to talk about at all. 20 00:00:49,750 --> 00:00:52,690 And that's not too hard, how to unfold any 4D chain. 21 00:00:52,690 --> 00:00:54,210 So that'll be fun. 22 00:00:54,210 --> 00:00:59,440 Also 5D chains we'll get-- and 6D and 7D, but not eight. 23 00:00:59,440 --> 00:01:01,130 Any dimension. 24 00:01:01,130 --> 00:01:04,340 First question for today is why do we 25 00:01:04,340 --> 00:01:06,240 care so much about expansiveness? 26 00:01:06,240 --> 00:01:08,610 And this is mostly-- mostly, I want 27 00:01:08,610 --> 00:01:11,520 to reference next lecture, which will use expansiveness. 28 00:01:11,520 --> 00:01:15,260 But, indeed, the original point of expansiveness 29 00:01:15,260 --> 00:01:18,990 was just a convenient way to ensure self-intersection. 30 00:01:18,990 --> 00:01:22,110 Essentially, before the idea of expansiveness, 31 00:01:22,110 --> 00:01:25,830 we had this idea of a really complicated chain. 32 00:01:25,830 --> 00:01:29,940 that's not very complicated but for the carpenter's rule 33 00:01:29,940 --> 00:01:32,480 problem, we had this idea that, well, 34 00:01:32,480 --> 00:01:34,840 how do we distinguish between a linkage 35 00:01:34,840 --> 00:01:36,650 that is locked within Epsilon? 36 00:01:36,650 --> 00:01:39,010 However you draw it, if it's not self-touching, 37 00:01:39,010 --> 00:01:41,530 it's going to jiggle a little bit. 38 00:01:41,530 --> 00:01:44,190 Versus something they can eventually unfold. 39 00:01:44,190 --> 00:01:46,420 And there was no good way to distinguish 40 00:01:46,420 --> 00:01:51,200 between just jiggling a little bit and unfolding all the way. 41 00:01:51,200 --> 00:01:54,010 Which was frustrating, and expansiveness gave us 42 00:01:54,010 --> 00:01:57,830 a way to guarantee that. 43 00:01:57,830 --> 00:02:00,440 Not only did it avoid self-intersection, 44 00:02:00,440 --> 00:02:01,180 which is nice. 45 00:02:01,180 --> 00:02:03,079 If you expand, you don't self-intersect. 46 00:02:03,079 --> 00:02:05,120 But it also gave a way that things would actually 47 00:02:05,120 --> 00:02:08,160 be rigid if it was impossible to do. 48 00:02:08,160 --> 00:02:09,660 And so you couldn't move at all. 49 00:02:09,660 --> 00:02:12,930 That reduced it to a rigidity theory problem or, really, 50 00:02:12,930 --> 00:02:14,700 a tensegrity theory problem. 51 00:02:14,700 --> 00:02:16,620 Which was kind of what this problem needed. 52 00:02:16,620 --> 00:02:18,390 That's why it was open for 25 years 53 00:02:18,390 --> 00:02:22,090 before we could prove it with tensegrities. 54 00:02:22,090 --> 00:02:24,210 So, that's one answer. 55 00:02:24,210 --> 00:02:26,930 But, in fact, now that we know expansive motions exist, 56 00:02:26,930 --> 00:02:28,000 they're really handy. 57 00:02:28,000 --> 00:02:30,670 They let us prove that the energy method worked, for one. 58 00:02:30,670 --> 00:02:34,670 And next class we're going to use them to add thickness 59 00:02:34,670 --> 00:02:39,540 to our edges, add polygons or regions attached to every edge. 60 00:02:39,540 --> 00:02:41,240 And if you have an expansive motion, 61 00:02:41,240 --> 00:02:43,530 it turns out under certain conditions, 62 00:02:43,530 --> 00:02:45,366 this thing will still work. 63 00:02:45,366 --> 00:02:47,240 Whereas with non-expansive motions like those 64 00:02:47,240 --> 00:02:50,690 produced by the energy method it won't work in general. 65 00:02:50,690 --> 00:02:53,676 So initially it was convenience, but it turns out 66 00:02:53,676 --> 00:02:54,800 to be handy mathematically. 67 00:02:54,800 --> 00:02:57,700 Two, we've seen one example just proving the energy method 68 00:02:57,700 --> 00:02:59,790 That's actually our next topic. 69 00:02:59,790 --> 00:03:02,710 We will see another, next lecture. 70 00:03:06,630 --> 00:03:09,940 But a few people asked about the proof of the energy method, 71 00:03:09,940 --> 00:03:11,870 so I wanted to review it. 72 00:03:11,870 --> 00:03:15,040 How do we know we don't get stuck in a local minimum? 73 00:03:15,040 --> 00:03:18,210 So this is an obvious question to ask 74 00:03:18,210 --> 00:03:21,910 if you're familiar with gradient descent. 75 00:03:21,910 --> 00:03:24,440 If not, here's a kind of picture. 76 00:03:24,440 --> 00:03:26,180 Imagine you have some energy landscape. 77 00:03:26,180 --> 00:03:29,590 In reality, this is a surface drawn 78 00:03:29,590 --> 00:03:32,130 over n times d dimensions, but I will 79 00:03:32,130 --> 00:03:35,140 assume n times d equals 1 because I can draw it. 80 00:03:35,140 --> 00:03:36,693 So here's configurations. 81 00:03:39,510 --> 00:03:43,120 And then on the x-axis, or in general all the other axes. 82 00:03:43,120 --> 00:03:45,880 And then the y-axis, which will always be one thing, 83 00:03:45,880 --> 00:03:47,420 is the energy function. 84 00:03:47,420 --> 00:03:49,051 So sometimes the energy is high. 85 00:03:49,051 --> 00:03:51,550 At some points it's going to actually shoot off to infinity. 86 00:03:51,550 --> 00:03:53,390 That's where you'd self-intersect. 87 00:03:53,390 --> 00:03:59,190 Remember, the energy function was sum over all edges. 88 00:03:59,190 --> 00:04:03,040 The w sum over all vertices. 89 00:04:03,040 --> 00:04:10,050 U of 1 over the distance between u and dw. 90 00:04:10,050 --> 00:04:13,730 So when a distance goes to 0, the energy shoots to infinity. 91 00:04:13,730 --> 00:04:16,899 Those are the points we want to avoid. 92 00:04:16,899 --> 00:04:18,269 So those are bad things. 93 00:04:18,269 --> 00:04:20,149 But if we start at some non self-intersecting 94 00:04:20,149 --> 00:04:22,510 configuration, we'll have some finite energy. 95 00:04:22,510 --> 00:04:29,010 And the idea is, well, if we followed the negative gradient, 96 00:04:29,010 --> 00:04:31,900 that will decrease energy as fast as possible. 97 00:04:31,900 --> 00:04:34,300 And from here it's going to basically follow 98 00:04:34,300 --> 00:04:35,460 this trajectory. 99 00:04:35,460 --> 00:04:37,280 And it would get stuck in this little well. 100 00:04:37,280 --> 00:04:39,460 This is called a local minimum. 101 00:04:39,460 --> 00:04:41,840 But this local minimum might be lower. 102 00:04:41,840 --> 00:04:44,450 And so the worry is that it depends where you start. 103 00:04:44,450 --> 00:04:46,890 If I start over here, I'll fall down there. 104 00:04:46,890 --> 00:04:49,010 But if I start in this kind of well, 105 00:04:49,010 --> 00:04:51,542 I'll end up at this kind of accumulation point. 106 00:04:51,542 --> 00:04:53,250 And what I really want is maybe some kind 107 00:04:53,250 --> 00:04:55,295 of global energy minimum. 108 00:04:55,295 --> 00:04:57,170 That's the usual issue with gradient descent. 109 00:04:57,170 --> 00:04:59,795 That's why people don't like to use gradient descent sometimes. 110 00:04:59,795 --> 00:05:03,345 Because it gets stuck. 111 00:05:03,345 --> 00:05:05,300 Hey, Jason. 112 00:05:05,300 --> 00:05:09,530 However, with this particular setting 113 00:05:09,530 --> 00:05:11,990 we actually proved that the energy method does not 114 00:05:11,990 --> 00:05:13,390 get stuck in a local minimum. 115 00:05:13,390 --> 00:05:15,490 And I'll just review that proof because it 116 00:05:15,490 --> 00:05:17,000 went by quickly in lecture. 117 00:05:21,080 --> 00:05:30,101 So the idea in our setting is we know the carpenter's rule 118 00:05:30,101 --> 00:05:30,600 theorem. 119 00:05:36,460 --> 00:05:38,280 Carpenter's rule theorem tells us 120 00:05:38,280 --> 00:05:44,900 that any configuration where we're not done-- 121 00:05:44,900 --> 00:05:47,720 and I'll start just by thinking about a single chain, maybe 122 00:05:47,720 --> 00:05:50,530 an open chain or a closed chain. 123 00:05:50,530 --> 00:06:00,130 Any chain that is not already straight or convex, 124 00:06:00,130 --> 00:06:02,440 not only can be unfolded, but has 125 00:06:02,440 --> 00:06:03,850 an expansive motion to unfolding. 126 00:06:10,160 --> 00:06:13,480 Expansive motion tells us that if we 127 00:06:13,480 --> 00:06:18,070 look at any distance between a vertex and an edge, 128 00:06:18,070 --> 00:06:20,582 this increases. 129 00:06:20,582 --> 00:06:22,040 That's not how we define expansive. 130 00:06:22,040 --> 00:06:24,810 We define it between every pair of vertices. 131 00:06:24,810 --> 00:06:27,030 But it turns out if you have-- this 132 00:06:27,030 --> 00:06:29,750 is actually something we needed for non-self-intersection. 133 00:06:29,750 --> 00:06:33,190 If you have a vertex and an edge, and you know that-- well, 134 00:06:33,190 --> 00:06:36,710 this edge stays fixed length because it's a bar. 135 00:06:36,710 --> 00:06:39,500 We know that these distances increase. 136 00:06:39,500 --> 00:06:41,620 And this distance increases by expansiveness. 137 00:06:41,620 --> 00:06:45,660 Then, in fact, this point must go away from this bar. 138 00:06:45,660 --> 00:06:47,077 You can draw an ellipse. 139 00:06:47,077 --> 00:06:49,410 If you held these fixed, it would move along an ellipse. 140 00:06:49,410 --> 00:06:51,280 Or held the sum fixed. 141 00:06:51,280 --> 00:06:54,570 But you've got to go outside that ellipse. 142 00:06:54,570 --> 00:06:56,940 This guy's got to get farther away from-- every vertex, 143 00:06:56,940 --> 00:06:58,648 it has to get farther away from every bar 144 00:06:58,648 --> 00:07:02,610 if the pairwise vertex-vertex distances increase. 145 00:07:02,610 --> 00:07:05,600 So if you take this expansive motion, 146 00:07:05,600 --> 00:07:08,220 you know that it is an energy-decreasing motion. 147 00:07:08,220 --> 00:07:11,490 So what that tells you is that any configuration that's 148 00:07:11,490 --> 00:07:14,540 not already straight or convex has 149 00:07:14,540 --> 00:07:15,980 an energy-decreasing motion. 150 00:07:23,360 --> 00:07:27,590 So this tells you, you never get stuck in a local minimum. 151 00:07:27,590 --> 00:07:32,490 Because what's a local minimum in one dimension? 152 00:07:32,490 --> 00:07:35,665 It's a place where you cannot go down from here. 153 00:07:35,665 --> 00:07:37,540 And those are the places we're worried about. 154 00:07:37,540 --> 00:07:39,123 And the claim is the only places where 155 00:07:39,123 --> 00:07:42,770 you don't have a downhill motion are places where you don't have 156 00:07:42,770 --> 00:07:45,350 expansive motions, and therefore the configuration 157 00:07:45,350 --> 00:07:48,180 must already be straight or convex. 158 00:07:48,180 --> 00:07:49,564 And then you're done. 159 00:07:49,564 --> 00:07:51,230 So you don't have to worry about getting 160 00:07:51,230 --> 00:07:53,070 stuck with the energy method. 161 00:07:53,070 --> 00:07:55,500 There is one tricky part which is, 162 00:07:55,500 --> 00:08:01,364 if you have a linkage that consists of multiple pieces-- 163 00:08:01,364 --> 00:08:03,530 maybe you have some open chains, some closed chains, 164 00:08:03,530 --> 00:08:05,020 you can have some guy stuck in here. 165 00:08:05,020 --> 00:08:06,603 They won't necessarily straighten out, 166 00:08:06,603 --> 00:08:10,906 but-- there's a couple kinds of things you could do. 167 00:08:10,906 --> 00:08:13,280 You could unfold this chain, you could unfold this chain, 168 00:08:13,280 --> 00:08:15,770 or you could just let them fly away from each other. 169 00:08:15,770 --> 00:08:18,540 All of those things will decrease energy. 170 00:08:18,540 --> 00:08:22,330 And so the worry here would be that these two linkages 171 00:08:22,330 --> 00:08:26,630 fly apart and never really unfold locally. 172 00:08:26,630 --> 00:08:31,550 That would be bad for us because we're always decreasing energy. 173 00:08:31,550 --> 00:08:33,740 There's always a decreasing flow, 174 00:08:33,740 --> 00:08:35,659 but we may not actually finish. 175 00:08:35,659 --> 00:08:37,510 We might not finally make this. 176 00:08:37,510 --> 00:08:41,400 Our goal in this case, remember, is to make it outer convex. 177 00:08:41,400 --> 00:08:45,450 Meaning that all the outermost chains are straight. 178 00:08:45,450 --> 00:08:47,295 All that outermost polygons become convex. 179 00:08:50,480 --> 00:08:51,697 So we want to argue this. 180 00:08:51,697 --> 00:08:53,530 And I'm just going to sketch the proof here. 181 00:08:53,530 --> 00:08:57,010 Essentially, when you have multiple components, 182 00:08:57,010 --> 00:08:59,560 once they're very, very, very far away, 183 00:08:59,560 --> 00:09:01,860 their contribution to energy, just 184 00:09:01,860 --> 00:09:05,710 by all the pairwise distances across between two components, 185 00:09:05,710 --> 00:09:08,510 will be very, very tiny. 186 00:09:08,510 --> 00:09:12,570 And the claim is actually the energy method 187 00:09:12,570 --> 00:09:15,750 won't get you all the way to an outer-convex configuration, 188 00:09:15,750 --> 00:09:21,830 but it will get you within some Epsilon of outer convex. 189 00:09:21,830 --> 00:09:24,570 You get to choose whatever Epsilon you want. 190 00:09:24,570 --> 00:09:27,250 And so when these guys are far enough away, 191 00:09:27,250 --> 00:09:30,220 their contribution to energy is much less than Epsilon. 192 00:09:30,220 --> 00:09:32,890 Once they're, like, n squared divided by Epsilon away 193 00:09:32,890 --> 00:09:36,430 or something, the contribution between them 194 00:09:36,430 --> 00:09:38,000 will be far less than Epsilon. 195 00:09:38,000 --> 00:09:41,260 So, what really matters in energy 196 00:09:41,260 --> 00:09:45,820 is all the distances inside the linkages, inside 197 00:09:45,820 --> 00:09:47,650 the components. 198 00:09:47,650 --> 00:09:50,600 And we're following the gradient motion, which decreases energy 199 00:09:50,600 --> 00:09:52,200 as fast as possible. 200 00:09:52,200 --> 00:09:54,055 And so you can prove that it's better-- 201 00:09:54,055 --> 00:09:56,180 if you want to decrease energy as fast as possible, 202 00:09:56,180 --> 00:09:58,440 it's better at some point to unfold the pieces. 203 00:09:58,440 --> 00:10:01,300 Not to just let them continue flying apart. 204 00:10:01,300 --> 00:10:03,260 So waving my hands a little bit there. 205 00:10:03,260 --> 00:10:08,010 But if you know that you're at least Epsilon away 206 00:10:08,010 --> 00:10:10,020 from being done, then the energy will 207 00:10:10,020 --> 00:10:12,000 be fairly high within the components. 208 00:10:12,000 --> 00:10:16,360 And therefore it's worth unfolding the components. 209 00:10:16,360 --> 00:10:20,911 But it's especially clear for one component. 210 00:10:20,911 --> 00:10:21,410 All right. 211 00:10:21,410 --> 00:10:24,460 Any questions about that.? 212 00:10:24,460 --> 00:10:26,360 That's why the energy method works. 213 00:10:29,010 --> 00:10:31,820 The next set of topics is related 214 00:10:31,820 --> 00:10:33,760 to pointed pseudo-triangulations, 215 00:10:33,760 --> 00:10:35,240 which are indeed very cool. 216 00:10:35,240 --> 00:10:37,450 There's dozens of papers about them. 217 00:10:37,450 --> 00:10:39,910 They've spawned their whole little sub-field 218 00:10:39,910 --> 00:10:42,160 of computational geometry. 219 00:10:42,160 --> 00:10:45,290 We touched on them a little bit in lecture, 220 00:10:45,290 --> 00:10:47,544 but there's a lot more to say about it. 221 00:10:47,544 --> 00:10:49,960 In particular, why they even work for the carpenter's rule 222 00:10:49,960 --> 00:10:50,740 problem. 223 00:10:50,740 --> 00:10:54,040 I didn't make clear, but I would like to. 224 00:10:54,040 --> 00:10:57,590 So a couple things about them. 225 00:10:57,590 --> 00:10:59,310 They were actually originally invented 226 00:10:59,310 --> 00:11:03,270 in 1994 or the first used, I guess, in 1994. 227 00:11:03,270 --> 00:11:05,880 At this point, they were called geodesic triangulations 228 00:11:05,880 --> 00:11:08,050 for a particular reason. 229 00:11:08,050 --> 00:11:11,880 And so for the carpenter's rule problem, we had a polygon 230 00:11:11,880 --> 00:11:14,190 and then we pseudo-triangulated the inside 231 00:11:14,190 --> 00:11:15,810 and the outside of the polygon. 232 00:11:15,810 --> 00:11:18,870 Here we're just pseudo-triangulating 233 00:11:18,870 --> 00:11:19,580 the inside. 234 00:11:19,580 --> 00:11:23,180 In that setting, they're call geodesic triangulations. 235 00:11:23,180 --> 00:11:26,870 And it's for a particular data structures problem, actually. 236 00:11:26,870 --> 00:11:29,550 This is sometimes covered in 6851, 237 00:11:29,550 --> 00:11:31,889 which is Advanced Data Structures. 238 00:11:31,889 --> 00:11:32,930 You can check out online. 239 00:11:35,750 --> 00:11:37,780 The goal is to decompose this polygon 240 00:11:37,780 --> 00:11:39,330 in a kind of balanced way. 241 00:11:39,330 --> 00:11:40,910 So first you choose a pseudo-triangle 242 00:11:40,910 --> 00:11:43,040 that's kind of most in the middle of the polygon. 243 00:11:43,040 --> 00:11:44,730 Then you recurse on the sides. 244 00:11:44,730 --> 00:11:48,390 Actually number one is this one. 245 00:11:48,390 --> 00:11:50,860 And if you do this, it turns out if you 246 00:11:50,860 --> 00:11:52,770 want to walk from any point in this polygon 247 00:11:52,770 --> 00:11:54,500 to any other point in the polygon, 248 00:11:54,500 --> 00:11:57,240 you only visit log n pseudo-triangles. 249 00:11:57,240 --> 00:11:58,890 Just a nice, small number. 250 00:11:58,890 --> 00:12:02,330 And this is a particular problem called ray shooting, where 251 00:12:02,330 --> 00:12:07,620 you imagine you have a laser to shoot in some direction. 252 00:12:07,620 --> 00:12:10,360 The polygon-- you want to know when it exits the polygon, when 253 00:12:10,360 --> 00:12:13,450 it hits the boundary and where it hits. 254 00:12:13,450 --> 00:12:15,975 One way to do that is to walk through the pieces here, 255 00:12:15,975 --> 00:12:16,850 the pseudo-triangles. 256 00:12:16,850 --> 00:12:19,095 And if you only have to walk through log n of them, 257 00:12:19,095 --> 00:12:21,470 it turns out walking through a single triangle only takes 258 00:12:21,470 --> 00:12:22,200 log n time. 259 00:12:22,200 --> 00:12:24,120 Total amount of time is log squared n. 260 00:12:24,120 --> 00:12:28,720 So this is a pretty good way to do ray shooting in polygons. 261 00:12:28,720 --> 00:12:31,890 Which is nice. 262 00:12:31,890 --> 00:12:33,490 So that's where they originally come 263 00:12:33,490 --> 00:12:38,980 from but they weren't used very much until later. 264 00:12:38,980 --> 00:12:43,420 So let me tell you some nice properties about them. 265 00:12:43,420 --> 00:12:51,010 Pseudo-triangulation has 2n minus 3 edges 266 00:12:51,010 --> 00:12:55,140 and n minus 2 pseudo-triangles. 267 00:12:57,955 --> 00:12:58,455 Always. 268 00:13:01,640 --> 00:13:04,110 I should say, if you draw a pointed pseudo-triangulation, 269 00:13:04,110 --> 00:13:07,900 remember pointed means at every vertex 270 00:13:07,900 --> 00:13:09,110 of the pseudo-triangulation. 271 00:13:09,110 --> 00:13:11,000 You have some angle which is-- you 272 00:13:11,000 --> 00:13:13,410 have a reflex angle bigger than 180. 273 00:13:13,410 --> 00:13:16,430 This is the pointed property. 274 00:13:16,430 --> 00:13:20,500 Pseudo-triangles-- all the faces look like this. 275 00:13:20,500 --> 00:13:22,750 They only have three convex vertices. 276 00:13:22,750 --> 00:13:24,640 All the other vertices are reflex. 277 00:13:27,840 --> 00:13:30,190 So this is pseudo-triangle. 278 00:13:30,190 --> 00:13:33,690 Pointed pseudo-triangulation has both of these properties. 279 00:13:33,690 --> 00:13:35,690 And it's pretty easy to prove this by induction. 280 00:13:35,690 --> 00:13:37,690 I won't go through the proof here. 281 00:13:37,690 --> 00:13:39,530 It's interesting in the way that it 282 00:13:39,530 --> 00:13:41,580 is different from triangulation. 283 00:13:41,580 --> 00:13:44,280 So n here is the number of points. 284 00:13:44,280 --> 00:13:47,780 And I'm thinking about pointed pseudo-triangulations 285 00:13:47,780 --> 00:13:48,510 of the points. 286 00:13:48,510 --> 00:13:57,000 Meaning, I take some points and I add edges 287 00:13:57,000 --> 00:13:59,450 until I can't anymore. 288 00:13:59,450 --> 00:14:01,580 Subject to the pointed property. 289 00:14:01,580 --> 00:14:03,820 So I add this edge, I'm still pointed. 290 00:14:03,820 --> 00:14:05,510 I add this edge, I'm still pointed. 291 00:14:05,510 --> 00:14:07,400 I add this edge, I'm still pointed. 292 00:14:07,400 --> 00:14:08,820 Can't add this edge. 293 00:14:08,820 --> 00:14:10,750 Can't really add that edge. 294 00:14:10,750 --> 00:14:19,530 Let's see if I can and this one and this one and this one. 295 00:14:19,530 --> 00:14:20,990 Anymore? 296 00:14:20,990 --> 00:14:23,614 This one and now I'm done. 297 00:14:23,614 --> 00:14:26,280 I can tell that I'm done because at this point, all of the faces 298 00:14:26,280 --> 00:14:28,160 are pseudo-triangles. 299 00:14:28,160 --> 00:14:30,830 They each have three convex vertices. 300 00:14:30,830 --> 00:14:34,140 And as soon as you have that all the faces are pseudo-triangles, 301 00:14:34,140 --> 00:14:36,447 we can show that you can't add any more 302 00:14:36,447 --> 00:14:37,780 edges while still being pointed. 303 00:14:37,780 --> 00:14:39,910 I'm still pointed because I only added 304 00:14:39,910 --> 00:14:42,997 edges that preserve pointedness. 305 00:14:42,997 --> 00:14:44,580 And this is a sort of greedy algorithm 306 00:14:44,580 --> 00:14:47,369 to construct pointed pseudo-triangulation. 307 00:14:47,369 --> 00:14:48,035 It always works. 308 00:14:50,679 --> 00:14:52,220 And we can count the number of edges. 309 00:14:52,220 --> 00:14:54,650 I won't bother, but it will always be 2n minus 3. 310 00:14:57,950 --> 00:15:02,070 By contrast, if you look at regular triangulations-- 311 00:15:02,070 --> 00:15:05,450 so a triangulation would go all the way to the point 312 00:15:05,450 --> 00:15:10,230 where every face is a triangle, like this. 313 00:15:13,520 --> 00:15:16,340 And in that case they have more edges, obviously. 314 00:15:16,340 --> 00:15:18,380 In general they will have-- here is 315 00:15:18,380 --> 00:15:23,530 two more edges because there are two interior vertices. 316 00:15:23,530 --> 00:15:27,360 So, in general, it would be 2n minus 3 plus i edges 317 00:15:27,360 --> 00:15:31,390 for a triangulation, where i is the number of interior points. 318 00:15:31,390 --> 00:15:38,715 And it will have n minus 2 plus i faces, triangles. 319 00:15:43,920 --> 00:15:47,350 Pseudo-triangulations are quite minimal in the number of edges. 320 00:15:47,350 --> 00:15:51,650 In particular, they are minimally generically rigid. 321 00:15:51,650 --> 00:15:53,130 This is the number of edges I want 322 00:15:53,130 --> 00:15:54,660 for a nice rigid structure. 323 00:15:54,660 --> 00:15:57,380 2 n minus 3 is what I should have. 324 00:15:57,380 --> 00:16:00,910 And indeed, pointed pseudo-triangulations 325 00:16:00,910 --> 00:16:03,690 are minimally generically rigid. 326 00:16:03,690 --> 00:16:04,620 That's the next thing. 327 00:16:08,330 --> 00:16:15,190 Minimally generically rigid. 328 00:16:15,190 --> 00:16:18,760 This was the Laman condition. 329 00:16:18,760 --> 00:16:20,410 We saw a couple characterizations, 330 00:16:20,410 --> 00:16:22,500 but in particular, you can fairly easily 331 00:16:22,500 --> 00:16:24,890 prove that they satisfy the Laman condition. 332 00:16:24,890 --> 00:16:25,426 Why? 333 00:16:25,426 --> 00:16:27,800 Well, first thing to check is they have 2n minus 3 edges. 334 00:16:27,800 --> 00:16:29,334 That, I just claim. 335 00:16:29,334 --> 00:16:30,750 Second thing to check is that if I 336 00:16:30,750 --> 00:16:33,420 look at any subset of the vertices, k of the vertices, 337 00:16:33,420 --> 00:16:37,340 they should only have at most 2k minus 3 edges among them. 338 00:16:37,340 --> 00:16:39,870 It should induce at most 2k minus 3 edges. 339 00:16:39,870 --> 00:16:44,655 Well, let's look at any k vertices. 340 00:16:49,080 --> 00:16:52,670 What are the edges that they induce? 341 00:16:52,670 --> 00:16:54,220 Well, the thing I know about them 342 00:16:54,220 --> 00:16:59,010 is that they will induce a pointed set of edges. 343 00:17:03,800 --> 00:17:06,950 Because this structure without the blue edges is pointed. 344 00:17:06,950 --> 00:17:08,994 If I remove edges from it, it will still 345 00:17:08,994 --> 00:17:10,160 be pointed, [CHUCKLE] right? 346 00:17:10,160 --> 00:17:11,930 If you have a big angle, you'll continue 347 00:17:11,930 --> 00:17:14,069 to have a big angle if you remove edges from it. 348 00:17:14,069 --> 00:17:17,240 It's a matter which subset of edges I look at, in particular, 349 00:17:17,240 --> 00:17:18,510 in the deuce subset. 350 00:17:18,510 --> 00:17:20,290 It will still be pointed. 351 00:17:20,290 --> 00:17:25,839 If I have a pointed set of edges on some k vertices, 352 00:17:25,839 --> 00:17:27,920 I can use that greedy algorithm to finish 353 00:17:27,920 --> 00:17:28,961 the pseudo-triangulation. 354 00:17:32,660 --> 00:17:40,340 As long as you're pointed, you can add edges 355 00:17:40,340 --> 00:17:45,370 until you can't add edges, subject 356 00:17:45,370 --> 00:17:46,500 to the pointed constraint. 357 00:17:50,880 --> 00:17:53,239 At all times preserving pointedness. 358 00:17:53,239 --> 00:17:55,280 This is what I did to generate this triangulation 359 00:17:55,280 --> 00:17:55,946 the first place. 360 00:17:55,946 --> 00:17:57,780 If I take some subset of k vertices, 361 00:17:57,780 --> 00:18:00,380 I can do it again on those k vertices. 362 00:18:00,380 --> 00:18:04,170 When I'm finished, I will have a pseudo-triangulation. 363 00:18:09,600 --> 00:18:14,210 And that has 2n minus 3 edges. 364 00:18:14,210 --> 00:18:15,875 In this case, 2k minus 3 edges. 365 00:18:19,930 --> 00:18:22,080 So I started with some pointed set of edges. 366 00:18:22,080 --> 00:18:22,896 I added stuff. 367 00:18:22,896 --> 00:18:24,020 I ended up with 2k minus 3. 368 00:18:24,020 --> 00:18:27,425 That means I started with, at most, 2k minus 3 edges. 369 00:18:32,110 --> 00:18:34,721 2k minus 3. 370 00:18:34,721 --> 00:18:36,720 And so that's how you prove the Laman condition. 371 00:18:36,720 --> 00:18:38,790 It's kind of trivial, because pointedness 372 00:18:38,790 --> 00:18:41,510 is an inherited property. 373 00:18:41,510 --> 00:18:43,930 So if you believe in 2n minus 3, then you 374 00:18:43,930 --> 00:18:47,230 believe minimally generically rigid. 375 00:18:47,230 --> 00:18:49,430 Cool. 376 00:18:49,430 --> 00:18:53,400 Even cooler is that the converse is roughly true. 377 00:18:53,400 --> 00:18:56,690 In some sense, all Laman graphs can 378 00:18:56,690 --> 00:18:58,810 be drawn a pseudo-triangulation. 379 00:18:58,810 --> 00:19:02,420 There's one catch, which is that you need a plane area. 380 00:19:04,970 --> 00:19:22,260 Any planar Laman graph has a pseudo-triangulation 381 00:19:22,260 --> 00:19:23,090 as a realization. 382 00:19:27,550 --> 00:19:32,520 Realization was just a way to draw the graph in 2D. 383 00:19:32,520 --> 00:19:34,240 Now, pseudo-triangulations are planar, 384 00:19:34,240 --> 00:19:36,520 meaning none of the edges cross each other. 385 00:19:36,520 --> 00:19:39,260 So you definitely need a graph that can be drawn in the plane 386 00:19:39,260 --> 00:19:40,150 without crossings. 387 00:19:40,150 --> 00:19:41,584 That's the planar constraint. 388 00:19:41,584 --> 00:19:43,500 But if you have a planar minimally generically 389 00:19:43,500 --> 00:19:47,640 rigid graph, you can always draw it as a pseudo-triangulation. 390 00:19:47,640 --> 00:19:49,760 So it's kind of a converse of this theorem. 391 00:19:49,760 --> 00:19:51,510 And a sense in which pseudo-triangulations 392 00:19:51,510 --> 00:19:56,560 are universal for planar minimal generic rigidity. 393 00:19:56,560 --> 00:19:59,050 Which is pretty neat. 394 00:19:59,050 --> 00:20:03,860 I will not prove that theorem, but I will give you 395 00:20:03,860 --> 00:20:06,290 a visual sense of what the proof looks like. 396 00:20:06,290 --> 00:20:08,496 It's based on the Henneberg number construction. 397 00:20:08,496 --> 00:20:10,370 So we know minimally generically rigid graphs 398 00:20:10,370 --> 00:20:13,040 can always be drawn in a Henneberg way, 399 00:20:13,040 --> 00:20:16,580 either by adding new degree-two vertices, 400 00:20:16,580 --> 00:20:18,850 or by adding new degree-three vertices 401 00:20:18,850 --> 00:20:21,350 and removing one of the existing edges. 402 00:20:21,350 --> 00:20:24,190 And the claim is, you take any Henneberg construction. 403 00:20:24,190 --> 00:20:26,810 You can do it-- you can implement it 404 00:20:26,810 --> 00:20:28,830 in a pseudo-triangulation. 405 00:20:28,830 --> 00:20:30,620 So you start up with your single edge, 406 00:20:30,620 --> 00:20:31,870 that's a pseudo-triangulation. 407 00:20:31,870 --> 00:20:33,250 You keep adding things. 408 00:20:33,250 --> 00:20:35,640 Preserving the fact that at all times 409 00:20:35,640 --> 00:20:37,710 is a pointed pseudo-triangulation. 410 00:20:37,710 --> 00:20:39,950 It's tricky, but for example, if you 411 00:20:39,950 --> 00:20:43,860 know that you want to add this red vertex next to these two, 412 00:20:43,860 --> 00:20:46,990 you find a place that will guarantee 413 00:20:46,990 --> 00:20:48,970 that this is a pseudo-triangle. 414 00:20:48,970 --> 00:20:50,316 This is a pseudo-triangle. 415 00:20:50,316 --> 00:20:52,190 It will be pointed for free because it's just 416 00:20:52,190 --> 00:20:54,700 a degree-two vertex. 417 00:20:54,700 --> 00:20:57,580 So the challenge is preserving pseudo-triangles. 418 00:20:57,580 --> 00:20:59,800 And same for adding the degree-three vertex. 419 00:20:59,800 --> 00:21:02,050 This is harder, of course, but you 420 00:21:02,050 --> 00:21:04,384 need to-- you find a little patch here 421 00:21:04,384 --> 00:21:06,050 where, if you choose the point in there, 422 00:21:06,050 --> 00:21:08,870 you get pseudo-triangles on all three sides. 423 00:21:08,870 --> 00:21:10,490 And also, that removing the edge still 424 00:21:10,490 --> 00:21:13,130 preserves pseudo-triangulation. 425 00:21:13,130 --> 00:21:15,765 It's definitely not trivial to do this, but it can be done. 426 00:21:15,765 --> 00:21:17,140 And it's kind of neat that it can 427 00:21:17,140 --> 00:21:18,765 be done for any Henneberg construction. 428 00:21:24,470 --> 00:21:27,727 The last thing I wanted to tell you about pseudo-triangulations 429 00:21:27,727 --> 00:21:29,810 is why they work for the carpenter's rule theorem. 430 00:21:29,810 --> 00:21:32,520 Why do they give expansive motions. 431 00:21:32,520 --> 00:21:33,770 Well, they're rigid of course. 432 00:21:33,770 --> 00:21:35,103 They don't give you any motions. 433 00:21:35,103 --> 00:21:39,600 But what we claimed is that if you remove a convex hull edge-- 434 00:21:39,600 --> 00:21:49,920 so if we take a pointed pseudo-triangulation, 435 00:21:49,920 --> 00:22:02,530 and then we remove a convex hull edge, we of course 436 00:22:02,530 --> 00:22:04,030 get something that's flexible. 437 00:22:04,030 --> 00:22:06,570 Because we were minimally generically rigid, 438 00:22:06,570 --> 00:22:08,160 so if you remove an edge, you will now 439 00:22:08,160 --> 00:22:09,480 be generically flexible. 440 00:22:09,480 --> 00:22:11,605 It turns out, you're not only generically flexible, 441 00:22:11,605 --> 00:22:14,760 you are actually flexible for at least a little bit of time. 442 00:22:14,760 --> 00:22:18,990 So pointed pseudo-triangulation minus convex hull edge. 443 00:22:18,990 --> 00:22:26,480 It's not only as flexible, but it flexes expansively. 444 00:22:29,850 --> 00:22:32,870 Meaning, if you look at all pairwise distances-- 445 00:22:32,870 --> 00:22:37,300 expansively-- look at all pairwise distances, 446 00:22:37,300 --> 00:22:39,990 they either stay the same, they're connected by a bar, 447 00:22:39,990 --> 00:22:42,290 or they will increase. 448 00:22:42,290 --> 00:22:44,490 And this is what we wanted for carpenter's rule. 449 00:22:44,490 --> 00:22:46,330 You could do that motion for a little while. 450 00:22:46,330 --> 00:22:48,163 Then you might have to switch to a different 451 00:22:48,163 --> 00:22:50,170 pseudo-triangulation according to a flip, which 452 00:22:50,170 --> 00:22:51,410 I won't talk about. 453 00:22:51,410 --> 00:22:53,810 We already did in lecture. 454 00:22:53,810 --> 00:22:55,480 But at all times the claim is there 455 00:22:55,480 --> 00:22:58,460 is an expansive pseudo-triangulation motion 456 00:22:58,460 --> 00:23:00,050 by removing single edge. 457 00:23:00,050 --> 00:23:01,540 So why does this hold? 458 00:23:01,540 --> 00:23:03,000 This, it turns out, you can prove 459 00:23:03,000 --> 00:23:07,660 using things similar to what we know 460 00:23:07,660 --> 00:23:11,890 from our proof of the carpenter's rule theorem 461 00:23:11,890 --> 00:23:12,645 that we covered. 462 00:23:15,322 --> 00:23:17,780 So it's kind of neat to see the connection between the two. 463 00:23:27,520 --> 00:23:33,900 So, why is this true? 464 00:23:33,900 --> 00:23:35,890 Well, we already argued that the thing 465 00:23:35,890 --> 00:23:40,952 is flexible without the expansiveness constraint. 466 00:23:40,952 --> 00:23:42,910 So we want to add the expansiveness constraint. 467 00:23:42,910 --> 00:23:46,320 So just like before, we're going to add all pairwise struts. 468 00:23:53,500 --> 00:23:55,110 So between all pairs of vertices, 469 00:23:55,110 --> 00:23:57,634 let's say they're already connected by a bar, 470 00:23:57,634 --> 00:23:58,800 we add a strut between them. 471 00:23:58,800 --> 00:24:00,879 Meaning, that could only increase in length. 472 00:24:00,879 --> 00:24:01,920 Now we have a tensegrity. 473 00:24:01,920 --> 00:24:05,030 We want to argue that tensegrity is infinitesimally flexible. 474 00:24:08,910 --> 00:24:18,980 So, we're going to do that using the duality just 475 00:24:18,980 --> 00:24:22,000 like CDR, just like the proof the carpenter's rule 476 00:24:22,000 --> 00:24:23,520 theorem we saw. 477 00:24:23,520 --> 00:24:27,190 We say, OK we want to prove this thing is flexible by duality. 478 00:24:27,190 --> 00:24:29,290 That's equivalent to proving something 479 00:24:29,290 --> 00:24:32,060 about the equilibrium stresses. 480 00:24:32,060 --> 00:24:35,825 Now in the case of CDR in a single chain, what 481 00:24:35,825 --> 00:24:37,700 we needed to say was the equilibrium stresses 482 00:24:37,700 --> 00:24:40,460 were all zero. 483 00:24:40,460 --> 00:24:42,292 And then we said, OK, if in order 484 00:24:42,292 --> 00:24:44,250 to prove the equilibrium stresses are all zero, 485 00:24:44,250 --> 00:24:45,541 we use Maxwell-Cremona theorem. 486 00:24:45,541 --> 00:24:48,285 That's equivalent to saying all polyhedral lifting are flat. 487 00:24:48,285 --> 00:24:49,660 And then we prove that by looking 488 00:24:49,660 --> 00:24:51,590 at the maximum z-coordinate. 489 00:24:51,590 --> 00:24:55,250 In this case, we can't argue that all the stresses are zero. 490 00:24:55,250 --> 00:24:56,750 It's not true. 491 00:24:56,750 --> 00:24:59,460 But if you recall the duality claim, 492 00:24:59,460 --> 00:25:01,900 I said if you have a tensegrity, the tensegrity 493 00:25:01,900 --> 00:25:05,310 is rigid if and only if the underlying linkage is rigid. 494 00:25:05,310 --> 00:25:09,180 Like when you replace struts with bars. 495 00:25:09,180 --> 00:25:11,450 Which is going to be true here. 496 00:25:11,450 --> 00:25:15,310 And there is a stress, an equilibrium stress, 497 00:25:15,310 --> 00:25:18,710 that is non-zero on every strut. 498 00:25:18,710 --> 00:25:20,710 Equilibrium stress being non-zero in every strut 499 00:25:20,710 --> 00:25:22,168 means that all the struts basically 500 00:25:22,168 --> 00:25:23,970 have to stay fixed length. 501 00:25:23,970 --> 00:25:27,540 They become bars and then you're done. 502 00:25:27,540 --> 00:25:29,250 What I need to prove the opposite, 503 00:25:29,250 --> 00:25:30,970 I want to prove its flexible, I need 504 00:25:30,970 --> 00:25:34,281 to find a strut where there's no stress. 505 00:25:34,281 --> 00:25:36,030 If I find a strut where there's no stress, 506 00:25:36,030 --> 00:25:39,650 then basically that strut can expand and there's a motion. 507 00:25:39,650 --> 00:25:42,405 That is roughly true. [CHUCKLE] It's 508 00:25:42,405 --> 00:25:44,030 a little bit more complicated than that 509 00:25:44,030 --> 00:25:46,900 but I'm going to just claim suffice as to prove. 510 00:25:55,410 --> 00:26:10,770 There's a strut that has zero in every equilibrium stress. 511 00:26:17,060 --> 00:26:19,050 Which strut am I going to choose? 512 00:26:19,050 --> 00:26:21,010 I am going to choose the one that 513 00:26:21,010 --> 00:26:24,950 comes from this convex hull edge, e. 514 00:26:24,950 --> 00:26:27,440 So I removed a convex hull edge as a bar. 515 00:26:27,440 --> 00:26:30,310 It's going to get replaced when I add all pairwise struts, 516 00:26:30,310 --> 00:26:32,730 by a strut. 517 00:26:32,730 --> 00:26:38,270 So I've got the vertices on the corner here. 518 00:26:38,270 --> 00:26:41,550 One of these, I replaced with a strut. 519 00:26:41,550 --> 00:26:43,530 The other guys are whatever they are. 520 00:26:43,530 --> 00:26:45,320 This is a pseudo-triangulation. 521 00:26:45,320 --> 00:26:48,170 Not a very interesting triangulation in this case. 522 00:26:48,170 --> 00:26:49,900 I'm going to add a vertex here. 523 00:26:49,900 --> 00:26:52,660 Now it's a pseudo-triangulation. 524 00:26:52,660 --> 00:26:57,080 So this guy got replaced with a strut, for example. 525 00:26:57,080 --> 00:27:01,580 I claim this guy is zero in every stress. 526 00:27:01,580 --> 00:27:03,820 Why is it zero in every stress? 527 00:27:03,820 --> 00:27:19,480 Well, I claim, we've essentially proved this, 528 00:27:19,480 --> 00:27:26,880 in any equilibrium stress non-zero stresses must 529 00:27:26,880 --> 00:27:35,970 be on or interior to convex polygons of bars. 530 00:27:44,130 --> 00:27:47,560 OK, first believe this claim. 531 00:27:47,560 --> 00:27:50,890 The only place I have non-zero stress is when I'm interior 532 00:27:50,890 --> 00:27:55,790 or on the boundary of a convex polygon of bars. 533 00:27:55,790 --> 00:27:59,160 And then, so there might be some non-zero stresses in here. 534 00:27:59,160 --> 00:28:01,060 These edges might be non-zero stressed. 535 00:28:01,060 --> 00:28:02,740 Intuitively, what's happening here, 536 00:28:02,740 --> 00:28:05,260 these guys are going to serve as mountains in the lifting. 537 00:28:05,260 --> 00:28:06,750 And there's a hole. 538 00:28:06,750 --> 00:28:10,150 So you go deep into the hole there. 539 00:28:10,150 --> 00:28:13,120 Claim is that is the picture. 540 00:28:13,120 --> 00:28:14,640 So you've got some convex polygons. 541 00:28:17,200 --> 00:28:20,370 There's stuff in here that's-- could be bad. 542 00:28:20,370 --> 00:28:21,200 Could be stressed. 543 00:28:21,200 --> 00:28:23,990 But the stuff outside the convex polygons, whatever they are, 544 00:28:23,990 --> 00:28:26,600 have to be flat. 545 00:28:26,600 --> 00:28:28,564 Meaning they have zero stress. 546 00:28:28,564 --> 00:28:30,480 I'm jumping back and forth between the lifting 547 00:28:30,480 --> 00:28:31,980 and the stresses by Maxwell-Cremona. 548 00:28:31,980 --> 00:28:34,400 Those are the same thing. 549 00:28:34,400 --> 00:28:35,910 Now look at edge e. 550 00:28:35,910 --> 00:28:38,020 Edge e is a strut. 551 00:28:38,020 --> 00:28:40,510 The other edges here that I've drawn, those are the bars. 552 00:28:40,510 --> 00:28:42,280 I haven't drawn all the other struts. 553 00:28:42,280 --> 00:28:45,707 I should really use a color for this guy. 554 00:28:45,707 --> 00:28:47,790 So this red edge-- there's lots of other red edges 555 00:28:47,790 --> 00:28:50,040 I'm not drawing between all pairs of vertices, 556 00:28:50,040 --> 00:28:53,010 but the only bars are the white edges. 557 00:28:53,010 --> 00:28:56,800 And those white edges-- well there's 558 00:28:56,800 --> 00:28:58,930 some convex polygons, here's a convex polygon, 559 00:28:58,930 --> 00:29:00,760 here's a convex polygon. 560 00:29:00,760 --> 00:29:04,640 But none of the convex polygons enclose e. 561 00:29:04,640 --> 00:29:06,440 Because e's on the convex hull. 562 00:29:06,440 --> 00:29:08,540 E's on the outside here. 563 00:29:08,540 --> 00:29:13,110 So it can't be stressed by this claim. 564 00:29:13,110 --> 00:29:14,700 And so if you believe this claim, 565 00:29:14,700 --> 00:29:16,480 then you believe e has zero stress 566 00:29:16,480 --> 00:29:18,920 because it's not interior to any convex bar polygon. 567 00:29:18,920 --> 00:29:21,700 Because it's a strut, not a bar. 568 00:29:21,700 --> 00:29:22,437 OK. 569 00:29:22,437 --> 00:29:23,520 Now let's prove the claim. 570 00:29:31,900 --> 00:29:36,880 It follows from the argument we gave in, was it lecture 12? 571 00:29:36,880 --> 00:29:37,590 Previous one? 572 00:29:37,590 --> 00:29:39,465 Where we proved the carpenter's rule theorem. 573 00:29:42,180 --> 00:29:43,960 But it's not obvious that it follows. 574 00:29:43,960 --> 00:29:45,630 Let me explain why. 575 00:29:59,380 --> 00:30:01,220 I want to look at the maximum z-coordinate. 576 00:30:01,220 --> 00:30:05,960 I want to look at the region of all the points in the plane 577 00:30:05,960 --> 00:30:10,780 that, in the polyhedral lifting, given by Maxwell-Cremona's 578 00:30:10,780 --> 00:30:14,550 theorem, they are at maximum z. 579 00:30:17,770 --> 00:30:19,310 That is some region. 580 00:30:19,310 --> 00:30:20,800 It could be two-dimensional. 581 00:30:20,800 --> 00:30:22,659 It could be one-dimensional. 582 00:30:22,659 --> 00:30:24,200 Can't be three-dimensional. [CHUCKLE] 583 00:30:24,200 --> 00:30:25,340 It's part of the plane. 584 00:30:25,340 --> 00:30:28,870 So this region may have some one-dimensional parts. 585 00:30:28,870 --> 00:30:33,220 It may have some two-dimensional parts, like this whole part. 586 00:30:33,220 --> 00:30:36,100 All of this stuff might lift to maximum z. 587 00:30:36,100 --> 00:30:40,480 It could be-- have some non-convex parts, like this. 588 00:30:40,480 --> 00:30:40,980 Whatever. 589 00:30:40,980 --> 00:30:43,430 This is kind of generically what it might look like. 590 00:30:43,430 --> 00:30:46,620 I guess it could have cycles with not-filled interior. 591 00:30:46,620 --> 00:30:50,990 All these things are plausible, except we had this lemma. 592 00:30:50,990 --> 00:30:54,410 This is the key lemma, the heart of the proof of the carpenter's 593 00:30:54,410 --> 00:30:55,590 rule theorem. 594 00:30:55,590 --> 00:31:01,540 If you look at m and you look at a vertex, v, 595 00:31:01,540 --> 00:31:03,560 of the boundary of m. 596 00:31:03,560 --> 00:31:06,400 I'll use this Dell notation to mean-- 597 00:31:06,400 --> 00:31:08,180 ignore the points in here. 598 00:31:08,180 --> 00:31:10,077 I want points along the boundary here. 599 00:31:10,077 --> 00:31:12,160 And in particular I want to look at these vertices 600 00:31:12,160 --> 00:31:12,826 in this drawing. 601 00:31:15,840 --> 00:31:19,872 Look at such a vertex, v, and suppose that v is pointed. 602 00:31:19,872 --> 00:31:21,580 We didn't use this terminology because we 603 00:31:21,580 --> 00:31:23,300 didn't have it at the time. 604 00:31:23,300 --> 00:31:26,470 But maybe v looks like this. 605 00:31:26,470 --> 00:31:30,040 And there is an angle here, this reflex. 606 00:31:33,020 --> 00:31:34,450 That's a point of vertex. 607 00:31:34,450 --> 00:31:38,370 Now I'm looking here just at the bars, ignoring the struts. 608 00:31:38,370 --> 00:31:48,955 So suppose vertex v has a reflex angle among just the bars. 609 00:31:54,120 --> 00:32:00,730 Then the claim is locally, this entire region must be in m. 610 00:32:05,740 --> 00:32:09,650 Must be locally at the maximum z-coordinate. 611 00:32:09,650 --> 00:32:11,200 How did we prove that? 612 00:32:11,200 --> 00:32:12,180 Well. 613 00:32:12,180 --> 00:32:16,140 the claim is this had to be flat because there's 614 00:32:16,140 --> 00:32:18,320 no mountains here. 615 00:32:18,320 --> 00:32:23,660 So if you think of a reflex region and v 616 00:32:23,660 --> 00:32:25,290 is at the maximum z-coordinate, right? 617 00:32:25,290 --> 00:32:28,110 It's on the boundary of the maximum z-coordinate 618 00:32:28,110 --> 00:32:30,530 so it has maximum possible z. 619 00:32:30,530 --> 00:32:32,340 So there's no way you can go up. 620 00:32:32,340 --> 00:32:34,520 These edges could be mountains. 621 00:32:34,520 --> 00:32:38,934 But all the other edges which are not drawn here, 622 00:32:38,934 --> 00:32:40,600 these blue-- there are some other edges. 623 00:32:40,600 --> 00:32:43,892 Those are the struts coming to v. 624 00:32:43,892 --> 00:32:45,100 Those all have to be valleys. 625 00:32:45,100 --> 00:32:47,516 They all have to lift to valleys because stresses can only 626 00:32:47,516 --> 00:32:49,130 carry positive stress. 627 00:32:49,130 --> 00:32:51,050 Positive stress correspond to valleys. 628 00:32:51,050 --> 00:32:53,500 These guys are all valleys and this is at maximum z. 629 00:32:53,500 --> 00:32:56,770 You really can't use those valleys, right? [CHUCKLE] 630 00:32:56,770 --> 00:32:58,720 You're up here at maximum z. 631 00:32:58,720 --> 00:33:01,932 If you use valleys, you go to higher z, which is not allowed. 632 00:33:01,932 --> 00:33:03,890 So these actually all have to be flat out here. 633 00:33:03,890 --> 00:33:05,610 Which means locally, all this stuff 634 00:33:05,610 --> 00:33:09,380 is at maximum z That was the proof we had a couple lectures 635 00:33:09,380 --> 00:33:10,130 ago. 636 00:33:10,130 --> 00:33:13,350 Now, once you know that that's at maximum z, 637 00:33:13,350 --> 00:33:15,820 you know that a lot of these things are impossible. 638 00:33:15,820 --> 00:33:18,290 Because look, here's a reflex angle among bars. 639 00:33:21,170 --> 00:33:24,450 There might be more bars here, but we 640 00:33:24,450 --> 00:33:27,230 know that this is pointed. 641 00:33:27,230 --> 00:33:29,800 Whatever's missing here, there's some reflex angle. 642 00:33:29,800 --> 00:33:32,050 We're assuming we have a pointed pseudo-triangulation. 643 00:33:32,050 --> 00:33:33,175 And then we remove an edge. 644 00:33:33,175 --> 00:33:34,160 It's still pointed. 645 00:33:34,160 --> 00:33:36,314 So that means all of this has to be in m. 646 00:33:36,314 --> 00:33:37,230 Is it in this picture? 647 00:33:37,230 --> 00:33:39,240 No, contradiction. 648 00:33:39,240 --> 00:33:41,029 So you cannot have one-dimensional parts 649 00:33:41,029 --> 00:33:43,070 because wherever you have a one-dimensional part, 650 00:33:43,070 --> 00:33:46,100 there's a reflex angle that's not in m. 651 00:33:46,100 --> 00:33:46,767 So that's bad. 652 00:33:46,767 --> 00:33:48,850 In fact, they all have to be two-dimensional parts 653 00:33:48,850 --> 00:33:49,870 like this. 654 00:33:49,870 --> 00:33:51,730 Can it be a two-dimensional part like this? 655 00:33:51,730 --> 00:33:56,186 No, because here's a reflex angle that is not in m. 656 00:33:56,186 --> 00:33:57,400 Contradiction. 657 00:33:57,400 --> 00:34:00,710 So the only situation you can have is a convex 658 00:34:00,710 --> 00:34:04,830 polygon with the interior all in m. 659 00:34:04,830 --> 00:34:06,710 Sorry , wrong. 660 00:34:06,710 --> 00:34:07,920 The reverse. 661 00:34:07,920 --> 00:34:09,840 The exterior should all be in m. 662 00:34:13,840 --> 00:34:16,580 Because, you have all these reflex angles. 663 00:34:16,580 --> 00:34:18,570 That has to contain the pointed part. 664 00:34:18,570 --> 00:34:22,335 And locally, by this lemma, it has to be in m. 665 00:34:22,335 --> 00:34:24,230 So all this stuff has to locally be in m. 666 00:34:24,230 --> 00:34:26,920 The only way is for all of that to be in m. 667 00:34:26,920 --> 00:34:27,996 Inside, we don't know. 668 00:34:27,996 --> 00:34:29,370 Could be stresses there, and this 669 00:34:29,370 --> 00:34:31,190 could be a hole where you go deeper. 670 00:34:31,190 --> 00:34:33,889 All of this is at the maximum z-coordinate. 671 00:34:33,889 --> 00:34:35,080 The boundary, here. 672 00:34:35,080 --> 00:34:36,250 The inside, who knows. 673 00:34:36,250 --> 00:34:38,340 Could go down. 674 00:34:38,340 --> 00:34:39,929 So you can have stresses interior 675 00:34:39,929 --> 00:34:42,900 to convex polygons in bars, but not 676 00:34:42,900 --> 00:34:47,040 exterior to the convex polygon. 677 00:34:47,040 --> 00:34:49,489 M is either everything, and there's no boundary, 678 00:34:49,489 --> 00:34:50,761 and then there's no stress. 679 00:34:50,761 --> 00:34:52,219 Or it's not everything, and then it 680 00:34:52,219 --> 00:34:55,440 will have to have stresses only interior to convex polygons. 681 00:34:55,440 --> 00:34:57,950 And that's what we're claiming, is that stresses can only 682 00:34:57,950 --> 00:35:00,080 be interior to convex bar polygons. 683 00:35:00,080 --> 00:35:03,950 And in particular then, e is not stressed. 684 00:35:03,950 --> 00:35:05,170 The end. 685 00:35:05,170 --> 00:35:08,020 This is definitely harder than the case we talked about 686 00:35:08,020 --> 00:35:10,201 for carpenter's rule theorem. 687 00:35:10,201 --> 00:35:11,700 When you have a single chain, you're 688 00:35:11,700 --> 00:35:13,741 just trying to prove there's an expansive motion. 689 00:35:13,741 --> 00:35:17,320 It's a lot easier than this because m is much simpler. 690 00:35:17,320 --> 00:35:20,740 It could basically only be a path or cycle. 691 00:35:20,740 --> 00:35:24,940 You only have a single chain. 692 00:35:24,940 --> 00:35:27,546 Here m could be more complicated, but in the end, 693 00:35:27,546 --> 00:35:28,920 it's actually pretty darn simple. 694 00:35:31,590 --> 00:35:32,720 Any questions about that? 695 00:35:35,702 --> 00:35:37,690 Cool. 696 00:35:37,690 --> 00:35:40,960 Perfectly clear? [CHUCKLE] Definitely 697 00:35:40,960 --> 00:35:44,605 a bit complicated, but nice. 698 00:35:44,605 --> 00:35:46,230 Now, it turns out pseudo-triangulations 699 00:35:46,230 --> 00:35:49,124 are really at the core of expansive motions. 700 00:35:49,124 --> 00:35:51,040 I'll just mention one more theorem about them. 701 00:35:55,350 --> 00:35:58,250 So you may recall I mentioned, if you 702 00:35:58,250 --> 00:36:01,100 look at the space of infinitesimal motions 703 00:36:01,100 --> 00:36:06,290 of a linkage or a tensegrity, they form a cone. 704 00:36:06,290 --> 00:36:09,070 It lives in some high-dimensional space, 705 00:36:09,070 --> 00:36:12,210 but I'll try to draw a cone here. 706 00:36:12,210 --> 00:36:15,330 These guys go off to infinity. 707 00:36:15,330 --> 00:36:17,800 I'm drawing it in three dimensions, I guess. 708 00:36:17,800 --> 00:36:20,370 You have some place here-- this is the zero zero 709 00:36:20,370 --> 00:36:24,010 zero motion we're nothing moves. 710 00:36:24,010 --> 00:36:26,310 And these are potential different motion-- 711 00:36:26,310 --> 00:36:29,350 each of these points corresponds to an assignment of velocity 712 00:36:29,350 --> 00:36:32,590 vectors where you move and you preserve all the constraints. 713 00:36:32,590 --> 00:36:35,200 If I take such a motion, I can scale it up. 714 00:36:35,200 --> 00:36:36,840 It's still a motion. 715 00:36:36,840 --> 00:36:38,690 Motions form a cone. 716 00:36:38,690 --> 00:36:40,780 It's called a convex cone. 717 00:36:40,780 --> 00:36:43,900 Every motion can be scaled up or down all the way to zero. 718 00:36:43,900 --> 00:36:55,220 So if we look at the cone of expansive motions, 719 00:36:55,220 --> 00:36:57,930 it's also a cone. 720 00:36:57,930 --> 00:37:00,940 It's a cone of motions of a particular tensegrity where 721 00:37:00,940 --> 00:37:04,830 we add all pairwise struts. 722 00:37:04,830 --> 00:37:09,430 Then, the pseudo-triangulations correspond 723 00:37:09,430 --> 00:37:13,950 to these edges of the cone. 724 00:37:13,950 --> 00:37:15,740 These edges, they're really rays. 725 00:37:15,740 --> 00:37:17,090 They go off to infinity. 726 00:37:17,090 --> 00:37:19,330 These things are called extreme rays. 727 00:37:23,590 --> 00:37:25,870 Meaning, they're extreme in a particular direction. 728 00:37:25,870 --> 00:37:29,600 Like if I want the motion that is the most this way, 729 00:37:29,600 --> 00:37:32,800 then it will be this ray. 730 00:37:32,800 --> 00:37:35,350 They're kind of the corners of this polyhedron. 731 00:37:35,350 --> 00:37:37,320 The edges of the polyhedron, if you will. 732 00:37:37,320 --> 00:37:40,430 Although in higher dimensions, it is edges 733 00:37:40,430 --> 00:37:46,580 but they're called extreme rays in the case of a cone. 734 00:37:46,580 --> 00:37:49,350 The extreme rays in the cone of expansive motions 735 00:37:49,350 --> 00:37:53,570 equal pointed pseudo-triangulations 736 00:37:53,570 --> 00:37:54,420 minus one edge. 737 00:38:10,500 --> 00:38:13,400 I think I have a slide about it. 738 00:38:13,400 --> 00:38:14,850 Yes. 739 00:38:14,850 --> 00:38:18,330 So this is a paper by [? Roto ?] [? Santos ?] [? Enstrenu ?]. 740 00:38:18,330 --> 00:38:22,339 This is just a particular example for five points. 741 00:38:22,339 --> 00:38:24,380 These are all the different pseudo-triangulations 742 00:38:24,380 --> 00:38:25,960 minus an edge. 743 00:38:25,960 --> 00:38:28,700 In some cases, like here, you get two triangles. 744 00:38:28,700 --> 00:38:29,690 So that becomes rigid. 745 00:38:29,690 --> 00:38:31,780 So they fill in the whole clique to indicate 746 00:38:31,780 --> 00:38:33,880 that's a rigid component. 747 00:38:33,880 --> 00:38:36,210 But the claim is for five points. 748 00:38:36,210 --> 00:38:38,010 These are the edges of the expansive cone. 749 00:38:38,010 --> 00:38:39,801 Each of these guys has an expansive motion. 750 00:38:39,801 --> 00:38:40,940 Like this guy would rotate. 751 00:38:40,940 --> 00:38:42,040 Pretty simple. 752 00:38:42,040 --> 00:38:44,800 This one would open up a little. 753 00:38:44,800 --> 00:38:46,460 Like that. 754 00:38:46,460 --> 00:38:49,440 In general, all these guys have an expansive motion. 755 00:38:49,440 --> 00:38:51,500 Those are characterizing the cone. 756 00:38:51,500 --> 00:38:55,530 Those are kind of the extreme rays in this fairly 757 00:38:55,530 --> 00:38:56,480 high-dimensional cone. 758 00:38:56,480 --> 00:39:00,850 It has something like 10 dimensions if it's 5 times 2. 759 00:39:00,850 --> 00:39:03,230 And you can prove that if you're interested. 760 00:39:03,230 --> 00:39:04,990 Read the paper. 761 00:39:04,990 --> 00:39:10,290 So, in fact, pseudo-triangulations 762 00:39:10,290 --> 00:39:12,229 are really core to expansive motions. 763 00:39:12,229 --> 00:39:14,020 If you wrote down the linear program, which 764 00:39:14,020 --> 00:39:17,562 is the expansive motions, then you 765 00:39:17,562 --> 00:39:19,020 are essentially characterizing this 766 00:39:19,020 --> 00:39:20,686 as the polyhedron in the linear program. 767 00:39:20,686 --> 00:39:22,260 If you know linear programming. 768 00:39:22,260 --> 00:39:23,960 And you follow the simplex method. 769 00:39:23,960 --> 00:39:26,740 Simplex method is all about finding where the edges are. 770 00:39:26,740 --> 00:39:28,660 And here they are. 771 00:39:28,660 --> 00:39:31,360 So you would actually, if you implemented the linear program, 772 00:39:31,360 --> 00:39:33,550 ran it on a simplex solver, you would 773 00:39:33,550 --> 00:39:36,250 get pointed pseudo-triangulations 774 00:39:36,250 --> 00:39:36,940 automatically. 775 00:39:36,940 --> 00:39:37,940 They would just pop out. 776 00:39:37,940 --> 00:39:40,730 That's actually originally how they were discovered. 777 00:39:40,730 --> 00:39:43,210 But then this is why they were discovered that way. 778 00:39:47,530 --> 00:39:50,410 End of pseudo-triangulations. 779 00:39:50,410 --> 00:39:52,130 All right. 780 00:39:52,130 --> 00:39:54,595 Next question is have any of the open problems been solved? 781 00:39:54,595 --> 00:39:56,480 [CHUCKLE] I get this almost every lecture 782 00:39:56,480 --> 00:39:57,832 and usually the answer is, no. 783 00:39:57,832 --> 00:39:59,040 So I don't tell you anything. 784 00:39:59,040 --> 00:40:01,580 But this time, there is a nice result 785 00:40:01,580 --> 00:40:06,390 which is related to this picture. 786 00:40:06,390 --> 00:40:08,840 These are slides from the lecture. 787 00:40:08,840 --> 00:40:12,340 We had this linear locked tree, which 788 00:40:12,340 --> 00:40:14,070 is minimal among all linear locked trees. 789 00:40:14,070 --> 00:40:15,260 Minimum number of edges. 790 00:40:15,260 --> 00:40:18,060 We have this equilateral locked tree. 791 00:40:18,060 --> 00:40:19,960 All the edges were the same length. 792 00:40:19,960 --> 00:40:21,630 Was not strongly locked. 793 00:40:21,630 --> 00:40:23,390 There was some positive distances here, 794 00:40:23,390 --> 00:40:25,430 but it is locked. 795 00:40:25,430 --> 00:40:27,930 I didn't mention this question, but an obvious open question 796 00:40:27,930 --> 00:40:30,140 is, can you get both at the same time? 797 00:40:30,140 --> 00:40:32,937 Is there a linear equilateral locked tree? 798 00:40:32,937 --> 00:40:34,770 If there were, it'd probably be a lot easier 799 00:40:34,770 --> 00:40:36,950 to prove locked that this mess. 800 00:40:36,950 --> 00:40:41,340 So it'd be nice to get both but, in fact, you cannot get both. 801 00:40:41,340 --> 00:40:44,710 There's this paper by a bunch of people in the open problem 802 00:40:44,710 --> 00:40:47,400 session from two years ago. 803 00:40:47,400 --> 00:40:51,030 It finally got published last year. 804 00:40:51,030 --> 00:40:53,390 And it proves a bunch of things, but one 805 00:40:53,390 --> 00:40:54,890 of the things it proves that there's 806 00:40:54,890 --> 00:40:59,260 no equilateral locked tree that is also linear, also 807 00:40:59,260 --> 00:41:02,210 lives in a single dimension. 808 00:41:02,210 --> 00:41:06,280 And the way it proves that, essentially, 809 00:41:06,280 --> 00:41:11,380 so you take any linear equilateral tree. 810 00:41:11,380 --> 00:41:12,360 What does it look like? 811 00:41:18,820 --> 00:41:22,750 Well, it lives along a line here. 812 00:41:22,750 --> 00:41:26,310 It's segmented into equal-length chunks. 813 00:41:26,310 --> 00:41:29,780 So from a high level, it looks like this. 814 00:41:29,780 --> 00:41:31,590 Now in reality, there could be lots 815 00:41:31,590 --> 00:41:34,430 of edges along each of these segments. 816 00:41:34,430 --> 00:41:36,360 And there's interesting things happening 817 00:41:36,360 --> 00:41:38,430 inside one of these vertices. 818 00:41:38,430 --> 00:41:40,500 Could be something like this. 819 00:41:40,500 --> 00:41:45,630 That's one way to do a tree-like structure in there. 820 00:41:45,630 --> 00:41:47,880 It could have parts like this that 821 00:41:47,880 --> 00:41:51,410 go from side to side without touching these guys. 822 00:41:51,410 --> 00:41:53,660 Who knows what's happening here, but from a high-level 823 00:41:53,660 --> 00:41:57,860 perspective, it's a bunch of segments in a path. 824 00:41:57,860 --> 00:42:00,980 The idea is this is basically just looking 825 00:42:00,980 --> 00:42:05,149 at five of the vertices out of all n of them. 826 00:42:05,149 --> 00:42:06,940 But if we just look at those five vertices, 827 00:42:06,940 --> 00:42:07,856 everything looks good. 828 00:42:07,856 --> 00:42:08,960 This is in canonical form. 829 00:42:08,960 --> 00:42:11,220 Canonical form for a tree is where 830 00:42:11,220 --> 00:42:13,280 all the edges point to the right. 831 00:42:13,280 --> 00:42:16,830 Something like this is nice and canonical. 832 00:42:16,830 --> 00:42:18,800 So right now this is canonical. 833 00:42:18,800 --> 00:42:22,060 What we do is look inside the path here. 834 00:42:22,060 --> 00:42:26,010 Look for a break point where things are not canonical. 835 00:42:26,010 --> 00:42:27,370 And then we fix it. 836 00:42:27,370 --> 00:42:29,840 So here's just an example of that. 837 00:42:29,840 --> 00:42:33,460 Here, this is what it looks like currently at a high level. 838 00:42:33,460 --> 00:42:36,060 Here's what it looks like in reality. 839 00:42:36,060 --> 00:42:39,370 So imagine-- so the tree is doing this stuff locally 840 00:42:39,370 --> 00:42:40,980 at all these vertices. 841 00:42:40,980 --> 00:42:44,020 Right now, we're coalescing this all into one big mega-vertex. 842 00:42:44,020 --> 00:42:45,670 And then it looks like this. 843 00:42:45,670 --> 00:42:48,390 But suppose now we realize, oh actually there's 844 00:42:48,390 --> 00:42:49,694 kind of a split here. 845 00:42:49,694 --> 00:42:51,360 There's stuff over to the right of this. 846 00:42:51,360 --> 00:42:52,390 There's stuff over to right of this. 847 00:42:52,390 --> 00:42:54,070 They're not directly connected. 848 00:42:54,070 --> 00:42:56,040 Then what we'll do is pull it apart. 849 00:42:56,040 --> 00:42:57,640 Treat these as two separate vertices. 850 00:42:57,640 --> 00:43:00,680 Increase the number of vertices in this picture by one. 851 00:43:00,680 --> 00:43:02,930 So we end up splitting w here, according 852 00:43:02,930 --> 00:43:05,630 to whatever is actually happening in the linkage. 853 00:43:05,630 --> 00:43:08,410 And then we say, oh gosh, this is not really canonical, right? 854 00:43:08,410 --> 00:43:10,040 This edge is pointing to the left. 855 00:43:10,040 --> 00:43:12,020 These guys are pointing to the right, still. 856 00:43:12,020 --> 00:43:13,330 But this one's pointing to the left. 857 00:43:13,330 --> 00:43:15,788 So it looks like this picture got a rightward edge and then 858 00:43:15,788 --> 00:43:16,810 a leftward edge. 859 00:43:16,810 --> 00:43:21,370 We fix it by just rotating this edge 180 degrees, keeping 860 00:43:21,370 --> 00:43:24,150 at all times this thing pointing to the right. 861 00:43:24,150 --> 00:43:26,410 So this comes along for the ride. 862 00:43:26,410 --> 00:43:28,160 And then we will end up with this picture. 863 00:43:28,160 --> 00:43:31,080 Now we're canonical again with one more vertex. 864 00:43:31,080 --> 00:43:31,660 We'll repeat. 865 00:43:31,660 --> 00:43:33,826 Eventually we'll be canonical with all the vertices. 866 00:43:33,826 --> 00:43:35,230 And we're done. 867 00:43:35,230 --> 00:43:37,980 So if you take any two configurations, 868 00:43:37,980 --> 00:43:39,910 you canonicalize both of them. 869 00:43:39,910 --> 00:43:42,540 You will end up with essentially the same picture. 870 00:43:42,540 --> 00:43:44,570 It doesn't matter which route you choose. 871 00:43:44,570 --> 00:43:46,890 But it's already known that it doesn't 872 00:43:46,890 --> 00:43:48,140 matter which route you choose. 873 00:43:48,140 --> 00:43:51,900 You can change the route just by flopping the tree 874 00:43:51,900 --> 00:43:56,000 with one motion or a very small number of motions. 875 00:43:56,000 --> 00:43:57,500 So if you have two configurations, 876 00:43:57,500 --> 00:43:58,770 you canonicalize both of them then. 877 00:43:58,770 --> 00:44:00,186 Then there's a motion between them 878 00:44:00,186 --> 00:44:05,010 and you get a motion from one configuration to the other. 879 00:44:05,010 --> 00:44:06,680 Therefore, there are no locked trees 880 00:44:06,680 --> 00:44:08,395 that are equilateral and linear. 881 00:44:11,440 --> 00:44:13,930 Kind of nice. 882 00:44:13,930 --> 00:44:17,290 The last thing I want to talk about is 4D. 883 00:44:17,290 --> 00:44:18,940 A couple people asked about 4D. 884 00:44:18,940 --> 00:44:20,800 Why is it so different from 3D? 885 00:44:20,800 --> 00:44:24,530 The essential reason is we have one-dimensional bars, 886 00:44:24,530 --> 00:44:26,070 but four dimensions of motion. 887 00:44:26,070 --> 00:44:28,080 That's a gap of three dimensions. 888 00:44:28,080 --> 00:44:30,860 Three dimensions is a lot. 889 00:44:30,860 --> 00:44:32,760 When you have one-dimensional chains in 3D, 890 00:44:32,760 --> 00:44:34,134 you have a gap of two dimensions. 891 00:44:34,134 --> 00:44:36,130 Two dimensions turns out to not be a lot. 892 00:44:36,130 --> 00:44:38,570 [CHUCKLE] So why is that? 893 00:44:38,570 --> 00:44:40,400 Let me prove it to you. 894 00:44:40,400 --> 00:44:43,060 Here is actually an animation of the motion, just for fun. 895 00:44:43,060 --> 00:44:44,830 This is in the textbook. 896 00:44:44,830 --> 00:44:48,590 The top row is if you are zoomed out from the very beginning. 897 00:44:48,590 --> 00:44:51,230 It's this mess and you basically pull out a string. 898 00:44:51,230 --> 00:44:53,660 It actually wiggles around a lot. 899 00:44:53,660 --> 00:44:55,160 Here's what it looks like zoomed in. 900 00:44:55,160 --> 00:44:56,710 This is the original mess. 901 00:44:56,710 --> 00:44:58,910 And you end up flopping this over here, 902 00:44:58,910 --> 00:45:00,200 then flopping it over there. 903 00:45:00,200 --> 00:45:01,260 And it's hard to see because this 904 00:45:01,260 --> 00:45:03,760 is a two-dimensional projection of a four-dimensional thing. 905 00:45:03,760 --> 00:45:06,247 But eventually you pull open the whole thing. 906 00:45:06,247 --> 00:45:07,580 So how does this algorithm work? 907 00:45:07,580 --> 00:45:08,680 It's actually very simple. 908 00:45:13,030 --> 00:45:14,610 For open chains, it's very simple. 909 00:45:14,610 --> 00:45:16,680 Closed chains, a little more complicated. 910 00:45:16,680 --> 00:45:20,220 Trees, also very simple. 911 00:45:20,220 --> 00:45:30,860 So unfolding 4D open chains. 912 00:45:30,860 --> 00:45:34,792 This is by Roxanna Cocan and Joseph O'Rourke. 913 00:45:34,792 --> 00:45:36,500 Back before the carpenter's rule theorem. 914 00:45:39,100 --> 00:45:41,380 This publication was later but the original version 915 00:45:41,380 --> 00:45:45,550 was in 1998, I think, or '99. 916 00:45:45,550 --> 00:45:47,340 So what do we do? 917 00:45:47,340 --> 00:45:50,740 Well, what I do is look at the end bar. 918 00:45:50,740 --> 00:45:52,710 So let's say this is the end of the chain. 919 00:45:52,710 --> 00:45:56,190 From here it goes in some direction, and stuff. 920 00:45:56,190 --> 00:45:59,440 What I'd like to do is rotate this bar 921 00:45:59,440 --> 00:46:02,530 so that it extends this bar. 922 00:46:02,530 --> 00:46:04,490 So I have an 180-degree angle here. 923 00:46:04,490 --> 00:46:06,350 That's my goal. 924 00:46:06,350 --> 00:46:08,790 If I can do that, I can fuse that vertex, 925 00:46:08,790 --> 00:46:10,490 never rotate it again. 926 00:46:10,490 --> 00:46:12,460 Treat this as a longer edge. 927 00:46:12,460 --> 00:46:15,040 Therefore the remaining thing has n minus 1 edges 928 00:46:15,040 --> 00:46:16,590 if I had n edges originally. 929 00:46:16,590 --> 00:46:17,840 So I can just apply induction. 930 00:46:17,840 --> 00:46:19,370 In other words, just repeat that. 931 00:46:19,370 --> 00:46:21,690 Eventually the whole thing will be straight. 932 00:46:21,690 --> 00:46:24,100 So the challenge is, can I make a move-- 933 00:46:24,100 --> 00:46:28,230 can I fold this last bar to extend the next-- 934 00:46:28,230 --> 00:46:30,930 the second bar? 935 00:46:30,930 --> 00:46:31,840 Two issues. 936 00:46:31,840 --> 00:46:34,540 Two problems that could happen here. 937 00:46:34,540 --> 00:46:39,080 One is that there's no continuous motion to get there. 938 00:46:39,080 --> 00:46:41,060 The other problem is that even instantaneously, 939 00:46:41,060 --> 00:46:43,900 if I just picked it up and dropped it 940 00:46:43,900 --> 00:46:45,727 into the right location, it might 941 00:46:45,727 --> 00:46:47,060 intersect the rest of the chain. 942 00:46:47,060 --> 00:46:51,590 Maybe the chain here comes and intersects that ray. 943 00:46:51,590 --> 00:46:54,940 If it intersects that ray, I can just jiggle the whole chain 944 00:46:54,940 --> 00:46:56,842 a little bit, and it won't. 945 00:46:56,842 --> 00:46:59,510 [CHUCKLE] Is that clear? 946 00:46:59,510 --> 00:47:02,450 Let's see, you've got these one-dimensional bars, 947 00:47:02,450 --> 00:47:05,080 and this is a one-dimensional target ray. 948 00:47:05,080 --> 00:47:08,610 So if a bar happens to be on this ray, 949 00:47:08,610 --> 00:47:10,010 just wiggle it a tiny bit. 950 00:47:10,010 --> 00:47:12,720 It's going to come off of that place. 951 00:47:12,720 --> 00:47:14,980 This will actually even work in three dimensions. 952 00:47:14,980 --> 00:47:15,550 This step. 953 00:47:18,090 --> 00:47:22,152 There's an even easier way to do it, is just to rotate this bar. 954 00:47:22,152 --> 00:47:23,860 If you rotate this bar, you can basically 955 00:47:23,860 --> 00:47:25,570 point the ray wherever you want. 956 00:47:25,570 --> 00:47:29,080 And if you look at where that bar is pointing, 957 00:47:29,080 --> 00:47:31,160 it's kind of hard to draw the picture 958 00:47:31,160 --> 00:47:35,090 but you just have to miss all of these one-dimensional things. 959 00:47:35,090 --> 00:47:36,970 So it's very easy to miss. 960 00:47:36,970 --> 00:47:39,480 So let's just assume for now-- we'll kind of see this again 961 00:47:39,480 --> 00:47:40,212 in a moment. 962 00:47:40,212 --> 00:47:41,920 Assume that this ray happens to be clear. 963 00:47:41,920 --> 00:47:45,230 There maybe things that come very close to it. 964 00:47:45,230 --> 00:47:49,030 Maybe they go on the backside and then come on the front. 965 00:47:49,030 --> 00:47:51,910 But they never-- don't actually touch the ray. 966 00:47:51,910 --> 00:47:57,350 Now think about where this bar can go relative to this vertex. 967 00:47:57,350 --> 00:48:01,724 If I draw a little sphere here, I'm 968 00:48:01,724 --> 00:48:03,640 going to draw it initially in three dimensions 969 00:48:03,640 --> 00:48:05,410 but really it's in four dimensions. 970 00:48:05,410 --> 00:48:08,060 So I have a little sphere. 971 00:48:08,060 --> 00:48:09,800 Where this bar is currently, corresponds 972 00:48:09,800 --> 00:48:11,840 to a single point on the sphere. 973 00:48:11,840 --> 00:48:13,420 I'm currently here. 974 00:48:13,420 --> 00:48:17,150 Where I want to be corresponds to another point on the sphere. 975 00:48:17,150 --> 00:48:23,080 My goal is to find a path on the sphere that gets to the x. 976 00:48:23,080 --> 00:48:26,610 Gets to the buried treasure. 977 00:48:26,610 --> 00:48:29,250 This is essentially treating this as a whole ray. 978 00:48:29,250 --> 00:48:31,529 So I don't even care that it's short. 979 00:48:31,529 --> 00:48:33,320 If I just imagine it going off to infinity, 980 00:48:33,320 --> 00:48:35,810 can I go from position a position b? 981 00:48:39,990 --> 00:48:43,637 Now in three dimensions, this is a two-dimensional sphere. 982 00:48:43,637 --> 00:48:45,470 And if you look at the obstacles, the things 983 00:48:45,470 --> 00:48:47,390 I have to avoid, those correspond 984 00:48:47,390 --> 00:48:51,259 to one-dimensional bars here. 985 00:48:51,259 --> 00:48:53,050 Which, if you project them onto the sphere, 986 00:48:53,050 --> 00:48:55,640 correspond to great circular arcs. 987 00:48:55,640 --> 00:48:58,080 So the worry would be-- let me draw them 988 00:48:58,080 --> 00:48:59,575 in red, the obstacles. 989 00:48:59,575 --> 00:49:02,520 The things that will kill you if you hit them. 990 00:49:02,520 --> 00:49:04,080 The worry would be you have what we 991 00:49:04,080 --> 00:49:09,050 call a cage, something like this, 992 00:49:09,050 --> 00:49:12,010 of one-dimensional obstacles on the sphere that 993 00:49:12,010 --> 00:49:14,380 block this x-point. 994 00:49:14,380 --> 00:49:18,180 Block the target from the source. 995 00:49:18,180 --> 00:49:19,700 And in 3D this-- if you draw what 996 00:49:19,700 --> 00:49:22,710 happens in the knitting needles, this is what happens. 997 00:49:22,710 --> 00:49:25,520 You can't move the last link to extend the previous one 998 00:49:25,520 --> 00:49:27,975 because one-dimensional barriers are 999 00:49:27,975 --> 00:49:30,380 a problem on a two-dimensional sphere 1000 00:49:30,380 --> 00:49:33,360 because 2 minus 1 equals 1. 1001 00:49:33,360 --> 00:49:36,510 But on a three-dimensional sphere, 1002 00:49:36,510 --> 00:49:38,190 if you draw one-dimensional obstacles, 1003 00:49:38,190 --> 00:49:41,070 they have basically no effect on the sphere. 1004 00:49:41,070 --> 00:49:42,690 They do not disconnect the surface 1005 00:49:42,690 --> 00:49:45,120 of a three-dimensional sphere. 1006 00:49:45,120 --> 00:49:47,650 Can you see that? [CHUCKLE] The analogy-- 1007 00:49:47,650 --> 00:49:51,350 if you just keep the difference in dimensions the same-- 1008 00:49:51,350 --> 00:49:52,964 so we have a three-dimensional sphere 1009 00:49:52,964 --> 00:49:54,380 versus a one-dimensional obstacle. 1010 00:49:54,380 --> 00:49:55,865 Let's go down a dimension. 1011 00:49:55,865 --> 00:49:57,240 You have a two-dimensional sphere 1012 00:49:57,240 --> 00:49:58,820 and a zero-dimensional obstacle. 1013 00:49:58,820 --> 00:50:00,900 What's a zero-dimensional obstacle? 1014 00:50:00,900 --> 00:50:02,250 A point. 1015 00:50:02,250 --> 00:50:05,600 So imagine you have all these red points which 1016 00:50:05,600 --> 00:50:06,790 you can't touch. 1017 00:50:06,790 --> 00:50:09,740 And then you have the initial position and the target 1018 00:50:09,740 --> 00:50:10,750 position, b. 1019 00:50:10,750 --> 00:50:12,290 How do you get there? 1020 00:50:12,290 --> 00:50:13,330 No problem. 1021 00:50:13,330 --> 00:50:15,420 There's tons of paths. 1022 00:50:15,420 --> 00:50:19,130 It's basically the same in four dimensions, just harder to see. 1023 00:50:19,130 --> 00:50:24,520 You have a three-sphere, which is the boundary of a four-ball. 1024 00:50:24,520 --> 00:50:26,930 And you have these one-dimensional arcs on it. 1025 00:50:26,930 --> 00:50:28,960 And they just don't block your way at all 1026 00:50:28,960 --> 00:50:30,900 because they're so low-dimensional. 1027 00:50:30,900 --> 00:50:34,080 So that's intuitively why 4D is easy, 5D is also easy, 6D, 1028 00:50:34,080 --> 00:50:35,030 and so on. 1029 00:50:35,030 --> 00:50:37,330 Because the obstacles are so tiny. 1030 00:50:37,330 --> 00:50:38,830 The obstacles remain one-dimensional 1031 00:50:38,830 --> 00:50:40,290 on this high-dimensional sphere. 1032 00:50:40,290 --> 00:50:42,320 You can just fix one link at a time. 1033 00:50:42,320 --> 00:50:44,876 Eventually the whole thing will be straight. 1034 00:50:44,876 --> 00:50:47,230 Ta-da, 4D! 1035 00:50:47,230 --> 00:50:50,030 Any final questions? 1036 00:50:50,030 --> 00:50:50,900 Yes? 1037 00:50:50,900 --> 00:50:56,412 AUDIENCE: Is the situation of folding a surface 1038 00:50:56,412 --> 00:50:58,336 in four dimensions roughly analogous 1039 00:50:58,336 --> 00:50:59,507 with folding [INAUDIBLE]? 1040 00:50:59,507 --> 00:51:01,340 PROFESSOR: Folding a two-dimensional surface 1041 00:51:01,340 --> 00:51:02,870 in four dimensions? 1042 00:51:02,870 --> 00:51:05,060 Definitely, this argument breaks down. 1043 00:51:05,060 --> 00:51:08,882 And so you can get locked things, there. 1044 00:51:08,882 --> 00:51:10,840 If you'd asked earlier I could show one example 1045 00:51:10,840 --> 00:51:13,177 we have of a kind of locked surface. 1046 00:51:13,177 --> 00:51:15,010 I don't know if there's actually a locked 2D 1047 00:51:15,010 --> 00:51:17,370 surface in 4D known, though. 1048 00:51:17,370 --> 00:51:18,510 I suspect there is one. 1049 00:51:18,510 --> 00:51:20,630 That could be an interesting question to work on. 1050 00:51:23,810 --> 00:51:25,410 Think about that. 1051 00:51:25,410 --> 00:51:27,820 All right, see you Thursday.