Discrete Mathematics

Discrete Mathematics

Télécharger la présentation

Discrete Mathematics

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

1. DiscreteMathematics Chapter 9 Graphs

2. Outline 9.1 Graph and Graph Models 9.2 Graph Terminology and Special Types of Graphs 9.3 Representing Graphs and Graph Isomorphism 9.4 Connectivity 9.5 Euler and Hamiltonian Paths 9.6 Shortest-Path Problems 9.7 Planar Graphs 9.8 Graph Coloring

3. G=(V, E), where V={v1,v2,…, v7} E={{v1,v2}, {v1,v3}, {v2,v3} {v3,v4}, {v4,v5}, {v4,v6} {v4,v7}, {v5,v6}, {v6,v7}} v1 v5 v3 v4 v6 v7 v2 §9.1 Graphs and Graph Models Def 1. A graphG = (V, E) consists of V, a nonempty set of vertices (or nodes), and E, a set of edges. Each edge has either one or two vertices associated with it, called its endpoints. An edge is said to connect its endpoints. eg.

4. Def A graph in which each edge connects two different vertices and where no two edges connect the same pair of vertices is called a simple graph. Def Multigraph: simple graph + multiple edges (multiedges)(兩點間允許多條邊) eg. v1 v5 v3 v4 v6 v2 v7

5. simple graph + multiedge + loop Def.Pseudograph: (a loop: ) eg.

6. Def 2.Directed graph (digraph): simple graph with each edge directed Note: Note: is allowed in a directed graph u u v v The two edges (u,v),(v,u) are not multiedges. The two edges (u,v),(u,v) are multiedges. Def.Directed multigraph: digraph+multiedges

7. Table 1. Graph Terminology Exercise : 3, 5, 6, 7, 9

8. Graph Models Example 2. (Acquaintanceship graphs) We can use a simple graph to represent whether two people know each other. Each person is represented by a vertex. An undirected edge is used to connect two people when these people know each other. Kamlesh Jan Paula Todd eg Amy Lila Lizd Steve

9. Example 3. (Influence graphs) In studies of group behavior it is observed that certain people can influence the thinking of others. Simple digraph Each person of the group is represented by a vertex. There is a directed edge from vertex a to vertex b when the person a influences the person b. eg Brian Linda Deborah Fred Yvonne

10. Example 9. (Precedence graphs and concurrent processing) Computer programs can be executed more rapidly by executing certain statements concurrently. It is important not to execute a statement that requires results of statements not yet executed. Simple digraph Each statement is represented by a vertex, and there is an edge from a to bif the statement of b cannot be executed before the statement of a. S6 S5 eg S1: a:=0S2: b:=1S3: c:=a+1 S4: d:=b+a S5: e:=d+1S6: e:=c+d S3 S4 S1 S2

11. Ex 13. The intersection graph of a collection of sets A1, A2, …, An is the graph that has a vertex for each of these sets and has an edge connecting the vertices representing two sets if these sets have a nonempty intersection. Construct the intersection graph of the following collection of sets.(a) A1 = {0, 2, 4, 6, 8}, A2= {0, 1, 2, 3, 4},A3= {1, 3, 5, 7, 9}, A4= {5, 6, 7, 8, 9}, A5= {0, 1, 8, 9}. (請做此作業)

12. §9.2 Graph Terminology and Special Types of Graphs u e v Def 1.G: undirected graph u and v are adjacent (or neighbors) e is incident with u and v u and v are endpoints of e Def 2. The degree of a vertex v, denoted by deg(v), in an undirected graph is the number of edges incident with it. (Note : A loop adds 2 to the degree.)

13. deg(a)=4 deg(b)=6 deg(c)=1 deg(d)=5 deg(e)=6 deg(f)=0 Sol : Example 1. What are the degrees of the vertices in the graph H ? b a c f e d H Def. A vertex of degree 0 is called isolated.

14. Thm 1. (The Handshaking Theorem) Let G = (V, E)be an undirected graph with e edges (i.e., |E| = e). Then Pf :每加一條 edge {u, v} 會同時使 u跟 v 各增加一個degree

15. eg. The graph H has 11 edges, and b a c Example 3. How many edges are there in a graph with 10 vertices each of degree six? e d f H Sol : 10  6 = 2e  e=30

16. v u Pf :Let V1={vV | deg(v) is even}, V2={vV | deg(v) is odd}. Thm 2. An undirected graph G = (V, E) has an even number of vertices of odd degree.  is even. Exercise : 5 Def 3. G = (V, E): directed graph,e = (u, v)  E : u is adjacent tov v is adjacent fromu u : initial vertex of ev : terminal (end) vertex of e e

17. Def 4. G = (V, E) : directed graph, vV deg-(v) : # of edges with v as a terminal. (in-degree) deg+(v) : # of edges with v as a initial vertex (out-degree) Example 4. deg-(a)=2, deg+(a)=4 deg-(b)=2, deg+(b)=1 deg-(c)=3, deg+(c)=2 deg-(d)=2, deg+(d)=2 deg-(e)=3, deg+(e)=3 deg-(f )=0, deg+(f )=0 b a c f e d

