BÀI 13
7.2. Chu trình Hamilton
Năm 1857 W. R. Hamilton, nhà toán hc người Ailen đã đưa ra trò chơi sau
đây: Trên mi đỉnh trong s 20 đỉnh ca mt khi đa din 12 mt ngũ giác đều có
ghi tên mt thành ph ln ca thế gii. Hãy tìm cách đi bng các cnh ca khi này
để đi qua tt c các thành ph, mi thành ph đúng mt ln.
Bài toán này đã dn ti nhng khái nim sau đây.
Định nghĩa 7.5: Đường Hamilton là đường đi qua mi đỉnh ca đồ th đúng mt
ln. Chu trình Hamilton là chu trình đi qua mi đỉnh ca đồ th đúng mt ln.
Ví d 7.6:
1. T chc tour du lch sao cho người du lch thăm quan mi thng cnh trong
thành ph đúng mt ln.
2. Cho quân mã đi trên bàn c vua sao cho nó đi qua mi ô đúng mt ln (bài
toán mã đi tun).
Vi mt đồ th đã cho, đường (chu trình) Hamilton có th tn ti hoc không.
Ví d 7.7:
Hình 7.6. Đồ th có và đồ th không có chu trình Hamilton
Định lý 7.6 (Rédei): Đồ th đầy đủ luôn có đường đi Hamilton.
Chng minh:
Xét đồ th có hướng G.
Ta chng minh bng quy np theo s đỉnh n ca G.
n = 1, 2 : hin nhiên.
(n) (n+1) : Gi s G là đồ th đầy đủn+1 đỉnh và đồ th G xây dng t
G bng cách bt mt đỉnh ac cnh k vi a. Đồ th Gn đỉnh và cũng
đầy đủ nên theo gi thiết quy np, nó có đường Hamilton:
(H) = < x1 , x2 , ... , xn >
Nếu trong G có cnh (xn, a) thì đường < (H) , a > sđường Hamilton.
Nếu trong G có cnh (a, x1) thì đường < a , (H) > sđường Hamilton.
Trong trường hp ngược li, đồ th G phi có các cnh (a, xn) và (x1, a) nghĩa là có
các cnh ngược hướng nhau. Khi đó s phi có ít nht mt cp cnh sát nhau nhưng
ngược hướng nhau là (xi, a) và (a, xi+1).
Hình 7.7. Cách tìm đường đi Hamilton
Ta có đường < x1 , ..., xi , a , xi+1 , ..., xn > là mt đường đi Hamilton ca G.
Đồ th G được gi là đồ thbc 1 nếu ti mi đỉnh có đúng mt cnh vào
và mt cnh ra. Hin nhiên, chu trình Hamilton là mt đồ th riêng bc 1 ca đồ th
đã cho.
Định lý 7.7: Đồ th G = (V, F) có đồ th riêng bc 1 khi và ch khi:
B V, | B | | F(B) |.
Chng minh: Ký hiu tp đỉnh ca đồ th là V = {a1, a2, ... , an}. Lp tp V = {b1,
b2, ... , bn} sao cho: VV = . Ta xây dng đồ th hai phn H = (V, V, F) vi:
bj F(ai) aj F(ai)
Hình 7.8. Cách xây dng đồ th hai phn
Nếu đồ th G có đồ th riêng bc 1 là G1 = (V, F1) thì xét tp cnh W ca H như
sau: (ai, bj) W aj F1(ai). Đó là mt cp ghép n cnh trong H.
Ngược li, ng vi mt cp ghép n cnh W trong H s có mt đồ th riêng bc 1
ca G.
Theo H qu 5.4 thì:
| W | = n | V | - d0 d0 = 0
d0 = max {| B | - | F’(B) | B V} =
= max {| B | - | F(B) | B V} = 0
Suy ra: | B | | F(B) |. Đó là điu phi chng minh.
Ví d 7.8: Xét đồ th có hướng G = (V, F) được cho trong hình v dưới đây.
Hình 7.9. Đồ th định hướng và đồ th hai phn tương ng
Đặt V = {1, 2, 3, 4} và xây dng đồ th hai phn H. Chn cp ghép ln nht
W = {(a, 2), (b, 3), (c, 4), (d, 1)}. T đó xây dng được chu trình Hamilton cho đồ
th G là [a, b, c, d].
H qu 7.8: Nếu đồ th G có chu trình Hamilton thì:
B V , | B | | F(B) |.
Chng minh:
Vì chu trình Hamilton là đồ th riêng bc 1. Điu ngược li là không đúng vì
đồ th riêng có th gm nhiu mng liên thông ri nhau.
T H qu này chúng ta có th khng định rng: Nếu trong đồ th có mt tp
con B các đỉnh mà | B | > | F(B) | thì đồ th này không có chu trình Hamilton.
H qu 7.9: Gi s đồ th có hướng G có đường đi Hamilton.
Ký hiu: d = max {| B | - | F(B) |B V}. Khi đó, s d {0, 1}.
Chng minh:
Gi s đồ th có hướng G có đường đi Hamilton < a , ... , b >.
Nếu trong đồ th G có cnh (b, a) thì G có chu trình Hamilton và theo H qu
7.8 thì d = 0.
Ngược li, gi s đồ th G không có cnh (b, a). Xét đồ th G xây dng t
đồ th G và thêm cnh (b, a). Thế thì đồ th G sd' = 0. Mt khác, vì ta ch
thêm mt cnh mà không thêm đỉnh, nên: d
d' + 1. T đó suy ra d 1.
Cũng theo H qu này chúng ta có th khng định rng: Nếu đồ th nào đó
d 2 thì đồ th y không có đường đi Hamilton.
B đề 7.10: Gi s đồ th G có đường đi đơn vô hướng cc đại < a0 , a1 , ... , aq>.
Nếu r(a0) + r(aq) q +1 thì đồ th con G to bi tp đỉnh {a0, a1, ..., aq} có chu
trình vô hướng Hamilton.
Chng minh:
Ký hiu r'(a) là bc ca đỉnh a trong G. Vì đường đon đã cho là cc đại nên:
r'(a0) = r(a0), r'(aq) = r(aq).
Hình 7.10. Cách tìm chu trình Hamilton
Gi s r(a0) = k, nghĩa là đỉnh a0 k vi k đỉnh trên đường đi là a1 , ai2 , ... , aik.
- Nếu a0 k vi aq thì G có chu trình vô hướng Hamilton.
- Nếu như aq không k vi a0 , ai2-1 , ... , aik-1. Đó là nhng đỉnh nm bên trái ca
dãy đỉnh trong đường đi nói trên. Thế thì: r(aq) q - k. Do đó: r(a0) + r(aq) q,
trái vi gi thiết. Vy phi có ít nht mt đỉnh ai-1 sao cho a0 k vi ai và aq
k vi ai-1. Khi đó dãy các đỉnh [a0 , ai , ... , aq , ai-1, ..., a0] là mt chu trình vô
hướng ca G.
B đề 7.11: Gi s đồ th G liên thông.
Nếu các đỉnh ca đường đi đơn vô hướng dài nht to nên mt đồ th con G
có chu trình vô hướng Hamilton thì chu trình đó cũng chính là chu trình vô hướng
Hamilton ca đồ th G.
Chng minh:
Ta ch cn chng minh rng, đồ th con G chính là đồ th G. Gi s ngược li,
đỉnh a thuc G nhưng không thuc đồ th con G. Vì đồ th G liên thông nên
vi đỉnh b thuc G sđường đi vô hướng trong G ni đỉnh b vi đỉnh a
< b = a0 , a1 , ... , a >.
Hình 7.11. Đường đi ni đỉnh a vi chu trình
Đỉnh b thuc G còn đỉnh a không thuc G. Do vy, sđỉnh ai đỉnh đầu
tiên ca đường đi không thuc G.
Xét đường đi sau đây trong đồ th G: Ly chu trình vô hướng Hamilton ca G, b
đi mt cnh k vi ai-1 và thêm vào cnh (ai-1, ai). Đường đi này có độ dài bng s
đỉnh ca G, trong khi đó đường đi đơn dài nht đã cho trong G chđộ dài là
s đỉnh ca G bt đi 1. Vy trái vi gi thiết.
Định lý 7.12: Gi s đồ th G có n đỉnh.
1) Nếu a, b V, r(a) + r(b) n-1 thì G có đường đi vô hướng Hamilton.
2) Nếu a, b V, r(a) + r(b) n thì G có chu trình vô hướng Hamilton.
Chng minh:
1) Gi s < x0 , ... , xq > là đường đi đơn vô hướng dài nht ca G. Đường đi này
độ dài là q.
- Nếu q = n-1 thì đó là đường đi Hamilton ca đồ th G.
- Nếu q n-2 thì r(x0) + r(xq) n-1 q +1 và theo B đề 7.10 đồ th con G to
bi tp đỉnh {x0 , ..., xq} có chu trình vô hướng Hamilton. Gi s chu trình vô
hướng Hamilton đó là [y0 , y1 , ... , yq].
q n-2 nên có ít nht mt đỉnh y ca G nm ngoài chu trình trên.
T 1) suy ra đồ th G liên thông. Vy đỉnh y phi ni được vi mt đỉnh yj nào
đó trong chu trình bng mt đường đi đơn vô hướng.
Ta nhn được đường đi < y , ... , yj , yj-1 , ... , y0 , yq , ... , yj+2 , yj+1 > có độ dài ln
hơn q +1. Vy mâu thun vi tính cc đại ca đường đi < x0 , ... , xq >.
Do vy q = n-1. Đồ th G luôn có đường đi vô hướng Hamilton.
2) Theo 1) thì trong đồ th G có đường đi đơn vô hướng dài nht cha tt c n
đỉnh là < y0 , y1 , ... , yn-1 >.
Hơn na, r(y0) + r(yn-1) n = (n-1) +1, nên theo B đề 7.10 thì đồ th con G sinh
bi tp đỉnh {y0, y1, ... , yn-1} có chu trình vô hướng Hamilton, và đó cũng chính là
chu trình Hamilton ca đồ th G.
Ví d 7.9: Xét đồ th có hướng sau đây.