520 likes | 571 Views
Learn about the definition, structures, and applications of graphs in mathematics. Explore simple, multigraphs, pseudographs, directed graphs, and more. Discover the terminology used in graph theory and the importance of different graph structures. This module covers fundamental concepts that are essential for understanding and working with graphs effectively.
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