Chapter 1: CÁC KHÁI NIỆM CƠ BẢN
lượt xem 9
download
Định nghĩa đồ thị - Gọi V ≠ φ là tập đỉnh; E={e=(u,v): u,v∈ V} là tập cạnh; và G = (V,E) gọi là đồ thị. - Nếu mỗi cạnh là một cặp đỉnh không có thứ tự
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chapter 1: CÁC KHÁI NIỆM CƠ BẢN
- CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN 1. Định nghĩa đồ thị - Gọi V ≠ φ là tập đỉnh; E={e=(u,v): u,v∈ V} là tập cạnh; và G = (V,E) gọi là đồ thị. - Nếu mỗi cạnh là một cặp đỉnh không có thứ tự thì gọi là đồ thị vô hướng, ngược lại gọi là đồ thị có hướng. Trong đồ thị vô hướng, nếu cạnh (u,v) thuộc E thì (v,u) cũng thuộc E. Trong đồ thị có hướng cạnh được gọi là cung. - Nếu mỗi cặp đỉnh chỉ tương ứng với một cạnh thì gọi là đơn đồ thị, ngược lại gọi là đa đồ thị. Ví dụ : b c d A E B f g a e C D Hình 1: Đồ thị vô hướng Hình 2: Đồ thị có hướng Rất nhiều bài toán có thể mô hình hoá bằng đồ thị và giải quyết bằng các thuật toán trên đồ thị. Ví dụ: Xếp lịch thi đấu là một đồ thị vô hướng với mỗi đội là đỉnh, hai đội thi đấu với nhau là cạnh. Mạng giao thông là một đa đồ thị có hướng với nút giao thông là đỉnh, đường đi giữa hai nút là cung. Tương tự việc thiết kế mạng máy tính, mạng viễn thông có thể đưa về bài toán đồ thị. 2. Các thuật ngữ - Khuyên: cạnh (cung) e gọi là khuyên nếu e có dạng (v,v). - Cạnh (cung) lặp: là hai cạnh (cung) cùng tương ứng với một cặp đỉnh. - Đỉnh kề: nếu (u,v) là cạnh (hoặc cung) của đồ thị thì v gọi là kề của u. Trong đồ thị vô hướng nếu v kề u thì u cũng kề v, nhưng trong đồ thị có hướng thì không chắc. - Cạnh liên thuộc: Trong đồ thị vô hướng, cạnh e=(u,v) gọi là cạnh liên thuộc với đỉnh u và liên thuộc với đỉnh v. - Bậc của đỉnh: Trong đồ thị vô hướng, số cạnh liên thuộc với v gọi là bậc của đỉnh v, kí hiệu là deg(v). v v Khuyên v2 v2 v1 v1 Ví dụ: Xét đồ thị hìnhCạnh 1,deg(a)=1, deg(b)=deg(c)=4, deg(d)=1, deg(e)=deg(f)=3, deg(g)=0 Cung lặp lặp - Đỉnh cô lập, đỉnh treo: Trong đồ thị vô hướng, đỉnh bậc 0 gọi là đỉnh cô lập , đỉnh bậc 1 gọi là đỉnh treo. 1
- Ví dụ: Xét đồ thị hình 1, a là đỉnh treo, g là đỉnh cô lập - Cung vào, ra: Trong đồ thị có hướng, cung e=(u,v) gọi là cung ra khỏi u và là cung vào v. - Bán bậc của đỉnh: Trong đồ thị có hướng, số cung vào v gọi là bán bậc vào của đỉnh v, kí hiệu là: deg-(v), số cung ra khỏi v gọi là bán bậc ra của đỉnh v, kí hiệu là: deg+(v) Ví dụ: Xét đồ thị hình 1, deg-(A)=2, deg-(B)=3, deg-(C)=1, deg-(D)=2, deg-(E)=2 deg+(A)=3, deg+(B)=2, deg+(C)=2, deg+(D)=2, deg+(E)=1 - Định lý 1: Trong đồ thị vô hướng thì tổng bậc của tất cả các đỉnh bằng 2 lần số cạnh. ∑ deg(v) v∈V = 2m (m là số cạnh) Chứng minh: Mỗi cạnh e=(u,v) được tính một lần trong deg(u) và một lần trong deg(v) nên trong tổng bậc của các đỉnh, mỗi cạnh được tính hai lần, mà có m cạnh nên suy ra tổng bậc bằng 2m. Ví dụ: đồ thị có n đỉnh, mỗi đỉnh có bậc là 6. Hỏi đồ thị có bao nhiêu cạnh? HD: 6n=2m ⇒ m=3n - Hệ quả: Trong đồ thị vô hướng, số đỉnh có bậc là số lẻ là một số chẵn Chứng minh: Gọi O là tập các đỉnh có bậc là số lẻ, và U là tập các đỉnh có bậc là số chẵn. Ta có: ∑ deg(v) = ∑ deg(v) v∈V ∑ deg(v) = 2m v∈O + v∈U Do ∀ v∈ U, deg(v) chẵn nên ∑ deg(v) ⇒ ∑ deg(v) chẵn v∈U v∈O Do ∀ v∈ O, deg(v) lẻ mà tổng ∑ deg(v) chẵn, nên tổng này phải gồm một số chẵn các v∈O số hạng ⇒ số đỉnh có bậc là số lẻ là một số chẵn (đpcm). - Định lý 2: Trong đồ thị có hướng, tổng bán bậc ra của tất cả các đỉnh bằng tổng bán bậc vào của tất cả các đỉnh và bằng số cạnh của đồ thị ∑ deg v∈V + (v) = ∑ deg v∈V − (v) = m (m là số cạnh) Chứng minh: Hiển nhiên vì mỗi cung đều ra ở một đỉnh và vào ở một đỉnh khác. 3. Đường đi, chu trình, liên thông * Đường đi, chu trình: - Đường đi: Đường đi có độ dài n từ đỉnh v0 đến đỉnh vn là dãy v0, v1, …,vn-1, vn ; với (vi vi+1)∈ E, ∀ i=0,…,n-1. Đường đi có thể biểu diễn bằng một dãy n cạnh (cung): (v0, v1),…, (v1, v2), …, (vn-1, vn). Đỉnh v0 gọi là đỉnh đầu, đỉnh vn gọi là đỉnh cuối của đường đi. - Chu trình: là đường đi có đỉnh đầu trùng với đỉnh cuối. Đường đi (hay chu trình) gọi là đơn anếu không b cạnh (cung) bị lặp lại. có c a b c Ví dụ: d e f 2d e f Hình 3:đt vô huớng Hình 4:đt có huớng
- Trên hình 3: a, d, c, f, e: là đường đi đơn độ dài 4 d, e, c, a: không phải đường đi b, c, f, e, b: là chu trình độ dài 4. a, b, e, d, a, b: là đường đi không đơn (qua cạnh ab hai lần) có độ dài 5 Trên hình 4: a, d, c, f, e: là đường đi độ dài 4 d, e, c, a: không là đường đi. b, c, f, e, b: là chu trình độ dài 4 a, b, e, d, a, b: là đường đi không đơn (qua cạnh ab hai lần), có độ dài 5 * Đồ thị Liên Thông: - Đồ thị gọi là liên thông nếu hai đỉnh bất kỳ luôn có đường đi. Nếu đồ thị không liên thông, đồ thị luôn có thể chia thành các đồ thị con liên thông và đôi một không có đỉnh chung. - Đồ thị có hướng liên thông còn được gọi là liên thông mạnh. Nếu đt có hướng không liên thông nhưng nếu đồ thị vô huớng tương ứng liên thông thì đồ thị có hướng gọi là liên thông yếu. - Đồ thị vô hướng liên thông gọi là định hướng được nếu có thể định hướng các cạnh để thu được đồ thị có hướng liên thông mạnh. Ví dụ: a b c d e g f G H Hình 5: đt G liên thông và đt H gồm 3 thành phần liên thông H1, H2, H3. A B A B B B B B B B G H Hình 6: Đt G liên thông mạnh, H liên thông yếu. * Đỉnh rẽ nhánh, cầu: 3
- - Đỉnh v gọi là đỉnh rẽ nhánh nếu việc loại bỏ v cùng với các cạnh liên thuộc với nó làm tăng số thành phần liên thông. - Cạnh e gọi là cầu nếu việc loại bỏ e làm tăng số thành phần liên thông. Ví dụ: Trong hình 5: đồ thị G có đỉnh d, e là đỉnh rẽ nhánh; cạnh (d,g), (e,f) là cầu - Định lý 3: G là đồ thị vô hướng liên thông. G định hướng được ⇔ mỗi cạnh của G nằm trên ít nhất một chu trình. Chứng minh: ( ⇒ ) G định hướng được ⇒ G liên thông mạnh ⇒ ∀ (u,v)∈ E, ∃ đường đi có hướng từ u đến v ⇒ ∃ đường đi vô hướng từ u đến v. Đường đi này kết hợp với cạnh (u,v) sẽ tạo một chu trình chứa cạnh (u,v) (xem hình 7) ( ⇐ ) Ta xây dựng một thuật toán xác định hướng các cạnh của G để G liên thông mạnh. Giả sử C là một chu trình, định hướng các cạnh trên chu trình theo một hướng đi vòng theo chu trình. Nếu tất cả các cạnh của đồ thị đã được định hướng thì kết thúc thuật toán. Ngược lại, chọn cạnh e chưa định hướng mà e có chung đỉnh với ít nhất một trong số các cạnh đã định hướng (e tồn tại vì G liên thông). Theo giả thiết tìm được chu trình C’ chứa cạnh e. Định hướng các cạnh chưa được định hướng của C’ theo một hướng dọc theo C’. Thuật toán lặp lại cho tới khi tất cả các cạnh của đồ thị được định hướng (xem hình 8) u e v C C’ Hình 7 Hình 8 4. Một số đồ thị đặc biệt. a) Đồ thị đầy đủ: Đồ thị đầy đủ n đỉnh, ký hiệu bởi Kn, là đơn đồ thị vô hướng mà giữa hai đỉnh bất kỳ của nó luôn có cạnh nối. - Định lý 4: Đồ thị đầy đủ Kn có tất cả n(n-1)/2 cạnh, nó là đơn đồ thị có nhiều cạnh nhất. Chứng minh: Đỉnh 1 nối với n-1 đỉnh còn lại, đỉnh 2 nối với n-2 đỉnh còn lại,…Nên tổng số cạnh là: (n-1)+(n-2)+…+1 = (n-1)(n-1+1)/2=n(n-1)/2 4
- b) Đồ thị vòng Đồ thị vòng Cn, n≥3. gồm n đỉnh v1, v2,. . . .vn và các cạnh (v1,v2), (v2,v3) . . . (vn-1,vn), (vn,v1). c) Đồ thị bánh xe Đồ thị bánh xe Wn thu được từ đồ thị vòng Cn bằng cách bổ sung vào một đỉnh mới nối với tất cả các đỉnh của Cn d) Đồ thị lập phương Đồ thị lập phương n đỉnh Qn là đồ thị với các đỉnh biểu diễn 2n xâu nhị phân độ dài n. Hai đỉnh của nó gọi là kề nhau nếu như hai xâu nhị phân tương ứng chỉ khác nhau 1 bit. e) Đồ thị hai phía Đơn đồ thị G=(V,E) được gọi là hai phía nếu như tập đỉnh V của nó có thể phân hoạch thành hai tập X và Y sao cho mỗi cạnh của đồ thị chỉ nối một đỉnh nào đó trong X với một đỉnh nào đó trong Y. Ký hiệu G=(X ∪ Y, E) để chỉ đồ thị hai phía với tập đỉnh X ∪ Y. - Định lý 5 : Đơn đồ thị là đồ thị hai phía khi và chỉ khi nó không chứa chu trình độ dài lẻ. Chứng minh: (chấp nhận) - Thuật toán kiểm tra đồ thị liên thông là hai phía: B0:Chọn v là một đỉnh bất kỳ của đồ thị. Đặt X={v} B1:Tính Y là tập các đỉnh kề của các đỉnh trong X. B2:Nếu X ∩ Y ≠ φ thì đồ thị không phải là hai phía, kết thúc. Ngược lại xuống B3 B3: Gọi T là tập các đỉnh kề của các đỉnh trong Y, T phải thuộc vào X. Nếu T ∩ Y ≠ φ thì đồ thị không phải là hai phía, kết thúc. Ngược lại xuống B4 B4: Đặt X=X ∪ T. Nếu X ∪ Y=E thì đồ thị là hai phía, kết thúc. Ngược lại lặp lại B1. 5
- Ví dụ: Đồ thị này không là hai phía vì chứa chu trình độ dài lẻ (=3). 1 X Y (Các đỉnh kề X) T (Các đỉnh kề Y) 1 2,3 3,2 T ∩ Y ≠ φ : đồ thị không phải là hai phía 3 2 Ví dụ: (bài tập 3g trang 160) Đồ thị này không là hai phía vì chứa chu trình độ dài lẻ (=3). 1 2 X Y (Các đỉnh kề X) T (Các đỉnh kề Y) 1 2 3,5 3,5 4,5,3,6 3 5 X ∩ Y ≠ φ : đồ thị không phải là hai phía 4 6 Ví dụ: (bài tập 3a trang 160) là đồ thị hai phía. 3 X Y (Các đỉnh kề X) T (Các đỉnh kề Y) 2 1 5,7 2,4,6,8 1 9 2,4,6,8 3,9 4 8 5 7 X={1,2,4,6,8}; Y={3,5,7,9} 6 f) Đồ thị đầy đủ: Đồ thị hai phía G=(X ∪ Y, E) với |X|= m,|Y| = n được gọi là đồ thị hai phía đầy đủ và ký hiệu là Km,n nếu mỗi đỉnh trong tập X được nối với mỗi đỉnh trong tập Y. Nhận xét: g) Đồ thị phẳng Đồ thị được gọi là đồ thị phẳng nếu ta có thể vẽ nó trên mặt phẳng sao cho các cạnh của nó không cắt nhau ngoài ở đỉnh. Cách vẽ như vậy sẽ được gọi là biểu diễn phẳng của đồ thị. 6
- Ví dụ: K4 là phẳng, vì có thể vẽ nó trên mặt phẳng sao cho các cạnh của nó không cắt nhau ngoài ở đỉnh. h) Hai đồ thị đồng cấu: Hai đồ thị G(V,E) và H=(W,F) được gọi là đồng cấu nếu chúng có thể thu được từ cùng một đồ thị nào đó nhờ phép chia cạnh. Phép chia cạnh (u,v) của đồ thị là việc loại bỏ cạnh này khỏi đồ thị và thêm vào đồ thị một đỉnh mới w cùng với hai cạnh (u,w), (w, u) . - Định lý 6:(Kuratovski). Đồ thị là phẳng khi và chỉ khi nó không chứa đồ thị con đồng cấu với K3,3 hoặc K5. Chứng minh: (chấp nhận) Hiển nhiên đồ thị K3,3 hoặc K5 không phải là đồ thị phẳng. Biểu diễn phẳng của đồ thị sẽ chia mặt phẳng ra thành các miền, trong đó có thể có cả miền không bị chặn. Ví dụ: Euler đã chứng minh được rằng các cách biểu diễn phẳng khác nhau của một đồ thị đều chia mặt phẳng ra thành cùng một số miền. - Định lý 7: (Công thức Euler): Giả sử G là đồ thị phẳng liên thông với n đỉnh, m cạnh. Gọi r là số miền của mặt phẳng bị chia bởi biểu diễn phẳng của G. Khi đó: r = m-n + 2 Có thể chứng minh định lý bằng qui nạp. Ví dụ. Cho G là đồ thị phẳng liên thông với 20 đỉnh, mỗi đỉnh đều có bậc là 3. Hỏi mặt phẳng bị chia làm bao nhiêu phần bởi biểu diễn phẳng của đồ thị G? Giải. Do mỗi đỉnh của đồ thị đều có bậc là 3, nên tổng bậc của các đỉnh là 3x20=60. Từ đó suy ra số cạnh của đồ thị m=60/2=30. Vì vậy, theo công thức Euler, số miền cần tìm là r=30-20+2=12. BÀI TẬP CHƯƠNG 1: 7
- Bài 1: GA: a=b=g=h=3; c=d=e=f=4; GB: ra:a=c=d=3; b=e=f=1; g=2; h=0; vào:a=0; b=2; c=d=g=1; e=f=h=3; Bài 4: G là đơn đồ thị vô hướng có n đỉnh, m cạnh, k thành phần liên thông. Chứng minh m ≤ (n-k)(n-k+1)/2 từ đó suy ra đồ thị có số cạnh lớn hơn (n-1)(n-2)/2 là liên thông. HD: Gọi ni và mi (1 ≤ i ≤ k) lần lượt là số đỉnh và số cạnh của tplt thứ i. Ta có: k k ∑n i =1 i = n ⇒ ∑ ( ni − 1) = n − k i =1 k ⇒ ∑ ( ni − 1) 2 ≤ ( n − k ) 2 i =1 k ⇒ ∑ ni2 ≤ (n − k ) 2 + 2n − k i =1 vì G là đơn đồ thị nên giữa hai đỉnh có nhiều nhất 1 cạnh nối chúng, do đó [ ] k k 1 k 2 1 1 m = ∑ mi ≤ ∑ C = ∑ (ni − ni ) ≤ (n − k ) 2 + 2n − k − n = (n − k )(n − k + 1) 2 ni i =1 i =1 2 i =1 2 2 (đpcm) Từ giả thiết ta có: m>(n-1)(n-2)/2 ⇒ m>(n-k)(n-k+1)/2 , ∀ k>1; Nếu đồ thị không liên thông thì m ≤ (n-k)(n-k+1)/2, với k là số thành phần lt (k>1) mà điều này mâu thuẫn với giả thiết vậy đồ thị phải liên thông Bài 6: G là đơn đồ thị liên thông. Chứng minh: u là đỉnh rẽ nhánh ⇔ ∃ v, w ≠ u: ∀ đường đi (v,w) đều qua u. ( ⇒ ) giả sử ∀ v,w ≠ u : ∃ đường đi (v,w) không qua u ⇒ loại u và các cạnh nối với u, G vẫn không tăng số thành phần liên thông ⇒ u không là đỉnh rẽ nhánh (mâu thuẫn) ( ⇐ ) ∃ v, w ≠ u: ∀ đường đi (v,w) đều qua u ⇒ loại u và các cạnh nối với u thì giữa u và v sẽ không có đường đi ⇒ G tăng số thành phần liên thông ⇒ u là đỉnh rẽ nhánh Bài 7: G là đơn đồ thị. Chứng minh: e là cầu ⇔ ∀ chu trình C, e∉ C ( ⇒ ) giả sử ∃ chu trình C: e∈ C ⇒ bỏ e không làm tăng số thành phần liên thông ⇒ e không là cầu. 8
- ( ⇐ ) ∀ chu trình C, e∉ C ⇒ bỏ e sẽ làm tăng số thành phần liên thông ⇒ e là cầu. Bài 8: G là đồ thị hai phía với n đỉnh và m cạnh. Chứng minh: m ≤ n2/4 Gỉa sử X có a đỉnh, Y có b đỉnh. Ta có: a+b=n max(m)= m n2/4 X Y Bài 10: đồ thị chính qui bậc k nếu tất cả có đỉnh bậc k. a) đồ thị đầy đủ Kn, mọi đỉnh đều có bậc là n-1 ⇒ Kn chính qui bậc n-1, ∀ n. b) đồ thị vòng Cn, mọi đỉnh đều có bậc là 2 ⇒ Cn chính qui bậc 2, ∀ n. c) đồ thị bánh xe Wn, mọi đỉnh đều có bậc là 3 ⇒ Wn chính qui bậc 3, ∀ n. d) đồ thị lập phương Qn, mọi đỉnh đều có bậc là n ⇒ Qn chính qui bậc n, ∀ n. (Một đỉnh biểu diễn một chuỗi n bít , có n chuỗi khác với chuỗi đang xét đúng 1 bít, tức là 1 đỉnh có n đỉnh kề) Bài 12: a) Đẳng cấu : f(A)=1; f(B)=2; f(C)=5; f(D)=4; f(E)=6; f(F)=3 b) Đẳng cấu : f(A)=1; f(B)=2; f(C)=3; f(D)=7; f(E)=9; f(F)=4; f(G)=11; f(H)=10; f(I)=8; f(J)=12; f(K)=5. Nhận xét: Hai đố thị đẳng cấu sẽ có cùng số đỉnh, cùng số đỉnh bậc k, cùng số cạnh, cùng số tplt Bài 16: Chứng minh: G đơn đồ thị G hai phía ⇔ sắc số của G bằng 2. ( ⇒ ) G hai phía nên G có dạng G=(X ∪ Y, E), trong đó các đỉnh thuộc X không kề với nhau và các đỉnh thuộc Y không kề với nhau. Nên có thể tô các đỉnh thuộc X một màu, các đỉnh thuộc Y một màu khác. (Không thể tô các đỉnh thuộc Y cùng màu với các đỉnh thuộc X vì khi đó vi phạm điều kiện: hai đỉnh kề nhau không tô cùng màu). Do đó sắc số của G bằng 2. ( ⇐ )Gọi X là tập đỉnh tô màu 1, Y là tập đỉnh tô màu 2. Dễ thấy các đỉnh của X không kề nhau và các đỉnh của Y cũng không kề nhau và các đỉnh của X chỉ có thể kề với các đỉnh của Y. Do đó G là hai phía. Bài 17: 1 a) Đồ thị Peterson không phải đồ thị hai phía vì chứa chu trình có chiều dài lẻ là: 1,3,5,4,2,1 nên sắc số phải lớn hơn 2. 6 7 8 Có thể chọn ba tập đỉnh để tô ba màu khác nhau 2 3 như sau: X={1,5,7,9}; Y={2,3,6}; Z={4,8,10} 9 Vậy sắc số = 3 9 10 4 5
- b) 5 6 X Y (Các đỉnh kề X) T (Các đỉnh kề Y) 1 2 1 2,3,5 4,6,7 4,6,7 8 Đồ thị lập phương là đồ thị hai phía, nên sắc số=2 7 8 Hai tập đỉnh được chọn để tô hai màu khác nhau là: X={1,4,6,7}; Y={2,3,5,8} 3 4 c) 8 X Y (Các đỉnh kề X) T (Các đỉnh kề Y) 1 2,3,9 4,8,11 2 4,8,11 5,7,10 6 5 1 4 6 9 6 10 Đồ thị Herschel là đồ thị hai phía, nên sắc số=2 3 7 Hai tập đỉnh được chọn để tô hai màu khác nhau là: X={1,4,6,8,11}; Y={2,3,5,7,9,10} 11 Baì 18: Cài đặt thuật toán kiểm tra đồ thị liên thông là hai phía 1 10
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Chapter 1: Kiến thức cơ sở về SolidWork
21 p | 286 | 99
-
Chapter 1. Mở đầu
15 p | 175 | 57
-
Chapter 1: Tổng quan về công nghệ phần mềm
30 p | 165 | 28
-
Chapter 1: các khái niệm cơ bản của ngôn ngữ C
48 p | 105 | 9
-
Chapter 1 : Các khái niệm cơ bản về ngôn ngữ C
9 p | 74 | 8
-
Chapter 5: CÂY (TREE)
72 p | 63 | 7
-
Bài giảng Hệ điều hành: Chapter 1 - ThS. Trần Thị Như Nguyệt
42 p | 70 | 5
-
Bài giảng Hệ điều hành: Chapter 4.1 - ThS. Trần Thị Như Nguyệt
43 p | 41 | 5
-
Bài giảng Hệ điều hành: Chapter 7.1 - ThS. Trần Thị Như Nguyệt
42 p | 31 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn