Giáo trình Toán rời rạc (Phần 1)
Tóm tắt Giáo trình Toán rời rạc (Phần 1): ...a: số thực khác không; n: số nguyên không âm) if n = 0 then power(a,n) := 1 else power(a,n) := a * power(a,n-1) Thí dụ 11: Tìm thuật toán đệ quy tính UCLN của hai số nguyên a,b không âm và a > b. procedure UCLN (a,b: các số nguyên không âm, a > b) if b = 0 then UCLN (a,b) := a else UCLN ... ni vật được đặt vào trong hộp thứ i, với i = 1, 2, ..., k bằng 30 )!...!.(!....!. ! 121 kk nnnnnn n . 2.4. SINH CÁC HOÁN VỊ VÀ TỔ HỢP. 2.4.1. Sinh các hoán vị: Có nhiều thuật toán đã được phát triển để sinh ra n! hoán vị của tập {1,2,...,n}. Ta sẽ mô tả một trong các phương pháp đó, p...biểu diễn bằng một đồ thị vòng Cn. Thông báo gửi từ thiết bị này tới thiết bị khác được truyền đi theo vòng tròn cho tới khi đến nơi nhận. Cấu trúc hình sao Cấu trúc vòng tròn Cấu trúc hỗn hợp 0 1 10 11 0100 000 - 100 - 010 - 001 - 011 - 101 - 111 - 110 - v1 v2 v3 v4 v5 v6 v...
ầu, mỗi cầu chỉ một lần thôi không?”. Nếu ta coi mỗi khu vực A, B, C, D như một đỉnh và mỗi cầu qua lại hai khu vực là một cạnh nối hai đỉnh thì ta có sơ đồ của Konigsberg là một đa đồ thị G như hình trên. Bài toán tìm đường đi qua tất cả các cầu, mỗi cầu chỉ qua một lần có thể được phát biểu lại bằng mô hình này như sau: Có tồn tại chu trình đơn trong đa đồ thị G chứa tất cả các cạnh? 4.1.1. Định nghĩa: Chu trình (t.ư. đường đi) đơn chứa tất cả các cạnh (hoặc cung) của đồ thị (vô hướng hoặc có hướng) G được gọi là chu trình (t.ư. đường đi) Euler. Một đồ thị liên thông (liên thông yếu đối với đồ thị có hướng) có chứa một chu trình (t.ư. đường đi) Euler được gọi là đồ thị Euler (t.ư. nửa Euler). Thí dụ 1: Đồ thị không nửa Euler Đồ thị nửa Euler AD B C D A C B Đồ thị Euler 55 Đồ thị Euler Đồ thị nửa Euler Điều kiện cần và đủ để một đồ thị là đồ thị Euler được Euler tìm ra vào năm 1736 khi ông giải quyết bài toán hóc búa nổi tiếng thời đó về bảy cái cầu ở Konigsberg và đây là định lý đầu tiên của lý thuyết đồ thị. 4.1.2. Định lý: Đồ thị (vô hướng) liên thông G là đồ thị Euler khi và chỉ khi mọi đỉnh của G đều 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 tại chu trình Euler P trong G. Khi đó cứ mỗi lần chu trình P đi qua một đỉnh nào đó của G thì bậc của đỉnh đó tăng lên 2. Mặt khác, mỗi cạnh của đồ thị xuất hiện trong P đúng một lần. Do đó mỗi đỉnh của đồ thị đều có bậc chẵn. 4.1.3. Bổ đề: Nếu bậc của mỗi đỉnh của đồ thị G không nhỏ hơn 2 thì G chứa chu trình đơn. Chứng minh: Nếu G có cạnh bội hoặc có khuyên thì khẳng định của bổ đề là hiển nhiên. Vì vậy giả sử G là một đơn đồ thị. Gọi v là một đỉnh nào đó của G. Ta sẽ xây dựng theo quy nạp đường đi trong đó 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 như vậy vì deg(vi) 2), v0 = v. Do tập đỉnh của G là hữu hạn, nên sau một số hữu hạn bước ta phải quay lại một đỉnh đã xuất hiện trước đó. Gọi k là số nguyên dương đầu tiên để vk=vi (0i<k). Khi đó, đường đi vi, vi+1, ..., vk-1, vk (= vi) là một chu trình đơn cần tìm. Điều kiện đủ: Quy nạp theo số cạnh của G. Do G liên thông và bậc của mọi đỉnh là chẵn nên mỗi đỉnh có bậc không nhỏ hơn 2. Từ đó theo Bổ đề 4.1.3, G phải chứa một chu trình đơn C. Nếu C đi qua tất cả các cạnh của G thì nó chính là chu trình Euler. Giả sử C không đi qua tất cả các cạnh của G. Khi đó loại bỏ khỏi G các cạnh thuộc C, ta thu được một đồ thị mới H (không nhất thiết là liên thông). Số cạnh trong H nhỏ hơn trong G và rõ ràng mỗi đỉnh của H vẫn có bậc là chẵn. Theo giả thiết quy nạp, trong mỗi thành phần liên thông của H đều tìm được chu trình Euler. Do G liên thông nên mỗi thành v v1 v2 .. .. .. 56 phần trong H có ít nhất một đỉnh chung với chu trình C. Vì vậy, ta có thể xây dựng chu trình Euler trong G như sau: Bắt đầu từ một đỉnh nào đó của chu trình C, đi theo các cạnh của C chừng nào chưa gặp phải đỉnh không cô lập của H. Nếu gặp phải đỉnh như vậy thì ta đi theo chu trình Euler của thành phần liên thông của H chứa đỉnh đó. Sau đó lại tiếp tục đi theo cạnh của C cho đến khi gặp phải đỉnh không cô lập của H thì lại theo chu trình Euler của thành phần liên thông tương ứng trong H, ... Quá trình sẽ kết thúc khi ta trở về đỉnh xuất phát, tức là thu được chu trình đi qua mỗi cạnh của đồ thị đúng một lần. 4.1.4. Hệ quả: Đồ thị liên thông G là nửa Euler (mà không là Euler) khi và chỉ khi có đúng hai đỉnh bậc lẻ trong G. Chứng minh: Nếu G là nửa Euler thì tồn tại một đường đi Euler trong G từ đỉnh u đến đỉnh v. Gọi G’ là đồ thị thu được từ G bằng cách thêm vào cạnh (u,v). Khi đó G’ là đồ thị Euler nên mọi đỉnh trong G’ đều có bậc chẵn (kể cả u và v). Vì vậy u và v là hai đỉnh duy nhất trong G có bậc lẻ. Đảo lại, nếu có đúng hai đỉnh bậc lẻ là u và v thì gọi G’ là đồ thị thu được từ G bằng cách thêm vào cạnh (u,v). Khi đó mọi đỉnh của G’ đều có bậc chẵn hay G’ là đồ thị Euler. Bỏ cạnh (u,v) đã thêm vào ra khỏi chu trình Euler trong G’ ta có được đường đi Euler từ u đến v trong G hay G là nửa Euler. 4.1.5. Chú ý: Ta có thể vạch được một chu trình Euler trong đồ thị liên thông G có bậc của mọi đỉnh là chẵn theo thuật toán Fleury sau đây. Xuất phát từ một đỉnh bất kỳ của G và tuân theo hai quy tắc sau: 1. Mỗi khi đi qua một cạnh nào thì xoá nó đi; sau đó xoá đỉnh cô lập (nếu có); 2. Không bao giờ đi qua một cầu, trừ phi không còn cách đi nào khác. C u sv w t x y z 57 Xuất phát từ u, ta có thể đi theo cạnh (u,v) hoặc (u,x), giả sử là (u,v) (xoá (u,v)). Từ v có thể đi qua một trong các cạnh (v,w), (v,x), (v,t), giả sử (v,w) (xoá (v,w)). Tiếp tục, có thể đi theo một trong 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ể đi theo một trong 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 đi theo cạnh (y,x) (xoá (y,x) và y). Vì (x,u) là cầu nên đi theo cạnh (x,v) hoặc (x,t), giả sử (x,v) (xoá (x,v)). Tiếp tục đi 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 đi 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 đi từ Sở Bưu Điện, qua một số đường phố để phát thư, rồi quay về Sở. Người ấy phải đi qua các đường theo trình tự nào để đường đi là ngắn nhất? Bài toán được nhà toán học Trung Hoa Guan nêu lên đầu tiên (1960), vì vậy thường được gọi là “bài toán người phát thư Trung Hoa”. Ta xét bài toán ở một dạng đơn giản như sau. Cho đồ thị liên thông G. Một chu trình qua mọi cạnh của G gọi là một hành trình trong 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 nhất. Rõ ràng rằng nếu G là đồ thị Euler (mọi đỉnh đều có bậc chẵn) thì chu trình Euler trong G (qua mỗi cạnh của G đúng một lần) là hành trình ngắn nhất cần tìm. Chỉ còn phải xét trường hợp G có một số đỉnh bậc lẻ (số đỉnh bậc lẻ là một số chẵn). Khi đó, mọi hành trình trong G phải đi qua ít nhất hai lần một số cạnh nào đó. Dễ thấy rằng một hành trình qua một cạnh (u,v) nào đó quá hai lần thì không phải là hành trình ngắn nhất trong G. Vì vậy, ta chỉ cần xét những hành trình T đi qua hai lần một số cạnh nào đó của G. Ta quy ước xem mỗi hành trình T trong G là một hành trình trong đồ thị Euler GT, có được từ G bằng cách vẽ thêm một cạnh song song đối với những cạnh mà T đi qua hai lần. Bài toán đặt ra được đưa về bài toán sau: Trong các đồ thị Euler GT, tìm đồ thị có số cạnh ít nhất (khi đó chu trình Euler trong đồ thị này là hành trình ngắn nhất). Định lý (Gooodman và Hedetniemi, 1973). 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 + m(G), trong đó m(G) là số cạnh mà hành trình đi qua hai lần và được xác định như sau: Gọi V0(G) là tập hợp các đỉnh bậc lẻ (2k đỉnh) của G. Ta phân 2k phần tử của G thành k cặp, mỗi tập hợp k cặp gọi là một phân hoạch cặp của V0(G). Ta gọi độ dài đường đi ngắn nhất từ u đến v là khoảng cách d(u,v). Đối với mọi phân hoạch cặp Pi, ta tính khoảng cách giữa hai đỉnh trong từng cặp, rồi tính tổng d(P i). Số m(G) bằng cực tiểu của các d(Pi): 58 m(G)=min d(Pi). Thí dụ 2: Giải bài toán người phát thư Trung Hoa cho trong đồ thị sau: 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}, trong đó 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 = 5. m(G) = min(d(P1), d(P2), d(P3)) = 3. Do đó GT có được từ G bằng cách thêm vào 3 cạnh: (B, I), (I, H), (G, K) và GT là đồ thị Euler. Vậy hành trình ngắn nhất cần tìm là đi theo chu trình Euler trong 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 khi và chỉ khi mọi đỉnh của G đều có bậc vào bằng bậc ra. Chứng minh: Chứng minh tương tự như chứng minh của Định lý 4.1.2 và điều kiện đủ cũng cần có bổ đề dưới đây tương tự như ở Bổ đề 4.1.3. 4.1.8. Bổ đề: Nếu bậc vào và bậc ra của mỗi đỉnh của đồ thị có hướng G không nhỏ hơn 1 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) khi và chỉ khi tồn tại hai đỉnh x và y sao 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ự như ở Hệ quả 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 ra trò chơi “đi vòng quanh thế giới” như sau. Cho một hình thập nhị diện đều (đa diện đều có 12 mặt, 20 đỉnh và 30 cạnh), mỗi đỉnh của hình mang tên một thành phố nổi tiếng, mỗi cạnh của hình (nối hai đỉnh) là đường đi lại giữa hai thành phố tương ứng. Xuất phát từ một thành phố, hãy tìm đường đi thăm tất cả các thành phố khác, mỗi thành phố chỉ một lần, rồi trở về chỗ cũ. D C E FB KJ A I H G 59 Trước Hamilton, có thể là từ thời Euler, người ta đã biết đến một câu đố hóc búa về “đường đi của con mã trên bàn cờ”. Trên bàn cờ, con mã chỉ có thể đi theo đường chéo của hình chữ nhật 2 x 3 hoặc 3 x 2 ô vuông. Giả sử bàn cờ có 8 x 8 ô vuông. Hãy tìm đường đi của con mã qua được tất cả các ô của bàn cờ, mỗi ô chỉ một lần rồi trở lại ô xuất phát. Bài toán này được nhiều nhà toán học chú ý, đặc biệt là Euler, De Moivre, Vandermonde, ... Hiện nay đã có nhiều lời giải và phương pháp giải cũng có rất nhiều, trong đó có quy tắc: mỗi lần bố trí con mã ta chọn vị trí mà tại vị trí này số ô chưa dùng tới do nó khống chế là ít nhất. Một phương pháp khác dựa trên tính đối xứng của hai nửa bàn cờ. Ta tìm hành trình của con mã trên một nửa bàn cờ, rồi lấy đối xứng cho nửa bàn cờ còn lại, sau đó nối hành trình của hai nửa đã tìm lại với nhau. Trò chơi và câu đố trên dẫn tới việc khảo sát mộ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ác đỉnh của đồ thị (vô hướng hoặc có hướng) G được gọi là chu trình (t.ư. đường đi) Hamilton. Một đồ thị có chứa một chu trình (t.ư. đường đi) Hamilton được gọi là đồ thị Hamilton (t.ư. nửa Hamilton). Thí dụ 3: 1) Đồ thị Hamilton (hình thập nhị diện đều biểu diẽn trong 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 một đợt thi đấu bóng bàn có n (n 2) đấu thủ tham gia. Mỗi đấu thủ gặp từng đấu thủ khác đúng một lần. Trong thi đấu bóng bàn chỉ có khả năng thắng hoặc thua. C B D A E J L H T K I O P F M G S R N Q 60 Chứng minh rằng sau đợt thi đấu có thể xếp tất cả các đấu thủ đứng thành một hàng dọc, để người đứng sau thắng người đứng ngay trước anh (chị) ta. Xét đồ thị có hướng G gồm n đỉnh sao cho mỗi đỉnh ứng với một đấu thủ và có một cung nối từ đỉnh u đến đỉnh v nếu đấ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 bất kỳ u và v, có một và chỉ một trong hai cung (u,v) hoặc (v,u), đồ thị như thế được gọi là đồ thị có hướng đầy đủ. Từ Mệnh đề 4.2.2 dưới đây, G là một đồ thị nửa Hamilton. Khi đó đường đi Hamilton trong G cho ta sự sắp xếp cần tìm. 3) Một lời giải về hành trình của con mã trên bàn cờ 8 x 8: Đường đi Hamilton tương tự đường đi Euler trong cách phát biểu: Đường đi Euler qua mọi cạnh (cung) của đồ thị đúng một lần, đường đi Hamilton qua mọi đỉnh của đồ thị đúng một lần. Tuy nhiên, nếu như bài toán tìm đường đi Euler trong một đồ thị đã được giải quyết trọn vẹn, dấu hiệu nhận biết một đồ thị Euler là khá đơn giản và dễ sử dụng, thì các bài toán về tìm đường đi Hamilton và xác định đồ thị Hamilton lại khó hơn rất nhiều. Đường đi Hamilton và đồ thị Hamilton có nhiều ý nghĩa thực tiễn và đã được nghiên cứu nhiều, nhưng vẫn còn những khó khăn lớn chưa ai vượt qua được. Người ta chỉ mới tìm được một vài điều kiện đủ để nhận biết một lớp rất nhỏ các đồ thị Hamilton và đồ thị nửa Hamilton. Sau đây là một vài kết quả. 4.2.2. Định lý (Rédei): Nếu G là một đồ thị có hướng đầy đủ thì G là đồ thị nửa Hamilton. D T 61 Chứng minh: Giả sử G=(V,E) là đồ thị có hướng đầy đủ và =(v1,v2, ..., vk-1, vk) là đường đi sơ cấp bất kỳ trong đồ thị G. -- Nếu đã đi qua tất cả các đỉnh của G thì nó là một đường đi Hamilton của G. -- Nếu trong 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 được đường đi 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 của đường đi để được 1=(v, v1, v2, ..., vk-1, vk). b) Nếu tồn tại chỉ 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 giữa vi và vi+1 để được đường đi sơ cấp 2=(v1, v2, ..., vi, v, vi+1, ..., vk). c) Nếu cả hai khả năng trên đều không xảy ra nghĩa là với mọi i (1 i k) vi đều có cung đi tới v. Khi đó bổ sung v vào cuối của đường đi và được đường đi 3=(v1, v2, ..., vk-1, vk, v). Nếu đồ thị G có n đỉnh thì sau n-k bổ sung ta sẽ nhận được đường đi Hamilton. 4.2.3. Định lý (Dirac, 1952): Nếu G là một đơn đồ thị có n đỉnh và mọi đỉnh của G đều có bậc không nhỏ hơn 2 n thì G là một đồ thị Hamilton. Chứng minh: Định lý được chứng minh bằng phản chứng. Giả sử G không có chu trình Hamilton. Ta thêm vào G một số đỉnh mới và nối mỗi đỉnh mới này với mọi đỉnh của G, ta được đồ thị G’. Giả sử k (>0) là số tối thiểu các đỉnh cần thiết để G’ chứa một chu trình Hamilton. Như vậy, G’ có n+k đỉnh. Gọi P là chu trình Hamilton ayb ...a trong G’, trong đó a và b là các đỉnh của G, còn y là một trong các đỉnh mới. Khi đó b không kề với a, vì nếu trái lại thì ta có thể bỏ đỉnh y và được chu trình ab ...a, mâu thuẩn với giả thiết về tính chất nhỏ nhất của k. Ngoài ra, nếu a’ là một đỉnh kề nào đó của a (khác với y) và b’ là đỉnh nối tiếp ngay a’ trong chu trình P thì b’ không thể là đỉnh kề với b, vì nếu trái lại thì ta có thể thay P bởi chu trình aa’ ...bb’ ... a, trong đó không có y, mâu thuẩn với giả thiết về tính chất nhỏ nhất của k. Như vậy, với mỗi đỉnh kề với a, ta có một đỉnh không kề với b, tức là số đỉnh không kề với b không thể ít hơn số đỉnh kề với a (số đỉnh kề với a không nhỏ hơn 2 n +k). a b’ a' b y 62 Mặt khác, theo giả thiết số đỉnh kề với b cũng không nhỏ hơn 2 n +k. Vì không có đỉnh nào vừa kề với b lại vừa không kề với b, nên số đỉnh của G’ không ít hơn 2( 2 n +k)=n+2k, mâu thuẩn với giả thiết là số đỉnh của G’ bằng n+k (k>0). Định lý được chứng minh. 4.2.4. Hệ quả: Nếu G là đơn đồ thị có n đỉnh và mọi đỉnh của G đều có bậc không nhỏ hơn 2 1n thì G là đồ thị nửa Hamilton. Chứng minh: Thêm vào G một đỉnh x và nối x với mọi đỉnh của G thì ta nhận được đơn đồ thị G’ có n+1 đỉnh và mỗi đỉnh có bậc không nhỏ hơn 2 1n . Do đó theo Định lý 4.2.3, trong G’ có một chu trình Hamilton. Bỏ x ra khỏi chu trình này, ta nhận được đường đi Hamilton trong G. 4.2.5. Định lý (Ore, 1960): Nếu G là một đơn đồ thị có n đỉnh và bất kỳ hai đỉnh nào không kề nhau cũng có tổng số bậc không nhỏ hơn n thì G là một đồ thị Hamilton. 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 bằng n (n 2) và bậc của mỗi đỉnh lớn hơn 2 n thì G là một đồ thị Hamilton. Thí dụ 4: Đồ thị G này có 8 đỉnh, đỉnh nào cũng Đồ thị G’ này có 5 đỉnh bậc 4 và 2 đỉnh có bậc 4, nên theo Định lý 4.2.3, G là bậc 2 kề nhau nên tổng số bậc của hai đỉnh đồ thị Hamilton. không kề nhau bất kỳ bằng 7 hoặc 8, nên theo Định lý 4.2.5, G’ là đồ thị Hamilton. e f g h ba c d a e f g b c d a a b b d e f Đồ thị phân đôi này có bậc của mỗi đỉnh bằng 2 hoặc 3 (> 3/2), nên theo Định lý 4.2.6, nó là đồ thị Hamilton. 63 4.2.7. Bài toán sắp 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 một lần ngồi quanh một bàn tròn. Hỏi phải bố trí bao nhiêu ngày và bố trí như thế nào sao cho trong mỗi ngày, mỗi người có hai người kế bên là bạn mới. Lưu ý rằng n người đều muốn làm quen với nhau. Xét đồ thị gồm n đỉnh, mỗi đỉnh ứng với mỗi người dự hội nghị, hai đỉnh kề nhau khi hai đại biểu tương ứng muốn làm quen với nhau. Như vậy, ta có đồ thị đầy đủ Kn. Đồ thị này là Hamilton và rõ ràng mỗi chu trình Hamilton là một cách sắp xếp như yêu cầu của bài toán. Bái toán trở thành tìm các chu trình Hamilton phân biệt của đồ thị đầy đủ Kn (hai chu trình Hamilton gọi là phân biệt nếu chúng không có cạnh chung). Định lý: Đồ thị đầy đủ Kn với n lẻ và n 3 có đúng 2 1n chu trình Hamilton phân biệt. Chứng minh: Kn có 2 )1( nn cạnh và mỗi chu trình Hamilton có n cạnh, nên số chu trình Hamilton phân biệt nhiều nhất là 2 1n . Giả sử các đỉnh của Kn là 1, 2, ..., n. Đặt đỉnh 1 tại tâm của một đường tròn và các đỉnh 2, ..., n đặt cách đều nhau trên đường tròn (mỗi cung là 3600/(n-1) sao cho đỉnh lẻ nằm ở nửa đường tròn trên và đỉnh chẵn nằm ở nửa đường tròn dưới. Ta có ngay chu trình Hamilton đầu tiên là 1,2, ..., n,1. Các đỉnh được giữ cố định, xoay khung theo chiều kim đồng hồ với các góc quay: 1 3600 n , 2. 1 3600 n , 3. 1 3600 n , ..., 2 3n . 1 3600 n , ta nhận được 2 3n khung phân biệt với khung đầu tiên. Do đó ta có 2 1n chu trình Hamilton phân biệt. Thí dụ 5: Giải bài toán sắp xếp chỗ ngồi với n=11. Có (111)/2=5 cách sắp xếp chỗ ngồi phân biệt như sau: 1 2 3 4 5 6 7 8 9 10 11 1 1 3 5 2 7 4 9 6 11 8 10 1 1 5 7 3 9 2 11 4 10 6 8 1 1 7 9 5 11 3 10 2 8 4 6 1 12 3 4 5 n 64 1 9 11 7 10 5 8 3 6 2 4 1 BÀI TẬP CHƯƠNG IV: 1. Với giá trị nào của n các đồ thị sau đây có chu trình Euler ? a) Kn, b) Cn, c) Wn, d) Qn. 2. Với giá trị nào của m và n các đồ thị phân đôi đầy đủ Km,n có: a) chu trình Euler ? b) đường đi Euler ? 3. Với giá trị nào của m và n các đồ thị phân đôi đầy đủ Km,n có chu trình Hamilton ? 4. Chứng minh rằng đồ thị lập phương Qn là một đồ thị Hamilton. Vẽ cây liệt kê tất cả các chu trình Hamilton của đồ thị lập phương Q3. 5. Trong một cuộc họp có 15 người mỗi ngày ngồi với nhau quanh một bàn tròn một lần. Hỏi có bao nhiêu cách sắp xếp sao cho mỗi lần ngồi họp, mỗi người có hai người bên cạnh là bạn mới, và sắp xếp như thế nào ? 6. 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 nhất n sinh viên giỏi khác đến dự tiệc. Chứng minh rằng luôn luôn có thể xếp tất cả các sinh viên giỏi ngồi xung quanh một bàn tròn, để mỗi người ngồi giữa hai người mà sinh viên đó quen. 7. Một ông vua đã xây dựng một lâu đài để cất báu vật. Người ta tìm thấy sơ đồ của lâu đài (hình sau) với lời dặn: muốn tìm báu vật, chỉ cần từ một trong các phòng bên ngoài cùng (số 1, 2, 6, 10, ...), đi qua tất cả các cửa phòng, mỗi cửa chỉ một lần; báu vật được giấu sau cửa cuối cùng. Hãy tìm nơi giấu báu vật 12 3 75 1 1 9 86 4 1 0 12 3 5 7 9 1 1 4 6 8 1 0 12 3 5 7 9 1 1 4 6 1 08 2 1 3 1 1 9 75 4 6 8 1 0 1 1 1 2 3 5 7 9 4 6 8 1 0 65 8. Đồ thị cho trong hình sau gọi là đồ thị Peterson P. 9. Giải bài toán người phát thư Trung Hoa với đồ thị cho trong hình sau: 10. Chứng minh rằng đồ thị G cho trong hình sau có đường đi Hamilton (từ s đến r) nhưng không có chu trình Hamilton. 21 3 4 5 6 7 8 9 10 11 1 2 1 3 1 4 1 51 6 1 7 1 8 1 9 2 0 2 1 a e k i bg f h d c a) Tìm một đường đi Hamilton trong P. b) Chứng minh rằng P \ {v}, với v là một đỉnh bất kỳ của P, là một đồ thị Hamilton. a c b s r f e d g h 66 11. Cho thí dụ về: 1) Đồ thị có một chu trình vừa là chu trình Euler vừa là chu trình Hamilton; 2) Đồ thị có một chu trình Euler và một chu trình Hamilton, nhưng hai chu trình đó không trùng nhau; 3) Đồ thị có 6 đỉnh, là đồ thị Hamilton, nhưng không phải là đồ thị Euler; 4) Đồ thị có 6 đỉnh, là đồ thị Euler, nhưng không phải là đồ thị Hamilton. 12. Chứng minh rằng con mã không thể đi qua tất cả các ô của một bàn cờ có 4 x 4 hoặc 5 x 5 ô vuông, mỗi ô chỉ một lần, rồi trở về chỗ cũ.
File đính kèm:
- giao_trinh_toan_roi_rac_phan_1.pdf