Nếu G là một đồ thị liên thông có q cạnh thì hành trình ngắn nhất trong G có chiều dài q + mG, trong đó mG là số cạnh mà hành trình đi qua hai lần và được xác định như sau: Gọi V0G là tậ[r]
(1)CHƯƠNG IV ĐỒ THỊ EULER VÀ ĐỒ THỊ HAMILTON 4.1 ĐƯỜNG ĐI EULER VÀ ĐỒ THỊ EULER Có thể coi năm 1736 là năm khai sinh lý thuyết đồ thị, với việc công bố lời giải “bài toán các cầu Konigsberg” nhà toán học lỗi lạc Euler (1707-1783) Thành phố Konigsberg thuộc Phổ (nay gọi là Kaliningrad thuộc Nga) chia thành bốn vùng các nhánh sông Pregel, các vùng này gồm hai vùng bên bờ sông, đảo Kneiphof và miền nằm hai nhánh sông Pregel Vào kỷ 18, người ta xây bảy cầu nối các vùng này với B B D A D A C C G Dân thành phố thắc mắc: “Có thể nào dạo qua tất bảy cầu, cầu lần thôi không?” Nếu ta coi khu vực A, B, C, D đỉnh và cầu qua lại hai khu vực là cạnh nối hai đỉnh thì ta có sơ đồ Konigsberg là đa đồ thị G hình trên Bài toán tìm đường qua tất các cầu, cầu qua lần có thể phát biểu lại mô hình này sau: Có tồn chu trình đơn đa đồ thị G chứa tất các cạnh? 4.1.1 Định nghĩa: Chu trình (t.ư đường đi) đơn chứa tất các cạnh (hoặc cung) đồ thị (vô hướng có hướng) G gọi là chu trình (t.ư đường đi) Euler Một đồ thị liên thông (liên thông yếu đồ thị có hướng) có chứa chu trình (t.ư đường đi) Euler gọi là đồ thị Euler (t.ư nửa Euler) Thí dụ 1: Đồ thị Euler Đồ thị không nửa Euler Đồ thị nửa Euler 54 Lop12.net (2) Đồ thị Euler Đồ thị nửa Euler Điều kiện cần và đủ để đồ thị là đồ thị Euler Euler tìm vào năm 1736 ông giải bài toán hóc búa tiếng thời đó bảy cái cầu Konigsberg và đây là định lý đầu tiên lý thuyết đồ thị 4.1.2 Định lý: Đồ thị (vô hướng) liên thông G là đồ thị Euler và đỉnh G có bậc chẵn Chứng minh: Điều kiện cần: Giả sử G là đồ thị Euler, tức là tồn chu trình Euler P G Khi đó lần chu trình P qua đỉnh nào đó G thì bậc đỉnh đó tăng lên Mặt khác, cạnh đồ thị xuất P đúng lần Do đó đỉnh đồ thị có bậc chẵn 4.1.3 Bổ đề: Nếu bậc đỉnh đồ thị G không nhỏ thì G chứa chu trình đơn Chứng minh: Nếu G có cạnh bội có khuyên thì khẳng định bổ đề là hiển nhiên Vì giả sử G là đơn đồ thị Gọi v là đỉnh nào đó G Ta xây dựng theo quy nạp đường v v1 v2 đó v1 là đỉnh kề với v, còn với i 1, chọn vi+1 là đỉnh kề với vi và vi+1 vi-1 (có thể chọn vì deg(vi) 2), v0 = v Do tập đỉnh G là hữu hạn, nên sau số hữu hạn bước ta phải quay lại đỉnh đã xuất trước đó Gọi k là số nguyên dương đầu tiên để vk=vi (0i<k) Khi đó, đường vi, vi+1, , vk-1, vk (= vi) là chu trình đơn cần tìm Điều kiện đủ: Quy nạp theo số cạnh G Do G liên thông và bậc đỉnh là chẵn nên đỉnh có bậc không nhỏ Từ đó theo Bổ đề 4.1.3, G phải chứa chu trình đơn C Nếu C qua tất các cạnh G thì nó chính là chu trình Euler Giả sử C không qua tất các cạnh G Khi đó loại bỏ khỏi G các cạnh thuộc C, ta thu đồ thị H (không thiết là liên thông) Số cạnh H nhỏ G và rõ ràng đỉnh H có bậc là chẵn Theo giả thiết quy nạp, thành phần liên thông H tìm chu trình Euler Do G liên thông nên thành 55 Lop12.net (3) phần H có ít đỉnh chung với chu trình C Vì vậy, ta có thể xây dựng chu trình Euler G sau: C Bắt đầu từ đỉnh nào đó chu trình C, theo các cạnh C chừng nào chưa gặp phải đỉnh không cô lập H Nếu gặp phải đỉnh thì ta theo chu trình Euler thành phần liên thông H chứa đỉnh đó Sau đó lại tiếp tục theo cạnh C gặp phải đỉnh không cô lập H thì lại theo chu trình Euler thành phần liên thông tương ứng H, Quá trình kết thúc ta trở đỉnh xuất phát, tức là thu chu trình qua cạnh đồ thị đúng lần 4.1.4 Hệ quả: Đồ thị liên thông G là nửa Euler (mà không là Euler) và có đúng hai đỉnh bậc lẻ G Chứng minh: Nếu G là nửa Euler thì tồn đường Euler G từ đỉnh u đến đỉnh v Gọi G’ là đồ thị thu từ G cách thêm vào cạnh (u,v) Khi đó G’ là đồ thị Euler nên đỉnh G’ có bậc chẵn (kể u và v) Vì u và v là hai đỉnh G có bậc lẻ Đảo lại, có đúng hai đỉnh bậc lẻ là u và v thì gọi G’ là đồ thị thu từ G cách thêm vào cạnh (u,v) Khi đó đỉnh G’ có bậc chẵn hay G’ là đồ thị Euler Bỏ cạnh (u,v) đã thêm vào khỏi chu trình Euler G’ ta có đường Euler từ u đến v G hay G là nửa Euler 4.1.5 Chú ý: Ta có thể vạch chu trình Euler đồ thị liên thông G có bậc đỉnh là chẵn theo thuật toán Fleury sau đây Xuất phát từ đỉnh G và tuân theo hai quy tắc sau: Mỗi qua cạnh nào thì xoá nó đi; sau đó xoá đỉnh cô lập (nếu có); Không qua cầu, không còn cách nào khác u v w s t x y z 56 Lop12.net (4) Xuất phát từ u, ta có thể theo cạnh (u,v) (u,x), giả sử là (u,v) (xoá (u,v)) Từ v có thể qua các cạnh (v,w), (v,x), (v,t), giả sử (v,w) (xoá (v,w)) Tiếp tục, có thể theo các cạnh (w,s), (w,y), (w,z), giả sử (w,s) (xoá (w,s)) Đi theo cạnh (s,y) (xoá (s,y) và s) Vì (y,x) là cầu nên có thể theo hai cạnh (y,w), (y,z), giả sử (y,w) (xoá (y,w)) Đi theo (w,z) (xoá (w,z) và w) và theo (z,y) (xoá (z,y) và z) Tiếp tục theo cạnh (y,x) (xoá (y,x) và y) Vì (x,u) là cầu nên theo cạnh (x,v) (x,t), giả sử (x,v) (xoá (x,v)) Tiếp tục theo cạnh (v,t) (xoá (v,t) và v), theo cạnh (t,x) (xoá cạnh (t,x) và t), cuối cung theo cạnh (x,u) (xoá (x,u), x và u) 4.1.6 Bài toán người phát thư Trung Hoa: Một nhân viên từ Sở Bưu Điện, qua số đường phố để phát thư, quay Sở Người phải qua các đường theo trình tự nào để đường là ngắn nhất? Bài toán nhà toán học Trung Hoa Guan nêu lên đầu tiên (1960), vì thường gọi là “bài toán người phát thư Trung Hoa” Ta xét bài toán dạng đơn giản sau Cho đồ thị liên thông G Một chu trình qua cạnh G gọi là hành trình G Trong các hành trình đó, hãy tìm hành trình ngắn nhất, tức là qua ít cạnh Rõ ràng G là đồ thị Euler (mọi đỉnh có bậc chẵn) thì chu trình Euler G (qua cạnh G đúng lần) là hành trình ngắn cần tìm Chỉ còn phải xét trường hợp G có số đỉnh bậc lẻ (số đỉnh bậc lẻ là số chẵn) Khi đó, hành trình G phải qua ít hai lần số cạnh nào đó Dễ thấy hành trình qua cạnh (u,v) nào đó quá hai lần thì không phải là hành trình ngắn G Vì vậy, ta cần xét hành trình T qua hai lần số cạnh nào đó G Ta quy ước xem hành trình T G là hành trình đồ thị Euler GT, có từ G cách vẽ thêm cạnh song song cạnh mà T qua hai lần Bài toán đặt đưa bài toán sau: Trong các đồ thị Euler GT, tìm đồ thị có số cạnh ít (khi đó chu trình Euler đồ thị này là hành trình ngắn nhất) Định lý (Gooodman và Hedetniemi, 1973) Nếu G là đồ thị liên thông có q cạnh thì hành trình ngắn G có chiều dài q + m(G), đó m(G) là số cạnh mà hành trình qua hai lần và xác định sau: Gọi V0(G) là tập hợp các đỉnh bậc lẻ (2k đỉnh) G Ta phân 2k phần tử G thành k cặp, tập hợp k cặp gọi là phân hoạch cặp V0(G) Ta gọi độ dài đường ngắn từ u đến v là khoảng cách d(u,v) Đối với phân hoạch cặp Pi, ta tính khoảng cách hai đỉnh cặp, tính tổng d(Pi) Số m(G) cực tiểu các d(Pi): 57 Lop12.net (5) m(G)=min d(Pi) Thí dụ 2: Giải bài toán người phát thư Trung Hoa cho đồ thị sau: D C E B J K F A I H G G GT Tập hợp các đỉnh bậc lẻ VO(G)={B, G, H, K} và tập hợp các phân hoạch cặp là P={P1, P2, P3}, đó P1 = {(B, G), (H, K)} d(P1) = d(B, G)+d(H, K) = 4+1 = 5, P2 = {(B, H), (G, K)} d(P2) = d(B, H)+d(G, K) = 2+1 = 3, P3 = {(B, K), (G, H)} d(P3) = d(B, K)+d(G, H) = 3+2 = m(G) = min(d(P1), d(P2), d(P3)) = Do đó GT có từ G cách thêm vào cạnh: (B, I), (I, H), (G, K) và GT là đồ thị Euler Vậy hành trình ngắn cần tìm là theo chu trình Euler GT: A, B, C, D, E, F, K, G, K, E, C, J, K, H, J, I, H, I, B, I, A 4.1.7 Định lý: Đồ thị có hướng liên thông yếu G là đồ thị Euler và đỉnh G có bậc vào bậc Chứng minh: Chứng minh tương tự chứng minh Định lý 4.1.2 và điều kiện đủ cần có bổ đề đây tương tự Bổ đề 4.1.3 4.1.8 Bổ đề: Nếu bậc vào và bậc đỉnh đồ thị có hướng G không nhỏ thì G chứa chu trình đơn 4.1.9 Hệ quả: Đồ thị có hướng liên thông yếu G là nửa Euler (mà không là Euler) và tồn hai đỉnh x và y cho: dego(x) = degt(x)+1, degt(y) = dego(y)+1, degt(v) = dego(v), vV, v x, v y Chứng minh: Chứng minh tương tự Hệ 4.1.4 4.2 ĐƯỜNG ĐI HAMILTON VÀ ĐỒ THỊ HAMILTON Năm 1857, nhà toán học người Ailen là Hamilton(1805-1865) đưa trò chơi “đi vòng quanh giới” sau Cho hình thập nhị diện (đa diện có 12 mặt, 20 đỉnh và 30 cạnh), đỉnh hình mang tên thành phố tiếng, cạnh hình (nối hai đỉnh) là đường lại hai thành phố tương ứng Xuất phát từ thành phố, hãy tìm đường thăm tất các thành phố khác, thành phố lần, trở chỗ cũ 58 Lop12.net (6) Trước Hamilton, có thể là từ thời Euler, người ta đã biết đến câu đố hóc búa “đường mã trên bàn cờ” Trên bàn cờ, mã có thể theo đường chéo hình chữ nhật x x ô vuông Giả sử bàn cờ có x ô vuông Hãy tìm đường mã qua tất các ô bàn cờ, ô lần trở lại ô xuất phát Bài toán này nhiều nhà toán học chú ý, đặc biệt là Euler, De Moivre, Vandermonde, Hiện đã có nhiều lời giải và phương pháp giải có nhiều, đó có quy tắc: lần bố trí mã ta chọn vị trí mà vị trí này số ô chưa dùng tới nó khống chế là ít Một phương pháp khác dựa trên tính đối xứng hai nửa bàn cờ Ta tìm hành trình mã trên nửa bàn cờ, lấy đối xứng cho nửa bàn cờ còn lại, sau đó nối hành trình hai nửa đã tìm lại với Trò chơi và câu đố trên dẫn tới việc khảo sát lớp đồ thị đặc biệt, đó là đồ thị Hamilton 4.2.1 Định nghĩa: Chu trình (t.ư đường đi) sơ cấp chứa tất các đỉnh đồ thị (vô hướng có hướng) G gọi là chu trình (t.ư đường đi) Hamilton Một đồ thị có chứa chu trình (t.ư đường đi) Hamilton gọi là đồ thị Hamilton (t.ư nửa Hamilton) Thí dụ 3: 1) C J I K B L O M T H P N Q R S A D G F E Đồ thị Hamilton (hình thập nhị diện biểu diẽn mặt phẳng) với chu trình Hamilton A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, A (đường tô đậm) 2) Trong đợt thi đấu bóng bàn có n (n 2) đấu thủ tham gia Mỗi đấu thủ gặp đấu thủ khác đúng lần Trong thi đấu bóng bàn có khả thắng thua 59 Lop12.net (7) Chứng minh sau đợt thi đấu có thể xếp tất các đấu thủ đứng thành hàng dọc, để người đứng sau thắng người đứng trước anh (chị) ta Xét đồ thị có hướng G gồm n đỉnh cho đỉnh ứng với đấu thủ và có cung nối từ đỉnh u đến đỉnh v đấu thủ ứng với u thắng đấu thủ ứng với v Như vậy, đồ thị G có tính chất là với hai đỉnh phân biệt u và v, có và hai cung (u,v) (v,u), đồ thị gọi là đồ thị có hướng đầy đủ Từ Mệnh đề 4.2.2 đây, G là đồ thị nửa Hamilton Khi đó đường Hamilton G cho ta xếp cần tìm 3) Một lời giải hành trình mã trên bàn cờ x 8: D T Đường Hamilton tương tự đường Euler cách phát biểu: Đường Euler qua cạnh (cung) đồ thị đúng lần, đường Hamilton qua đỉnh đồ thị đúng lần Tuy nhiên, bài toán tìm đường Euler đồ thị đã giải trọn vẹn, dấu hiệu nhận biết đồ thị Euler là khá đơn giản và dễ sử dụng, thì các bài toán tìm đường Hamilton và xác định đồ thị Hamilton lại khó nhiều Đường Hamilton và đồ thị Hamilton có nhiều ý nghĩa thực tiễn và đã nghiên cứu nhiều, còn khó khăn lớn chưa vượt qua Người ta tìm vài điều kiện đủ để nhận biết lớp nhỏ các đồ thị Hamilton và đồ thị nửa Hamilton Sau đây là vài kết 4.2.2 Định lý (Rédei): Nếu G là đồ thị có hướng đầy đủ thì G là đồ thị nửa Hamilton 60 Lop12.net (8) Chứng minh: Giả sử G=(V,E) là đồ thị có hướng đầy đủ và =(v1,v2, , vk-1, vk) là đường sơ cấp đồ thị G Nếu đã qua tất các đỉnh G thì nó là đường Hamilton G Nếu G còn có đỉnh nằm ngoài , thì ta có thể bổ sung dần các đỉnh này vào và cuối cùng nhận đường Hamilton Thật vậy, giả sử v là đỉnh tuỳ ý không nằm trên a) Nếu có cung nối v với v1 thì bổ sung v vào đầu đường để 1=(v, v1, v2, , vk-1, vk) b) Nếu tồn số i (1 i k-1) mà từ vi có cung nối tới v và từ v có cung nối tới vi+1 thì ta chen v vào vi và vi+1 để đường sơ cấp 2=(v1, v2, , vi, v, vi+1, , vk) c) Nếu hai khả trên không xảy nghĩa là với i (1 i k) vi có cung tới v Khi đó bổ sung v vào cuối đường và đường 3=(v1, v2, , vk-1, vk, v) Nếu đồ thị G có n đỉnh thì sau n-k bổ sung ta nhận đường Hamilton 4.2.3 Định lý (Dirac, 1952): Nếu G là đơn đồ thị có n đỉnh và đỉnh G n có bậc không nhỏ thì G là đồ thị Hamilton Chứng minh: Định lý chứng minh phản chứng Giả sử G không có chu trình Hamilton Ta thêm vào G số đỉnh và nối đỉnh này với đỉnh G, ta đồ thị G’ Giả sử k (>0) là số tối thiểu các đỉnh cần thiết để G’ chứa chu trình Hamilton Như vậy, G’ có n+k đỉnh y b a a' b’ Gọi P là chu trình Hamilton ayb a G’, đó a và b là các đỉnh G, còn y là các đỉnh Khi đó b không kề với a, vì trái lại thì ta có thể bỏ đỉnh y và chu trình ab a, mâu thuẩn với giả thiết tính chất nhỏ k Ngoài ra, a’ là đỉnh kề nào đó a (khác với y) và b’ là đỉnh nối tiếp a’ chu trình P thì b’ không thể là đỉnh kề với b, vì trái lại thì ta có thể thay P chu trình aa’ bb’ a, đó không có y, mâu thuẩn với giả thiết tính chất nhỏ k Như vậy, với đỉnh kề với a, ta có đỉnh không kề với b, tức là số đỉnh n không kề với b không thể ít số đỉnh kề với a (số đỉnh kề với a không nhỏ +k) 61 Lop12.net (9) n +k Vì không có đỉnh n nào vừa kề với b lại vừa không kề với b, nên số đỉnh G’ không ít 2( +k)=n+2k, mâu thuẩn với giả thiết là số đỉnh G’ n+k (k>0) Định lý chứng minh 4.2.4 Hệ quả: Nếu G là đơn đồ thị có n đỉnh và đỉnh G có bậc không nhỏ n 1 thì G là đồ thị nửa Hamilton Chứng minh: Thêm vào G đỉnh x và nối x với đỉnh G thì ta nhận n 1 đơn đồ thị G’ có n+1 đỉnh và đỉnh có bậc không nhỏ Do đó theo Định lý 4.2.3, G’ có chu trình Hamilton Bỏ x khỏi chu trình này, ta nhận đường Hamilton G 4.2.5 Định lý (Ore, 1960): Nếu G là đơn đồ thị có n đỉnh và hai đỉnh nào không kề có tổng số bậc không nhỏ n thì G là đồ thị Hamilton Mặt khác, theo giả thiết số đỉnh kề với b không nhỏ 4.2.6 Định lý: Nếu G là đồ thị phân đôi với hai tập đỉnh là V1, V2 có số đỉnh cùng n (n 2) và bậc đỉnh lớn Thí dụ 4: a e da f e b c d d b e a b g f h g Đồ thị G này có đỉnh, đỉnh nào có bậc 4, nên theo Định lý 4.2.3, G là đồ thị Hamilton a n thì G là đồ thị Hamilton c Đồ thị G’ này có đỉnh bậc và đỉnh bậc kề nên tổng số bậc hai đỉnh không kề 8, nên theo Định lý 4.2.5, G’ là đồ thị Hamilton b f Đồ thị phân đôi này có bậc đỉnh (> 3/2), nên theo Định lý 4.2.6, nó là đồ thị Hamilton 62 Lop12.net (10) 4.2.7 Bài toán xếp chỗ ngồi: Có n đại biểu từ n nước đến dự hội nghị quốc tế Mỗi ngày họp lần ngồi quanh bàn tròn Hỏi phải bố trí bao nhiêu ngày và bố trí nào cho ngày, người có hai người kế bên là bạn Lưu ý n người muốn làm quen với Xét đồ thị gồm n đỉnh, đỉnh ứng với người dự hội nghị, hai đỉnh kề hai đại biểu tương ứng muốn làm quen với Như vậy, ta có đồ thị đầy đủ Kn Đồ thị này là Hamilton và rõ ràng chu trình Hamilton là cách xếp yêu cầu bài toán Bái toán trở thành tìm các chu trình Hamilton phân biệt đồ thị đầy đủ Kn (hai chu trình Hamilton gọi là phân biệt chúng không có cạnh chung) n 1 Định lý: Đồ thị đầy đủ Kn với n lẻ và n có đúng chu trình Hamilton phân biệt n(n 1) Chứng minh: Kn có cạnh và chu trình Hamilton có n cạnh, nên số chu n 1 trình Hamilton phân biệt nhiều là n Giả sử các đỉnh Kn là 1, 2, , n Đặt đỉnh tâm đường tròn và các đỉnh 2, , n đặt cách trên đường tròn (mỗi cung là 3600/(n-1) cho đỉnh lẻ nằm nửa đường tròn trên và đỉnh chẵn nằm nửa đường tròn Ta có chu trình Hamilton đầu tiên là 1,2, , n,1 Các đỉnh giữ cố định, xoay khung theo chiều kim đồng hồ với các góc quay: n 360 360 360 360 , , , , , n 1 n 1 n 1 n 1 n3 n 1 ta nhận khung phân biệt với khung đầu tiên Do đó ta có chu trình 2 Hamilton phân biệt Thí dụ 5: Giải bài toán xếp chỗ ngồi với n=11 Có (111)/2=5 cách xếp chỗ ngồi phân biệt sau: 10 11 1 11 10 1 11 10 1 11 10 63 Lop12.net (11) 11 10 5 3 1 1 1 1 8 BÀI TẬP CHƯƠNG IV: Với giá trị nào n các đồ thị sau đây có chu trình Euler ? a) Kn, b) Cn, c) Wn, d) Qn Với giá trị nào m và n các đồ thị phân đôi đầy đủ Km,n có: a) chu trình Euler ? b) đường Euler ? Với giá trị nào m và n các đồ thị phân đôi đầy đủ Km,n có chu trình Hamilton ? Chứng minh đồ thị lập phương Qn là đồ thị Hamilton Vẽ cây liệt kê tất các chu trình Hamilton đồ thị lập phương Q3 Trong họp có 15 người ngày ngồi với quanh bàn tròn lần Hỏi có bao nhiêu cách xếp cho lần ngồi họp, người có hai người bên cạnh là bạn mới, và xếp nào ? Hiệu trưởng mời 2n (n 2) sinh viên giỏi đến dự tiệc Mỗi sinh viên giỏi quen ít n sinh viên giỏi khác đến dự tiệc Chứng minh luôn luôn có thể xếp tất các sinh viên giỏi ngồi xung quanh bàn tròn, để người ngồi hai người mà sinh viên đó quen Một ông vua đã xây dựng lâu đài để cất báu vật Người ta tìm thấy sơ đồ lâu đài (hình sau) với lời dặn: muốn tìm báu vật, cần từ các phòng bên ngoài cùng (số 1, 2, 6, 10, ), qua tất các cửa phòng, cửa lần; báu vật giấu sau cửa cuối cùng Hãy tìm nơi giấu báu vật 64 Lop12.net 1 2 1 (12) 10 11 13 12 14 15 16 17 18 21 20 19 Đồ thị cho hình sau gọi là đồ thị Peterson P a e b g f h k d a) Tìm đường Hamilton P b) Chứng minh P \ {v}, với v là đỉnh P, là đồ thị Hamilton i c Giải bài toán người phát thư Trung Hoa với đồ thị cho hình sau: 10 Chứng minh đồ thị G cho s d r c hình sau có đường Hamilton (từ s đến r) không có chu trình Hamilton e g b f a 65 Lop12.net h (13) 11 Cho thí dụ về: 1) Đồ thị có chu trình vừa là chu trình Euler vừa là chu trình Hamilton; 2) Đồ thị có chu trình Euler và chu trình Hamilton, hai chu trình đó không trùng nhau; 3) Đồ thị có đỉnh, là đồ thị Hamilton, không phải là đồ thị Euler; 4) Đồ thị có đỉnh, là đồ thị Euler, không phải là đồ thị Hamilton 12 Chứng minh mã không thể qua tất các ô bàn cờ có x x ô vuông, ô lần, trở chỗ cũ 66 Lop12.net (14)