Professional Documents
Culture Documents
Hamilton
Hamilton
Hamilton
HÀ NỘI – 2021
I. Trò chơi Hamilton
Năm 1857 W. R. Hamilton đưa trò chơi sau đây:
Trên mỗi đỉnh trong số 20 đỉnh của khối đa diện ngũ giác đều 12 mặt ghi
tên một thành phố trên thế giới. Hãy tìm cách đi bằng các cạnh của khối
đa diện để qua tất cả các thành phố, mỗi thành phố đúng một lần.
4 4
2 3 2 3
hình H Một chu trình trong hình H
2. Đường đi qua tất cả các đỉnh của đồ thị mỗi đỉnh đúng một lần
được gọi là đường Hamilton.
VD:
2 5 2 5
4 4
3 3
6 1 6
1
Hình G Một đường đi Hamilton trong hình G
G1 G2 G3
III. Định lý
Định lí Rédei: Nếu G là đồ thị có hướng đầy đủ thì G là đồ thị nửa
Hamilton.
Định lí Dirac (1952): Nếu G là một đơn đồ thị có n đỉnh và mọi
n
đỉnh của G đều có bậc không nhỏ hơn 2 thì G là một đồ thị
Hamilton (n 3)
VD: Đồ thị này có 8 đỉnh, đỉnh nào cũng có bậc 4, nên theo định lí là
đồ thị Hamilton.
Định lí: Nếu G là đồ thị phân đôi với hai tập đỉnh là V1, V2
n
có số đỉnh cùng bằng n (n 2) và bậc của mỗi đỉnh lớn hơn 2 thì G
là một đồ thị Hamilton
VD: Đồ 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 nó là đồ thị Hamilton.
Nếu một quân mã đi hết 64 vị trí và tại vị trí cuối cùng có thể di
chuyển đến vị trí bắt đầu thông qua một nước cờ thì đó gọi là một
hành trình đóng. (chu trình Hamilton)
Có những hành trình, trong đó quân mã sau khi đi hết tất cả 64 ô
của bàn cờ và từ ô cuối của hành trình không thể đi về ô xuất phát
chỉ bằng một nước đi. Những hành trình như vậy được gọi là hành
trình mở. (đường đi Hamilton)
Gọi x,y là độ dài bước đi trên các trục Oxy. Một bước đi hợp lệ của
quân mã sẽ như sau: |x| + |y| = 3 ( Với |x|,|y| > 0).
Khi đó ở một vị trí bất kì quân mã có có 8 đường có thể di chuyển.
Chưa xét đến bước đi đó có hợp lệ hay không.
Các bước đi đó là: ( -2, -1), ( -2, 1), ( -1, -2), ( -1, 2), ( 1, -2), ( 1,
2), ( 2, -1), ( 2, 1)
Để đơn giản ta sẽ tạo hay mảng X[], Y[] để chứa các giá trị trên.
Với mỗi X[i], Y[i] sẽ là một cách di chuyển của quân mã(0 ≤i≤ 7 ).
4. Kiểm tra tính hợp lệ của bước đi
Ta sẽ dùng một mảng hai chiều A[n*n] để lưu vị trí của từng ô
trong bàn cờ. Tất cả mảng đều khởi tạo giá trị là 0(quân mã chưa đi
qua).
Gọi x,y là vị trí hiện tại của quân mã, thì vị trí tiếp theo mà quân
mã đi sẽ có dạng x+X[i], y+Y[i]. Một vị trí được gọi là hợp lệ thì
sẽ thỏa mãn tính chất sau:
0 ≤ x+X[i] ≤ n-1.
0 ≤ y+Y[i]. ≤ n-1.
Nếu bước đi đó là bước đi đúng thì ta sẽ lưu thứ tự của bước đi đó
vào mảng A[ x+X[i], y+Y[i] ].