18. Thm 3. Let G = (V, E) be a digraph. Then pf : 每增加一條 edge deg+(u)增加 1deg-(v)增加 1 u v

19. (ex47上面)A simple graph G=(V, E) is called regular if every vertex of this graph has the same degree. A regular graph is called n-regular if deg(v)=n , vV. eg. K4 : is 3-regular. Exercise : 7, 49

20. Some Special Simple Graphs Example 5. The complete graph on n vertices, denoted by Kn, is the simple graph that contains exactly one edge between each pair of distinct vertices. K1 K2 K3 K4 Note. Kn is (n-1)-regular, |V(Kn)|=n,

21. Example 6. The cycle Cn, n3, consists of n vertices v1, v2, …, vnand edges {v1,v2}, {v2,v3}, …, {vn-1,vn}, {vn,v1}. C5 C3 C4 NoteCn is 2-regular, |V(Cn)| = n,|E(Cn)| = n

22. W6 W5 Example 7. We obtained the wheelWn when we add an additional vertex to the cycle Cn,for n3, and connect this new vertex to each of the n vertices in Cn, by new edges. Note. |V(Wn)| = n + 1, |E(Wn)| = 2n, Wn is not a regular graph if n  3.

23. Q3 Example 8. The n-dimensional hypercube, or n-cube, denoted by Qn, is the graph that has vertices representing the 2n bit strings of length n.Two vertices are adjacent if and only if the bit strings that they represent differ in exactly one bit position. 110 111 10 11 100 101 0 1 010 Q1 另法：Qn-1點數即每個dim邊數，共n-dim 00 01 011 Q2 000 001 Note. Qn is n-regular, |V(Qn)| = 2n, |E(Qn)| = (2nn)/2 =2n-1n deg總和 / 2

24. Some Special Simple Graphs Def 5. A simple graph G=(V,E) is called bipartite if V can be partitioned into V1 and V2, V1∩V2=, such that every edge in the graph connect a vertex in V1 and a vertex in V2. Example 9. v1 v2 v3 v4 ∴ C6is bipartite. v5 v6 V1 V2

25. a a b c Example 11. Is the graph G bipartite? g c e b f f d d g e G Yes !

26. Thm 4. A simple graph is bipartite if and only if it is possible to assign one of two different colors to each vertex of the graph so that no two adjacent vertices are assigned the same color. a b Example 12. Use Thm 4 to show that G is bipartite. g c 1 1 2 2 f d e 2 1 2 G Exercise : 23, 24, 25

27. Example 13. Complete Bipartite graphs (Km,n) K2,3 K3,3 Note. |V(Km,n)| = m+n, |E(Km,n)| = mn,Km,nis regular if and only if m=n.

28. a a b b e e c c d New Graphs from Old Def 6. A subgraph of a graph G=(V, E) is a graph H=(W, F) where W V and F  E. (注意 F要連接 W裡的點) Example 14. A subgraph of K5 subgraph of K5 K5

29. b c a b c a b c a d e d d e f f Example 15. Def 7. The union of two simple graphs G1=(V1, E1) and G2=(V2, E2) is the simple graph G1∪G2=(V1∪V2, E1∪E2) G1 G2 G1∪G2 Exercise : 51

30. b c a e d §9.3 Representing Graphs and Graph Isomorphism ※Adjacency list Example 1. Use adjacency lists to describe the simple graph given below. Sol :

31. b Example 2. (digraph) c a e d Exercise : 3

32. a b c d ※Adjacency Matrices Def.G=(V, E) : simple graph, V={v1,v2,…,vn}. (順序沒關係) A matrix A is called the adjacency matrix of G if A=[aij]nn , where aij = 1, if {vi,vj}E, 0, otherwise. Example 3. a b c d a b d c a b b c d d c • Note: • There are n! different adjacency matrices for a graph with n vertices. • The adjacency matrix of an undirected graph is symmetric. a

33. a b c d b a a b Example 5. (Pseudograph) (矩陣未必是0,1矩陣.) c d d c Def. If A=[aij] is the adjacency matrix for the directed graph, then 1 , if (故矩陣未必對稱) vi vj aij = 0 , otherwise Exercise : 7, 14, 17, 23

34. ※Isomorphism of Graphs v1 u1 u2 v2 G is isomorphic to H Def 1. The simple graphs G1=(V1,E1) and G2=(V2,E2) are isomorphic if there is an one-to-one and onto function f from V1 toV2 with the property that a~b in G1 iff f(a)~f(b) in G2, a,bV1 f is called an isomorphism. u3 v4 u4 v3 G H

35. v1 u1 u2 v2 Example 8. Show that G and H are isomorphic. u3 v4 u4 v3 G H Sol. The function f with f(u1) = v1,f(u2) = v4, f(u3) = v3, and f(u4) = v2 is a one-to-one correspondence between V(G)and V(H). ※Isomorphism graphs 必有 : (1) 相同的點數 (2) 相同的邊數 (3) 相同的degree分佈。

