1 00:00:01,347 --> 00:00:03,180 PROFESSOR: So connectivity is more than just 2 00:00:03,180 --> 00:00:04,480 an all or nothing affair. 3 00:00:04,480 --> 00:00:07,680 We can talk about how connected a graph is. 4 00:00:07,680 --> 00:00:09,220 So let's begin with two vertices. 5 00:00:09,220 --> 00:00:13,000 Two vertices are said to be k-edge connected 6 00:00:13,000 --> 00:00:16,970 if they remain connected if you remove fewer 7 00:00:16,970 --> 00:00:20,520 than k edges from the graph. 8 00:00:20,520 --> 00:00:21,870 Let's look at an example. 9 00:00:21,870 --> 00:00:26,720 So here's a graph, and let's focus on those two vertices 10 00:00:26,720 --> 00:00:29,280 that I've highlighted in magenta. 11 00:00:29,280 --> 00:00:32,250 They are 1-edge connected because they're connected, 12 00:00:32,250 --> 00:00:37,020 and if you remove one edge they become disconnected. 13 00:00:37,020 --> 00:00:41,620 So they're 1-edge connected, but they're not 2-edge connected. 14 00:00:41,620 --> 00:00:44,420 In particular, if I delete that edge, 15 00:00:44,420 --> 00:00:48,760 then they no longer is a path between the two magenta 16 00:00:48,760 --> 00:00:50,830 vertices. 17 00:00:50,830 --> 00:00:52,820 Here's an example of two vertices, these two 18 00:00:52,820 --> 00:00:54,950 green vertices, that are 2-edge connected. 19 00:00:54,950 --> 00:00:58,360 That means that I can remove any number of edges less than two, 20 00:00:58,360 --> 00:01:03,210 which is to say one edge, and they'll stay connected. 21 00:01:03,210 --> 00:01:06,790 But if I do remove two vertices, they become disconnected. 22 00:01:06,790 --> 00:01:11,920 So with those two edges judiciously selected, 23 00:01:11,920 --> 00:01:15,124 there will no longer be a path between the two green vertices. 24 00:01:18,050 --> 00:01:20,170 For a 3-edge connected example, we 25 00:01:20,170 --> 00:01:24,930 can look at these two vertices highlighted in purple 26 00:01:24,930 --> 00:01:28,450 and discover that we can remove any two edges, 27 00:01:28,450 --> 00:01:30,880 and they're still going to be stuck together. 28 00:01:30,880 --> 00:01:33,260 You can kind of see that because they're in a cycle here 29 00:01:33,260 --> 00:01:34,960 and in a cycle there. 30 00:01:34,960 --> 00:01:36,840 And in order to break them, you're 31 00:01:36,840 --> 00:01:42,260 going to have to break both cycles, which means 32 00:01:42,260 --> 00:01:45,520 two edges to break two cycles. 33 00:01:45,520 --> 00:01:49,954 And if you remove three, on the other hand, 34 00:01:49,954 --> 00:01:50,870 you can separate them. 35 00:01:50,870 --> 00:01:55,026 So if I cut these three edges-- might 36 00:01:55,026 --> 00:01:56,650 have been more obvious to cut that one, 37 00:01:56,650 --> 00:01:58,733 but I'm doing it this way to make it interesting-- 38 00:01:58,733 --> 00:02:01,360 if I cut these three edges, then in fact I 39 00:02:01,360 --> 00:02:03,820 wind up with no path between those two vertices. 40 00:02:03,820 --> 00:02:10,660 So they are 3-edge connected but not 4-edge connected. 41 00:02:10,660 --> 00:02:13,220 Meaning you can remove two, but you can't remove three 42 00:02:13,220 --> 00:02:15,400 and keep them connected. 43 00:02:15,400 --> 00:02:17,995 For a whole graph, a whole graph is k-edge 44 00:02:17,995 --> 00:02:22,320 connected if every two vertices are k-edge connected. 45 00:02:22,320 --> 00:02:25,380 And the point of this degree of connectivity 46 00:02:25,380 --> 00:02:27,700 is to measure-- one motivation of it 47 00:02:27,700 --> 00:02:33,350 is if you think of this graph as indicating a communication 48 00:02:33,350 --> 00:02:36,480 network, where vertices are centers that are sending 49 00:02:36,480 --> 00:02:38,810 and receiving data, and an edge corresponds 50 00:02:38,810 --> 00:02:41,590 to having some kind of a channel or cable 51 00:02:41,590 --> 00:02:44,250 between adjacent centers. 52 00:02:44,250 --> 00:02:48,070 Then connectivity is a measure of how many of your channels 53 00:02:48,070 --> 00:02:52,520 or cables can go down and still have the property 54 00:02:52,520 --> 00:02:55,360 that every center of information can 55 00:02:55,360 --> 00:02:57,950 communicate with every other center of information. 56 00:02:57,950 --> 00:03:00,920 So how many connections can fail without cutting off 57 00:03:00,920 --> 00:03:02,530 communication? 58 00:03:02,530 --> 00:03:05,721 Here's an example of a graph that globally-- this 59 00:03:05,721 --> 00:03:08,220 was the graph that we saw before that has some vertices that 60 00:03:08,220 --> 00:03:11,850 are 1-edge connected, others that are 2, others that are 3. 61 00:03:11,850 --> 00:03:14,630 But the graph as a whole is only 1-edge 62 00:03:14,630 --> 00:03:17,860 connected because there's this one edge that can be removed 63 00:03:17,860 --> 00:03:21,298 that splits it in two. 64 00:03:21,298 --> 00:03:23,990 This graph, on the other hand, a modification of it, 65 00:03:23,990 --> 00:03:25,500 is 2-edge connected. 66 00:03:25,500 --> 00:03:28,900 Now I can remove any one edge, and no matter 67 00:03:28,900 --> 00:03:30,910 what single edge I remove, this will 68 00:03:30,910 --> 00:03:35,120 remain a connected graph, which makes it 2-edge connected. 69 00:03:35,120 --> 00:03:38,690 Now, there's a corresponding definition of vertex connected, 70 00:03:38,690 --> 00:03:40,840 meaning it's k-vertex connected if you 71 00:03:40,840 --> 00:03:45,120 can remove any number of vertices up to k 72 00:03:45,120 --> 00:03:49,530 and it will stay connected. 73 00:03:49,530 --> 00:03:53,240 If it's k-vertex connected, it's certainly k-edge connected, 74 00:03:53,240 --> 00:03:56,520 but not conversely. 75 00:03:56,520 --> 00:04:01,960 Here's a graph that is 2-edge vertex connected but 1-vertex 76 00:04:01,960 --> 00:04:02,460 connected. 77 00:04:02,460 --> 00:04:05,360 If you remove one vertex, it breaks. 78 00:04:05,360 --> 00:04:06,910 If you remove that vertex, it breaks. 79 00:04:06,910 --> 00:04:09,210 But on the other hand, it needs two edges 80 00:04:09,210 --> 00:04:14,900 to be cut in order to split the graph in two. 81 00:04:14,900 --> 00:04:21,470 The complete graph on n vertices is-- to cut it up, 82 00:04:21,470 --> 00:04:26,090 it requires cutting n minus 1 edges 83 00:04:26,090 --> 00:04:29,920 and, in fact, n minus 1 vertices to break it up 84 00:04:29,920 --> 00:04:32,950 because everything is connected to everything else. 85 00:04:32,950 --> 00:04:37,270 So Kn is as connected a graph on n 86 00:04:37,270 --> 00:04:39,540 vertices as you can possibly have. 87 00:04:39,540 --> 00:04:41,810 But of course, it's got a lot of edges. 88 00:04:41,810 --> 00:04:43,930 It's got n choose 2 edges, or about n 89 00:04:43,930 --> 00:04:46,890 times n minus 1 over 2 edges. 90 00:04:46,890 --> 00:04:49,860 Another interesting structure is the n-dimensional hypercube. 91 00:04:49,860 --> 00:04:52,020 So the square is a 2-dimensional, 92 00:04:52,020 --> 00:04:57,530 and the cube, the ordinary cube is the H3, has eight vertices 93 00:04:57,530 --> 00:04:59,170 and looks like a cube. 94 00:04:59,170 --> 00:05:01,780 And in general, the way we define Hn 95 00:05:01,780 --> 00:05:05,570 is that its vertices are the binary strings of length n. 96 00:05:05,570 --> 00:05:09,490 And two vertices are adjacent if they differ in one bit. 97 00:05:09,490 --> 00:05:12,370 They're the same except that in one coordinate 98 00:05:12,370 --> 00:05:14,980 one of them has a 1 and the other has a 0. 99 00:05:14,980 --> 00:05:19,300 In that case, you can make the edges adjacent. 100 00:05:19,300 --> 00:05:24,020 It turns out that the n-dimensional hypergraph 101 00:05:24,020 --> 00:05:26,230 is n-vertex connected. 102 00:05:26,230 --> 00:05:30,100 And this is worked out in a homework or a class problem. 103 00:05:30,100 --> 00:05:32,531 So to summarize-- well, actually before we summarize, 104 00:05:32,531 --> 00:05:34,780 there's a basic theorem that we're not going to prove. 105 00:05:34,780 --> 00:05:37,170 It's just a little bit too much of a challenge 106 00:05:37,170 --> 00:05:38,240 for us to get into. 107 00:05:38,240 --> 00:05:41,240 It would take maybe a couple of lectures-- 108 00:05:41,240 --> 00:05:47,520 is to prove Menger's theorem, which says that a graph is 109 00:05:47,520 --> 00:05:57,650 k-vertex connected if and only if you can connect any two 110 00:05:57,650 --> 00:06:02,420 vertices with completely non-overlapping different paths 111 00:06:02,420 --> 00:06:03,420 k of them. 112 00:06:03,420 --> 00:06:06,720 So if two vertices are k-connected, 113 00:06:06,720 --> 00:06:10,674 then there are completely separate, k separate paths 114 00:06:10,674 --> 00:06:12,340 connecting them, which means, of course, 115 00:06:12,340 --> 00:06:13,923 that you have to cut each of the paths 116 00:06:13,923 --> 00:06:15,250 in order to separate them. 117 00:06:15,250 --> 00:06:19,570 And a similar theorem goes for edge connected. 118 00:06:19,570 --> 00:06:21,660 So to summarize about some graphs 119 00:06:21,660 --> 00:06:25,060 that we know about, given that connectivity measures fault 120 00:06:25,060 --> 00:06:27,750 tolerance in a network, we're interested in, well, 121 00:06:27,750 --> 00:06:29,910 how many edges did it take to achieve 122 00:06:29,910 --> 00:06:31,360 this level of connectivity? 123 00:06:31,360 --> 00:06:34,160 So the number of edges is kind of a measure of the cost. 124 00:06:34,160 --> 00:06:37,970 And the complete graph on n vertices is n minus 1 125 00:06:37,970 --> 00:06:41,860 connected, but it has about n squared over 2 edges. 126 00:06:41,860 --> 00:06:43,140 The hypercube. 127 00:06:43,140 --> 00:06:46,200 Now, if we're going to be talking about graphs of size n 128 00:06:46,200 --> 00:06:51,100 to be uniform, the hypercube on Hn has 2 to the n vertices. 129 00:06:51,100 --> 00:06:52,590 So if we want an n-vertex version, 130 00:06:52,590 --> 00:06:56,790 we're talking about h sub log n, which has n vertices. 131 00:06:56,790 --> 00:07:01,760 And then it has about n log n over 2 edges. 132 00:07:01,760 --> 00:07:06,160 So it's got fewer edges than the complete graph 133 00:07:06,160 --> 00:07:10,230 but significantly less, exponentially 134 00:07:10,230 --> 00:07:12,110 less connectivity. 135 00:07:12,110 --> 00:07:18,385 The grid is simply like the x, y axis or the x, 136 00:07:18,385 --> 00:07:24,406 y plane with points at integers so that every node is connected 137 00:07:24,406 --> 00:07:27,810 to four adjacent nodes-- one up, one down, one right, 138 00:07:27,810 --> 00:07:28,352 and one left. 139 00:07:28,352 --> 00:07:30,268 Now of course, when you get to the edge of it, 140 00:07:30,268 --> 00:07:32,130 if you make it finite, the ones on the edge 141 00:07:32,130 --> 00:07:33,660 are only going to be 2-connected. 142 00:07:33,660 --> 00:07:35,950 So you have to wrap it around in the shape of a donut 143 00:07:35,950 --> 00:07:38,534 to really make it work with a finite graph. 144 00:07:38,534 --> 00:07:39,950 But if you do that, then the thing 145 00:07:39,950 --> 00:07:45,920 is 4-connected-- 4-edge connected and only has 146 00:07:45,920 --> 00:07:47,470 2n edges. 147 00:07:47,470 --> 00:07:50,150 And then a cycle is 2-connected. 148 00:07:50,150 --> 00:07:54,100 A cycle of size n is 2-connected with n vertices. 149 00:07:54,100 --> 00:07:57,510 And finally, trees, which we'll talk about next time, 150 00:07:57,510 --> 00:08:00,560 are the smallest possible connected graphs. 151 00:08:00,560 --> 00:08:01,890 They are 1-connected. 152 00:08:01,890 --> 00:08:04,520 Indeed everything in a tree is connected, 153 00:08:04,520 --> 00:08:06,360 and they only have n minus 1 edges. 154 00:08:06,360 --> 00:08:08,760 But if you remove one edge, it splits. 155 00:08:08,760 --> 00:08:13,790 And that's sort of the summary of the k-connectivity story.