Hamilton

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

BỘ CÔNG AN

HỌC VIỆN AN NINH NHÂN DÂN


KHOA AN TOÀN THÔNG TIN
--- ---

CHU TRÌNH VÀ ĐƯỜNG


HAMILTON

Nhóm thực hiện:


1. Hoàng Hải Hưng
2. Võ Việt Quân
3. Ngô Tấn Đạt

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.

II. Định nghĩa


1. Chu trình bắt đầu từ một đỉnh v nào đó qua tất
cả các đỉnh còn lại mỗi đỉnh đúng một lần rồi quay trở về 𝑣 được
gọi là chu trình Hamilton.
VD:
1 5 1 5

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

3. Đồ thị G được gọi là đồ thị Hamilton nếu nó chứa chu trình


Hamilton và gọi là đồ thị nửa Hamilton nếu nó có đường đi
Hamilton. Rõ ràng đồ thị Hamilton là nửa Hamilton, nhưng điều
ngược lại không còn đúng.
VD: G3 là Hamilton G2 là nửa Hamilton còn G1 không là nửa Hamilton.

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í 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
VD: Đồ thị này có 5 đỉnh bậc 4 và 2 đỉnh bậc 3 kề nhau nên tổng số
bậc của hai đỉnh không kề nhau bất kỳ bằng 7 hoặc 8, lớn hơn n là 4
nên 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.

IV. Một số quy luật khi tìm chu trình Hamilton


Cho đồ thị G = <V,E>,𝑣 ∈ V
 Quy luật 1: Nếu đỉnh 𝑣 có bậc bé hơn 2: không có chu trình
Hamilton
 Quy luật 2: Nếu đỉnh 𝑣 có deg(𝑣) = 2 => 2 cạnh đều xuất hiện
trong chu trình Hamilton.
 Quy luật 3: Khi đã chọn 2 cạnh nào đó của 1 đỉnh, tất cả các cạnh
còn lại không thuộc chu trình Hamilton
 Quy luật 4: Nếu đỉnh 𝑣 kề với lớn hơn 2 đỉnh bậc 2 => không có
chu trình Hamilton

V. Bài toán mã đi tuần


1. Bài toán
 Mã đi tuần (hay hành trình của quân mã) là bài toán về việc di
chuyển một quân mã trên bàn cờ vua (8 x 8). Quân mã được đặt ở
một ô trên một bàn cờ trống nó phải di chuyển theo quy tắc của cờ
vua để đi qua mỗi ô trên bàn cờ đúng một lần.

 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)

2. Cách di chuyển của một quân mã:


 Nước đi của một quân mã giống hình chữ L và nó có thể di chuyển
tất cả các hướng. Ở một vị trí thích hợp thì quân mã có thể di
chuyển đến được 8 vị trí.

3. Xây dựng bước đi cho quân mã

 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] ].

VI. Bài tập


1. Tìm đường đi Hamilton (đỉnh a xuất phát, kết thúc tại đỉnh d, chỉ
cần viết các đỉnh mà không có cạnh)

Đáp án tham khảo:


aefigkhbcd
2. Tìm đường đi Hamilton (đỉnh s xuất phát, kết thúc tại đỉnh h, chỉ
cần viết các đỉnh mà không có cạnh)

Đáp án tham khảo:


sabcefgdrh

3. Tìm 1 chu trình Hamilton ( xuất phát từ đỉnh a )

Đáp án tham khảo:


acdfghkileba
4. Tìm 1 chu trình Hamilton ( xuất phát từ đỉnh c )

Đáp án tham khảo:


cdeahgfbc

5. Tìm 1 chu trình Hamilton ( xuất phát từ đỉnh c )

Đáp án tham khảo:


cbgafedc
STT Họ và tên Nhiệm vụ Tham gia

Định lí, định nghĩa, phương


1 Hoàng Hải Hưng 30
pháp ý tưởng, bài tập

Quy luật tìm chu trình,mã đi


2 Võ Việt Quân 30
tuần, bài tập

3 Ngô Tấn Đạt Word, powerpoint, bài tập 40

You might also like