36. ※給定二圖，判斷它們是否isomorphic的問題一般來說不易解，而且答案常是否定的。※給定二圖，判斷它們是否isomorphic的問題一般來說不易解，而且答案常是否定的。 Example 9. Show that G and H are not isomorphic. G H Sol : G有 degree = 1 的點，H沒有

37. b e s t f w x g h d c z y v u a Example 10. Determine whether G and H are isomorphic. G H Sol : ∵ G中 degree 為 3 的點有d, h, f, b 它們不能接成 4-cycle 但 H中 degree 為3的點s, w, z, v可接成 4-cycle ∴ 不是 isomorphic. 另法 : G中 deg = 3的點，旁邊都只連了另一個 deg = 3 的點 但 H中 deg = 3 的點旁邊都連了 2 個 deg = 3 的點

38. v1 G H u1 u2 v3 Example 11. Determine whether the graphs G and H are isomorphic. u5 v2 u6 v6 v5 u4 v4 u3 Sol: f(u1)=v6, f(u2)=v3, f(u3)=v4, f(u4)=v5, f(u5)=v1, f(u6)=v2Yes Exercise : 37, 39, 40

39. G H v1 u1 Ex44. Determine whether the graphs G and H are isomorphic. v2 u2 v8 u8 v3 u3 v7 u7 v6 u6 v4 u4 v5 u5 此二圖都是vertex-transitive，每個點的角色是一樣的，故考慮u1及v1即可 v1的5 個neighbor可以連接成5-cycle，但u1的不行，故不是isomorphic

40. v w u y x §9.4: Connectivity Def. 1,2 : In an undirected graph, a path of length nfrom utov is a sequence of n+1adjacent vertices going from vertex u to vertex v. (e.g., P: u=x0, x1, x2, …, xn=v.)( P has nedges.) Def: (與書上的不太一致) path中的點及邊不可重複trail: 允許點重複的路徑 (邊不可重複)walk: 允許點及邊重複的路徑 Example path: u, v, y trail: u, v, w, y, v, x, y walk: u, v, w, v, x, v, y

41. G v w u y x Def: cycle: path with u=vcircuit: trail with u=vclosed walk: walk with u=v Example cycle: u, v, y, x, u trail: u, v, w, y, v, x, u walk: u, v, w, v, x, v, y, x, u Exercise : 17

42. Paths in Directed Graphs The same as in undirected graphs, but the path must go in the direction of the arrows. Connectedness in Undirected Graphs • Def. 3: • An undirected graph is connected (連通) if there is a path between every pair of distinct vertices in the graph. • Def: • Connected component: maximal connected subgraph. (一個不連通的圖會有好幾個component)

43. Example 6 What are the connected components of the graph H? b f d e c a h g H

44. Def:A cut vertex separates one connected component into several components if it is removed.A cut edge separates one connected component into two components if it is removed. Example 8. Find the cut vertices and cut edges in thegraph G. Sol: f a d g cut vertices: b, c, e G cut edges: {a, b}, {c, e} b c e h Exercise : 29,31, 32

45. Connectedness in Directed Graphs Def. 4: A directed graph is strongly connected if there is a path from a to b for any two vertices a,b. A directed graph is weakly connected if there is a path between every two vertices in the underlying undirected graphs. Example 9Are the directed graphs G and H strongly connected or weakly connected? a b a b G H c c e e d d strongly connected weakly connected

46. Paths and Isomorphism Note that connectedness, and the existence of a circuit or simple circuit of length k are graph invariants with respect to isomorphism. u1 v1 Example 12.Determine whether the graphs G and H are isomorphic. v2 u2 u6 v6 v3 u3 u5 v5 u4 v4 G H Sol: No, 因G沒有三角形，H有

47. Example 13.Determine whether the graphs G and H are isomorphic. u2 v1 G H u1 u3 v5 v2 u5 u4 v4 v3 Sol. Both G and H have 5 vertices, 6 edges, two vertices of deg 3, three vertices of deg 2, a 3-cycle, a 4-cycle, and a 5-cycle.  G and Hmay be isomorphic. The function f with f(u1) = v1, f(u2) = v4, f(u3) = v3, f(u4) = v2 and f(u5) = v5 is a one-to-one correspondence between V(G)and V(H).  G and Hare isomorphic. Exercise : 19, 20

48. Counting Paths between Vertices Theorem 2: Let G be a graph with adjacency matrix A with respect to the ordering v1, v2, …, vn. The number of walks of length rfrom vito vj is equal to (Ar)i,j. Proof (僅簡單舉例說明) A A A2 j a b j a i i b a i j b

49. Example 14. How many walks of length 4 arethere from a to d in the graph G? a b Sol.The adjacency matrix of G(ordering as a, b, c, d) is G d c a b c d a b  8  c d Q: 哪8條？ a-b-a-b-d, a-b-a-c-d, a-c-a-b-d, a-c-a-c-d, a-b-d-b-d, a-b-d-c-d, a-c-d-b-d, a-c-d-c-d Exercise : 17

50. Graph Theory 的起源 §9.5: Euler & Hamilton Paths • 1736, Euler solved the Königsberg Bridge Problem (七橋問題) Q: 是否存在一 種走法，可以走過每座橋一次，並回到起點？