Tải bản đầy đủ (.ppt) (39 trang)

Chương 2:Chu Trình,Đường đi euler và hamilton

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (548.16 KB, 39 trang )

CHU TRÌNH, ĐƯỜNG ĐI
EULER VÀ HAMILTON
NỘI DUNG

Đồ thị Euler

Đồ thị Hamilton
ĐỒ THỊ EULER
Konigsberg,
Hmmm
Leonhard Euler
(1707 – 1783)
Thành phố Konigsberg (Đức) bị chia thành 4 vùng
do 2 nhánh của 1 dòng sông. Có 7 chiếc cầu nối
những vùng nầy với nhau.
Bài toán: xuất phát từ một vùng đi dạo qua mỗi
chiếc cầu đúng một lần và trở về nơi xuất phát.
Năm 1736, nhà toán học Euler đã mô hình bài
toán nầy bằng một đồ thị vô hướng với mỗi đỉnh
ứng với một vùng, mỗi cạnh ứng với một chiếc cầu
BÀI TOÁN 7 CHIẾC CẦU
BÀI TOÁN 7 CHIẾC CẦU
A
B
C
D
C
A
D
B


DÂY CHUYỀN EULER: dây chuyền đi qua tất cả các
cạnh trong đồ thị, mỗi cạnh đúng một lần.

CHU TRÌNH EULER: dây chuyền Euler có đỉnh đầu
trùng với đỉnh cuối.

ĐƯỜNG ĐI EULER: đường đi qua tất cả các cạnh của
đồ thị, mỗi cạnh đúng một lần.

MẠCH EULER: đường đi Euler có đỉnh đầu trùng với
đỉnh cuối.

ĐỒ THỊ EULER VÔ HƯỚNG: đồ thị vô hướng có chứa
một chu trình Euler.

ĐỒ THỊ EULER CÓ HƯỚNG: đồ thị có hướng có chứa
một mạch Euler.
ĐỊNH NGHĨA
Đồ thị vô hướng G=(X, E)
1. G là đồ thị Euler ⇔ G liên thông và d(x) chẵn
∀x∈X.
2. G có chứa dây chuyền Euler và không chứa
chu trình chu trình Euler ⇔ G liên thông có
chứa đúng hai đỉnh bậc lẻ.
Đồ thị có hướng G=(X, E)
1. G là đồ thị Euler ⇔ G liên thông và d
+
(x)=d
-
(x)

∀x ∈ X.
ĐỊNH LÝ EULER
VÍ DỤ
a
b
c
d
e
a
b
c
d
a
b
c
d
e
(G
1
)
(G
2
)
(G
3
)
Liên thông và có 2 đỉnh bậc lẻ
 có dây chuyền Euler:
bacdaedbc
Liên thông và các đỉnh

đều có bậc chẵn 
có chu trình Euler:
bacdaedbcb
có đường đi
Euler: bacbd

Cạnh e của đồ thị G được gọi là CẦU nếu xóa e
khỏi đồ thị thì làm tăng số thành phần liên thông
của G.
Giải thuật Gọi chu trình cần tìm là C
1.Khởi tạo: Chọn một đỉnh bất kỳ cho vào C.
2.Lặp trong khi G vẫn còn cạnh
1. Chọn cạnh e nối đỉnh vừa chọn với một đỉnh kề với
nó theo nguyên tắc: chỉ chọn cầu nếu không còn
cạnh nào khác để chọn.
2. Bổ sung e và đỉnh cuối của nó vào C.
3. Xóa e khỏi G.
GIẢI THUẬT FLEURY
VÍ DỤ
1
2
3
4
5
1 2 3 4 5 3 1
Input: đồ thị Euler G(X, E)
Output: chu trình Euler C của G
1.Chọn đỉnh v ∈ X; C = {v}
2.Lặp trong khi G còn cạnh
1. Chọn đỉnh v ∈ C còn cạnh trong G

2. Tìm chu trình C’ xuất phát từ v.
3. Ghép C’ vào C
4. Loại bỏ các cạnh của C’ khỏi G
GiẢI THUẬT XÁC ĐỊNH CÁC CHU TRÌNH
THÀNH PHẦN
VÍ DỤ
1
2
3
4
5
1 2 3
4 5 3
1
3
Ví dụ

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”.
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.
Bài toán người phát thư Trung Hoa

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.
Bài toán người phát thư Trung Hoa

Ta quy ước xem mỗi hành trình T trong G là một
hành trình trong đồ thị Euler G
T
, 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 G
T
, 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).
Bài toán người phát thư Trung Hoa
Định lý Gooodman và Hedetniemi

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 V
0
(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 V
0
(G).
Bài toán người phát thư Trung Hoa

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
P
i
, 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(P
i
):
m(G)=min d(P
i
).
Bài toán người phát thư Trung Hoa
Bài toán người phát thư Trung Hoa

Tập hợp các đỉnh bậc lẻ V
O
(G)={B, G, H, K} và
tập hợp các phân hoạch cặp là P={P
1
, P
2
, P
3
}

P
1
= {(B, G), (H, K)} → d(P
1
) = d(B, G)+d(H, K) =
4+1 = 5

P
2

= {(B, H), (G, K)} → d(P
2
) = d(B, H)+d(G, K) =
2+1 = 3

P
3
= {(B, K), (G, H)} → d(P
3
) = d(B, K)+d(G, H) =
3+2 = 5.

m(G) = min(d(P
1
), d(P
2
), d(P
3
)) = 3.
Bài toán người phát thư Trung Hoa
Bài toán người phát thư Trung Hoa
Do đó G
T
có được từ G
bằng cách thêm vào 3
cạnh: (B, I), (I, H), (G, K)
và G
T
là đồ thị Euler.
Vậy hành trình ngắn nhất

cần tìm là:
A, B, C, D, E, F, K, G, K,
E, C, J, K, H, J, I, H, I, B,
I, A.
Bài tập

Giải bài toán phát thư
Trung Hoa với đồ thị
bên.
ĐỒ THỊ HAMILTON
Sir William Rowan Hamilton
(1805-1865)
“Xuất phát từ một đỉnh của khối thập nhị diện
đều, hãy đi dọc theo các cạnh của khối đó sao
cho đi qua tất cả các đỉnh khác, mỗi đỉnh qua
đúng một lần, sau đó trở về đỉnh xuất phát”.
Bài toán nầy được nhà toán học Hamilton đưa
ra vào năm 1859
BÀI TOÁN KHỞI ĐIỂM

×