1
22 October 2012 1
Toán ri rc (4):
ĐỒ TH EULER VÀ ĐỒ TH
HAMILTON
Ts. Hoàng ThThanh
Khoa Thng –Tin hc
Trường Đại hc Kinh tế
Đại hcĐà Nng
22 October 2012 2
Ni dung
1. ĐƯỜNG ĐI EULER VÀ ĐỒ TH EULER
2. ĐƯỜNG ĐI ĐỒ THHAMILTON
22 October 2012 3
ĐƯỜNG ĐI & ĐỒ TH EULER
thcoi năm 1736 năm khai sinh thuyếtđồ th,
vi vic công bli gii “bài toán vcác cu
Konigsberg” ca nhà toán hc li lc Euler (1707-
1783)
Thành phKonigsberg thuc Ph(nay gi
Kaliningrad thuc Nga) được chia thành bn vùng
bng các nhánh sông Pregel, các vùng này gm hai
vùng bên bsông, đảo Kneiphof mt min nm
gia hai nhánh ca sông Pregel. Vào thếk18, người
ta xây by chiếc cu ni các vùng này vi nhau.
22 October 2012 4
ĐƯỜNG ĐI & ĐỒ TH EULER
Sông Pregel 7 chiếc cu ni các vùng này vi nhau.
2
22 October 2012 5
ĐƯỜNG ĐI & ĐỒ TH EULER
“Có thnào đi do qua tt cby cu, mi cu chmt
ln thôi không?”
Nếu ta coi mi khu vc A, B, C, D nhưmtđỉnh
mi cu qua li 2 khu vc 1 cnh ni hai đỉnh thì ta
sơ đồ ca Konigsberg mtđađồ thG:
22 October 2012 6
ĐƯỜNG ĐI & ĐỒ TH EULER
Bài toán tìm đường đi qua tt ccác cu, mi cu ch
qua mt ln th được phát biu li bng hình
này nhưsau: tn ti chu trình đơn trong đađồ th
G cha tt ccác cnh?
22 October 2012 7
ĐƯỜNG ĐI & ĐỒ TH EULER
a) ĐN1: Đường đi đồ thEuler
i) Đường đi Euler là đường đi qua tt ccác cnh (cung) mi cnh
đúng mt ln.
Chu trình Euler là chu trình đi qua tt ccác cnh cađồ thmi cnh
đúng mt ln.
ii) Đồ th được gi đồ thEuler nếu chu trình Euler
iii) Đồ th được gi đồ thna Euler nếu dường đi Euler
Nhn xét: Đường đi (t.ưchu trình ) Euler là đường đi (t.ưchu trình) đơn
22 October 2012 8
ĐƯỜNG ĐI & ĐỒ TH EULER
Đ th G1 làđ th Euler vìcóchu trình Euler:
a,e,c,d,e,b,a
Đ th G2 không cóchu trình cũng như đưng đi
Euler
Đ th G3 làđ th na Euler vìcóđưng đi Euler:
a,c,d,e,b,d,a,b
a b
d c
e
a b
c d e
G1 G2 G3
ab
d c
e
3
22 October 2012 9
ĐƯỜNG ĐI & ĐỒ TH EULER
b) Đnh lý1
i) Cho G=(V,E) làđ th vô hưng liên thông.
G làđ th Euler Mi đnh ca G đu có
bc
chn.
ii) Nu G cóhai đnh bc l còn mi đnh khác
đu cóbc chn thìG cóđưng đi Euler.
22 October 2012 10
ĐƯỜNG ĐI & ĐỒ TH EULER
c) Thut toán Fleury đ tìm chu trình Euler
Btđu tmtđnh bt kca G vàtuân theo
qui tc sau:
Mi khi đi qua mt cnh nào đóthìxoánóđi, sau
đóxoáđnh cô lp nu có.
Không bao gi đi qua mt cu tr phi không còn
cách đi nào khác
22 October 2012 11
ĐƯỜNG ĐI & ĐỒ TH EULER
u sv w
t x y z
Víd: chu
trình Euler
uvwyswzyxtvx
u
Tu, theo (u,v) hoc (u,x), gis(u,v) (xoá(u,v)). Tv chn 1
trong: (v,w), (v,x), (v,t), gis(v,w) (xoá(v,w)). Theo 1 trong
3: (w,s), (w,y), (w,z), gis(w,s) (xoá(w,s)). Theo (s,y) (xoá
(s,y) vàs). Vì(y,x) làcu n theo 1 trong 2: (y,w), (y,z), gis
(y,w) (xoá(y,w)). Theo (w,z) (xoá(w,z) & w) & theo (z,y) (xoá
(z,y) & z). Theo (y,x) (xoá(y,x) vày). Vì(x,u) làcu n theo
(x,v) hoc (x,t), gis(x,v) (xoá(x,v)). Theo (v,t) (xoá(v,t) vàv),
theo (t,x) (xoá(t,x) vàt), theo (x,u) (xoá(x,u), x & u)
22 October 2012 12
BÀI TOÁN NGƯỜI PHÁT THƯ TRUNG HOA
Mt nhân viên đi tSBưuĐin, qua mt s
đường ph để phát thư, ri quay vS. Ngườiy
phiđi qua các đường theo trình tnào để đường
đi ngn nht?
Bài toán được nhà toán hc Trung Hoa Guan nêu
lên đầu tiên (1960), vy thường được gi “bài
toán người phát thưTrung Hoa”.
4
22 October 2012 13
BÀI TOÁN NGƯỜI PHÁT THƯ TRUNG HOA
(tip) Bài toán quy vdng: Cho đ thliên
thông G. Mt hành trình ca ngưiđưa thưlà
mt chu trình qua mi cnh ca G, hãy tìm
hành trình ngn nht, tc làqua ít cnh nht.
Nu G làđ thEuler (miđnh đu cóbc
chn) thìchu trình Euler trong G (qua mi
cnh ca G đúng mt ln) làhành trình ngn
nht cn tìm.
Chcòn phi xét trưng h p G cómt s! đnh
bc l. Khi đó, mi hành trình trong G phiđi
qua ít nht hai ln mt s!cnh nàođó.
22 October 2012 14
BÀI TOÁN NGƯỜI PHÁT THƯ TRUNG HOA
(tip) D"thy r#ng mt hành trình qua mt cnh
(u,v) nàođóquáhai ln thìkhông phi làhành trình
ngn nht trong G. Vìvy, ta chcn xét nhng hành
trình T đi qua hai ln mt s!cnh nàođóca G
Ta quy ưc xem mi hành trình T trong G làmt
hành trình trong đ thEuler GT, cóđư c tG b#ng
cách v$thêm mt cnh song song đ!i vi nhng
cnh màTđi qua hai ln. Bài toánđt ra đư cđưa
vbài toán sau:
Trong cácđ thEuler GT, tìmđ thcós!cnh ít
nht (khi đóchu trình Euler trong đ thnày làhành
trình ngn nht).
22 October 2012 15
BÀI TOÁN NGƯỜI PHÁT THƯ TRUNG HOA
Đnh (Gooodman & Hedetniemi) Nu G làmt
đ thliên thông cóq cnh thìhành trình ngn nht
trong G cóchiu dài: q + m(G), m(G) làs!cnh mà
hành trình đi qua hai ln vàđư c xácđnh nhưsau:
Gi V0(G) làtp h p cácđnh bc l(2k đnh) ca G. Ta
phân 2k phn tca G thành k cp, mi tp h p k cp gi
làmt phân hoch cp ca V0(G)
Ta giđ dàiđưng đi ngn nht tuđn v làkhong
cách d(u,v). Đ!i vi mi phân hoch cp Pi, ta tính khong
cách gia hai đnh trong tng cp, ri tính t%ng d(Pi). S!
m(G) b#ng c&c tiu ca các d(Pi): m(G)=min d(Pi).
22 October 2012 16
BÀI TOÁN NGƯỜI PHÁT THƯ TRUNG HOA
Gii bài toán ngưi phát thưTrung Hoa cho đ th
sau: D
C E
BJ FK
H GIA
5
22 October 2012 17
BÀI TOÁN NGƯỜI PHÁT THƯ TRUNG HOA
Tp h p cácđnh bc lVO(G)={B, G, H, K} vàtp h p
các phân hoch cp làP={P1, P2, P3}, trong đó
P1={(B, G), (H, K)}d(P1) = d(B, G)+d(H, K) =4+1
=5,
P2={(B, H), (G, K)}d(P2)= d(B, H)+d(G, K)=2+1=
3,
P3={(B, K), (G, H)}d(P3) = d(B, K)+d(G, H) =
3+2=5.
m(G) = min(d(P1), d(P2), d(P3)) = 3
Do đóGTcóđư c tG b#ng cách thêm vào3cnh:
(B, I), (I, H), (G, K) vàGTlàđ thEuler. Vy hành
trình ngn nht cn tìm làđi theo chu trình Euler
trong GT:
A, B, C, D, E, F, K, G, K, E, C, J, K, H, J, I, H, I, B, I, A 22 October 2012 18
BÀI TOÁN NGƯỜI PHÁT THƯ TRUNG HOA
A, B, C, D, E, F, K, G, K, E, C, J, K, H, J, I, H, I, B, I, A
D
C E
FB KJ
A I H G
22 October 2012 19
ĐƯỜNG ĐI & ĐỒ TH HAMILTON
Năm 1857, nhà toán hc ngưi Ailen Hamilton
(1805-1865) đưa ra trò chơi đi vòng quanh th
gii” nhưsau:
Cho mt hình thp nhdi)nđu (đa di)nđu
12 mt, 20 đnh 30 cnh), miđnh ca hình
mang tên mt thành ph!n%i ting, mi cnh ca
hình (n!i hai đnh) đưng đi li gia hai thành
ph!tương ng. Xut phát tmt thành ph!, hãy
tìm đưng đi thăm tt cc thành ph!khác, mi
thành ph!chmt ln, ri tr*vchcũ.
22 October 2012 20
ĐƯỜNG ĐI & ĐỒ TH HAMILTON
a) ĐN
Đưng đi Hamilton đưng đi qua tt ccác
đnh cađ thmiđnh đúng mt ln.
Chu trình btđu tmtđnh vnào đó đi qua
tt ccác đnh còn li, miđnh đúng mt ln gi
chu trình Hamilton (mch Hamilton)
Đ thgi đ thHamilton nu chu trình
Hamilton, gi na Hamilton nu đưng
đi Hamilton