480 likes | 615 Views
Lecture 5.4: Paths and Connectivity. CS 250, Discrete Structures, Fall 2011 Nitesh Saxena * Adopted from previous lectures by Zeph Grunschlag. Course Admin -- Homework 5 . Due at 11am on Nov 30 (Wed) Covers the chapter on Graphs (lecture 5.*)
E N D
Lecture 5.4: Paths and Connectivity CS 250, Discrete Structures, Fall 2011 NiteshSaxena *Adopted from previous lectures by ZephGrunschlag
Course Admin -- Homework 5 • Due at 11am on Nov 30 (Wed) • Covers the chapter on Graphs (lecture 5.*) • Thanksgiving is in the way – please try to start early • Has a 10-pointer bonus problem too Little work will not hurt! Lecture 5.4 -- Paths and Connectivity
Course Admin -- Homework 4 • Grading now • Expect results in a couple of days • Graded HWs will be distributed next Tuesday • Solution posted Lecture 5.4 -- Paths and Connectivity
Course Admin -- Final Exam • Thursday, December 8, 10:45am- 1:15pm, lecture room • Heads up! • Please mark the date/time/place • Emphasis on post mid-term 2 material • Coverage: • 65% post mid-term 2 (lectures 4.*, 5.*, 6.*), and • 35% pre mid-term 2 (lecture 1.*. 2.* and 3.*) • Our last lecture will be on December 6 • We plan to do a final exam review then Lecture 5.4 -- Paths and Connectivity
Outline • Paths and Isomorphism • Connectivity Lecture 5.4 -- Paths and Connectivity
A visualization of the Linkein Social Graph Lecture 5.4 -- Paths and Connectivity
and of the Facebook network Lecture 5.4 -- Paths and Connectivity
Recap: Graph Isomorphism DEF: Suppose G1 = (V1,E1 ) and G2 = (V2,E2 ) are pseudographs. Let f :V1V2 be a function s.t.: • f is bijective • for all vertices u,v in V1, the number of edges between u and v in G1is the same as the number of edges between f (u) and f (v ) in G2; or e(u, v, G1) = e(f(u), f(v), G2) Then f is called an isomorphismand G1is said to be isomorphic to G2. Lecture 5.4 -- Paths and Connectivity
Properties of Isomorphisms Two graphs are isomorphic to each other if they satisfy the following properties: • same number of vertices • same number of edges • same degrees at corresponding vertices • Any subgraph of one is isomorphic to some subgraph of the other Lecture 5.4 -- Paths and Connectivity
Warm-up Exercise Theorem: Isomorphism is an equivalence relation Proof: We need to prove that the isomorphism relation is reflexive, symmetric, and transitive. Let’s use the whiteboard. Lecture 5.4 -- Paths and Connectivity
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43 e6 e1 e2 1 2 e5 e3 e4 e7 3 4
Paths in Real (CS) World • Linkedin paths (let us see in practice) • Facebook paths • Internet paths • … Lecture 5.4 -- Paths and Connectivity
Paths and Isomorphism • Paths and circuits can also be serve as a good criteria for determining whether two graphs are isomorphic • Look for (simple) circuits of different lengths. Example below: u1 u2 u6 u3 u5 u4 Lecture 5.4 -- Paths and Connectivity
Number of Paths of Certain Lengths • Adjacency matrix A for a graph depicts all paths of length 1 • The matrix A2depicts number of paths of length 2 • In general, the matrix Akdepicts number of paths of length k a b c d Lecture 5.4 -- Paths and Connectivity
Number of Paths of Certain Lengths • Adjacency matrix A for a graph depicts all paths of length 1 • The matrix A2depicts number of paths of length 2 • In general, the matrix Akdepicts number of paths of length k a b c d Lecture 5.4 -- Paths and Connectivity
Connectivity DEF: Let G be a pseudograph. Let u and v be vertices. u and v are connected to each other if there is a path in G which starts at u and ends at v. G is said to be connected if all vertices are connected to each other. Note: Any vertex is automatically connected to itself via the empty path. Lecture 5.4 -- Paths and Connectivity
Connectivity Q: Which of the following graphs are connected? 1 2 3 4 Lecture 5.4 -- Paths and Connectivity
Connectivity A: First and second are disconnected. Last is connected. 1 2 3 4 Lecture 5.4 -- Paths and Connectivity
Connectivity A: First and second are disconnected. Last is connected. 1 2 3 4 Lecture 5.4 -- Paths and Connectivity
Connectivity A: First and second are disconnected. Last is connected. 1 2 3 4 Lecture 5.4 -- Paths and Connectivity
Connectivity A: First and second are disconnected. Last is connected. 1 2 3 4 Lecture 5.4 -- Paths and Connectivity
Connectivity A: First and second are disconnected. Last is connected. 1 2 3 4 Lecture 5.4 -- Paths and Connectivity
Connectivity A: First and second are disconnected. Last is connected. 1 2 3 4 Lecture 5.4 -- Paths and Connectivity
English Connectivity Puzzle Can define a puzzling graph G as follows: V = {3-letter English words} E : two words are connected if we can get one word from the other by changing a single letter. One small subgraph of G is: Q: Is “fun” connected to “car” ? rob job jab Lecture 5.4 -- Paths and Connectivity
English Connectivity Puzzle A: Yes: funfanfarcar Or: funfinbinbanbarcar Lecture 5.4 -- Paths and Connectivity
Some Little Theorems Thm1: Every connected graph with n vertices has at least n-1 edges Proof: Use proof by mathematical induction Basis Step (n=1): No. of edges is 0, which is less >= 0 (n-1) Induction Step: Assume to be true for n = k and show it to be true for n = k + 1 We assumed that a connected graph with k vertices will have at least k–1 edges. Now, we add a new vertex to this graph to obtain a new graph with k vertices. For the new graph to remain connected, the new vertex should be incident with at least one edge which is also incident with one of the vertices in the old graph. This means that the new graph should have a total of at least (k – 1) + 1 = k edges. This proves the induction step. Finally, combining the basis and induction steps, we get that the theorem is true for all n
Some Theorems Thm 2: Vertex connectedness in a simple graph is an equivalence relation Proof: We will show that the “connectedness” relation is reflexive, symmetric and transitive It is reflexive since every vertex is connected to itself via a path of length 0 It is symmetric because if a vertex u is connected to another vertex v, then there exists a path between u and v – just traverse the reverse path It is transitive because if u and v are connected (via path p) and v and w are connected (via path q), then u and w are connected via a path p|q
Some Theorems • Thm 3: If a connected simple graph G is the union of graphs G1 and G2, then G1 and G2 must have a common vertex • Proof: (very simple) let’s use the board. Lecture 5.4 -- Paths and Connectivity
Connected Components DEF: A connected component (or just component) in a graph G is a set of vertices such that all vertices in the set are connected to each other and every possible connected vertex is included. Q: What are the connected components of the following graph? 1 6 2 7 8 5 3 4 Lecture 5.4 -- Paths and Connectivity
1 8 5 3 Connected Components A: The components are {1,3,5},{2,4,6},{7} and {8} as one can see visually by pulling components apart: 6 2 7 4 Lecture 5.4 -- Paths and Connectivity
1 5 3 Connected Components A: The components are {1,3,5},{2,4,6},{7} and {8} as one can see visually by pulling components apart: 6 2 7 8 4 Lecture 5.4 -- Paths and Connectivity
1 5 3 Connected Components A: The components are {1,3,5}, {2,4,6}, {7} and {8} as one can see visually by pulling components apart: 6 2 7 8 4 Lecture 5.4 -- Paths and Connectivity
Degree of Connectivity Not all connected graphs are treated equal! Q: Rate following graphs in terms of their design value for computer networks: 1) 2) 3) 4)
Degree of Connectivity A: Want all computers to be connected, even if 1 computer goes down: 1) 2nd best. However, there is a weak link— “cut vertex” 2) 3rd best. Connected but any computer can disconnect 3) Worst! Already disconnected 4) Best! Network dies only with 2 bad computers Lecture 5.4 -- Paths and Connectivity
Degree of Connectivity The network is best because it can only become disconnected when 2 vertices are removed. In other words, it is 2-connected. Formally: DEF: A connected simple graph with 3 or more vertices is 2-connected if it remains connected when any vertex is removed. When the graph is not 2-connected, we call the disconnecting vertex a cut vertex. Lecture 5.4 -- Paths and Connectivity
Degree of Connectivity There is also a notion of N-Connectivity where we require at least N vertices to be removed to disconnect the graph. Lecture 5.4 -- Paths and Connectivity
Connectivity inDirected Graphs In directed graphs may be able to find a path from a to b but not from b to a. However, Connectivity was a symmetric concept for undirected graphs. So how to define directed Connectivity is non-obvious: • Should we ignore directions? • Should we insist that we can get from a to b in actual digraph? • Should we insist that we can get from a to b and that we can get from b to a? Lecture 5.4 -- Paths and Connectivity
Connectivity inDirected Graphs Resolution: Don’t bother choosing which definition is better. Just define to separate concepts: • Weakly connected : can get from a to b in underlying undirected graph • Semi-connected (my terminology): can get from a to b OR from b to a in digraph • Strongly connected : can get from a to b AND from b to a in the digraph DEF: A graph is strongly (resp. semi, resp. weakly) connectedif every pair of vertices is connected in the same sense. Lecture 5.4 -- Paths and Connectivity
Connectivity inDirected Graphs Q: Classify the connectivity of each graph. Lecture 5.4 -- Paths and Connectivity
Connectivity inDirected Graphs A: semi weak strong Lecture 5.4 -- Paths and Connectivity
Today’s Reading • Rosen 10.3 and 10.4 Little work will not hurt! Lecture 5.4 -- Paths and Connectivity