C âu hỏi và bài tập
1. Đ ường đi Hamilton của một đồ thị là một đường đi qua mỗi đỉnh của đồ thị đúng một lần. Bạn hãy giải thích vì sao trong các đồ thị sau:
1. 2. 3.
thì các đường đi: a, b, c, d trong đồ thị 1; a, b, c, d, e trong đồ thị 2, là đường đi Hamilton, còn các đường đi: a, b, c trong đồ thị 1; b, a, c, d, e, b, d, a, c, b trong đồ thị 2; a, b, c, d, a, c trong đồ thị 3 không phải là đường đi Hamilton.
2. Một chu trình (tức đường đi khép kín) bắt đàu từ một đinh nào đó, qua mỗi đinh của đồ thị đúng một lần rồi quay trờ về đinh ban đầu thì được gọi là một chu trình Hamilton. Bạn hãy kiểm tra xem trong 3 đồ thị ờ hình trên, đồ thị nào có chu trình Hamilton.
3. Để liệt kê tắt cả các chu trình Hamilton cùa một đồ thị n đinh, ta có thể làm như sau:
Bước 1. Tạo mảng b độ dài n+1 như một ngăn xếp để chứa 1 đường đi. Đặt b[0]:=l và i:=l (xét đinh thứ 1 của chu trình).
Bưởc 2. Lần lưọt cho b[i] các giá trị từ 1 tới n (dùng vòng For)
là c á c đ in h kề v ớ i b [ i - 1 ] m à k h ô n g trù n g v ớ i c á c đ in h đ ã đ i q u a t ừ b [0 ]
đến b[i-l]. Với mỗi giá trị của.b[i]:
• Nếu i < n thì tăng i lên 1 đon vị (xét đinh tiếp theo) và quay lại bước 2.
• Nếu i = n và b[i] = b[0] thì in dãy b.
Hãy lập chương trình liệt kẽ tất cả các chu trình Hamilton cùa một đồ thị.
4. Hãy chứng minh định lý Hamilton sau đây:
Đồ thị liên thông G với số đinh n>2 có chu trình Hamilton khi m ọi đỉnh cùa nó đều có bậc không nhò hơn n/2.
5. Bạn hãy lập chương trình liệt kê tất cả các đường đi Hamilton của một đồ thị.
6. Đồ thị K„
Đồ thị Kn là đồ thị đầy đủ bao gồm n đỉnh, trong đó hai đỉnh bất kỳ đều được nối với nhau.
Hình vẽ sau mô tả các đồ thị K2, K3, K4, K 5, K$:
Chứng minh rằng đồ thị Kn có chu trình Hamilton với mọi n > 2.
7. Đồ thị Qn (n - Cube)
Đồ thị Qn là đồ thị có các đỉnh mô tả 2n xâu nhị phân (bit) độ dài n.
Hai đỉnh là kề (và có kết nối) khi và chỉ khi biểu diễn nhị phân của chúng chỉ khác nhau đúng một bit.
Hình vẽ sau mô tả các đồ thị Qi, Q2 và Q3:
1
0 1
Chứng minh rằng đồ thị Q n luôn có chu trình Hamilton với mọi n > 1.
8. Đồ thị Kn, m
Đồ thị Kra bao gồm 2 nhóm đỉnh, nhóm thứ nhất có n đỉnh, nhóm thứ hai có m đinh. Mọi đỉnh của nhóm thứ nhất đều kết nối với mọi đinh của nhóm th ứ hai, ngoài ra không có bất cứ loại kết nối nào khác.
111
011
77
3, K.3, 3 và K3.
a. Tìm điều kiện để Kn m có đường đi Hamilton.
b. Tìm điều kiện để Kn m cỏ chu trình Hamilton.
c. Trong các trường hợp có thể, hãy chi ra một chu trình hoặc đường đi Hamilton của đ ồ thị này.
9. ĐỒ thị w n
Đồ thị wn bao gồm cn cộng thêm một đinh là "tâm”, đỉnh này có kết nối với tất cả các đỉnh còn lại.
Hình vẽ sau mô tả các đồ thị w3, w4, w5, Wó:
a. Tìm điều kiện để wn có đường đi Hamilton.
b. Tìm điều kiện để wn có chu trình Hamilton.
c. Trong các tr ư ờ n g hợp có thề, hãy chỉ ra một chu trình hoặc đường đi Hamilton của đồ thị này.
10. Một đồ thị G được gọi là kép nếu tập các đinh V của đồ thị cỏ thể tách thành hai tập con rời nhau V = V| + V2 sao cho mọi cạnh của đồ thị đều kết nối một đỉnh nào đó của V] với một đinh của V2, hay nói cách khác không có cạnh nào của đồ thị nằm hoàn toàn trong V| hoặc v 2. Ví dụ đồ thị Kn m là một đồ thị kép. Chứng minh rằng một đồ thị kép với sô đinh ỉẻ sẽ không có chu trình Hamilton.
11. Xét chuyền động của con mã trên bàn cờ vua kích thước nxm. Với đinh là các ô của bàn cờ, chuyển động hợp lý của con mã là cạnh, ta sẽ
Hình vẽ sau mô tả các đô thị K% 2
tạo ra một đồ thị hoàn chinh với nm đinh. Hãy mô phòng đồ thị của chuyển động của con mã trên bàn cờ 3x3.
12. Tương tự bài trên, hãy mô phòng đồ thị của chuyển động con mã trên bàn cờ 3x4.
13. Chứng minh rằng đồ thị mô phỏng chuyển động cùa con mã trên bàn cờ nxm là đồ thị kép.
14. Với n, m là lè, chứng minh rằng trên bàn cờ nxm không tồn tại một đường đi khép kín của con mã sao cho mỗi ô đi qua đúng một lằn.
Trong các bài sau, d ữ liệu vào được nhập từ bàn phím, kết quà thế hiện trẽn màn hình.
15. Bạn hãy lập chương trình tìm một đường đi khép kín của con mã trên bàn cờ 8x8 sao cho mỗi ô được đi qua đúng 1 lần.
16. Bạn hãy lập chương trình liệt kê tất cả các đường đi cùa một con mã trên bàn cờ 8x8 sao cho mỗi ô được đi qua đúng 1 lần.
17. Trên một lưới NxN ô vuông, Kanguru có thể bước như sau: (x, y ) ổ (x+1, y-1) hoặc (x, y ) ỏ (x-5, y+7) nhưng không được ra khòi lưới. Hãy
x á c đ ịn h x e m t ừ n h ữ n g đ iể m ban đầu n à o K a n g u r u c ó th ể đi đ ế n đ ư ợ c
tât cà các ô khác cùa lưới, mỗi ô chi được đi qua một lần.
18. Cho hình lập phương, mỗi mặt của nó được đánh số bằng một số tự nhiên nào đó (ký hiệu là ai, a2, a^). Ta xét một đường'đi khép kín, xuất phát từ một mặt nào đó, đi qua tất cả 6 mặt và trờ về chỗ cũ.
Ọui tắc đi là chỉ có quyền vượt qua 1 cạnh để sang mặt bẻn cạnh. Mỗi đường đi khép kín như vậy tương ứng với một thứ tự các sổ của mặt đã đánh dấu: b tgb 2Sb }Sb i g b i Sb6Sb , . -
• Tìm một đường đi khép kín làm cực tiêu hóa hàm giá trị: 6 ib /=I
• Tìm một đường đi để cực đại hỏa hàm giá trị trên.
19. Có thể xếp tất cà 28 quân đôminô thành một dãy được hay không?
Neu được, hãy chi ra một cách xếp.
20. Giả sử đã có một quân đôminô trên mặt bàn. Hãy lập chương trình xêp các quân đôminô tuần tự về hai phía sao cho số quân đôminô còn lại trên tay có số điểm bé nhất.
79