520 likes | 570 Views
Module #19: Graph Theory. Rosen 5 th ed., ch. 8.1~8.5 ~44 slides (more later), ~3 lectures. Not Our Meaning. What are Graphs?. Not. General meaning in everyday math: A plot or chart of numerical data using a coordinate system.
E N D
Module #19:Graph Theory Rosen 5th ed., ch. 8.1~8.5 ~44 slides (more later), ~3 lectures (c)2001-2002, Michael P. Frank
Not Our Meaning What are Graphs? Not • General meaning in everyday math: A plot or chart of numerical data using a coordinate system. • Technical meaning in discrete mathematics:A particular class of discrete structures (to be defined) that is useful for representing relations and has a convenient webby-looking graphical representation. (c)2001-2002, Michael P. Frank
Applications of Graphs • Potentially anything (graphs can represent relations, relations can describe the extension of any predicate). • Apps. in networking, scheduling, flow optimization, circuit design, path planning. • Geneology analysis, computer game-playing, program compilation, object-oriented design, … (c)2001-2002, Michael P. Frank
Simple Graphs • Correspond to symmetricbinary relations R. • A simple graphG=(V,E)consists of: • a set V of vertices or nodes (V corresponds to the universe of the relation R), • a set E of edges / arcs / links: unordered pairs of [distinct?] elements u,vV, such that uRv. Visual Representationof a Simple Graph (c)2001-2002, Michael P. Frank
Example of a Simple Graph • Let V be the set of states in the far-southeastern U.S.: • V={FL, GA, AL, MS, LA, SC, TN, NC} • Let E={{u,v}|u adjoins v} ={{FL,GA},{FL,AL},{FL,MS},{FL,LA},{GA,AL},{AL,MS},{MS,LA},{GA,SC},{GA,TN},{SC,NC},{NC,TN},{MS,TN},{MS,AL}} NC TN SC MS AL GA LA FL (c)2001-2002, Michael P. Frank
Multigraphs • Like simple graphs, but there may be more than one edge connecting two given nodes. • A multigraphG=(V, E, f ) consists of a set V of vertices, a set E of edges (as primitive objects), and a functionf:E{{u,v}|u,vV uv}. • E.g., nodes are cities, edgesare segments of major highways. Paralleledges (c)2001-2002, Michael P. Frank
Pseudographs • Like a multigraph, but edges connecting a node to itself are allowed. • A pseudographG=(V, E, f ) wheref:E{{u,v}|u,vV}. Edge eE is a loop if f(e)={u,u}={u}. • E.g., nodes are campsitesin a state park, edges arehiking trails through the woods. (c)2001-2002, Michael P. Frank
Directed Graphs • Correspond to arbitrary binary relations R, which need not be symmetric. • A directed graph (V,E) consists of a set of vertices V and a binary relation E on V. • E.g.: V = people,E={(x,y) | x loves y} (c)2001-2002, Michael P. Frank
Directed Multigraphs • Like directed graphs, but there may be more than one arc from a node to another. • A directed multigraphG=(V, E, f ) consists of a set V of vertices, a set E of edges, and a function f:EVV. • E.g., V=web pages,E=hyperlinks. The WWW isa directed multigraph... (c)2001-2002, Michael P. Frank
Types of Graphs: Summary • Summary of the book’s definitions. • Keep in mind this terminology is not fully standardized... (c)2001-2002, Michael P. Frank
§8.2: Graph Terminology • Adjacent, connects, endpoints, degree, initial, terminal, in-degree, out-degree, complete, cycles, wheels, n-cubes, bipartite, subgraph, union. (c)2001-2002, Michael P. Frank
Adjacency Let G be an undirected graph with edge set E. Let eE be (or map to) the pair {u,v}. Then we say: • u, v are adjacent / neighbors / connected. • Edge e is incident with vertices u and v. • Edge econnectsu and v. • Vertices u and v are endpoints of edge e. (c)2001-2002, Michael P. Frank
Degree of a Vertex • Let G be an undirected graph, vV a vertex. • The degree of v, deg(v), is its number of incident edges. (Except that any self-loops are counted twice.) • A vertex with degree 0 is isolated. • A vertex of degree 1 is pendant. (c)2001-2002, Michael P. Frank
Handshaking Theorem • Let G be an undirected (simple, multi-, or pseudo-) graph with vertex set V and edge set E. Then • Corollary: Any undirected graph has an even number of vertices of odd degree. (c)2001-2002, Michael P. Frank
Directed Adjacency • Let G be a directed (possibly multi-) graph, and let e be an edge of G that is (or maps to) (u,v). Then we say: • u is adjacent tov, v is adjacent fromu • ecomes from u, e goes to v. • e connects u to v, e goes from u to v • the initial vertex of e is u • the terminal vertex of e is v (c)2001-2002, Michael P. Frank
Directed Degree • Let G be a directed graph, v a vertex of G. • The in-degree of v, deg(v), is the number of edges going to v. • The out-degree of v, deg(v), is the number of edges coming from v. • The degree of v, deg(v)deg(v)+deg(v), is the sum of v’s in-degree and out-degree. (c)2001-2002, Michael P. Frank
Directed Handshaking Theorem • Let G be a directed (possibly multi-) graph with vertex set V and edge set E. Then: • Note that the degree of a node is unchanged by whether we consider its edges to be directed or undirected. (c)2001-2002, Michael P. Frank
Special Graph Structures Special cases of undirected graph structures: • Complete graphs Kn • Cycles Cn • Wheels Wn • n-Cubes Qn • Bipartite graphs • Complete bipartite graphs Km,n (c)2001-2002, Michael P. Frank
Complete Graphs • For any nN, a complete graph on n vertices, Kn, is a simple graph with n nodes in which every node is adjacent to every other node: u,vV: uv{u,v}E. K1 K4 K3 K2 K5 K6 Note that Kn has edges. (c)2001-2002, Michael P. Frank
Cycles • For any n3, a cycle on n vertices, Cn, is a simple graph where V={v1,v2,… ,vn} and E={{v1,v2},{v2,v3},…,{vn1,vn},{vn,v1}}. C3 C4 C5 C6 C8 C7 How many edges are there in Cn? (c)2001-2002, Michael P. Frank
Wheels • For any n3, a wheelWn, is a simple graph obtained by taking the cycle Cn and adding one extra vertex vhub and n extra edges {{vhub,v1}, {vhub,v2},…,{vhub,vn}}. W3 W4 W5 W6 W8 W7 How many edges are there in Wn? (c)2001-2002, Michael P. Frank
n-cubes (hypercubes) • For any nN, the hypercube Qn is a simple graph consisting of two copies of Qn-1 connected together at corresponding nodes. Q0 has 1 node. Q0 Q1 Q4 Q2 Q3 Number of vertices: 2n. Number of edges:Exercise to try! (c)2001-2002, Michael P. Frank
n-cubes (hypercubes) • For any nN, the hypercube Qn can be defined recursively as follows: • Q0={{v0},} (one node and no edges) • For any nN, if Qn=(V,E), where V={v1,…,va} and E={e1,…,eb}, then Qn+1=(V{v1´,…,va´}, E{e1´,…,eb´}{{v1,v1´},{v2,v2´},…,{va,va´}}) where v1´,…,va´ are new vertices, and where if ei={vj,vk} then ei´={vj´,vk´}. (c)2001-2002, Michael P. Frank
Bipartite Graphs • A simple graph G=(V, E) is called bipartite if V can be partitioned into V1and V2 such that every edge connects a vertex in V1 and a vertex in V2. (c)2001-2002, Michael P. Frank
Some Applications • LAN(Local Area Network) • Star (Hub, Dumb Switch) • Ring(Token Ring) • Hybrid(?) • Interconnection Networks for Parallel Computation • Linear array, need number of hops sometimes • Mesh • HyperCube (c)2001-2002, Michael P. Frank
Subgraphs • A subgraph of a graph G=(V,E) is a graph H=(W,F) where WV and FE. G H (c)2001-2002, Michael P. Frank
Graph Unions • The unionG1G2 of two simple graphs G1=(V1, E1) and G2=(V2,E2) is the simple graph (V1V2, E1E2). (c)2001-2002, Michael P. Frank
§8.3: Graph Representations & Isomorphism • Graph representations: • Adjacency lists. • Adjacency matrices. • Incidence matrices. • Graph isomorphism: • Two graphs are isomorphic iff they are identical except for their node names. (c)2001-2002, Michael P. Frank
Adjacency Lists • A table with 1 row per vertex, listing its adjacent vertices. b a d c e f (c)2001-2002, Michael P. Frank
Directed Adjacency Lists • 1 row per node, listing the terminal nodes of each edge incident from that node. (c)2001-2002, Michael P. Frank
Adjacency Matrices • Matrix A=[aij], where aij is 1 if {vi, vj} is an edge of G, 0 otherwise. (c)2001-2002, Michael P. Frank
Graph Isomorphism • Formal definition: • Simple graphs G1=(V1, E1) and G2=(V2, E2) are isomorphic if there is a bijection f:V1V2 such that a,bV1, a and b are adjacent in G1 iff f(a) and f(b) are adjacent in G2. • f is the “renaming” function that makes the two graphs identical. • Definition can easily be extended to other types of graphs. (c)2001-2002, Michael P. Frank
Determine Isomorphism • It is often difficult! Need O(n!) . • However, G1=(V1, E1) to be isomorphic to G2=(V2, E2): • |V1|=|V2|, |E1|=|E2|. • i.e. they must be invariant. (c)2001-2002, Michael P. Frank
Isomorphism Example • If isomorphic, label the 2nd graph to show the isomorphism, else identify difference. d b b a a d c e f e c f (c)2001-2002, Michael P. Frank
Are These Isomorphic? • If isomorphic, label the 2nd graph to show the isomorphism, else identify difference. * Same # of vertices a b * Same # of edges * Different # of verts of degree 2! (1 vs 3) d e c (c)2001-2002, Michael P. Frank
§8.4: Connectivity • In an undirected graph, a path of length n from u to v is a sequence of adjacent edges going from vertex u to vertex v. • A path is a circuit if u=v and n>0. • A path traverses the vertices along it. • A path is simple if it contains no edge more than once. (c)2001-2002, Michael P. Frank
Paths in Directed Graphs • Same as in undirected graphs, but the path must go in the direction of the arrows. (c)2001-2002, Michael P. Frank
Connectedness • An undirected graph is connected iff there is a path between every pair of distinct vertices in the graph. • Theorem1: There is a simple path between any pair of vertices in a connected undirected graph. • Connected components: disjoint connected subgraphs. • The removal of a cut vertex or cut edge separates 1 connected component into 2 if removed. (c)2001-2002, Michael P. Frank
Directed Connectedness • A directed graph is strongly connected iff there is a directed path from a to b and from b to a for any two vertices a and b. • It is weakly connected if and only if the underlying undirected graph (i.e., with edge directions removed) is connected. • Any strongly connected graph is weakly connected. (c)2001-2002, Michael P. Frank
Paths & Isomorphism • Note that connectedness, and the existence of a circuit or simple circuit of length k are graph invariants with respect to isomorphism. (c)2001-2002, Michael P. Frank
Counting Paths w Adjacency Matrices • Let A be the adjacency matrix of graph G. • The number of paths of length k from vi to vj is equal to (Ak)i,j. (The notation (M)i,j denotes mi,j where [mi,j] = M.) (c)2001-2002, Michael P. Frank
§8.5: Euler & Hamilton Paths • An Euler circuit in a graph G is a simple circuit containing every edge of G. • An Euler path in G is a simple path containing every edge of G. • A Hamilton circuit is a circuit that traverses each vertex in G exactly once. • A Hamilton path is a path that traverses each vertex in G exactly once. (c)2001-2002, Michael P. Frank
Some Useful Theorems • A connected multigraph has an Euler circuit iff each vertex has even degree. • A connected multigraph has an Euler path (but not an Euler circuit) iff it has exactly 2 vertices of odd degree. • If (but not only if) G is connected, simple, has n3 vertices, and v deg(v)n/2, then G has a Hamilton circuit. (c)2001-2002, Michael P. Frank
§ 8.6:Shortest-Path Problem • A weighted graph can be used to model an airline system or a computer network. • 2 problems to be discussed: shortest-path problem and traveling salesman problem. • Algorithm 1 (Dijstra’s Algorithm) finds the length of a shortest path between two vertices in a connected simple undirected weighted graph. (c)2001-2002, Michael P. Frank
Dijkstra’s Algorithm ProcedureDijkstra(G: weighted connected simple graph) fori:=1 to n L(vi):=∞ ; L(v0)=0 ; S:=Φ; While Begin u:= a vertex not in S with L(u) minimal; S:=S∪{u}; for all vertices v not in S if L(u)+w(u,v)<L(v) then L(v):=L(u)+w(u,v) end G has vertices v0,v1,…vn and weights w(vi,vj) S: set of selected vertices on shortest path (c)2001-2002, Michael P. Frank
§ 8.6:Shortest-Path Problem • The traveling salesman problem asks for the circuit of minimum total weight in a weighted, complete, undirected graph that visits each vertex exactly once and returns to its starting point. • It’s a NP-complete problem • Many approximation algorithm are devised. (c)2001-2002, Michael P. Frank
§ 8.7:Planar Graph • A graph is called planar if it can be drawn in the plane without any edges crossing. • K4,Q3 are planar while K3,3 is not planar. • Euler’s formula: Let G be a connected planar graph with e edges and v vertices. Let r be the number of regions in a planar representation of G. r=e-v+2. (c)2001-2002, Michael P. Frank
Proof of Euler’s Formula (1) Basis: Since e1=1, v1=2, r1=1, r1=e1-v1+2 is true. Inductive Step: Assume rn=en-vn+2 is true. Let {an+1,bn+1} be the edge that is added to Gn to obtain Gn+1. Case I: Both an+1 and bn+1 are already in Gn .(pp.607Fig10(a)) an+1 and bn+1 must be on the boundary of a common region R, or else it would be impossible to add the edges {an+1,bn+1} . The addition of this new edge splits R into 2 regions. Consequently, rn+1= rn+1, en+1= en+1, vn+1=vn . Thus, rn+1=en+1-vn+1+2. (c)2001-2002, Michael P. Frank
Proof of Euler’s Formula (2) Case II: an+1 is in Gn and bn+1 is not. (Fig10(b)) The addition of {an+1,bn+1} does not produce new regions, since bn+1 must be in a region that has an+1 on its boundary. Consequently, rn+1= rn, en+1= en+1, vn+1=vn+1. Thus, rn+1=en+1-vn+1+2. Case III: an+1 and bn+1 are not in Gn . Impossible. (Because Gn+1must be connected.) (c)2001-2002, Michael P. Frank
Other Theorems Corollary 1 If G is a connected planar simple graph with e edges and v vertices where v 3, then e 3v-6. Corollary 2 If G is a connected planar simple graph then G has a vertex of degree not exceeding five. Proof: (c)2001-2002, Michael P. Frank