Professional Documents
Culture Documents
LÝ thuyÕt ®å thÞ
vµ øng dông
Thêi gian thùc hiÖn cuèn s¸ch cã h¹n nªn viÖc thÓ hiÖn cã thÓ cã nhiÒu sai sãt
vµ kh«ng râ nghÜa mong b¹n ®äc th«ng c¶m, cßn nhiÒu vÊn ®Ò vÒ thuËt to¸n liªn
quan ®Õn ®é phøc t¹p tÝnh to¸n cña chóng kh«ng ®îc tr×nh bµy ë ®©y. HÑn mét tµi
liÖu kh¸c t«i sÏ biªn tËp vÒ c¸c chuyªn ®Ò c¸c thuËt to¸n s¾p xÕp, t×m kiÕm, thuËt
to¸n sè häc, c¸c thuËt to¸n trong lÝ thuyÕt ®å thÞ, ... cïng c¸c hµm thêi gian tÝnh
to¸n cña chóng vµ c¸c chñ ®Ò tÝnh to¸n vÒ thuËt to¸n cã ®é phøc t¹p P, NP, NP ®Çy
®ñ,... LÇn ®Çu tiªn biªn so¹n kh«ng thÓ tr¸nh khái sai sãt vµ nhÇm lÉn mong b¹n
®äc cho ý kiÕn. Mäi gãp ý göi vÒ ®Þa chØ: Nhµ xuÊt b¶n Gi¸o dôc, 81 TrÇn Hng
§¹o, Hµ Néi.
T¸c gi¶
Ch¬ng 1
C¸c kh¸i niÖm c¬ b¶n vÒ ®å thÞ
Con s«ng Pregolya ch¶y qua thµnh phè Konigsberg thuéc ®Êt níc Latvia. Trªn
s«ng nµy ngêi ta ®· x©y dùng b¶y chiÕc cÇu ngang qua s«ng (nh h×nh 1.1). T¹i
thµnh phè nµy cã mét c©u ®è d©n gian vÒ b¶y chiÕc cÇu nµy: Cã thÓ ®i qua thµnh
phè nµy mµ ®i qua c¸c cÇu ®óng mét lÇn vµ l¹i trë vÒ ®iÓm xuÊt ph¸t ban ®Çu?
A D
B
H×nh 1.1 B¶y cÇu cña thµnh phè Konigsberg
Kh«ng ai trong thµnh phè nµy t×m ®îc ®êng ®i nh ®iÒu kiÖn ®· ®Æt ra. Nhng
ngêi ta cè g¾ng t×m lêi gi¶i cho ®Õn n¨m 1736, nhµ to¸n häc vÜ ®¹i Leonhard Euler
chøng minh ®îc r»ng kh«ng thÓ tån t¹i mét con ®êng nh vËy. Euler ®· suy luËn
nh sau: Gi¶ sö cã mét ®êng ®i tháa m·n ®iÒu kiÖn ®Æt ra vµ gi¶ sö ngêi bé hµnh
®i trªn con ®êng ®ã. NÕu mét ngêi theo dâi ®· ®øng ë vÞ trÝ hßn ®¶o A, ngêi theo
dâi nµy sÏ thÊy ngêi bé hµnh ®Õn qua hßn ®¶o A mét sè lÇn. VËy cã thÓ x¶y ra
bao nhiªu lÇn tÊt c¶? NÕu ngêi bé hµnh chØ ®Õn hßn ®¶o mét lÇn th× ngêi ®ã
chØ ®i qua cã hai cÇu trong n¨m chiÕc cÇu. NÕu ngêi bé hµnh ®i ®Õn hßn ®¶o hai
lÇn th× còng kh«ng ®îc v× khi ®ã ngêi bé hµnh chØ ®i qua cã bèn cÇu trong sè
n¨m cÇu ®· cã. NÕu ngêi bé hµnh ®Õn ®¶o ba lÇn th× khi ®ã ph¶i cÇn cã s¸u cÇu,
1.1. LÞch sö ph¸t minh lÝ thuyÕt ®å thÞ 5
nhng trong thùc tÕ l¹i chØ cã n¨m cÇu, ®iÒu nµy còng kh«ng thÓ x¶y ra. Tõ c¸c kÕt
qu¶ trªn suy ra kh«ng tån t¹i mét ®êng ®i nh gi¶ thiÕt ®Æt ra.
TÊt nhiªn bµi to¸n b¶y chiÕc cÇu cña Konigsberg kh«ng cã g× ®Æc biÖt quan
träng. Nhng t tëng cña Euler ®Ó gi¶i bµi to¸n ®· sinh ra mét ngµnh to¸n häc quan
chiÕc cÇu trong qu¸ tr×nh lÝ luËn, nhng thùc chÊt c©u hái ®îc rót gän thµnh s¬
A
D
B
H×nh 1.2 §å thÞ bµi to¸n b¶y cÇu cña thµnh phè Konigsberg
H×nh 1.2 cho chóng ta tËp trung vµo thùc chÊt cña bµi to¸n: Cã bèn ®Þa ®iÓm
liªn kÕt víi b¶y chiÕc cÇu. Nh chøng minh cña Euler tãm l¹i ®¬n gi¶n lµ ®êng ®i
cÇn t×m kiÕm ph¶i cã sè ch½n sè cÇu ®Õn hßn ®¶o A; nhng thùc tÕ hßn ®¶o A cã sè
Tõ t tëng cña Euler ®· ®îc øng dông vµo gi¶i c¸c bµi to¸n trß ch¬i, ph©n tÝch
nh÷ng trß ch¬i gi¶i trÝ kiÓu nh bµi to¸n d©n gian. M·i ®Õn gi÷a nh÷ng n¨m 1800,
ngêi ta míi ph¸t hiÖn ra r»ng ®å thÞ cã thÓ dïng m« h×nh hãa rÊt nhiÒu hÖ thèng
thùc tÕ trong x· héi. VÝ dô nh gi¶ thiÕt b¶n ®å bèn mµu do DeMorgan nªu lªn tõ
n¨m 1852 rÊt næi tiÕng vµ kh«ng liªn quan ®Õn lÝ thuyÕt ®å thÞ. Gi¶ thuyÕt ph¸t
biÓu r»ng bèn mµu lµ sè lîng mµu lín nhÊt ®ßi hái t« mµu bÊt k× mét b¶n ®å nµo
mµ c¸c miÒn c¹nh nhau trong b¶n ®å cã mµu kh¸c nhau. Gi¶ thuyÕt nµy dÔ dµng thÓ
hiÖn b»ng thuËt ng÷ lÝ thuyÕt ®å thÞ vµ ®· ®îc hai nhµ to¸n häc Appel vµ Haken
LÝ thuyÕt ®å thÞ nhanh chãng bïng næ trong thÕ kØ 19. Tõ n¨m 1847 nhµ vËt
lÝ Kirchhoff ®· x¸c ®Þnh ®îc cêng ®é dßng ®iÖn trong d©y dÉn vµ trong mçi m¹ch
khÐp kÝn cña mét m¹ch ®iÖn. B»ng c¸ch x©y dùng mét s¬ ®å ®iÖn (ngµy nay t¬ng
Trong hãa häc b»ng c¸ch biÓu diÔn c¸c chÊt theo s¬ ®å nguyªn ph©n tö gièng nh
líp ®å thÞ h×nh c©y, nhiÒu bµi to¸n hãa häc ®îc gi¶i quyÕt dÔ dµng vµ dÔ hiÓu
trong hãa häc h÷u c¬ hiÖn ®¹i. Ngêi ®Çu tiªn ®a ý tëng ®å thÞ vµo hãa häc lµ
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 6
Cayley vµo n¨m 1857. Nhng vÒ mÆt thuÇn tóy to¸n häc th× Jordan ®· ph¸t triÓn
§Õn thÕ kØ 20 th× lÝ thuyÕt ®å thÞ ®· ph¸t triÓn rÊt m¹nh trong lÝ thuyÕt tèi
u, lÝ thuyÕt th«ng tin, kinh tÕ häc, sinh vËt, t©m lÝ vµ ng«n ng÷ häc, ...
§å thÞ lµ c«ng cô m« h×nh hãa hÖ thèng trong thÕ giíi thùc. M« h×nh ®å thÞ
rÊt thuËn lîi cho viÖc ph©n tÝch hÖ thèng. Ta ph¶i nghiªn cøu kh¸i niÖm vµ thuËt
ng÷ vÒ ®å thÞ.
§Þnh nghÜa 1.1. §å thÞ lµ mét bé gåm hai tËp hîp V vµ E, kÝ hiÖu lµ G = (V , E ) víi
V 6= 0/ . C¸c phÇn tö cña V gäi lµ c¸c ®Ønh, c¸c phÇn tö cña E gäi lµ c¸c c¹nh. Mçi
c¹nh cña ®å thÞ cã mét tËp gåm mét hoÆc hai ®Ønh t¬ng øng víi nã vµ gäi lµ c¸c
Ngêi ta thêng kÝ hiÖu V = {A, B, ..., X }, ë ®©y A, B, ..., X lµ c¸c ®Ønh cña ®å thÞ
§Þnh nghÜa 1.2. §Ønh vµ c¹nh cña ®å thÞ cã c¸c kh¸i niÖm:
1. NÕu mét c¹nh e t¬ng øng víi hai ®Ønh U,V , th× ta nãi U vµ V lµ hai ®Ønh kÒ
®îc gäi lµ ®a c¹nh. VÝ dô: hai c¹nh e1 = UV vµ e2 = UV ph©n biÖt cïng t¬ng
g¸n lµ ®iÓm ®u«i vµ mét ®iÓm cuèi kh¸c ®îc g¸n lµ ®iÓm ®Çu. §Çu vµ cuèi cña
®iÓm cuèi.
§å thÞ cã biÓu diÔn h×nh ¶nh cô thÓ: Mçi phÇn tö cña V (®Ønh) ®îc thÓ hiÖn
b»ng mét ®iÓm ®Ëm vµ mçi phÇn tö cña E (c¹nh) biÓu diÖn b»ng mét ®êng liÒn
E = {(1, 3), (1, 5), (2, 3), (2, 5), (2, 7), (3, 6), (4, 6), (4, 7), (7, 8)}
vµ ®îc biÓu diÔn nh h×nh 1.3.
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 7
1 2 3 4
8
5 6 7
Víi ®Þnh nghÜa cña ®å thÞ th× biÓu diÔn chóng b»ng c¸c ®iÓm vµ c¸c ®êng nèi
nh trªn thùc hiÖn ®îc dÔ dµng. Trong tµi liÖu nµy ta dïng c¸ch biÓu diÔn nµy ®Ó
Tõ ®Þnh nghÜa ®å thÞ ta nhËn ®îc nh÷ng d¹ng ®å thÞ kh¸c nhau. KÝ hiÖu vµ
1. Thay tËp hîp E b»ng tËp hîp c¸c c¹nh ®Þnh híng, ta nhËn ®îc ®å thÞ ®Þnh
híng (h×nh 1.4). Mçi c¹nh cña ®å thÞ ®Òu cã mét híng x¸c ®Þnh.
2. §å thÞ ®Þnh híng tõng phÇn lµ mét ®å thÞ mµ nã cã ®ång thêi c¸c c¹nh ®Þnh
3. §å thÞ c¬ së cña ®å thÞ ®Þnh híng vµ ®å thÞ ®Þnh híng tõng phÇn lµ mét
®å thÞ kÕt qu¶ bá hÕt g¸n nh·n ®iÓm ®Çu vµ ®iÓm cuèi trong c¸c c¹nh ®Þnh
4. NÕu ®å thÞ cã Ýt nhÊt mét ®a c¹nh, nghÜa lµ E lµ tËp hîp c¹nh bÊt k×, th×
ta nhËn ®îc ®a ®å thÞ (h×nh 1.5). §å thÞ kh«ng cho phÐp cã mét ®a c¹nh nµo
5. NÕu mét ®å thÞ cã Ýt nhÊt mét ®Ønh cã vßng th× nã ®îc gäi lµ gi¶ ®å thÞ
(h×nh 1.6).
7. §å thÞ cã sè ®Ønh vµ sè c¹nh h÷u h¹n gäi lµ ®å thÞ h÷u h¹n, ngîc l¹i th× gäi lµ
®å thÞ v« h¹n.
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 8
M« h×nh hãa nh÷ng hÖ thèng trong tù nhiªn thµnh ng«n ng÷ ®å thÞ rÊt quan
träng. Mét sè vÝ dô sau ®©y thÓ hiÖn viÖc biÓu diÔn ®å thÞ tõ hÖ thèng quen biÕt:
1. S¬ ®å khèi. Ta coi thµnh phÇn c¬ b¶n cña s¬ ®å khèi lµ c¸c ®Ønh V vµ E gåm
mòi tªn nèi c¸c hép trong s¬ ®å khèi. H×nh 1.7 thÓ hiÖn quan hÖ s¬ ®å khèi vµ ®å
thÞ.
1
B¾t ®Çu
1
2
j := 0
2
i := 1
4 3 4
3 A(i) < 0 T
j := j + 1
F
5 6
5 T
i=N KÕt thóc
7 F 6
i := i + 1 7
2. Quan hÖ nhÞ ph©n. Cho V {1, 2, ..., 9, 10} vµ tËp quan hÖ E trªn V
lµ tËp hîp
®îc ®Þnh nghÜa: AE B khi vµ chØ khi A 6= B vµ B chia hÕt cho A. H×nh 1.8 lµ ®å thÞ
víi mçi ®iÓm trong V lµ ®Ønh vµ mçi mòi tªn tõ A ®Õn B khi vµ chØ khi AE B.
6
3 9
10 2 8
4
5 1 7
H×nh 1.8 §å thÞ s¬ ®å quan hÖ
3. Ph©n tö rîu. H×nh 1.9 biÓu diÔn hãa häc ph©n tö rîu nh lµ mét c©y ®å thÞ:
1.2. §Þnh nghÜa ®å thÞ vµ biÓu diÔn nã 9
H H
H C C O H
H H
B»ng ®iÓm vµ ®êng cong chØ m« t¶ ®îc nh÷ng ®å thÞ cì ®Ønh vµ c¹nh nhá. VÝ
dô vÏ ®å thÞ mét m¹ng líi ®iÖn tho¹i mét thµnh phè cã hµng triÖu thuª bao th×
kh«ng thÓ m« t¶ b»ng h×nh vÏ ®îc. Ngêi ta chän c¸ch h×nh thøc hãa ®å thÞ b»ng
§Þnh nghÜa 1.4. M« t¶ h×nh thøc mét ®å thÞ G = (V , E , end pts) gåm danh s¸ch h÷u h¹n,
kh¸c rçng c¸c ®Ønh cña nã, mét danh s¸ch h÷u h¹n c¸c c¹nh cña nã vµ mét b¶ng hai
hµng mµ c¸c cét lµ chØ sè c¸c c¹nh vµ ®Ønh th«ng qua hµm tíi end pts. Mçi cét lµ mét
c¹nh e vµ t¬ng øng víi c¸c ®iÓm cuèi cña e. NÕu ®iÓm cuèi xuÊt hiÖn hai lÇn nÕu
e lµ mét vßng.
VÝ dô 1.2. H×nh 1.10 m« t¶ c¸ch vÏ vµ m« t¶ h×nh thøc cña cïng mét ®å thÞ.
Hµm tíi cña vÝ dô nµy lµ: end pts(a) = end pts(a) = {A}; end pts(k) = {B}; end pts(c) =
{A, B}; end pts(d) = {A,C}; end pts( f ) = end pts(g) = end pts(h) = {A}.
k
B V = {A, B,C} vµ E = {a, b, c, d, f , g, h, k}
c C¹nh a b c d f g h k
a b A h f g §Ønh A A A C B B C B
cuèi A A B A C C B B
d
C
H×nh 1.10 §å thÞ vµ m« t¶ h×nh thøc
t¶ h×nh thøc cña ®å thÞ c¬ së b»ng c¸ch céng thªm hµm sè head : E → V vµ tail : E → V
Trong thùc tÕ ngêi ta chØ dïng hai hµm head vµ tail lµ ®ñ.
VÝ dô 1.3. H×nh 1.11 m« t¶ c¸ch vÏ vµ m« t¶ h×nh thøc cña cïng mét ®å thÞ ®Þnh
híng, t¬ng øng víi c¸c hµm sè head vµ tail . ChØ sè h chØ ra ®Ønh ®ã lµ ®Ønh ®Çu
cña cung.
1.3. BËc cña ®Ønh trong ®å thÞ 10
k
B V = {A, B,C} vµ E = {a, b, c, d, f , g, h, k}
c C¹nh a b c d f g h k
A h h
a b h f g §Ønh A A A C B B C B
cuèi Ah A Bh Ah C C h Bh Bh
d
C
H×nh 1.11 §å thÞ ®Þnh híng vµ m« t¶ h×nh thøc
Chó ý: B»ng c¸ch m« t¶ h×nh thøc trªn rÊt dÔ dµng triÓn khai vµo thuËt to¸n
Nghiªn cøu ®å thÞ ngêi ta quan t©m tíi sè c¹nh vµ sè ®Ønh cïng c¸c quan hÖ
gi÷a chóng.
§Þnh nghÜa 1.6. BËc cña mét ®Ønh A trong ®å thÞ G lµ sè c¸c c¹nh ph©n biÖt nèi víi A,
kÝ hiÖu lµ deg(A). NÕu c¹nh lµ vßng th× c¹nh nèi víi ®îc tÝnh gÊp ®«i.
Mét ®Ønh cã d bËc th× ®îc gäi lµ ®Ønh d bËc. Ta xÐt ®å thÞ ë h×nh 1.10, bËc c¸c
§Þnh nghÜa 1.7. D·y bËc cña ®å thÞ lµ mét d·y t¹o bëi bËc c¸c ®Ønh theo thø tù kh«ng
gi¶m.
VÝ dô 1.4. H×nh 1.12 thÓ hiÖn ®å thÞ vµ d·y bËc cña nã vµ h×nh 1.13 hai ®å thÞ cã
k A
E
c
B
F
a b h f g
d C G H
D < 2, 2, 2, 2, 2 >
< 0, 1, 1, 4, 6, 6 >
A, B,C, D, E, F
H×nh 1.13 Hai ®å thÞ cïng
MÖnh ®Ò sau ®©y chØ ra d·y bËc cña ®å thÞ ph¶i cã hai phÇn tö b»ng nhau.
MÖnh ®Ò 1.1. Mét ®å thÞ ®¬n kh¸c rçng G ph¶i cã Ýt nhÊt mét cÆp ®Ønh cã cïng bËc.
Chøng minh. Gi¶ sö ®å thÞ G cã n ®Ønh. Khi ®ã tån t¹i n kh¶ n¨ng gi¸ trÞ bËc lµ
0, 1, ..., n − 1. Tuy nhiªn, kh«ng thÓ cã ®ång thêi mét ®Ønh bËc 0 vµ mét ®Ønh bËc
n − 1, v× khi mµ mét ®Ønh cã bËc 0 kÐo theo mçi ®Ønh cßn l¹i n − 1 ®Ønh ®îc kÒ
nhiÒu nhÊt víi n−2 ®Ønh cßn l¹i. Do ®ã, n ®Ønh cña G cã thÓ cã ®îc nhiÒu nhÊt
n−1 kh¶ n¨ng gi¸ trÞ cho bËc cña chóng. V× vËy, theo nguyªn lÝ §irichle suy ra tån
t¹i Ýt nhÊt hai ®Ønh trong n ®Ønh cã cïng gi¸ trÞ bËc. J
Mçi quan hÖ c¬ b¶n gi÷a sè ®Ønh vµ sè c¹nh cña mét ®å thÞ.
§Þnh lý 1.1 (Euler). Tæng bËc cña c¸c ®Ønh trong mét ®å thÞ b»ng hai lÇn sè c¹nh.
Chøng minh. KÝ hiÖu S = ∑ deg(V ). Chó ý r»ng trong c¸ch tÝnh S, ta ®Õm mçi c¹nh
V ∈V
hai lÇn. Nh vËy, S = 2|E |. §ã lµ ®iÒu cÇn chøng minh. J
VÝ dô 1.5. Mét ®å thÞ G = (V , E ) cã 32 c¹nh vµ mçi ®Ønh cã bËc lµ 4. T×m sè ®Ønh
cña G.
Ta cã |E | = 32 vµ theo §Þnh lÝ 1.1 suy ra 2.32 = 4.|V |. VËy |V | = 16.
HÖ qu¶ 1.1. Trong ®å thÞ tån t¹i sè ch½n ®Ønh cã bËc lÎ.
Chøng minh. Coi ®å thÞ G = (V , E ). Gäi V1 vµ V2 lÇn lît lµ tËp hîp c¸c ®Ønh bËc
lÎ vµ tËp hîp c¸c ®Ønh bËc ch½n cña G. Theo ®Þnh lÝ 1.1 ta cã
Ngîc l¹i, mét d·y sè kh«ng ©m, kh«ng gi¶m mµ tæng cña nã lµ mét sè ch½n cã lµ
d·y bËc cña mét ®å thÞ nµo ®ã kh«ng? NghÜa lµ, tõ mét d·y sè kh«ng ©m kh«ng t¨ng
VÝ dô 1.6. Gi¶ sö ta muèn x©y dùng mét ®å thÞ cã d·y bËc < 0, 1, 2, 3, 3, 4, 5 >. B¾t ®Çu
víi b¶y ®Ønh ®éc lËp A1 , A2 , A3 , A4 , A5 , A6 , A7 . Víi nh÷ng sè h¹ng trong d·y gi¸ trÞ ch½n
ta vÏ sè nh÷ng c¹nh vßng thÝch hîp t¬ng øng víi c¸c ®Ønh nµy. Nh vËy A1 ®Ó c«
Cßn l¹i nh÷ng sè h¹ng cã gi¸ trÞ lÎ, ta nhãm c¸c ®Ønh thµnh hai cÆp, cô thÓ lµ
A2 , A4 vµ A5 , A7 . Sau ®ã nèi mçi cÆp b»ng mét c¹nh ®¬n vµ thªm vµo mçi ®Ønh mét sè
thÝch hîp c¹nh vßng. KÕt qu¶ dùng ®îc nh h×nh 1.14.
1.3. BËc cña ®Ønh trong ®å thÞ 12
A6
A1 A3
A2 A4 A5 A7
H×nh 1.14 Dùng ®å thÞ tõ d·y bËc < 0, 1, 2, 3, 3, 4, 5 >
§Þnh lý 1.2. Gi¶ sö d1 , d2 , ..., dn lµ mét d·y sè nguyªn kh«ng ©m cã tæng lµ sè ch½n. Khi
®ã tån t¹i mét ®å thÞ víi c¸c ®Ønh A1 , A2 , ..., An sao cho deg(Ai ) = di , víi i = 1, 2, ..., n.
Chøng minh. B¾t ®Çu víi n ®Ønh ®éc lËp A1 , A2 , ..., An . Víi mçi i, nÕu di lµ sè ch½n,
di di −1
th× ta vÏ
2 c¹nh vßng t¹i ®Ønh Ai , vµ nÕu di lµ mét sè lÎ th× ta vÏ
2 c¹nh vßng
t¹i Ai . The HÖ qu¶ 1.1, tån t¹i sè ch½n ®Ønh bËc lÎ di . Nh vËy, viÖc dùng cã thÓ
hoµn thµnh b»ng c¸ch nhãm c¸c ®Ønh t¬ng øng sè h¹ng lÎ thµnh tõng cÆp vµ khi ®ã
híng.
§Þnh nghÜa 1.8. A trong ®å thÞ híng lµ sè c¸c cung ®Þnh híng
BËc vµo cña mét ®Ønh
®i vµo A; bËc ra cña ®Ønh A lµ sè c¸c cung ®Þnh híng ®i tõ A ra ngoµi. Mçi c¹nh vßng
®Þnh híng t¹i A ®îc tÝnh mét bËc vµo A vµ mét bËc ra khái A.
VÝ dô 1.7. H×nh 1.15 m« t¶ bËc vµo vµ bËc ra cña c¸c ®Ønh trong mét ®å thÞ ®Þnh
híng.
k
B V = {A, B,C} vµ E = {a, b, c, d, f , g, h, k}
c §Ønh A B C
A
a b h f g BËc vµo 3 4 1
BËc ra 3 2 3
d
C
H×nh 1.15 BËc vµo vµ bËc ra cña ®å thÞ ®Þnh híng
§Þnh lÝ 1.1 ®îc ph¸t biÓu theo ph¬ng ¸n ®å thÞ ®Þnh híng nh sau:
§Þnh lý 1.3. Trong ®å thÞ ®Þnh híng, tæng bËc vµo vµ tæng bËc ra b»ng nhau vµ ®ång
Chøng minh. Mçi c¹nh ®Þnh híng ®Òu gãp mét bËc vµo vµ mét bËc ra. Nh vËy
bËc ra vµ bËc vµo lu«n b»ng nhau vµ b»ng sè c¹nh cña ®å thÞ. J
1.4. §êng ®i vµ kho¶ng c¸ch 13
RÊt nhiÒu øng dông b»ng m« h×nh ®å thÞ cã thÓ biÓu diÔn b»ng ®êng ®i vµ
kho¶ng c¸ch. VÝ dô, sè nh÷ng nót mµ mét th«ng b¸o th ®iÖn tö cã thÓ ®i qua tõ
ngêi göi ®Õn ngêi nhËn t¹o ra mét kho¶ng c¸ch. PhÇn nµy ta xÐt nh÷ng khai niÖm
vÒ vÊn ®Ò nµy.
§Þnh nghÜa 1.9. 1. §êng ®i tõ ®Ønh V0 ®Õn ®Ønh Vn lµ mét d·y liªn tiÕp c¸c ®Ønh
vµ c¹nh P =< V0 , e1 ,V1 , e2 , ...,Vn−1 , en,Vn > sao cho end pts(ei ) = {Vi−1 ,Vi }, víi i = 1, 2, ..., n.
2. §êng ®i ®Þnh híng tõ ®Ønh V0 ®Õn ®Ønh Vn lµ mét d·y liªn tiÕp c¸c ®Ønh
vµ cung P =< V0 , e1 ,V1 , e2 , ...,Vn−1 , en,Vn > sao cho tail(ei ) = Vi−1 vµ head(ei ) = Vi , víi
i = 1, 2, ..., n.
Nh vËy, mét ®êng ®i lµ ®i qua liªn tôc theo mét sè ®Ønh vµ mét sè c¹nh.
§Þnh nghÜa 1.10. §é dµi cña ®êng ®i (hoÆc ®êng ®Þnh híng) lµ sè c¸c c¹nh trong
d·y ®êng. Mét ®êng ®i (hoÆc ®êng ®Þnh híng) tõ ®Ønh A ®Õn ®Ønh B gäi lµ A − B
®êng hoÆc (A − B ®êng ®Þnh híng).
§Þnh nghÜa 1.11. Mét A−B ®êng (®Þnh híng) ®îc gäi lµ ®êng ®ãng nÕu A vµ B
lµ cïng mét ®Ønh vµ lµ ®êng më nÕu ngîc l¹i.
g G
F
e4 C f
a b C
B A c
e2 B
A
e1 D
e
e3 d
D E
P1 =< A, e2 , B, e4 ,C, e4 , B, e1 , D, e3 , A > P2 =< A, a, B, f , F, g, G >
Chó ý. Cã hai c¸ch quy ®Þnh viÕt t¾t biÓu diÔn ®êng
2. nh lµ d·y ®Ønh: NÕu ®êng ®i P kh«ng xuÊt hiÖn ®a c¹nh, th× P biÓu diÔn lµ
§Þnh nghÜa 1.12. GhÐp hai ®êng ®iP1 =< V0 , e1 , ...,Vk−1 , ek ,Vk > vµ
P2 =< Vk , ek+1 ,Vk+1 , ek+2 , ...,Vn−1 , en ,Vn > lµ mét ®êng ®i sao cho P2 b¾t ®Çu ë n¬i P1 kÕt
thóc:
W
V
e Y m
f k P1 =< U, e,V, f , X > P2 =< X , k,Y, l, Z, m,W >
l
X P1 ◦ P2 =< U, e,V, f , X , k,Y, l, Z, m,W >
U Z
§Þnh nghÜa 1.13. §êng con cña ®êngP =< V0 , e1 ,V1 , e2 , ...,Vn−1 , en ,Vn > lµ mét d·y con
liÒn nhau S =< V j , e j+1 ,V j+1 , ..., ek ,Vk > sao cho 0 ≤ j ≤ k ≤ n vµ c¸c ®Ønh ®Çu vµ cuèi
§Þnh nghÜa 1.14. Mét ®Ønh B gäi lµ cã kh¶ n¨ng tiÕn tíi tõ ®Ønh A nÕu tån t¹i mét
§Þnh nghÜa 1.15. Mét ®å thÞ gäi lµ liªn th«ng nÕu víi mäi cÆp ®Ønh A vµ B tån t¹i
®êng ®i tõ A tíi B.
§Þnh nghÜa 1.16. §å thÞ ®Þnh híng gäi lµ liªn th«ng nÕu ®å thÞ c¬ së cña nã lµ liªn
th«ng.
§Þnh nghÜa 1.16 cßn ®îc gäi lµ ®å thÞ liªn th«ng yÕu cho ®å thÞ ®Þnh híng. Ta
§Þnh nghÜa 1.17. Hai ®Ønh A vµ B trong ®å thÞ ®Þnh híng D ®îc gäi lµ tiÕn tíi lÉn
nhau nÕu D chøa ®ång thêi A − B ®êng ®Þnh híng vµ B − A ®êng ®Þnh híng.
§Þnh nghÜa 1.18. Mét ®å thÞ ®Þnh híng D lµ liªn th«ng m¹nh nÕu mäi cÆp ®Ønh
VÝ dô 1.10. H×nh 1.19 chØ ra ®å thÞ ®Þnh híng liªn th«ng m¹nh.
1.5. §êng dÉn vµ chu tr×nh 15
C
B
A
D
E
H×nh 1.19 §å thÞ ®Þnh híng liªn th«ng m¹nh
Bµi to¸n trong thùc tÕ ®Æt ra lµ cho ®å thÞ, lµm sao ta cã thÓ ®Þnh híng c¸c c¹nh
sao cho ®å thÞ ®Þnh híng trë thµnh liªn th«ng m¹nh. Ta ®a vµo kh¸i niÖm:
§Þnh nghÜa 1.19. Mét ®å thÞ ®îc gäi lµ cã kh¶ n¨ng ®Æt híng m¹nh nÕu tån t¹i mét
phÐp g¸n híng cho c¸c c¹nh sao cho kÕt qu¶ ®å thÞ ®Þnh híng nhËn ®îc lµ liªn
th«ng m¹nh. PhÐp g¸n nh vËy gäi lµ ®Æt híng m¹nh.
Ch¬ng sau ta xÐt thuËt to¸n ®Ó ph¸t hiÖn mét ®å thÞ cã kh¶ n¨ng ®Æt híng
m¹nh.
§Þnh nghÜa 1.20. Trong mét ®å thÞ, Kho¶ng c¸ch tõ ®Ønh A tíi ®Ønh B lµ ®é dµi cña
®êng ®i ng¾n nhÊt tõ A tíi B, hoÆc lµ ∞ nÕu kh«ng tån t¹i ®êng ®Þ tõ A ®Õn B.
Trong ®å thÞ ®Þnh híng, kho¶ng c¸ch ®Þnh híng lµ ®é dµi cña ®êng ®Þnh híng
§Þnh nghÜa 1.21. Cho ®êng ®i W =< V0 , e1 , ...,Vn−1 , en ,Vn > chøa ®êng ®i con ®ãng
NghÜa lµ W −W 0 lµ kÕt qu¶ cña viÖc xãa ®i tÊt c¶ c¸c ®Ønh cña W0 trõ ®Ønh Vk .
2. §êng dÉn lµ mét ®êng mßn kh«ng cã ®Ønh nµo lÆp l¹i trõ ®Ønh ®Çu vµ ®Ønh
cuèi.
§êng dÉn lµ ®êng ®i mµ c¸c ®Ønh vµ c¸c c¹nh chØ xuÊt hiÖn 1 lÇn trõ ®Ønh
®Çu vµ cuèi.
VÝ dô 1.12. Trong ®å thÞ 1.21, W =< a, e, f , a, d > lµ d·y c¹nh cña ®êng ®i, nhng nã
kh«ng lµ ®êng mßn. Cßn T =< a, b, c, d, e > lµ ®êng mßn nhng kh«ng ph¶i lµ ®êng
dÉn
1.6. Bµi tËp ch¬ng I 16
g T
W
f
a b X W =< a, b, c, d, e, f , g >
U c
V W 0 =< a, c, d, e >
e
Y W −W 0 =< a, f , g >
d
Z
U e X d Z
W =< a, e, f , a, d >
f b T =< a, c, d, e >
a c
V Y
§êng ®i, ®êng mßn vµ ®êng dÉn gäi lµ hiÓn nhiªn nÕu nã chØ cã mét ®Ønh vµ
kh«ng cã c¹nh.
MÖnh ®Ò 1.2. Mäi X −Y ®êng W hoÆc lµ mét X −Y ®êng dÉn hoÆc lµ nã chøa mét
Chøng minh. NÕu W kh«ng lµ mét X −Y ®êng dÉn, th× mét d·y con ®Ønh cña W
cã mét ®Ønh lÆp l¹i vµ nã t¹o ra mét ®êng ®i con ®ãng cña W. J
§Þnh nghÜa 1.23. Mét ®êng dÉn ®ãng kh«ng hiÓn nhiªn ®îc gäi lµ mét chu tr×nh.
MÖnh ®Ò 1.3. Mäi ®êng mßn ®ãng kh«ng hiÓn nhiªn chøa mét ®êng ®i con lµ mét
chu tr×nh.
Chøng minh. Gi¶ sö T0 lµ mét ®êng ®i con ®ãng, kh«ng hiÓn nhiªn, ®é dµi ng¾n nhÊt.
§é dµi ng¾n nhÊt nghÜa lµ nã kh«ng chøa mét ®êng con thùc sù nµo trong nã, do ®ã
nã chØ lÆp l¹i ®Ønh ®Çu vµ ®Ønh cuèi. NghÜa lµ T0 lµ mét chu tr×nh. J
§Þnh nghÜa 1.24. 1. Mét ®êng mßn Euler trong ®å thÞ lµ mét ®êng mßn cã chøa mäi
1. Cho m« t¶ h×nh thøc ®å thÞ G = (V, E, end pts). H·y vÏ nh÷ng ®å thÞ vµ lËp
2. H·y vÏ ®å thÞ ®Þnh híng theo b¶ng liÖt kª cho V = {U,V,W, X ,Y } vµ tËp c¹nh
E = {e, f , g, h}.
C¹nh e f g h
Y Xh Vh Vh
§Ønh Wh U X U
3. Nh÷ng d·y ®Ønh nµo sau ®©y biÓu diÔn ®êng ®i trong ®å thÞ ®Þnh híng díi
®©y? §êng nµo lµ ®êng dÉn ®Þnh híng? §êng ®i nµo lµ chu tr×nh ®Þnh
híng(®êng vßng)? §é dµi cña mçi ®êng ®Þnh híng nµy lµ bao nhiªu?
X V
a) < X ,V,Y,W,V >
W b) < X ,U, X ,U, X >
c) < X ,U,V,Y, X >
U Y
4. H·y vÏ ®å thÞ víi d·y bËc cho nh sau:
6. H·y vÏ ®å thÞ ®¬n theo c¸c d·y bËc sau, nÕu kh«ng vÏ ®îc th× gi¶i thÝch t¹i
sao?
7. H·y x¸c ®Þnh c¸c d·y ®Ønh sau ®©y, d·y nµo lµ mét ®êng ®i trong ®å thÞ 1.22:
a) < U,V >; b) < V >; c) < U, Z,V >; d) < U,V,W,V >.
U V Z Y
X W
A D
k m
g
e ` h
B f C
9. Trong ®å thÞ sau ®©y
l
H·y t×m
A D k
a) §êng ®i ®ãng mµ kh«ng ph¶i ®êng mßn;
B f C
10. Cho G lµ ®å thÞ vµ kÝ hiÖu d(S, T ) lµ kho¶ng c¸ch gi÷a hai ®Ønh S vµ T.
a) Chøng minh r»ng hµm kho¶ng c¸ch trªn tháa m·n bÊt ®¼ng thøc tam gi¸c.
NghÜa lµ
PhÇn nµy ta ®Þnh nghÜa nh÷ng d¹ng ®å thÞ ®Æc biÖt rÊt hay ®îc dïng trong
K1 K2 K3 K4 K5
H×nh 2.1 §å thÞ ®Çy ®ñ
§Þnh nghÜa 2.1. §å thÞ ®Çy ®ñ lµ mét ®å thÞ ®¬n sao cho mäi cÆp ®Ønh ®Òu kÒ nhau.
1.1 ta cã
n
2|E | = ∑ (n − 1).
i=1
Suy ra |E | = 1
2 n(n − 1). J
§Þnh nghÜa 2.2. §å thÞ ®Òu lµ mét ®å thÞ mµ c¸c ®Ønh cña nã cã cïng bËc. Ngêi ta
thêng nãi ®å thÞ k-®Òu nghÜa lµ ®å thÞ ®Òu mµ bËc ë c¸c ®Ønh lµ k.
VÝ dô 2.2. §å thÞ Petersen lµ ®å thÞ 3-®Òu biÓu diÔn bëi c¸c ®êng th¼ng nh h×nh
2.2.
2.1. Nh÷ng lo¹i ®å thÞ ®Æc biÖt 20
H×nh 2.2 §å thÞ Petersen H×nh 2.3 §å thÞ 2-®Òu ph©n tö ¤xy
V× ®å thÞ nµy chiÕm vai trß quan träng trong lÝ thuyÕt ®å thÞ, ®å thÞ Petersen
rÊt hay dïng ®Ó minh häa chøng minh ®Þnh lÝ vµ kiÓm tra c¸c gi¶ thuyÕt vÒ ®å
thÞ.
Trong thùc tÕ cã rÊt nhiÒu ®å thÞ ®Òu: H×nh 2.3 m« t¶ ph©n tö O2 b»ng c¸ch hai
nguyªn tö ¤xy nèi víi nhau b»ng hai liªn kÕt nh lµ ®å thÞ 2-®Òu.
§Þnh nghÜa 2.3. Mét ®å thÞ gåm mét ®Ønh duy nhÊt víi n c¹nh vßng ®îc gäi lµ ®å
VÝ dô 2.3. Ta thÊy ngay ®å thÞ hoa lu«n cã cã bËc ch½n nh h×nh 2.4.
B4
B2
§Þnh nghÜa 2.4. Mét ®å thÞ gåm hai ®Ønh víi n c¹nh nèi chóng víi nhau, gäi lµ ®å
VÝ dô 2.4. §å thÞ m« t¶ ph©n tö ¤xy h×nh 2.3 lµ ®å thÞ cùc D2 . H×nh 2.5 vÝ dô vÒ
®å thÞ cùc D3 vµ D4 .
D3
D4
H×nh 2.5 §å thÞ cùc D3 vµ D4
§Þnh nghÜa 2.5. §å thÞ ®êng ®i P lµ mét ®å thÞ liªn th«ng ®¬n víi |VP | = |EP | + 1 mµ
nã cã thÓ vÏ sao cho c¸c ®Ønh vµ c¸c c¹nh cña nã n»m trªn mét ®êng th¼ng. §å thÞ
P2
P4
§Þnh nghÜa 2.6. §å thÞ vßng lµ mét ®Ønh ®¬n víi c¹nh vßng hoÆc lµ mét ®å thÞ liªn
th«ng C = (V , E ) víi |V | = |E | mµ cã thÓ vÏ sao cho tÊt c¶ c¸c ®Ønh cña nã vµ c¸c
c¹nh cña nã n»m trªn mét ®êng trßn. §å thÞ vßng n ®Ønh kÝ hiÖu lµ Cn .
C1 C2
C4
H×nh 2.8 §å thÞ thang vßng
§Þnh nghÜa 2.7. §å thÞ thang vßng CLn lµ hai ®å thÞ vßng ®ång t©m n ®Ønh trong nã
mçi cÆp trong n cÆp ®Ønh ®îc nèi víi nhau bëi mét c¹nh.
§Þnh nghÜa 2.8. §å thÞ hai phÇn G lµ mét ®å thÞ mµ tËp ®Ønh cña nã V cã thÓ ph©n
ho¹ch lµm hai tÖp con U vµ W sao cho mäi c¹nh cña G cã mét ®iÓm cuèi trong U
vµ mét ®iÓm cuèi trong W . CÆp U , W gäi lµ ph©n ho¹ch ®Ønh cña G. C¸c tÖp U ,W
®îc gäi lµ c¸c tËp con ph©n ho¹ch.
MÖnh ®Ò 2.2. Mét ®å thÞ hai phÇn kh«ng thÓ cã mét c¹nh vßng.
Chøng minh. KÕt luËn suy ra tõ ®Þnh nghÜa ®å thÞ hai phÇn. J
§Þnh nghÜa 2.9. §å thÞ hai phÇn ®Çy ®ñ G lµ mét ®å thÞ hai phÇn ®¬n sao cho mäi
®Ønh trong mét tËp ph©n ho¹ch ®îc nèi víi mäi ®Ønh trong tËp ph©n ho¹ch cßn l¹i.
§å thÞ hai phÇn ®Çy ®ñ cã m ®Ønh trong mét tËp hîp ph©n ho¹ch vµ n ®Ønh trong
Mét sè tÝnh chÊt cña ®å thÞ ®îc x¸c ®Þnh bëi nh÷ng d¹ng ®å thÞ nhá h¬n trong
®å thÞ ®· cho.
§Þnh nghÜa 2.10. 1. §å thÞ con cña mét ®å thÞ G lµ mét ®å thÞ H mµ c¸c ®Ønh vµ c¸c
c¹nh cña nã ®Òu thuéc G. NÕu H lµ ®å thÞ con cña G, ta còng cã thÓ nãi G lµ ®å
A a B
V = {A, B,C, D, E} vµE = {a, b, c, d, e, f }
d c
C¹nh a b c d e f
E b G §Ønh A B B A E D
e B C E E D C
D f C
V = {A, B, E} vµE = {c, d}
C¹nh c d
A B
§Ønh B A
d c E E
H1
E
A a B
V = {A, B,C, D} vµ E = {a, b, c, d, e}
d c
C¹nh a b c d e
E H2
b §Ønh A B B A E
e B C E E D
D C
H×nh 2.11 §å thÞ G vµ hai ®å thÞ con H1 vµ H2
2.2. §å thÞ con 23
§Þnh nghÜa 2.11. §å thÞ con thùc sù H cña G lµ ®å thÞ con sao cho VH lµ tËp con thùc
§Þnh nghÜa 2.12. Mét ®å thÞ con H gäi lµ d¶i cña ®å thÞ G nÕu VH = VG .
§Þnh nghÜa 2.13. G . Mét ®å thÞ con quy vµo tËp ®Ønh con U cña VG gäi
Cho mét ®å thÞ
lµ mét ®å thÞ con cña G (kÝ hiÖu lµ G (U )), mµ c¸c tËp ®Ønh cña lµ U vµ c¸c tËp c¹nh
gåm tÊt c¶ c¸c c¹nh cña G cã hai ®iÓm cuèi n»m trong U .
VÝ dô 2.12. §å thÞ 3 ®Ønh VG = {A, B,C}. §å thÞ con quy vµo U = {A, B} (h×nh 2.12).
k k
B B
c c
A A
a b h f g a b
d
C
G G (U )
§Þnh nghÜa 2.14. G , ®å thÞ con quy vµo tËp c¹nh D cña EG lµ mét ®å thÞ con
Cho ®å thÞ
cña G , kÝ hiÖu lµ G (D), mµ cã tËp c¸c c¹nh lµ D vµ tËp c¸c ®Ønh bao gåm c¸c ®Ønh
lµ c¸c ®iÓm cuèi cña c¸c c¹nh thuéc D. NghÜa lµ, VG(D) = {A ∈ end pts(e), víi e ∈ D} vµ
EG(D) = D.
VÝ dô 2.13. §å thÞ gåm c¸c c¹nh EG = {a, b, c, d, f , g, h, k}. §å thÞ con quy vµo D = {a, c}
(h×nh 2.13).
k
B B
c c
A A
a b h f g a
d
C
G G (D)
§Þnh nghÜa 2.15. 1. §Ønh bÊt k× bªn c¹nh mét ®Ønh ®îc gäi lµ ®Ønh l©n cËn cña nã.
2. Mét l©n cËn cña ®Ønh A, kÝ hiÖu lµ NG (A) lµ mét ®å thÞ con quy vµo tËp ®Ønh
A A A
B B B
C C C
NG (A) NG (B)
§Þnh nghÜa 2.16. Thµnh phÇn cña G lµ ®å thÞ con liªn th«ng lín nhÊt cña G. NghÜa
lµ, ®å thÞ con liªn th«ng H lµ thµnh phÇn cña ®å thÞ G nÕu H nã kh«ng ph¶i lµ ®å
Trong khoa häc m¸y tÝnh ngêi ta thêng coi ®å thÞ nh mét biÕn. V× thÕ ngêi
ta cã thÓ cÊu h×nh l¹i b»ng c¸ch thªm vµo mét ®Ønh vµ xãa ®i mét ®Ønh hoÆc mét
§Þnh nghÜa 2.17. NÕu A lµ mét ®Ønh cña ®å thÞ G, th× ®å thÞ con xãa ®Ønh G −A lµ
Tæng qu¸t h¬n, nÕu U lµ mét tËp con cña VG th× kÕt qu¶ liªn tiÕp xãa c¸c ®Ønh
§Þnh nghÜa 2.18. NÕu e lµ mét c¹nh cña cña ®å thÞ G, th× ®å thÞ con xãa c¹nh lµ mét
§Þnh nghÜa 2.19. 1. TËp ®Ønh c¾t ®îc trong ®å thÞ G lµ tËp hîp ®Ønh U sao cho
W X Y Z
VÝ dô 2.15. NÕu ®å thÞ trong h×nh 2.15 biÓu diÔn mét m¹ng viÔn th«ng, th× cã thÓ
ng¾t thµnh bèn c¾t ®Ønh t¹i W, X ,Y hoÆc Z sÏ hñy sù liªn th«ng cña m¹ng nµy. Còng
nh vËy víi {U,V } vµ {W, X } lµ hai tËp ®Ønh c¾t ®îc.
§Þnh nghÜa 2.20. Thªm ®Ønh A vµo ®å thÞ G, ë ®©y A lµ mét ®Ønh míi kh«ng ph¶i c¸c
®Ønh ®· cã trong VG , nghÜa lµ t¹o ra mét ®å thÞ míi kÝ hiÖu lµ G ∪ {A} víi c¸c ®Ønh
§Þnh nghÜa 2.21. Thªm c¹nh e vµo gi÷a hai ®Ønh U vµ W cña ®å thÞ G nghÜa lµ t¹o
ra mét ®å thÞ míi kÝ hiÖu lµ G ∪ {e} víi c¸c ®Ønh vÉn lµ VG vµ tËp c¹nh lµ EG ∪ {e}.
V× h×nh d¸ng, ®é dµi cña c¹nh vµ vÞ trÝ cña c¸c ®Ønh cña mét ®å thÞ kh«ng chØ
ra râ rµng trong ®Þnh nghÜa ®å thÞ. VËy mçi ®å thÞ cã v« h¹n c¸ch biÓu diÔn kh¸c
VÝ dô 2.16. Tuy c¸ch vÏ kh¸c nhau nhng ba h×nh sau ®©y cïng biÓu diÔn mét ®å
thÞ
A
b
b B a c
A a c d
B A C
d
c C d a B
C b
Còng cã thÓ viÖc g¸n nh·n cho c¸c ®å thÞ kh¸c nhau trªn cïng mét ®å thÞ nh
vÝ dô.
VG = {U,V,W }, EG = {a, b, c, d}
2.5. KiÓm nghiÖm kh«ng ®¼ng cÊu ®å thÞ 26
C¹nh a b c d
end ptsG () {U,V } {V,V } {U,W } {U,W }
VH = {U,V, X }, EG = {e, f , g, h}
C¹nh e f g h
end ptsD () {V,V } {V, X } {U, X } {U, X }
Tªn cña c¸c ®Ønh vµ c¸c c¹nh cña ®å thÞ G vµ H kh¸c nhau, nhng hai ®å thÞ nµy
hoµn toµn t¬ng tô. M« t¶ ®å thÞ G cã thÓ chuyÓn thµnh m« t¶ ®å thÞ H b»ng mét
U → X, V → V, W → U;
a → f , b → e, c → g, d → h.
VG → VH vµ fE : EG → EH sao cho víi mäi c¹nh e ∈ EG , hµm sè fV ¸nh x¹ c¸c ®iÓm cuèi
cña e thµnh nh÷ng ®iÓm cuèi cña c¹nh f E (e).
§Þnh nghÜa 2.23. Hai ®å thÞ G vµ H ®îc gäi lµ ®¼ng cÊu nÕu tån t¹i mét phÐp ®¼ng
§Þnh nghÜa 2.24. KÝ hiÖu AG [A, B] lµ sè c¸c c¹nh gi÷a hai ®Ønh A vµ B. Mét ¸nh
x¹ song ¸nh f : VG → VH trªn hai ®å thÞ G vµ H ®îc gäi lµ b¶o toµn béi c¹nh nÕu
MÖnh ®Ò 2.3. Hai ®å thÞ G vµ H ®¼ng cÊu khi vµ chØ khi tån t¹i mét song ¸nh f : VG → VH
b¶o toµn béi c¹nh.
MÖnh ®Ò 2.4. Hai ®å thÞ ®¬n G vµ H ®¼ng cÊu khi vµ chØ khi tån t¹i mét song ¸nh
§Þnh lý 2.1. NÕu G vµ H lµ ®å thÞ ®¼ng cÊu, th× |VG | = |VH | vµ |EG | = |EH |.
Chøng minh. Do ®Þnh nghÜa ®¼ng cÊu tån t¹i mét ¸nh x¹ 1-1, tõ ®ã suy ra kÕt qu¶.
J
HÖ qu¶ 2.1. Cì cña tËp ®Ønh vµ tËp c¹nh lµ bÊt biÕn ®å thÞ.
2.6. BiÓu diÔn ma trËn víi ®å thÞ 27
§Þnh lý 2.2. Cho f :G →H lµ ®å thÞ ®¼ng cÊu vµ A ∈ VG . Khi ®ã A vµ f (A) cã cïng bËc.
§Þnh nghÜa 2.26. Cho W =< V0 , e1 ,V1 , e2 , ..., en ,Vn > lµ ®êng ®i trong miÒn x¸c ®Þnh cña
G vµ ®¼ng cÊu f : G → H . Khi ®ã ¶nh cña ®êng ®i W lµ mét ®êng ®i
f (W ) =< f (V0 ), f (e1 ), f (V1 ), f (e2 ), ..., f (en ), f (Vn ) >
trong ®å thÞ H.
§Þnh lý 2.3. ¶nh ®¼ng cÊu ®å thÞ ®êng ®i W lµ mét ®êng ®i cã cïng ®é dµi.
2. Mét ®êng dÉn lµ mét ®êng mßn kh«ng cã ®Ønh nµo lÆp l¹i (ngo¹i trõ ®Ønh
3. Mét ®êng ®i, ®êng mßn hoÆc ®êng dÉn t¬ng øng tÇm thêng nÕu nã chØ
4. Mét ®êng dÉn cã ®Ønh ®Çu vµ ®Ønh kÕt thóc trïng nhau gäi lµ ®êng vßng.
HÖ qu¶ 2.3. ¶nh ®¼ng cÊu cña ®êng mßn, ®êng dÉn hoÆc ®êng vßng t¬ng øng lµ
®êng mßn, ®êng dÉn, ®êng vßng cã cïng ®é dµi.
§Þnh lý 2.4. Mét ®å thÞ G lµ hai phÇn khi vµ chØ khi nã kh«ng cã ®êng vßng ®é dµi lÎ.
M« t¶ h×nh thøc ®å thÞ th«ng qua b¶ng c¸c ®Ønh vµ c¹nh nh phÇn tríc ®· ®îc
¸p dông vµo c¸c øng dông theo m« h×nh ®å thÞ. Ma trËn rÊt Ýt khi dïng trong øng
dông thùc tÕ trong lÝ thuyÕt ®å thÞ, tuy vËy nã còng lµ c«ng cô ®Ó ta ph©n tÝch vµ
nghiªn cøu ®å thÞ. MÆt kh¸c ma trËn ®· ®îc nghiªn cøu rÊt kÜ trong §¹i sè tuyÕn
tÝnh. TiÕt nµy chØ ra c¸c biÓu diÔn ®å thÞ theo c¸c d¹ng ma trËn kh¸c nhau.
§Þnh nghÜa 2.28. Cho ®å thÞ G = (V , E ), ë ®©y V = {V1 ,V2 , ...,Vn } vµ E = {e1 , e2 , ..., en }.
Ma trËn liªn thuéc lµ mét ma trËn n hµng t¬ng øng víi n ®Ønh vµ m cét t¬ng øng
víi m c¹nh, kÝ hiÖu IG = (ai j ), vµ c¸c phÇn tö trong ma trËn ®îc tÝnh nh sau:
0 nÕu Vi kh«ng lµ mét ®iÓm cuèi cña e j
ai j = 1 nÕu Vi lµ mét ®iÓm cuèi cña e j
2 nÕu e j lµ mét c¹nh vßng t¹i Vi
2.6. BiÓu diÔn ma trËn víi ®å thÞ 28
B
d C a b c d e f g
A 2 2 1 0 0 0 1
c IG = B0 0 1 1 0 0 0
a b C 0 0 0 1 1 1 0
f e
A D 0 0 0 0 1 1 1
g
D
H×nh 2.17 §å thÞ vµ ma trËn liªn thuéc
Hai mÖnh ®Ò sau ®©y suy ra trùc tiÕp tõ ®Þnh nghÜa ma trËn liªn thuéc.
MÖnh ®Ò 2.5. Tæng tÊt c¶ c¸c phÇn tö trong mét hµng cña ma trËn liªn thuéc lµ bËc cña
MÖnh ®Ò 2.6. Tæng c¸c phÇn tö mçi cét trong ma trËn liªn thuéc ®Òu b»ng 2.
Hai mÖnh ®Ò nµy cã thÓ dïng ®Ó chøng minh §Þnh lÝ 1.1 tæng bËc ë c¸c ®Ønh
T¬ng tù ta ®Þnh nghÜa ma trËn liªn thuéc cho ®å thÞ ®Þnh híng.
§Þnh nghÜa 2.29. Cho ®å thÞ cã híng D = (V , E ), ë ®©y V = {V1 ,V2 , ...,Vn } vµ E =
{e1 , e2 , ..., en }. Ma trËn liªn thuéc lµ mét ma trËn n hµng t¬ng øng víi n ®Ønh vµ m
cét t¬ng øng víi m c¹nh, kÝ hiÖu ID = (ai j ), vµ c¸c phÇn tö trong ma trËn ®îc tÝnh
nh sau:
0 nÕu Vi kh«ng lµ mét ®iÓm cuèi cña ej
1 nÕu Vi lµ mét ®iÓm ®Çu cña ej
ai j =
−1 nÕu Vi lµ mét ®iÓm ®u«i cña ej
2 ej Vi
nÕu lµ mét c¹nh vßng t¹i
B
d C a b c d e f g
A 2 2 −1 0 0 0 −1
c IG = B0 0 1 −1 0 0 0
a b C 0 0 0 1 −1 1 0
f e
A D 0 0 0 0 1 −1 1
g
D
H×nh 2.18 §å thÞ ®Þnh híng vµ ma trËn liªn thuéc
2.6. BiÓu diÔn ma trËn víi ®å thÞ 29
MÖnh ®Ò 2.7. NÕu tæng cét trong ma trËn liªn thuéc cña ®å thÞ ®Þnh híng b»ng 0 th×
§Þnh nghÜa 2.30. Ma trËn kÒ cña mét ®å thÞ G , kÝ hiÖu lµ AG lµ mét ma trËn mµ
hµng vµ cét ®Òu theo thø tù c¸c ®Ønh sao cho AG = (ai j ):
(
Sè c¸c c¹nh nèi Vi nèi víi Vj nÕu Vi 6= V j
ai j =
Sè c¹nh vßng t¹i Vj nÕu Vi = V j
B A B C D
d C
A 2 1 0 1
c IG = B1 0 1 0
a b f C 0 1 0 2
e
A D 1 0 2 0
g
D
H×nh 2.19 §å thÞ vµ ma trËn kÒ
§Þnh nghÜa 2.31. Ma trËn kÒ cña mét ®å thÞ ®Þnh híng D , kÝ hiÖu lµ AD lµ mét ma
trËn mµ hµng vµ cét ®Òu theo thø tù c¸c ®Ønh sao cho AD = (ai j ):
(
Sè c¸c cung ®i tõ Vi tíi Vj nÕu Vi 6= V j
ai j =
Sè c¹nh vßng t¹i Vj nÕu Vi = V j
B
d C A B C D
A 2 1 0 1
c IG = B0 0 1 0
a b f C 0 0 0 1
e
A D 0 0 1 0
g
D
H×nh 2.20 §å thÞ vµ ma trËn kÒ
c¶ phÇn tö thuéc hµng i trong ma trËn kÒ AD b»ng bËc ra cña ®Ønh Vi vµ tæng tÊt c¶ phÇn
a) Kn ; b) Km,n
2. Kh¶ n¨ng sè c¹nh lín nhÊt cã thÓ trong ®å thÞ ®¬n hai phÇn G víi n ®Ønh lµ
bao nhiªu?
3. H·y x¸c ®Þnh gi¸ trÞ cña n mµ víi nã c¸c ®å thÞ sau lµ hai phÇn:
a) Kn ; b) Cn ; c) Pn .
4. Cho X vµ Y lµ hai ®Ønh kh¸c nhau trong ®å thÞ ®Çy ®ñ K4 . T×m sè X −Y ®êng
®i cã ®é dµi 2 vµ ®é dµi 3.
5. Cho X vµ Y lµ hai ®Ønh kh«ng c¹nh nhau trong ®å thÞ hai phÇn ®Çy ®ñ K3,3 .
T×m sè X −Y ®êng ®i cã ®é dµi 2 vµ ®é dµi 3.
6. LËp ma trËn liªn thuéc vµ lËp ma trËn c¹nh kÒ ®å thÞ sau ®©y
A D
k m
g
e ` h
B f C
7. LËp ma trËn liªn thuéc vµ lËp ma trËn c¹nh kÒ ®å thÞ sau ®©y
l
A D k
m
e g h
B f C
8. VÏ ®å thÞ theo ma trËn kÒ sau
A B C D
A 2 1 1 1
AG = B1 0 1 0
C 1 1 0 1
D 1 0 1 0
A B C D
A 0 1 1 1
AG = B1 0 1 0
C 1 1 0 1
D 1 0 1 1
10. H·y biÓu diÔn ma trËn kÒ cho mçi hä ®å thÞ sau ®©y:
a) Kn b) Km,n c) Pn d) Cn .
Ch¬ng 3
C©y vµ c¸c tÝnh chÊt cña nã
C©y lµ mét cÊu tróc quan träng trong lÝ thuyÕt ®å thÞ vµ lµ c¬ së cho rÊt nhiÒu
thuËt to¸n xö lÝ th«ng tin. C©y gi÷ vai trß quan träng trong thiÕt kÕ vµ ph©n tÝch
vÒ m¹ng liªn th«ng. Nã còng lµ phÇn chÝnh cña m¹ng liªn th«ng tèi u. CÊu tróc
h×nh c©y lµ c¸ch tèt nhÊt lu tr÷ d÷ liÖu vµ c¸c thao t¸c trªn d÷ liÖu.
§Þnh nghÜa 3.1. 1. C©y ®å thÞ lµ mét ®å thÞ liªn th«ng kh«ng cã chu tr×nh.
2. Mét c¹nh e cña ®å thÞ G gäi lµ c¹nh chu tr×nh nÕu e n»m trªn mét chu tr×nh
Chøng minh. Gi¶ sö A vµ B lµ hai ®iÓm cuèi cña e. NÕu e n»m trªn mét chu tr×nh
cña G, th× ®êng ®i cña chu tr×nh lµ ®êng dÉn gi÷a c¸c ®Ønh A vµ B. Theo nhËn
xÐt th× hai thµnh phÇn t¹i hai ®Ønh A vµ B trïng nhau vµ do ®ã G − e liªn th«ng.
Ngîc l¹i, NÕu G −e liªn th«ng, th× tån t¹i ®êng dÉn P tõ A tíi B kh«ng cã c¹nh
Chøng minh. Sö dông mÖnh ®Ò 3.1 cho thµnh phÇn mµ nã chøa c¹nh nµy. J
Sè nh÷ng thµnh phÇn cña ®å thÞ G kÝ hiÖu lµ c(G).
HÖ qu¶ 3.2. Cho e lµ c¹nh bÊt k× cña ®å thÞ G . Khi ®ã
(
c(G) nÕu e lµ c¹nh vßng,
c(G − e) =
c(G) + 1 ngîc l¹i.
3.1. §Æc trng vµ tÝnh chÊt cña c©y 33
NÕu ®Ønh bËc 1 bÞ xãa ®i khái c©y, th× ®å thÞ kÕt qu¶ vÉn lµ mét c©y cã mét
®Ønh nhá h¬n. Nh vËy, ph¶i ch¨ng c©y cã tÝnh chÊt nµy, nghÜa lµ lu«n lu«n t×m
®îc mét ®Ønh bËc 1. MÖnh ®Ò sau ®©y ®¶m b¶o cho sù tån t¹i mét ®Ønh nh vËy.
MÖnh ®Ò 3.2. Mäi c©y víi Ýt nhÊt mét c¹nh cã Ýt nhÊt hai ®Ønh cïng bËc 1.
Chøng minh. Cho P =< A1 , A2 , ..., An > lµ ®êng dÉn cã ®é dµi lín nhÊt trong c©y T.
Gi¶ sö mét trong nh÷ng ®iÓm cuèi cña nã cã bËc lín h¬n 1, vÝ dô nh A1 . Khi ®ã A1
kÒ víi A2 trªn P vµ mét ®Ønh nµo ®ã W (h×nh3.1).
NÕu W kh¸c tÊt c¶ c¸c ®Ønh Ai , i = 2, 3, ..., n, th× P cã thÓ më réng thªm ®iÒu nµy
A3
A1 A2 An
A3
A1 A2 W An
Ngîc l¹i, nÕu W lµ mét ®Ønh nµo ®ã cña Ai , i = 2, 3, ..., n, th× chóng t¹o ra mét chu
tr×nh, ®iÒu nµy còng v« lÝ víi T lµ mét c©y. Nh vËy, ®ång thêi nh÷ng ®iÓm cuèi
Chøng minh. Sö dông mÖnh ®Ò 3.2 cho c¸c thµnh phÇn cña ®å thÞ. J
MÖnh ®Ò 3.3. Mäi c©y n ®Ønh chøa ®óng n − 1 c¹nh.
Chøng minh. C©y mét ®Ønh lµ c©y tÇm thêng, nã kh«ng cã c¹nh. Gi¶ sö víi mét sè
k≥1 sao cho mäi c©y k ®Ønh ®Òu cã ®óng k − 1. Ta xÐt c©y bÊt k× T cã k + 1 ®Ønh.
Theo mÖnh ®Ò 3.2, c©y T chøa mét ®Ønh bËc 1, gäi ®ã lµ A. Khi ®ã ®å thÞ T − A lµ
kh«ng chu tr×nh, v× xãa ®i mét vÖt tõ ®å thÞ kh«ng chu tr×nh th× kh«ng thÓ t¹o
ra mét chu tr×nh. H¬n n÷a T −A lµ liªn th«ng, v× ®Ønh A cã bËc 1 trong T. Nh
3.1. §Æc trng vµ tÝnh chÊt cña c©y 34
vËy T −A lµ mét c©y k ®Ønh vµ do ®ã theo gi¶ thiÕt quy n¹p nã cã ®óng k − 1 c¹nh.
Nhng tõ deg(A) = 1, suy ra T −A cã mét c¹nh nhá h¬n T. Do ®ã, T cã k c¹nh. §ã lµ
Chøng minh. Sö dông mÖnh ®Ò 3.3 cho mçi thµnh phÇn cña G. J
HÖ qu¶ 3.5. Mét ®å thÞ bÊt k× G víi n ®Ønh th× cã Ýt nhÊt n − c(G) c¹nh.
C©y cã rÊt nhiÒu kh¶ n¨ng ®Æc trng vµ mçi cÊu tróc cña ®å thÞ cho mét ®Æc
trng kh¸c nhau. §Þnh lÝ sau liÖt kª mét sè ®Æc trng quan träng nhÊt cña c©y.
§Þnh lý 3.1. Cho T lµ mét ®å thÞ n ®Ønh. Khi ®ã s¸u kh¼ng ®Þnh sau ®©y t¬ng ®¬ng:
1. T lµ mét c©y;
5. Hai ®Ønh bÊt k× cña T liªn th«ng bëi ®óng mét ®êng dÉn;
6. T kh«ng chøa chu tr×nh vµ víi mét c¹nh míi bÊt k× e, ®å thÞ T +e cã ®óng mét
chu tr×nh.
Chøng minh. NÕu n = 1 th× tÊt c¶ kh¼ng ®Þnh lµ hiÓn nhiªn ®óng vµ t¬ng ®¬ng
nhau. Do ®ã gi¶ sö n ≥ 2.
1 ⇒ 2: Do mÖnh ®Ò 3.3.
2 ⇒ 3: Gi¶ sö T cã k thµnh phÇn. Khi ®ã theo hÖ qu¶ 3.3, th× T cã n−k c¹nh.
Do ®ã k = 1.
3 ⇒ 4: Gi¶ sö e lµ mét c¹nh cña T. Tõ T −e cã n−2 c¹nh, HÖ qu¶ 3.5 kÐo theo
4 ⇒ 5: Ta chøng minh b»ng ph¶n chøng . Gi¶ sö 4) ®óng vµ cho X vµ Y lµ hai ®Ønh
V lµ ®Ønh ®Çu tiªn hai ®êng dÉn gÆp l¹i (h×nh 3.2). Khi ®ã hai ®êng dÉn nµy
t¹o thµnh U −V ®êng dÉn lµ mét chu tr×nh vµ bÊt k× c¹nh nµo trªn chu tr×nh nµy
5 ⇒ 6: T kh«ng chøa chu tr×nh v× bÊt k× hai ®Ønh trªn chu tr×nh cã hai ®êng
dÉn kh¸c nhau gi÷a chóng. H¬n n÷a, thªm mét c¹nh míi e bÊt k× vµo T sÏ t¹o ra
3.2. C©y gèc 35
U P1 P1
V
X P1
P2 P2 P2 Y
H×nh 3.2 Hai ®êng dÉn t¸ch ra t¹i U vµ gÆp l¹i t¹i V
chu tr×nh, v× ®iÓm cuèi cña e gäi ®ã lµ U vµ V ®· liªn th«ng bëi ®êng dÉn trong
T. §Ó chøng minh chu tr×nh nµy lµ duy nhÊt, gi¶ sö ngîc l¹i cã hai chu tr×nh ®îc
t¹o ra. Chóng sÏ ®ång thêi chøa c¹nh e vµ ®êng dÉn lín t¹o ra chu tr×nh sÏ lµ hai
6 ⇒ 1: Chøng minh b»ng ph¶n chøng. Gi¶ sö T kh«ng liªn th«ng. Khi ®ã thªm
mét c¹nh nèi mét ®Ønh cña mét thµnh phÇn víi mét ®Ønh cña thµnh phÇn kh¸c sÏ
t¹o ra mét chu tr×nh, ®iÒu nµy tr¸i víi kh¼ng ®Þnh 6). J
Mét ®å thÞ bÊt k× chøa mét sè c©y kh¸c nhau nh lµ nh÷ng ®å thÞ con. §Þnh lÝ
sau ®©y chØ ra r»ng nÕu ®å thÞ ®¬n ®ñ trï mËt theo nghÜa cã ®ñ nhiÒu c¹nh, th×
KÝ hiÖu bËc nhá nhÊt cña c¸c ®Ønh trong mét ®å thÞ G lµ δmin (G ).
§Þnh lý 3.2. Gi¶ sö T lµ c©y bÊt k× n ®Ønh vµ G lµ ®å thÞ ®¬n sao cho δmin (G ) ≥ n − 1. Khi
®ã T lµ ®å thÞ con cña G.
Chøng minh. Kh¼ng ®Þnh cña ®Þnh lÝ ®óng nÕu n=1 hoÆc b»ng 2, v× K1 vµ K2 lad
c¸c ®å thÞ con cña mäi ®å thÞ víi Ýt nhÊt mét c¹nh.
Gi¶ sö kh¼ng ®Þnh ®óng víi n ≥ 2. Gi¶ sö T lµ c©y n+1 ®Ønh, vµ G lµ ®å thÞ víi
nã trong T . §å thÞ con xãa ®Ønh T − V lµ mét c©y cã n ®Ønh, do ®ã theo gi¶ thiÕt
quy n¹p T −V lµ ®å thÞ con cña G . V× degG (u) ≥ n, th× tån t¹i mét ®Ønh nµo ®ã W
trong G nhng kh«ng thuéc T −V mµ nã lµ kÒ víi U . Cho e lµ c¹nh nèi c¸c ®Ønh U
vµ W (h×nh 3.3).
Khi ®ã T −V cïng víi ®Ønh W vµ c¹nh e t¹o ra mét c©y mµ nã ®¼ng cÊu víi T vµ
§Þnh nghÜa 3.2. C©y ®Þnh híng lµ mét ®å thÞ ®Þnh híng mµ ®å thÞ c¬ së cña nã lµ
mét c©y.
§Þnh nghÜa 3.3. C©y gèc lµ mét c©y ®Þnh híng cã mét ®Ønh ®Æc biÖt R ®îc gäi lµ
gèc, sao cho mäi ®Ønh V kh¸c ®Òu tån t¹i ®êng dÉn ®Þnh híng tõ R ®Õn V.
3.2. C©y gèc 36
U e W U e W
V V
T [(T −V ) ∪ {W }] + e
VÏ c©y gèc ngêi ta bá qua mòi tªn chØ híng cho c¸c c¹nh v× bao giê híng
còng xuÊt ph¸t tõ gèc. Ta còng thÊy r»ng ®êng dÉn ®êng dÉn tõ gèc ®Õn mét
C©y ®Þnh híng cã rÊt nhiÒu øng dông, ta chØ ra mét sè vÝ dô.
VÝ dô 3.1. C©y quyÕt ®Þnh: Tæ chøc mét ch¬ng tr×nh lín trong m¸y tÝnh víi tÝnh
to¸n chiÕn thuËt quyÕt ®Þnh phøc t¹p ngêi ta thêng tæ chøc theo c©y gèc.VÝ dô
h×nh 3.4 m« t¶ ba bíc ®i trong trß ch¬i tic-tac-toe b¾t ®Çu tõ x ë gi÷a. Chó ý tíi tÝnh
®èi xøng th× h×nh chØ ra tÊt c¶ kh¶ n¨ng cña bíc ®i.
§Þnh lÝ sau ®©y ®Æc trng c©y gèc theo thuËt ng÷ bËc vµo cña c¸c ®Ønh cña nã.
§Þnh lý 3.3. C©y ®Þnh híng biÓu diÔn nh c©y gèc khi vµ chØ khi mét ®Ønh cã bËc vµo
Chøng minh. §iÒu kiÖn cÇn ( ⇒): Gi¶ sö T lµ c©y gèc víi gèc R vµ gi¶ sö R cã cung
vµo tõ mét ®Ønh W. Khi ®ã ®êng dÉn ®Þnh híng tõ R tíi W cïng víi cung nµy cña
nã kÐo theo tån t¹i mét chu tr×nh trong c©y c¬ së cña T , v« lÝ víi ®Þnh nghÜa c©y
T .Mäi ®Ønh kh¸c ngoµi R ®Òu cã bËc vµo Ýt nhÊt lµ 1, v× tån t¹i ®êng dÉn ®Þnh
híng tõ R ®Õn ®Ønh nµy. Gi¶ sö mét trong c¸c ®Ønh nµy, cho ®ã lµ W, cã bËc vµo
lín h¬n 1. Gi¶ sö U vµ V lµ hai ®Ønh cã cung ®i ra cïng ®Õn W. Khi ®ã hai ®êng dÉn
3.2. C©y gèc 37
®Þnh híng tõ R tíi U vµ V víi cung UW vµ VW l¹i t¹o ra chu tr×nh trong ®å thÞ c¬
§iÒu kiÖn ®ñ ( ⇐): Gi¶ sö R lµ ®Ønh cña c©y ®Þnh híng cã bËc vµo 0 vµ c¸c ®Ønh
cßn l¹i cã bËc 1. Gi¶ sö W lµ mét ®Ønh kh¸c R. Theo gi¶ thiÕt tån t¹i mét ®Ønh duy
nhÊt, gäi ®ã lµ U1 cã cung ®i ra tíi W . T¬ng tù, tån t¹i ®Ønh duy nhÊt U2 víi cung
®i ra tíi U1 . V× c©y c¬ së cña T kh«ng chu tr×nh, kh«ng mét trong c¸c ®Ønh Ui nµy
lÆp l¹i, vµ do ®ã qu¸ tr×nh nµy ph¶i kÕt thøc t¹i R. KÕt qu¶ lµ mét chuçi ®Ønh lµ
®êng dÉn tõ R tíi W . Do ®ã T biÓu diÔn nh c©y gèc víi gèc t¹i R. J
ThuËt ng÷ cña c©y ®å thÞ
§Þnh nghÜa 3.4. Trong mét c©y gèc, ®é s©u (hay bËc) cña mét ®Ønh V lµ kho¶ng c¸ch
tõ gèc ®Õn nã, nghÜa lµ ®é dµi cö ®êng dÉn duy nhÊt tõ gèc ®Õn V .
§Þnh nghÜa 3.5. 1. §é cao cña mét c©y gèc lµ ®é dµi cña ®êng dÉn dµi nhÊt tõ gèc
2. NÕu ®Ønh V ngay tríc ®Ønh W trªn ®êng dÉn tõ gèc ®Õn W, th× V lµ ®Ønh
4. Mét ®Ønh W gäi lµ hËu duÖ cña ®Ønh V (hoÆc V gäi lµ tiÒn bèi cña W) nÕu V
n»m trªn ®êng dÉn duy nhÊt tõ gèc tíi W.
5. Mét l¸ trong c©y gèc lµ mét ®Ønh bÊt k× kh«ng cã ®Ønh con.
§Þnh nghÜa 3.6. H×nh vÏ ph¼ng chuÈn cña mét c©y gèc lµ mét h×nh vÏ trªn mÆt ph¼ng
sao cho gèc ë trªn cïng vµ c¸c ®Ønh ë cïng møc ®îc vÏ thµnh mét hµng.
VÝ dô 3.2. H×nh vÏ chuÈn cña c©y gèc ®é cao 3 (h×nh 3.5). C¸c ®Ønh R, A, B,C, D lµ
c¸c ®Ønh trong. C¸c ®Ønh E, F, G, H, I, J ®Òu lµ l¸. C¸c ®Ønh G, H, I lµ anh em ruét.
§Þnh nghÜa 3.7. 1. Mét m-c©y (m ≥ 2) lµ mét c©y gèc mµ mäi ®Ønh cña nã cã m hoÆc
2. m-c©y ®Çy ®ñ lµ mét m-c©y víi mäi ®Ønh trong cã ®óng m con vµ tÊt c¶ c¸c l¸ ë
VÝ dô 3.3. C©y trong h×nh 3.6 lµ 3-c©y vµ c©y bªn tr¸i lµ 3-c©y ®Çy ®ñ.
A B C
D E F G H I
J
H×nh 3.5 C©y gèc vÏ ph¼ng chuÈn
R R
H×nh 3.6 Hai c©y 3-c©y, mét c©y ®Çy ®ñ vµ mét c©y kh«ng
Gi¶ sö tån t¹i m` ®Ønh t¹i møc ` víi ` ≥ 1. V× mçi ®Ønh nµy cã nhiÒu nhÊt m
con, nªn tån t¹i nhiÒu nhÊt m.m` = m`+1 con t¹i møc ` + 1. J
§Þnh lý 3.4. Gi¶ sö T lµ m-c©y víi n ®Ønh vµ chiÒu cao h. Khi ®ã
mh+1 − 1
h+1 ≤ n ≤ .
m−1
Chøng minh. Gi¶ sö nk lµ sè ®Ønh t¹i møc k sao cho 1 ≤ nk ≤ mk , theo mÖnh ®Ò 3.4.
Nh vËy
h h h
mh+1 − 1
h+1 = ∑1≤ ∑ nk ≤ ∑ mk = m−1
.
k=0 k=0 k=0
v×
h
∑ nk = n.
k=0
J
§Þnh nghÜa 3.8. Hai c©y gèc ®îc gäi lµ ®¼ng cÊu nh c¸c c©y gèc nÕu tån t¹i ®¼ng cÊu
VÝ dô 3.4. H×nh 3.7 cho ta thÊy hai c©y ë bªn tr¸i lµ ®¼ng cÊu nh c¸c c©y gèc, cßn
hai c©y bªn ph¶i tån t¹i ®¼ng cÊu c©y ®å thÞ nh÷ng kh«ng ®¼ng cÊu nh c©y gèc.
Trong tÝnh to¸n thÓ hiÖn trong m¸y tÝnh ngêi ta biÓu diÔn c©y gèc nh sau:
nÕu n ®Ønh cña c©y gèc ®îc g¸n nh·n 0, 1, 2, ..., n − 1 víi gèc g¸n 0, th× danh s¸ch mµ
phÇn tö thø k lµ cha cña ®Ønh k ®îc gäi lµ biÓu diÔn m¶ng cña cha. Nã sÏ hoµn
VÝ dô 3.5. H×nh 3.8 biÓu diÔn m¶ng cha cho c©y gèc.
3.3. C©y nhÞ ph©n 39
H×nh 3.7 §¼ng cÊu c©y cã thÓ vµ kh«ng thÓ lµ ®¼ng cÊu nh c¸c c©y gèc
1 2 §Ønh 0 1 2 3 4 5 6
Cha − 0 0 1 2 2 2
3
4 5 6
H×nh 3.8 BiÓu diÔn c©y gèc b»ng m¶ng cha
§Þnh nghÜa 3.9. C©y thø tù lµ mét c©y gèc trong nã c¸c con t¹i mçi ®Ønh ®îc g¸n mét
thø tù cè ®Þnh.
§Þnh nghÜa 3.10. BiÓu diÔn ph¼ng chuÈn cña c©y thø tù lµ vÏ trªn mÆt ph¼ng chuÈn
sao cho t¹i mçi møc tõ tr¸i qua ph¶i thø tù c¸c ®Ønh ®îc g¸n theo thø tù quy ®Þnh
tríc.
C©y thø tù quan trong nhÊt lµ c©y nhÞ ph©n ®îc nghiªn cøu ë phÇn sau.
§Þnh nghÜa 3.11. C©y nhÞ ph©n lµ 2-c©y thø tù trong nã mçi con ®îc g¸n cho hoÆc lµ
VÝ dô 3.6. C©y nhÞ ph©n cã thÓ cã mét con bªn tr¸i hoÆc bªn ph¶i.
§Þnh nghÜa 3.12. C©y con tr¸i (ph¶i) cña mét ®Ønh V trong c©y nhÞ ph©n T lµ mét
c©y nhÞ ph©n con bao trïm chän bªn tr¸i (bªn ph¶i) cña V vµ tÊt c¶ c¸c hËu duÖ cña
nã.
C©y nhÞ ph©n bao gåm gèc vµ c©y con bªn tr¸i vµ c©y con bªn ph¶i, mµ chóng lµ
c©y nhÞ ph©n nhá h¬n. TÝnh håi quy cña c©y nhÞ ph©n t¹o cho ta dïng ph¬ng ph¸p
quy n¹p to¸n häc chøng minh rÊt nhiÒu kh¼ng ®Þnh quan träng vÒ c©y nhÞ ph©n.
§Æc biÖt quy n¹p theo chiÒu cao cña c©y nhÞ ph©n.
TÝnh håi quy cña c©y nhÞ ph©n: NÕu T lµ mét c©y nhÞ ph©n ®é cao h, th× c©y con
bªn tr¸i vµ c©y con bªn ph¶i ®ång thêi cã ®é cao nhá h¬n hoÆc b»ng h − 1 vµ Ýt nhÊt
cã mét c©y con b»ng ®é cao nµy.
Chøng minh. Kh¼ng ®Þnh hiÓn nhiªn ®óng nÕu h = 0. Gi¶ sö víi sè k ≥ 0, c©y nhÞ
ph©n ®Çy ®ñ ®é cao k cã 2k+1 − 1 ®Ønh. Gi¶ sö T lµ c©y nhÞ ph©n ®Çy ®ñ ®é cao k + 1.
V× T lµ c©y ®Çy ®ñ, c©y con tr¸i T1 vµ c©y con ph¶i T2 ph¶i lµ c¸c c©y ®Çy ®ñ. H¬n
n÷a, c©y T1 vµ T2 ®ång thêi cã ®é cao h, do ®ã theo gi¶ thiÕt quy n¹p, mçi c©y con
nµy cã
k+1
2 − 1 ®Ønh. Nh vËy, sè ®Ønh cña c©y T lµ
1 + 2k+1 − 1 + 2k+1 − 1 = 2k+2 − 1.
J
HÖ qu¶ 3.6. Mäi c©y nhÞ ph©n ®é cao h cã nhiÒu nhÊt 2h+1 − 1 ®Ønh.
§i qua c¸c ®Ønh cña mét c©y mét c¸ch hÖ thèng gäi lµ duyÖt c©y. MÆc dï duyÖt
c©y trong phÇn nµy chØ cho c©y nhÞ ph©n nhng nã còng cã thÓ ¸p dông cho mét
§Þnh nghÜa 3.13. Thø tù bËc cña mét c©y thø tù lµ liÖt kª c¸c ®Ønh theo thø tù t¨ng
cña ®é s©u, sao cho c¸c ®Ønh cã cïng ®é s©u ®îc liÖt kª theo thø tù cña chóng.
Nh vËy thø tù bËc lµ thø tù trªn xuèng, tr¸i qua ph¶i cña biÓu diÔn ph¼ng chuÈn
VÝ dô 3.7. Thø tù bËc cña c©y ®îc g¸n nh·n nh h×nh 3.10 lµ R, A, B,C, D, E, F, H, I, J, K, L.
lÇn ®Çu, nhng kh«ng ®a vµo danh s¸ch lÇn gÆp sau ®ã.
3.4. DuyÖt c©y nhÞ ph©n 41
A B
C
D E F
H I J K
2: while < hµng bËc cha rçng (cha hÕt ®Ønh) > do
3: LÊy mét ®Ønh vµ viÕt vµo danh s¸ch ®a ra;
5: end while
6: return(Danh s¸ch ®Ønh theo thø tù bËc).
end LevelOrder
end PreOrder
VÝ dô 3.8. §Çu vµo cña thuËt to¸n trªn lµ c©y ë h×nh 3.10. Khi ®ã kÕt qu¶ theo thø tù
R, A,C, H, D, I, J, L, B, E, K, F.
3: §i vµo gèc;
end PostOrder
VÝ dô 3.9. §Çu vµo cña thuËt to¸n trªn lµ c©y ë h×nh 3.10. Khi ®ã kÕt qu¶ theo thø tù
H,C, I, L, J, D, A, K, E, F, B, R.
VÝ dô 3.10. Hai c©y trong h×nh 3.11 cã cïng thø tù bËc vµ thø tù tríc, nhng kh¸c
thø tù sau:
A A
B
B C
C D D
VÝ dô 3.11. §Çu vµo cña thuËt to¸n trªn lµ c©y ë h×nh 3.10. Khi ®ã kÕt qu¶ theo thø
tù
C, H, A, I, D, L, J, R, K, E, B, F.
3.4. DuyÖt c©y nhÞ ph©n 43
§Þnh nghÜa 3.14. C©y biÓu thøc cho mét biÓu thøc sè häc hoÆc lµ mét ®Ønh ®¬n g¸n
• C©y con bªn tr¸i cña gèc lµ c©y biÓu thøc thÓ hiÖn vÕ tr¸i to¸n h¹ng;
• C©y con bªn ph¶i cña gèc lµ c©y biÓu thøc thÓ hiÖn vÕ ph¶i to¸n h¹ng.
VÝ dô 3.12. C©y biÓu tøc trong h×nh 3.12 lu tr÷ biÓu thøc: ((a + b) ∗ (c − d))/c.
∗ e
+ −
a b c d
C©y biÓu thøc lµ cÊu tróc lu tr÷ biÓu thøc sè häc tù nhiªn. Khi c©y biÓu thøc
®îc duyÖt, kÕt qu¶ biÓu thøc nhËn ®îc phô thuéc vµo nh÷ng c¸ch duyÖt ®· xÐt
ë trªn, nhng lÇn nµy víi tªn gäi vµ kÝ hiÖu: pre f ix (tiÒn tè), pos f ix (hËu tè), in f ix
(néi tè).
VÝ dô 3.13. Cho c©y biÓu thøc trong h×nh 3.12 víi thñ tôc duyÖt c©y t¬ng øng lµ:
§Þnh nghÜa 3.15. B¶ng truy cËp ngÉu nhiªn lµ mét c¬ së dù liÖu mµ miÒn x¸c ®Þnh
cña nã lµ mét d·y phÇn tö, ë ®©y mçi phÇn tö gåm hai trêng. Mét trêng lµ phÇn
tö d÷ liÖu vµ trêng kia lµ dïng lµm khãa key mµ nã x¸c ®Þnh vÞ trÝ phÇn tö trong
c¬ së d÷ liÖu.
Nh vËy mét phÇn tö t×m trong c¬ së d÷ liÖu ngÉu nhiªn b»ng c¸ch t×m khãa
cña nã.
§Þnh nghÜa 3.16. C©y t×m kiÕm nhÞ ph©n (BAST) lµ mét c©y nhÞ ph©n, mçi ®Ønh cña
nã ®îc g¸n mét khãa sao cho khãa ®îc g¸n t¹i ®Ønh V bÊt k× lín h¬n khãa t¹i mçi
®Ønh trong c©y con bªn tr¸i cña V vµ nã nhá h¬n khãa t¹i mçi ®Ønh trong c©y con bªn
ph¶i cña V.
VÝ dô 3.14. C¶ hai c©y t×m kiÕm nhÞ ph©n trong h×nh 3.13 ®Òu lu tr÷ c¸c khãa:
28
22 23 35
22 46
40
9 35 21
3
8
3 28 46
14 9
12
12 40 14
8 21 23
H×nh 3.13 Hai c©y t×m kiÕm nhÞ ph©n ®Òu chøa cïng mét tËp khãa
Chó ý. Khãa nhá nhÊt trong c©y t×m kiÕm nhÞ ph©n cã thÓ t×m b»ng c¸ch b¾t
®Çu tõ gèc vµ ®i vÒ phÝa bªn tr¸i tíi ®Ønh kh«ng cã con tr¸i, th× ®Ønh ®ã cã chøa
Khãa lín nhÊt trong c©y t×m kiÕm nhÞ ph©n cã thÓ t×m b»ng c¸ch b¾t ®Çu tõ
gèc vµ ®i vÒ phÝa bªn ph¶i tíi ®Ønh kh«ng cã con ph¶i, th× ®Ønh ®ã cã chøa khãa
lín nhÊt.
ThuËt to¸n t×m mét khãa trong c©y t×m kiÕm nhÞ ph©n cã hai ph¬ng ¸n håi
NÕu t¹i mçi ®Ønh cña c©y t×m kiÕm nhÞ cã c©y con bªn tr¸i vµ c©y con bªn ph¶i
cì gÇn b»ng nhau, th× so s¸nh trong thuËt to¸n b»ng nöa sè ®Ønh.
3.6. Bµi tËp ch¬ng III 45
ThuËt to¸n 3.5 T×m kiÕm c©y nhÞ ph©n (BST Search)
procedure BST Search
§Çu vµo: C©y t×m kiÕm nhÞ ph©n T vµ khãa cÇn t×m t .
§Çu ra: §Ønh V cña T sao cho key(V ) = t nÕu t t×m thÊy
hoÆc null t kh«ng t×m thÊy.
nÕu
1: V := gèc cñaT;
2: while < (V 6= null) and (t 6= key(V )) > do
3: if t > key(V ) then
4: V := con bªn ph¶i cña V ;
5: else
6: V := con bªn tr¸i cña V;
7: end if
8: end while
9: returnV .
end BST Search
ThuËt to¸n 3.6 T×m kiÕm håi quy c©y nhÞ ph©n (BST Search)
procedure BST Search(T,t)
§Çu vµo: C©y t×m kiÕm nhÞ ph©n T vµ khãa cÇn t×m t .
§Çu ra: §Ønh V cña T sao cho key(V ) = t nÕu t t×m thÊy
hoÆc null nÕu t kh«ng t×m thÊy.
7: else
8: BST Search(c©y con tr¸i cña T, t);
9: end if
end BST Search
§Þnh nghÜa 3.17. Mét c©y nhÞ ph©n lµ c©n b»ng, nÕu t¹i mäi ®Ønh cña nã, sè c¸c ®Ønh
trong c©y con tr¸i vµ sè ®Ønh trong c©y con ph¶i kh¸c nhau nhiÒu nhÊt lµ 1.
Trong h×nh 3.13 c©y con bªn ph¶i lµ c©n b»ng. C©y con bªn tr¸i kh«ng c©n b»ng.
Trong mét c©y c©n b»ng thuËt to¸n t×m kiÕm trong c©y t×m kiÕm nhÞ ph¬ng thùc
1. H·y vÏ c©y hoÆc kh«ng vÏ ®îc c©y th× gi¶i thÝch t¹i sao:
3.6. Bµi tËp ch¬ng III 46
a) −, 0, 1, 1, 1, 1, 1, 2, 2, 2; b) −, 0, 1, 1, 2, 2, 3, 4, 4.
3. Chøng minh r»ng nÕu G lµ mét c©y, th× G ph¶i chøa Ýt nhÊt mét ®Ønh cã bËc
ch½n.
4. §a ra ®êng duyÖt c©y nhÞ ph©n sau theo: preorder, inorder vµ postorder
2 3
4 5 6
7 8 9 10
5. §a ra ®êng duyÖt c©y nhÞ ph©n sau theo: preorder, inorder vµ postorder
3 2
6 10 4 5
9 7 8
6. BiÓu diÔn prefix, infix vµ postfix trong c©y biÓu thøc sè häc sau ®©y:
/ +
− a ∗ b
c d e −
f g
3.6. Bµi tËp ch¬ng III 47
a) ((a + b) × (c − (d + e));
b) (((a + (b × c)) − d)/g);
9. VÏ c©y t×m kiÕm nhÞ ph©n víi c¸c khãa cho díi ®©y: vÏ mét c©y c©n b»ng
Trong phÇn nµy nghiªn cøu mét sè thuËt to¸n sinh c©y bao trïm b»ng c¸ch lÇn
ThuËt ng÷: Gi¶ sö T lµ mét c©y trong ®å thÞ G, c¸c c¹nh vµ c¸c ®Ønh cña T ®îc
gäi lµ c¸c c¹nh c©y vµ c¸c ®Ønh c©y. C¸c c¹nh vµ c¸c ®Ønh cña G kh«ng thuéc T ®îc
§Þnh nghÜa 4.1. Mét c¹nh biªn víi mét c©y T trong ®å thÞ G lµ mét c¹nh ngoµi cã
VÝ dô 4.1. §å thÞ trong G (h×nh 4.1), c¹nh c©y T ®îc t« nÐt ®Ëm vµ ®Ønh c©y chÊm
a
b
c
d
MÖnh ®Ò 4.1. Gi¶ sö T lµ c©y trong ®å thÞ G, cho e lµ c¹nh biªn cña T. Khi ®ã ®å thÞ
con cña G t¹o bëi thªm c¹nh e vµo T còng lµ mét c©y.
Chøng minh. Thªm c¹nh biªn e vµo c©y T kh«ng t¹o ra 1 ®êng vßng, v× mét ®iÓm
§Þnh nghÜa 4.2. G¸n nh·n ®Ønh chuÈn cña mét ®å thÞ n ®Ønh lµ mét phÐp g¸n mét-
mét c¸c sè nguyªn 0, 1, ..., n − 1 vµo c¸c ®Ønh cña ®å thÞ. §«i khi ngêi ta cßn gäi lµ
0-nh·n ®Ønh chuÈn. NÕu ta dïng c¸c sè nguyªn 1, 2, ..., n th× ta nãi r»ng g¸n 1-nh·n
®Ønh chuÈn
Thµnh phÇn cña ®Ønh V trong ®å thÞ G lµ mét ®å thÞ con cña G ®îc quy vµo tËp
ThuËt to¸n 4.1 Sinh c©y c¬ së víi c¸c nh·n ®Ønh (BTGVL)
procedure BT GV L
§Çu vµo: §å thÞ G vµ ®Ønh b¾t ®Çu V .
§Çu ra: C©y bao trïm T cña CG (V ) vµ nh·n ®Ønh chuÈn cña CG (V ).
1: Khëi t¹o c©y T b»ng ®Ønh V;
2: ViÕt nh·n 0 cho ®Ønh V;
3: Khëi t¹o sè ®Õm nh·n i := 1;
4: while <C©y T cha bao trïm thµnh phÇn CG (V ) > do
5: Chän mét c¹nh biªn e cña c©y T;
6: LÊy W mét ®iÓm cuèi cña c¹nh e mµ n»m ngoµi T;
7: Thªm c¹nh e vµ ®Ønh W vµo c©y T;
8: ViÕt nhÉn i cho ®Ønh W ;
9: i := i + 1
10: end while
11: return(C©y T vµ nh·n cña CG (V )).
end BT GV L
Chó ý: 1. KÕt qu¶ nhËn ®îc cña thuËt to¸n kh«ng duy nhÊt.
2. C©y duy nhÊt nhËn ®îc khi cã mét u tiªn cho tríc dùa trªn c¬ së s¾p xÕp
c¸c c¹nh.
3. "ThuËt to¸n" ë ®©y kh«ng chÝnh x¸c l¾m v× thêng thuËt to¸n lµ ph¶i cho mét
kÕt qu¶ thèng nhÊt khi cho cïng mét ®Çu vµo.
VÝ dô 4.2. B¾t ®Çu tõ ®Ønh V cña G cã thÓ sinh ra hai c©y nh sau (h×nh 4.2):
MÖnh ®Ò sau ®©y suy ra trùc tiÕp tõ mÖnh ®Ò 4.1 vµ ®Þnh nghÜa thµnh phÇn
MÖnh ®Ò 4.2. NÕu thùc hiÖn thuËt to¸n 4.1 b¾t ®Çu tõ ®Ønh V cña ®å thÞ G , th× ®å thÞ con
bao gåm c¸c ®Ønh ®· ®îc g¸n nh·n vµ c¸c c¹nh c©y lµ mét bao trïm cña thµnh phÇn
CG (V ).
HÖ qu¶ 4.1. Mét ®å thÞ liªn th«ng khi vµ chØ khi thuËt to¸n sinh c©y c¬ së ®¸nh nh·n cho
W d X
c
f
U a e Z
b Y
V
Mét c©y bao trïm ®îc x©y dùng theo thuËt to¸n 4.1 sinh c©y c¬ së thêng ®îc
V (0) V (0)
a b a
W (1) W (1)
d U (3) d c
X (2) X (2)
U (3)
f e f e
Z(4) Y (5) Z(4) Y (5)
H×nh 4.3 Hai c©y gèc sinh bëi thuËt to¸n sinh c©y c¬ së
¦u tiªn lùa chän c¹nh: Cã rÊt nhiÒu quy t¾c kh¸c nhau ®Ó lùa chän c¹nh biªn
trong qu¸ tr×nh sinh c©y. Ta cã thÓ sö l¹i thuËt to¸n 4.1 thªm phÇn u tiªn.
Chó ý tÝnh to¸n: Thùc hiÖn thuËt to¸n 4.2 cã ®ßi hái cÊu tróc c¬ së d÷ liÖu cô thÓ
vµ phÐp to¸n lu tr÷ vµ cËp nhËt tËp hîp c¸c c¹nh biªn. C¸c quy t¾c u tiªn ®îc t¹o
phÇn ®u«i n»m trong T vµ phÇn ®Çu cña nã kh«ng n»m trong T.
Sinh c©y ®Þnh híng trong ®å thÞ ®Þnh híng hoµn toµn t¬ng tù nh cho ®å thÞ
v« híng: Trong mçi lÇn lÆp cung biªn ®îc chän vµ thªm vµo c©y sinh ra.
4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang 51
11: i := i + 1
12: end while
13: return(C©y T vµ nh·n cña CG (V )).
end EPT G
KÕt qu¶ sinh c©y ®å thÞ ®Þnh híng vµ kh«ng ®Þnh híng hoµn toµn kh¸c nhau:
VÝ dô 4.4. §å thÞ th¼ng n¨m ®Ønh, trong trêng hîp kh«ng ®Þnh híng lu«n lu«n lµ
c©y bao trïm ®å thÞ. Con trong trêng hîp ®Þnh híng th× chØ b¾t ®Çu tõ ®Ønh U
(h×nh 4.4) míi cã c©u bao trïm. Cßn b¾t ®Çu tõ ®Ønh V th× c©y chØ lµ mét ®iÓm.
U X Y Z V
NÕu khëi ®Çu U th× c©y bao trïm trïng nhau víi hai lo¹i thuËt to¸n.
NÕu khëi ®Çu V th× chØ cã mçi V trong ®å thÞ ®Þnh híng.
nhÊt trong sè c¸c ®Ønh ngoµi hiÖn thêi cña c©y sinh ra. Khi kh«ng t×m ®îc n÷a th×
thuËt to¸n quay lui tíi nh·n lín nhÊt tiÕp theo vµ l¹i tiÕp tôc thö t×m kiÕm.
T×m kiÕm theo chiÒu s©u chÝnh lµ thuËt to¸n sinh c©y víi u tiªn. ¦u tiªn ë ®©y
lµ chän c¸c ®Ønh trªn ®Çu c¸c c¹nh biªn ë ngoµi c©y cã nh·n lín nhÊt.
4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang 52
Khi ®Ønh cña qu¸ tr×nh t×m kiÕm ®îc g¸n nh·n, th× nh·n sè nguyªn ®îc g¸n
11: i := i + 1
12: end while
13: return(C©y T víi ®¸nh sè d f number).
end DFSearch
VÝ dô 4.5. T×m kiÕm theo ®é s©u trong mét c©y liªn th«ng vµ biÓu diÔn thµnh c©y
V (0)
W (1)
W (1) X (3)
U (2) X (3)
Y (6) T (5) Z(4)
U (2) V (0)
Z(4) T (5) Y (6)
MÖnh ®Ò 4.3. Gi¶ sö T lµ c©y bao trïm sinh bëi thuËt to¸n 4.3 t×m kiÕm theo chiÒu s©u
trong ®å thÞ kh«ng ®Þnh híng vµ e lµ mét c¹nh ngoµi víi c¸c ®Ønh cuèi X vµ Y tháa m·n
d f number(X ) < d f number(Y ). Khi ®ã X ph¶i lµ tiÒn bèi cña ®Ønh Y trong c©y T .
Chøng minh. Theo c¸ch ®¸nh nh·n trong thuËt to¸n t×m kiÕm theo chiÒu s©u th×
nh·n ®Ønh X, c¹nh e trë thµnh c¹nh biªn. V× e kh«ng bao giê lµ trë thµnh c¹nh cña
4.2. T×m kiÕm theo chiÒu s©u vµ theo chiÒu ngang 53
c©y, nªn sù t×m kiÕm ph¶i ®Õn ®Ønh Y tríc khi trë l¹i ®Ønh X b»ng lÇn sau cïng.
Nh vËy, Y trong c©y con gèc t¹i X vµ do ®ã nã lµ hËu duÖ cña X. J
2. T×m kiÕm theo bÒ ngang
T×m kiÕm theo bÒ ngang lµ thuËt to¸n sinh c©y víi u tiªn chän c¹nh biªn cã
VÝ dô 4.6. H×nh 4.6 lµ kÕt qu¶ cña thuËt to¸n theo bÒ ngang cña ®å thÞ víi cïng ®å
thÞ ë vÝ dô tríc.
V (0)
W (1) U (2)
W (1) X (3)
X (3)
Y (4) T (6)
U (2) V (0)
Z(5) Y (4) Z(5) T (6)
VÝ dô 4.7. T×m kiÕm theo chiÒu s©u vµ theo bÒ ngang kÕt qu¶ hai c©y hoµn toµn
kh¸c nhau. H×nh 4.7 chØ ra hai c¸ch t×m ®Õn bíc 11 cña mçi lÇn lÆp.
4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u 54
1 V (0) 1 V (0)
7 2 4
2 5
9
10 8 6 3
11 7
11 10
6 8
3 9
5
4
H×nh 4.7 T×m kiÕm theo bÒ ngang
MÖnh ®Ò 4.4. Khi t×m kiÕm theo chiÒu ngang trªn c©y kh«ng ®Þnh híng th× c¸c ®iÓm
cuèi cña c¸c c¹nh ngoµi c©y hoÆc lµ cïng mét bËc hoÆc lµ thuéc bËc tiÕp theo.
Dù vµo c¸ch t×m c©y ta t×m c¸c thµnh phÇn nh c¸c c©y, t¬ng tù t×m c¸c c©y trong
®å thÞ ngêi ta gäi lµ rõng. XÐt thuËt to¸n 4.6 trang 54.
5: Dïng t×m kiÕm chiÒu s©u DFSearch(G ,V ) cho c©y bao trïm Tt trong CG (V );
6: Thªm sè |VG | vµo mçi nh·n ®Ønh trong c©y Tt ;
8: t := t + 1;
9: end while
10: return(F vµ nh·n ®Ønh cña G ).
end CF
Ta nh¾c l¹i mét ®Ønh V cña ®å thÞ liªn th«ng G gäi lµ ®Ønh c¾t nÕu ®å thÞ G −V
cã nhiÒu thµnh phÇn h¬n ®å thÞ G.
Hai ®Æc trng díi ®©y sÏ dÉn tíi ph¬ng ph¸p t×m ®Ønh c¾t.
hai ®Ønh kh¸c nhau U vµ W ®Òu kh¸c V sao cho V n»m trªn mäi U −W ®êng dÉn trong
®å thÞ.
Chøng minh. §iÒu kiÖn cÇn ( ⇒): NÕu V lµ ®Ønh c¾t cña ®å thÞ liªn th«ng G , th×
tån t¹i hai ®Ønh U vµ W trong hai thµnh phÇn t¸ch biÖt cña G −V Suy ra mäi U −W
U −W ®êng dÉn trong G chøa V , th× G −V kh«ng chøa U −W ®êng dÉn. VËy, U
vµ W ë hai thµnh phÇn kh¸c nhau cña G −V . J
VÝ dô 4.8. §å thÞ G trong h×nh ??hØ cã W vµ X lµ ®Ønh c¾t. C©y gèc bªn tr¸i h×nh
nµy lµ kÕt qu¶ t×m kiÕm theo chiÒu s©u b¾t ®Çu tõ ®Ønh c¾t, ®Ønh nµy lµ gèc vµ cã
hai con (. Cßn c©y gèc bªn ph¶i lµ kÕt qu¶ t×m kiÕm theo chiÒu sau b¾t ®Çu tõ ®Ønh
kh«ng ph¶i lµ ®Ønh c¾t, thÊy r»ng nã chØ cã mét con. MÖnh ®Ò sau ®©y x¸c ®Þnh
V X
Y T
U
W Z W (0)
V (0)
W (1) V (1)
X (3)
Z(4) U (2) X (3)
U (2) Z(4)
T (5) Y (6)
T (5) Y (6)
H×nh 4.8 §å thÞ G vµ hai c©y t×m theo chiÒu s©u
MÖnh ®Ò 4.6. Gi¶ sö c©y T lµ kÕt qu¶ sö dông t×m kiÕm theo chiÒu s©u cña ®å thÞ liªn
th«ng G. Khi ®ã gèc R cña T lµ ®Ønh-c¾t cña G khi vµ chØ khi R cã nhiÒu h¬n mét con
trong T .
Chøng minh. §iÒu kiÖn cÇn ( ⇒): Chøng minh b»ng ph¶n chøng, gi¶ sö gèc R chØ
cã mét con W trong T. Khi ®ã c¸c ®Ønh cßn l¹i ®Òu lµ hËu duÖ cña W. Nh vËy,
4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u 56
c©y con gèc t¹i W lµ c©y bao trïm G −R vµ do ®ã G −R lµ liªn th«ng, v« lÝ víi R lµ
®Ønh-c¾t, khi lo¹i nã ra nã ph¶i cã hai thµnh phÇn vµ kh«ng liªn th«ng.
§iÒu kiÖn ®ñ ( ⇐): Gi¶ sö X vµ Y lµ hai con cña R. X vµ Y kh«ng lµ tiÒn bèi cña
nhau. H¬n n÷a, kh«ng cã hËu duÖ cña X l¹i lµ tiÒn bèi hoÆc hËu duÖ cña hËu duÖ
cña Y (h×nh 4.9). VËy theo mÖnh ®Ò 4.3 tån t¹i c¹nh ngoµi nèi ®Ønh bÊt k× trong
R
X Y
c©y con gèc t¹i X tíi ®Ønh bÊt k× trong c©y con gèc t¹i Y. §iÒu nµy kÐo theo mäi
trong ®å thÞ G. Khi ®ã ®Ønh kh¸c gèc V cña T lµ ®Ønh c¾t cña G khi vµ chØ khi V cã con
W sao cho kh«ng cã hËu duÖ cña V nèi ®îc víi tiÒn bèi cña V b»ng c¹nh ngoµi c©y.
Chøng minh. §iÒu kiÖn cÇn ( ⇒): Chøng minh theo ph¶n chøng, gi¶ sö mäi con W
cña V cã hËu duÖ nèi víi tiÒn bèi cña V (h×nh 4.10)
R
A2
A1
V
W1 W2
D2
X
D1 Y
H×nh 4.10 HËu duÖ cña W vµ tiÒn bèi cña V
Khi ®ã hai ®Ønh bÊt k× trong c©y con gèc t¹i V nèi ®îc b»ng ®êng dÉn kh«ng
chøa V . Ta xÐt ®iÒu ®ã: Gi¶ sö X vµ Y lµ hËu duÖ cña V . Khi ®ã X lµ con cña V , cho
®ã lµ W1 , hay lµ X lµ hËu duÖ cña W1 ; t¬ng tù Y lµ mét con cña V , cho ®ã lµ W2 , tøc
lµ Y lµ hËu duÖ cña W2 . Nhng khi ®ã W1 cã hËu duÖ D1 nèi víi c¹nh ngoµi tíi tiÒn
bèi cña V cho ®ã lµ A1 . T¬ng tù W2 lµ hËu duÖ cña D2 còng nèi b»ng c¹nh ngoµi tíi
tiÒn bèi cña V , cho ®ã lµ A2 (h×nh 4.10). Khi ®ã gÐp c¹nh XW1 , W1 − D1 ®êng dÉn,
V . LÝ luËn t¬ng tù ta chØ ra r»ng tån t¹i mét ®êng dÉn gi÷a tiÒn bèi cña V vµ hËu
4.3. Mét sè øng dông t×m kiÕm theo chiÒu s©u 57
duÖ bÊt k× cña V kh«ng qua V. §iÒu nµy kÐo theo tån t¹i ®êng dÉn tõ hËu duÖ
bÊt k× cña V ®Õn ®Ønh bÊt k× trong c©y con kh¸c cña R. Do ®ã theo mÖnh ®Ò 4.5
kh«ng lµ ®Ønh-c¾t.
§iÒu kiÖn ®ñ ( ⇐): Gi¶ sö V cã con W sao cho kh«ng cã hËu duÖ nµo cña W nèi
®îc víi tiÒn bèi cña V b»ng c¹nh ngoµi. Khi ®ã mäi ®êng dÉn trong G tõ W ®Õn R
ph¶i ®i qua V vµ do ®ã V lµ ®iÓm c¾t. J
Theo mÖnh ®Ò 4.3 vµ mÖnh ®Ò 4.7 suy ra V kh«ng lµ gèc cña c©y t×m theo chiÒu
s©u lµ ®Ønh-c¾t khi vµ chØ khi V cã con W sao cho kh«ng cã hËu duÖ cña W nèi ®îc
b»ng c¹nh ngoµi c©y tíi ®Ønh, mµ sè d f number cña nã nhá h¬n d f number(V ).
KÝ hiÖu low(W ) nhá h¬n d f number(W ) vµ nhá nhÊt d f number gi÷a tÊt c¶ c¸c ®Ønh
MÖnh ®Ò 4.7 cã thÓ ph¸t biÓu l¹i thµnh hÖ qu¶ sau ®©y vµ cho ta s¬ ®å t×m
®Ønh-c¾t.
HÖ qu¶ 4.2. Gi¶ sö T lµ kÕt qu¶ cña sö dông thuËt to¸n t×m kiÕm theo chiÒu s©u trong
®å thÞ liªn th«ngG . Khi ®ã ®Ønh V kh¸c gèc cña T lµ ®Ønh-c¾t khi vµ chØ khi V cã con W
sao cho low(W ) ≥ d f number(V ).
VÝ dô 4.9. C¸c sè d f number vµ low ®îc tÝnh cho vÝ dô h×nh ??íi sè thø nhÊt lµ
d f number.
4.4. C©y bao trïm nhá nhÊt vµ ®êng dÉn ng¾n nhÊt 58
W (0, 0)
V (1, 0)
V X
X (3, 3)
U (2, 0)
Y T
Z(4, 3)
U
W Z T (5, 3) Y (6, 3)
H×nh 4.11 Gi¸ trÞ d f number vµ low cho t×m theo chiÒu s©u
Chó ý: Kh«ng khã chøng minh r»ng víi mäi ®Ønh V , low(V ) lµ cùc tiÓu cña gi¸
a) d f number;
b) d f number(Z) víi mäi Z nèi tíi V b»ng c¹nh ngoµi;
4.4. C©y bao trïm nhá nhÊt vµ ®êng dÉn ng¾n nhÊt
§Þnh nghÜa 4.4. §å thÞ träng sè lµ ®å thÞ trªn mçi c¹nh ®îc g¸n mét ®¹i lîng sè.
T×m c©y bao trïm nhá nhÊt nhÊt cã nhiÒu øng dông nh trong thiÕt kÕ m¹ng,
t×m m¹ng cã gi¸ rÎ nhÊt. Nh ta ®· biÕt mét ®å thÞ n ®Ønh th× sè c©y bao trïm cã
thÓ tíi nn−2 , vËy thùc hiÖn trªn c©y bao trïm cã thÓ gÆp nhiÒu khã kh¨n. ThuËt
to¸n sau ®©y cña C.R. Prim t×m c©y bao trïm nhá nhÊt nhng kh«ng ®ßi hái tÊt c¶
ThuËt to¸n t×m c©y bao trïm nhá nhÊt còng lµ thuËt to¸n sinh c©y trong ®å thÞ
träng sè víi u tiªn chän c¹nh biªn cã träng sè nhá nhÊt mçi lÇn lÆp.
VÝ dô 4.10. H×nh 4.12 thÓ hiÖn c¸c bíc lÆp cña thuËt to¸n Prim t×m c©y bao trïm
nhá nhÊt.
MÖnh ®Ò 4.8. Tk lµ c©y Prim sau k bíc lÆp cña thuËt to¸n Prim trªn ®å thÞ träng
Gi¶ sö
sè G , víi mäi k ≤ |VG | − 1. Khi ®ã Tk lµ mét c©y con cña c©y bao trïm nhá nhÊt cña G .
Chøng minh. Kh¼ng ®Þnh ®óng víi k = 0, v× T0 lµ c©y tÇm thêng bao gåm chØ mét
Theo ph¬ng ph¸p quy n¹p, ta gi¶ sö r»ng víi sè k nµo ®ã, 0 ≤ k ≤ |VG | − 2 mµ Tk
lµ mét c©y con cña c©y bao trïm nhá nhÊt T cña G vµ ta xÐt c©y Tk+1 . ThuËt to¸n
4.4. C©y bao trïm nhá nhÊt vµ ®êng dÉn ng¾n nhÊt 59
ThuËt to¸n 4.7 T×m c©y bao trïm nhá nhÊt Prim (MST Prim)
procedure MST Prim
§Çu vµo: §å thÞ liªn th«ng träng sè G .
§Çu ra: C©y bao trïm nhá nhÊt T .
1: Chän ®Ønh bÊt k× S cña ®å thÞ G;
2: Khëi t¹o c©y Prim S; T b»ng ®Ønh
8 12 8 12 8 12
S 9 S 9 S 9
5 7 6 5 7 6 5 7 6
11 9 11 9 11 9
6 6 6
8 12 8 12
S 9 S 9
5 7 6 7 6
5
11 9 11 9
6 6
H×nh 4.12 C©y bao trïm nhá nhÊt Prim
sinh ®Õn c©y Tk+1 b»ng c¸ch bíc lÆp thø k + 1 thªm vµo c©y Tk c¹nh biªn e cã träng
sè nhá nhÊt. KÝ hiÖu hai ®Çu cña c¹nh nµy lµ U vµ V sao cho U n»m trong Tk vµ V
kh«ng thuéc Tk .
NÕu c©y bao trïm T chøa e, th× Tk+1 lµ c©y con cña T.
NÕu e kh«ng lµ c¹nh cña c©y T, th× e lµ phÇn duy nhÊt cña ®êng vßng (chu
tr×nh) chøa trong T + e. XÐt ®êng dÉn trong T tõ U tíi V gåm "®êng vßng dµi
h¬n". Trªn ®êng dÉn nµy, kÝ hiÖu f lµ c¹nh ®Çu tiªn mµ nã nèi mét ®Ønh cña Tk
tíi ®Ønh kh«ng n»m trong Tk , t×nh thÕ nµy nh trong h×nh vÏ 4.13 : c¸c ®Ønh vµ
c¹nh ®en ®Ëm lµm nªn c©y Prim Tk , c©y bao trïm T gåm tÊt c¶ trõ c¹nh e ngoµi nã.
4.4. C©y bao trïm nhá nhÊt vµ ®êng dÉn ng¾n nhÊt 60
f U
V× f lµ c¹nh biªn t¹i thêi ®iÓm b¾t ®Çu phÐp lÆp k + 1, nªn w(e) ≤ w( f ) (do
trïm G vµ Tk+1 lµ c©y con cña T˜ (v× f kh«ng ph¶i lµ mét phÇn cña Tk ). Cuèi cïng
w(T˜ ) = w(T ) + w(e) − w( f ) ≤ w(T ), ®iÒu nµy chØ ra r»ng T˜ lµ c©y bao trïm nhá nhÊt
cña G . J
HÖ qu¶ 4.3. Khi thuËt to¸n Prim ¸p dông cho ®å thÞ liªn th«ng th× nã t¹o ra c©y bao trïm
nhá nhÊt.
th«ng G. H·y t×m mét ®êng dÉn tõ A tíi B víi tæng sè träng sè c¸c c¹nh lµ nhá
nhÊt.
Träng sè c¹nh trong tõng bµi to¸n cô thÓ sÏ cã nghÜa lµ kho¶ng c¸ch, thêi gian,
....
NÕu träng sè c¸c c¹nh ®Òu b»ng 1 th× bµi to¸n quy vÒ t×m A − B ®êng dÉn ng¾n
nhÊt. Ph¬ng ¸n nµy chÝnh lµ thuËt to¸n t×m theo chiÒu réng ®· ®îc nghiªn cøu ë
phÇn tríc.
ThuËt to¸n ®îc xÐt trong phÇn nµy còng lµ mét sù biÕn thÓ cña thuËt to¸n sinh
Tríc khi ®i vµo thuËt to¸n ta nh¾c l¹i mét sè kh¸i niÖm ®îc dïng ë ®©y. Kho¶ng
c¸ch gi÷a hai ®Ønh lµ ®é dµi cña ®êng ®i ng¾n nhÊt gi÷a chóng. ThuËt to¸n ta xÐt
còng nh thuËt to¸n Prim lµ sinh ra mét c©y, gäi ®ã lµ Dijstra c©y, b¾t ®Çu tõ mét ®Ønh
S, mçi lÇn lÆp l¹i thªm vµo c¹nh biªn cã mét ®Çu cuèi kh«ng thuéc c©y gÇn S nhÊt.
KÝ hiÖu dist[X ] lµ kho¶ng c¸ch tõ ®Ønh S tíi X víi mäi ®Ønh c©y X vµ w(e) lµ träng
sè c¹nh e trong ®å thÞ träng sè G .
Trong thuËt to¸n trªn c¹nh biªn ®îc u tiªn theo gi¸ trÞ cña P(e) = dist[X ] + w(e).
C¸c c¹nh biªn cã mét ®Çu cuèi t¹i X vµ P nhá nhÊt ®îc chän trong thuËt to¸n. Trong
qu¸ tr×nh lùa chän u tiªn nh vËy kh«ng cÇn cËp nhËt cËp c¸c c¹nh biªn n÷a.
4.4. C©y bao trïm nhá nhÊt vµ ®êng dÉn ng¾n nhÊt 61
ThuËt to¸n 4.8 T×m ®êng dÉn ng¾n nhÊt Dijkstra (SPDi jkstra)
procedure SPDi jkstra
§Çu vµo: §å thÞ liªn th«ng träng sè kh«ng ©m G vµ mét ®Ønh S cña G .
§Çu ra: C©y bao trïm nhá nhÊt T cña G , ®Ønh t¹i S, ®êng dÉn tõ S ®Õn ®Ønh V
lµ ®êng dÉn ng¾n nhÊt vµ nh·n ®Ønh trong kho¶ng c¸ch tõ S ®Õn mçt ®Ønh.
8: G¸n Y lµ ®iÓm cuèi cha g¸n nh·n cña T ; §Æt P(e) := dist[X ] + w(e);
9: end for
10: LÊy e lµ c¹nh biªn cña T sao cho cã gi¸ trÞ P(e) nhá nhÊt;
VÝ dô 4.11. VÝ dô sau ®©y m« t¶ mçi lÇn lÆp cña thuËt to¸n. Nh÷ng c¹nh ®Ëm lµ
§Þnh lÝ sau ®©y chøng minh sù ®óng ®¾n cña thuËt to¸n Dijkstra.
§Þnh lý 4.1. T j lµ c©y Dijkstra sau j phÐp lÆp cña thuËt to¸n Dijkstra trªn ®å thÞ
Gi¶ sö
liªn th«ng G , víi j = 0, 1, ..., |VG | − 1. Khi ®ã víi mäi V trong T j , S − V ®êng dÉn duy
Chøng minh. Kh¼ng ®Þnh hiÓn nhiªn ®óng víi T0 . Theo quy n¹p, gi¶ sö cã mét j,
0 ≤ j ≤ |VG | − 1 sao cho T j kh¼ng ®Þnh cña ®Þnh lÝ ®óng. Gi¶ sö e cã nh·n t¹i ®Çu cuèi
X vµ kh«ng nh·n t¹i ®Çu cuèi Y vµ lµ c¹nh biªn ®îc thªm vµo c©y T j trong lÇn lÆp
thø ( j + 1). Tõ Y lµ ®Ønh míi duy nhÊt trong T j+1 , nªn ta chØ cÇn chøng minh S −Y
®êng dÉn Q trong T j+1 lµ S −Y ®êng dÉn ng¾n nhÊt trong G lµ ®ñ. ThuËt to¸n t¹o
ra Q b»ng c¸ch gÐp S −Y ®êng dÉn trong T j víi c¹nh e vµ ®é dµi cña ®êng dÉn Q
b»ng P(e).
length(Q). Gi¶ sö c¹nh f víi c¸c ®iÓm cuèi V vµ Z lµ c¹nh ®Çu tiªn ®êng dÉn R kh«ng
4.4. C©y bao trïm nhá nhÊt vµ ®êng dÉn ng¾n nhÊt 62
S(0) S(0)
V 13 V 13 8
8 Z(8)
10 Z(8) 10
11 11
W W 17 7
6 17 7 6 16
16 14
14 5
5 Y X Y
X
X e Y
S K
Z
f
V
Tj
Tõ e lµ c¹nh biªn ®· ®îc chän trong bíc lÆp ( j + 1), nªn P(e) ≤ p( f ). VËy,
ë ®©y bÊt ®¼ng thøc ®îc suy ra tõ c¸c träng sè c¹nh lµ d¬ng. J
4.5. Bµi tËp ch¬ng IV
1. T×m c©y bao trïm theo chiÒu s©u trong ®å thÞ sau ®©y b¾t ®Çu t¹i ®Ønh W hoÆc
X
W d X S
m i
c o e R
U
a f g h
` Y n p
b
j Z k T
V
2. T×m kiÕm theo chiÒu réng trong ®å thÞ sau ®©y b¾t ®Çu t¹i ®Ønh U hoÆc Y
W d X S
m i
c o e R
U
a f g h
` Y n p
b
j Z k T
V
3. D¹ng ®å thÞ nh thÕ nµo cã duy nhÊt c©y bao trïm theo chiÒu s©u mµ kh«ng
4. Sö dông thuËt to¸n Prim b¾t ®Çu tõ S t×m c©y bao trïm nhá nhÊt vµ vÏ c©y
A 7 F
6 5 1 6
8
3
S
5 C 4
10
9 4 E G
7 9
4
B 8 D
5. Sö dông thuËt to¸n Dijkstra b¾t ®Çu tõ S t×m c©y bao trïm nhá nhÊt vµ vÏ c©y
Mçi liªn quan gi÷a tÝnh liªn th«ng cña ®å thÞ vµ c©y bao trïm thÓ hiÖn hai mÖnh
®Ò sau ®©y, tõ ®©y nhËn ®îc ®Þnh lÝ quan träng ë phÇn cuèi ®iÓm nµy.
MÖnh ®Ò 5.1. Mét ®å thÞ G lµ liªn th«ng khi vµ chØ khi nã cã c©y bao trïm.
Chøng minh. NÕu G lµ ®å thÞ liªn th«ng, th× gi÷a nh÷ng ®å thÞ con bao trïm, liªn
th«ng cña G tån t¹i Ýt nhÊt mét, kÝ hiÖu lµ T víi sè c¹nh Ýt nhÊt. NÕu ®å thÞ con
T chøa mét chu tr×nh (®êng vßng) th× bá ®i mét c¹nh cña c¸c c¹nh chu tr×nh sÏ
t¹o ra mét ®å thÞ bao trïm, liªn th«ng vµ nhá h¬n T, ®iÒu nµy tr¸i víi c¸ch chän T
nhá nhÊt. Nh vËy, T kh«ng cã chu tr×nh vµ bao trïm ®å thÞ G.
Ngîc l¹i, nÕu G chøa c©y bao trïm, th× mäi cÆp ®Ønh liªn th«ng bëi ®êng dÉn
Chøng minh. §iÒu kiÖn cÇn ( ⇒): §å thÞ con cña c©y kh«ng cã chu tr×nh theo ®Þnh
nghÜa c©y.
§iÒu kiÖn ®ñ( ⇐): Gi¶ sö H lµ ®å thÞ con kh«ng chu tr×nh vµ T lµ c©y bao trïm
bÊt k× cña G. Ta xÐt ®å thÞ con bao trïm vµ liªn th«ng G1 = T ∪ H . NÕu G1 kh«ng
cã ®êng chu tr×nh th× mäi c¹nh cña H ®· lµ c¹nh cña c¹nh cña c©y bao trïm T,
v× nÕu ngîc l¹i th× mét chu tr×nh sÏ ®îc t¹o ra. Nh vËy, ®å thÞ con H chøa
trong T vµ ®· chøng minh xong. Do ®ã gi¶ sö ngîc l¹i G1 cã ®êng chu tr×nh C1 . Tõ
H kh«ng cã chu tr×nh suy ra mét c¹nh nµo ®ã e1 cña chu tr×nh C1 kh«ng thuéc H .
Khi ®ã ®å thÞ G2 = G1 − e vÉn cßn liªn th«ng, ®å thÞ bao trïm con cña G vµ vÉn cßn
5.1. TÝnh liªn th«ng vµ c©y bao trïm 66
chøa H nh ®å thÞ con. NÕu G2 kh«ng cã chu k×, th× nã chÝnh lµ c©y bao trïm ®ßi
hái. Ngîc l¹i, ta lÆp l¹i qu¸ tr×nh bá c¹nh chu tr×nh kh«ng thuéc H tíi khi c©y bao
§Þnh nghÜa 5.1. Gi¶ sö G lµ mét ®å thÞ vµ X1 vµ X2 t¹o ra ph©n ho¹ch cña VG . TËp
hîp tÊt c¶ c¸c c¹nh cña G cã mét ®Çu cuèi t¹i X1 vµ ®Çu cuèi kia trong X2 ®îc gäi la
MÖnh ®Ò 5.3. < X1 , X2 > lµ ph©n ho¹ch c¾t cña ®å thÞ liªn th«ng G . NÕu ®å thÞ con
Gi¶ sö
cña G quy trªn tËp hîp ®Ønh cña X1 vµ X2 lµ liªn th«ng, th× < X1 , X2 > lµ ph©n ho¹ch c¾t
nhá nhÊt.
Chøng minh. Ph©n ho¹ch c¾t < X1 , X2 > lµ c¹nh c¾t cña G , v× X1 vµ X2 n»m ë hai thµnh
phÇn kh¸c nhau cña G − < X1 , X2 >. Gi¶ sö S lµ tËp hîp con thùc sù cña < X1 , X2 > vµ
gi¶ sö e ∈< X1 , X2 > −S. Theo ®Þnh nghÜa cña < X1 , X2 >, mét ®Çu cuèi cña e trong
X1 vµ ®Çu cuèi kia trong X2 . Nh vËy, nÕu c¸c ®å thÞ con quy trªn nh÷ng tËp hîp
®Ønh X1 vµ X2 lµ liªn th«ng, th× G − S lµ liªn th«ng. Do ®ã, S kh«ng ph¶i lµ c¹nh c¾t
cña G , ®iÒu nµy suy ra < X1 , X2 > lµ c¹nh c¾t nhá nhÊt. J
MÖnh ®Ò 5.4. S lµ c¹nh c¾t nhá nhÊt cña ®å thÞ liªn th«ng G
Gi¶ sö vµ X1 vµ X2 lµ nh÷ng
tËp ®Ønh cña hai thµnh phÇn cña G − S. Khi ®ã S =< X1 , X2 >.
Chøng minh. DÔ thÊy S ⊂< X1 , X2 >. NÕu e ∈< X1 , X2 > −S, th× c¸c ®iÓm cuèi cña nã
ph¶i n»m trªn cïng mét thµnh phÇn cña G − S, v« lÝ víi ®Þnh nghÜa cña X1 vµ X2 .
J
Chu tr×nh c¬ b¶n vµ c¹nh c¾t c¬ b¶n
§Þnh nghÜa 5.2. Gi¶ sö G lµ ®å thÞ víi c(G) thµnh phÇn. H¹ng l¸t c¾t c¹nh lµ sè nh÷ng
lµ ®å thÞ con cè ®Þnh cña ®å thÞG . PhÇn bï t¬ng ®èi cña H (trong G ), kÝ hiÖu lµ
§Þnh nghÜa 5.3. Gi¶ sö G lµ mét ®å thÞ víi c(G) thµnh phÇn. H¹ng cña chu tr×nh cña
G, kÝ hiÖu lµ β (G), lµ sè c¸c c¹nh trong phÇn bï t¬ng ®èi cña rõng bao trïm hoµn
toµn cña G. Nh vËy, h¹ng chu tr×nh lµ β (G) = |EG | − |VG | + c(G).
§Þnh nghÜa 5.4. Rõng bao trïm hoµn toµn cña ®å thÞ G lµ rõng bao trïm gåm tËp
hîp c¸c c©y sao cho mçi c©y lµ c©y bao trïm cña nh÷ng thµnh phÇn kh¸c nhau cña G.
5.1. TÝnh liªn th«ng vµ c©y bao trïm 67
§Þnh nghÜa 5.5. Gi¶ sö F lµ rõng bao trïm hoµn toµn cña G vµ e lµ mét c¹nh bÊt k×
trong phÇn bï t¬ng ®èi cña rõng F. Chu tr×nh trong ®å thÞ con F +e gäi lµ chu
Tõ ®Þnh nghÜa suy ra mçi c¹nh trong phÇn bï t¬ng ®èi cña rõng bao trïm hoµn
§Þnh nghÜa 5.6. hÖ thèng chu tr×nh c¬ b¶n t¬ng øng víi rõng bao trïm hoµn toµn F
cña ®å thÞ G lµ tËp hîp nh÷ng ®êng chu tr×nh c¬ b¶n cña G t¬ng øng víi F.
c¾t-c¹nh cña G khi vµ chØ khi víi mäi c©y bao trïm cña G cã Ýt nhÊt mét c¹nh cïng chung
víi S.
Chøng minh. Theo mÖnh ®Ò 5.1, S lµ mét l¸t c¾t-c¹nh khi vµ chØ khi G − S kh«ng chøa
c©y bao trïm nµo cña G, nghÜa lµ mäi c©y bao trïm cña G cã Ýt nhÊt mét c¹nh trong
Chøng minh. Theo mÖnh ®Ò 5.2 tËp hîp c¹nh C t¹o ra chu tr×nh khi vµ chØ khi C
kh«ng chøa bÊt cø c©y bao trïm nµo cña G , nghÜa lµ phÇn bï t¬ng ®èi cña mäi c©y
Chøng minh. Gi¶ sö C lµ chu tr×nh vµ S lµ l¸t c¾t-c¹nh nhá nhÊt cña ®å thÞ liªn th«ng
G. Gi¶ sö V1 vµ V2 lµ hai tËp ®Ønh cña hai thµnh phÇn G1 vµ G2 cña G − S. Khi ®ã
mçi c¹nh cña S nèi víi mét ®Ønh trong V1 tíi mét ®Ønh trong V2 . B©y giê ta xÐt viÖc
duyÖt c¸c c¹nh cña chu tr×nh C. Kh«ng mÊt tÝnh tæng qu¸t, ta gi¶ sö viÖc duyÖt b¾t
®Çu tõ mét ®Ønh trong V1 . Khi ®ã mçi lÇn duyÖt dïng c¹nh trong S b»ng di chuyÓn
tõV1 sang V2 , nã ph¶i quay trë l¹i V1 b»ng c¹nh kh¸c cña S. §iÒu ®ã chØ cã kh¶ n¨ng
n¨m 1736.
Chu tr×nh Euler trong ®å thÞ lµ mét ®êng mßn ®ãng chøa mäi c¹nh cña ®å thÞ.
§Þnh lý 5.1 (§Æc trng cña ®å thÞ Euler). C¸c mÖnh ®Ò sau ®©y t¬ng ®¬ng nhau víi
Chøng minh. (1 ⇒ 2): Gi¶ sö C lµ chu tr×nh Euler cña G vµ V lµ ®Ønh b¾t ®Çu mét
®êng duyÖt nµo ®ã cña C. C¹nh khëi ®Çu vµ c¹nh kÕt thóc cña ®êng ®i ®îc ph©n
bæ thµnh hai bËc cña V vµ mçi lÇn duyÖt ®i qua mét ®Ønh còng ®ãng gãp hai bËc
cho ®Ønh. Nh vËy tån t¹i sè ch½n c¹nh ®i qua t¬ng øng víi mçi ®Ønh vµ v× mçi
c¹nh cña G ®i qua ®óng mét lÇn, sè nµy lµ bËc cña ®Ønh nµy.
(2 ⇒ 3): V× G lµ liªn th«ng vµ mçi ®Ønh cã sè ch½n bËc, G kh«ng thÓ lµ c©y vµ
do ®ã nã chøa chu tr×nh, kÝ hiÖu ®ã lµ C1 . NÕu C1 bao gåm tÊt c¶ c¸c c¹nh cña G ,
th× G = C1 vµ kh¼ng ®Þnh 3) ®îc chøng minh. Ngîc l¹i, ®å thÞ G1 = G − EC1 cã Ýt
nhÊt mét thµnh phÇn kh«ng tÇm thêng. H¬n n÷a v× c¸c c¹nh ®îc bá ®i tõ G t¹o
ra mét chu tr×nh, bËc trong G1 cña mçi ®Ønh trong C1 ®îc quy vÒ 2 vµ do ®ã mäi
®Ønh cña G1 vÉn cßn lµ sè ch½n. Nh vËy, c¸c ®Ønh cña G1 v©n cßn lµ bËc sè ch½n vµ
G1 chøa chu tr×nh C2 . NÕu tÊt c¶ c¸c c¹nh ®· ®îc lÊy hÕt, th× G = C1 ∪C2 . Ngîc
l¹i, ta xÐt G2 = G − EC1 − EC2 vµ tiÕp tôc quy tr×nh trªn tíi khi tÊt c¶ c¸c c¹nh ®îc
vÐt hÕt. NÕu Cn lµ chu tr×nh nhËn ®îc ë bíc cuèi cïng, th× G = C1 ∪C2 ∪ · · · ∪Cn ,
(3 ⇒ 1): Gi¶ sö G lµ hîp cña c¸c c¹nh chu tr×nh dêi nhau vµ T ∗ lµ ®êng mßn ®ãng
trong G víi ®é dµi lín nhÊt. Theo ®Þnh lÝ ch¬ng 1, T
∗ lµ hîp cña c¸c chu tr×nh dêi
nhau. NÕu T
∗ kh«ng bao gåm tÊt c¶ chu tr×nh cña G , th× tån t¹i mét chu tr×nh,
∗
kÝ hiÖu ®ã lµ C , mµ nã kh«ng ph¶i mét phÇn cña T . V× G lµ liªn th«ng, tån t¹i Ýt
V , vËy ®êng duyÖt nµy lµ mét phÇn cña T ∗ . Nhng ®êng mßn ®ãng nµy cã ®é dµi
∗
h¬n ®êng dµi nhÊt trong T , ®iÒu nµy v« lÝ. Do ®ã T
∗ bao gåm tÊt c¶ c¸c chu tr×nh,
nªn T
∗ lad ®êng mßn Euler. J
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh
Mét l¸t c¾t-®Ønh trong ®å thÞ G lµ mét tËp hîp ®Ønh U sao cho ®å thÞ G −U cã
Mét l¸t c¾t-c¹nh trong ®å thÞ G lµ mét tËp hîp c¸c c¹nh D sao cho ®å thÞ G −D
cã nhiÒu thµnh phÇn h¬n G .
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 69
§Þnh nghÜa 5.7. §Ønh liªn th«ng cña mét ®å thÞ liªn th«ng, kÝ hiÖu lµ κv (G), lµ sè
®Ønh Ýt nhÊt bá ®i lµm G mÊt tÝnh liªn th«ng hoÆc quy nã vÒ ®å thÞ mét ®Ønh.
Nh vËy, nÕu G cã Ýt nhÊt mét cÆp ®Ønh kh«ng kÒ nhau th× κv (G) lµ cì cña l¸t
§Þnh nghÜa 5.8. Mét ®å thÞ G k-liªn th«ng, nÕu G liªn th«ng vµ κv (G) ≥ k.
gäi lµ NÕu
G cã tÊt c¶ c¸c ®Ønh kh«ng kÒ nhau, th× G lµ k -liªn th«ng nÕu mäi l¸t c¾t-®Ønh cã
Ýt nhÊt k ®Ønh.
§Þnh nghÜa 5.9. C¹nh-liªn th«ng cña mét ®å thÞ liªn th«ng, kÝ hiÖu κe (G), lµ sè c¹nh
Nh vËy, nÕu G lµ ®å thÞ liªn th«ng c¹nh, th× c¹nh-liªn th«ng κe (G) lµ cì cña l¸t
§Þnh nghÜa 5.10. §å thÞ G lµ k-c¹nh liªn th«ng nÕu G liªn th«ng vµ mäi l¸t c¾t-c¹nh
VÝ dô 5.1. H×nh 5.1 vÏ ®å thÞ G, tËp hîp ®Ønh {X ,Y } lµ mét trong ba l¸t c¾t-®Ønh
gåm hai phÇn tö kh¸c nhau vµ dÔ thÊy kh«ng cã ®Ønh-c¾t nµo. Nh vËy κv (G) = 2.
TËp hîp c¹nh {a, b, c} lµ tËp hîp duy nhÊt 3 phÇn tö cña l¸t c¾t-c¹nh cña ®å thÞ
X V
a
b
Y c W
H×nh 5.1 §å thÞ G víi κv (G) = 2 vµ κe (G) = 3
§é ®o liªn th«ng κv vµ κe dïng cho m« h×nh x¸c ®Þnh kh¶ n¨ng m¹ng ho¹t ®éng
hiÖn thêi, qua nã cho biÕt dung lîng cßn l¹i liªn th«ng gi÷a c¸c nót cña nã sau khi
MÖnh ®Ò 5.8. Gi¶ sö G lµ mét ®å thÞ. Khi ®ã c¹nh liªn th«ng κe (G) nhá h¬n hoÆc b»ng
bËc nhá nhÊt cña ®å thÞ δmin (G).
Chøng minh. Gi¶ sö V lµ mét ®Ønh cña ®å thÞ G víi bËc k = δmin (G). Khi ®ã bá k c¹nh
cã mét ®Çu cuèi lµ ®Ønh V sÏ t¸ch V khái c¸c ®Ønh cßn l¹i cña G . J
MÖnh ®Ò 5.9. §å thÞ G lµ k-c¹nh liªn th«ng khi vµ chØ khi mäi l¸t c¾t-ph©n ho¹ch chøa Ýt
nhÊt k c¹nh.
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 70
Chøng minh. §iÒu kiÖn cÇn: Gi¶ sö G lµ k-c¹nh liªn th«ng. Khi ®ã mäi l¸t c¾t ph©n
ho¹ch cña G cã Ýt nhÊt k- c¹nh, v× l¸t c¾t ph©n ho¹ch lµ mét l¸t c¾t c¹nh.
§iÒu kiÖn ®ñ: Gi¶ sö víi mäi l¸t c¾t ph©n ho¹ch chøa Ýt nhÊt k-c¹nh. Theo mÖnh
®Ò 5.4, mäi l¸t c¾t c¹nh nhá nhÊt lµ l¸t c¾t ph©n ho¹ch. Do vËy, mäi l¸t c¾t c¹nh chøa
Ýt nhÊt k c¹nh. J
5.2.1. Quan hÖ gi÷a liªn th«ng ®Ønh vµ liªn th«ng c¹nh
Chøng minh. Gi¶ sö W = {W1 ,W2 , ...,Wk−2 lµ tËp bÊt k× gåm k − 2 ®Ønh trong G − e vµ
cho hai ®Ønh bÊt k× X vµ Y kh¸c nhau trong (G − e) −W . Ta cÇn chØ ra r»ng tån t¹i
X −Y ®êng ®i trong (G − e) −W .
Tríc tiªn ta gi¶ sö mét trong nh÷ng ®iÓm cuèi cña W . V× ®å thÞ cone n»m trong
bá ®Ønh G − W lµ liªn th«ng, nªn tån t¹i X − Y ®êng dÉn trong G − W . §êng dÉn
TiÕp theo ta gi¶ sö kh«ng cã ®iÓm cuèi nµo cña c¹nh e trong tËp W. Khi ®ã sÏ cã
{W1 ,W2 , ...,Wk−2 , X ,Y }.Tõ ®å thÞ G lµ k-liªn th«ng, nªn tån t¹i X − Z ®êng ®i P1 trong
®å thÞ con ®· xãa ®Ønh G − {W1 ,W2 , ...,Wk−2 ,Y } vµ Z − Y ®êng dÉn P2 trong ®å thÞ
con G − {W1 ,W2 , ...,Wk−2 ,Y } (h×nh 5.2). Kh«ng mét ®êng dÉn nµo chøa c¹nh e vµ do
®ã khi gi¸p l¹i víi nhau thµnh X −Y ®êng ®i trong ®å thÞ con G − {W1 ,W2 , ...,Wk−2 ,Y }
W2 W2
W1 Wk−2 W1 Wk−2
X e X e
Y Y
P2 U P2
P1 e
Z
H×nh 5.2 Tån t¹i X −Y ®êng ®i trong (G − e) − {W1 ,W2 , ...,Wk−2 }
e, cho X kh«ng ph¶i lµ ®iÓm cuèi cña e. Gi¶ sö U lµ ®iÓm cuèi cña e mµ nã kh¸c ®Ønh
Y . Tõ ®å thÞ G lµ k liªn th«ng, ®å thÞ con G − {W1 ,W2 , ...,Wk−2 ,U } liªn th«ng. Do ®ã
tån t¹i X −Y ®êng dÉn P trong ®å thÞ con G − {W1 ,W2 , ...,Wk−2 ,U } (h×nh 5.2). Suy ra
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 71
lo¹i trõ c¹nh e (ThËm chÝ nÕu P chøa ®iÓm cuèi kh¸c cña e, nã cã thÓ x¶y ra). Do
Chøng minh. KÕt qu¶ suy ra tõ ¸p dông lÆp l¹i nhiÒu lÇn mÖnh ®Ò 5.10. J
HÖ qu¶ 5.2. Gi¶ sö G lµ ®å thÞ liªn th«ng. Khi ®ã κe (G ) ≥ κv (G )
Chøng minh. Gi¶ sö k = κv (G ) vµ cho mét tËp hîp k − 1 c¹nh bÊt k× trong G . Tõ G
lµ k -liªn th«ng, ®å thÞ G − S lµ 1-liªn th«ng theo hÖ qu¶ trªn. Do ®ã tËp hîp c¸c c¹nh
S kh«ng lµ l¸t c¾t c¹nh cña ®å thÞ G , ®iÒu nµy kÐo theo κe (G ) ≥ k. J
HÖ qu¶ 5.3. Cho G lµ ®å thÞ liªn th«ng. Khi ®ã κv (G ) ≤ κe (G ) ≤ δmin (G ).
Ta dïng mét sè thuËt ng÷ sau: Mét ®Ønh cña ®êng dÉn P lµ ®Ønh trong cña P
nÕu nã kh«ng lµ ®iÓm ®Çu vµ còng kh«ng lµ ®iÓm cuèi cña ®êng dÉn nµy.
§Þnh nghÜa 5.11. Gi¶ sö U vµ V lµ hai ®Ønh trong ®å thÞ G. TËp hîp c¸c UV ®êng
dÉn trong G ®îc gäi lµ t¸ch rêi bªn trong nÕu mäi hai ®êng dÉn trong tËp hîp
§Þnh lý 5.2 (Whitney 1932) . Gi¶ sö G lµ ®å thÞ liªn th«ng víi ba hoÆc nhiÒu ®Ønh h¬n.
Khi ®ã G lµ 2- liªn th«ng khi vµ chØ khi víi mçi cÆp ®Ønh trong G , tån t¹i hai ®êng t¸ch
rêi trong gi÷ chóng.
Chøng minh. 1. Ta chøng minh ®iÒu kiÖn ®ñ: B»ng ph¶n chøng, gi¶ sö ®å thÞ G
kh«ng lµ 2-liªn th«ng. Khi ®ã cho V G −V kh«ng liªn th«ng,
lµ ®Ønh c¾t cña G. VËy tõ
nªn ph¶i tån t¹i hai ®Ønh X vµ Y sao cho kh«ng tån t¹i ®êng dÉn X −Y trong G −V .
2. Gi¶ sö ®å thÞ G lµ hai liªn th«ng, vµ cho X vµ Y lµ hai ®Ønh bÊt k× trong G. Ta
dïng ph¬ng ph¸p quy n¹p theo ®é dµi d(X ,Y ) chøng minh tån t¹i Ýt nhÊt hai ®êng
dÉn X − Y t¸ch nhau trong G . NÕu tån t¹i mét c¹nh e nèi ®Ønh X vµ Y (nghÜa lµ
d(X ,Y ) = 1), khi ®ã ®å thÞ con xãa c¹nh G − e lµ liªn th«ng, theo hÖ qu¶ ??. Nh vËy,
tån t¹i X − Y ®êng dÉn P trong G − e. Suy ra ®êng dÉn P vµ c¹nh e lµ hai X − Y
k ≥ 2 kh¼ng
TiÕp tôc gi¶ thiÕt quy n¹p víi ®Þnh ®óng víi mäi cÆp ®Ønh mµ
kho¶ng c¸ch theo tõng ®o¹n nhá h¬n k . Gi¶ sö X vµ Y lµ c¸c ®Ønh sao cho kho¶ng c¸ch
5.2. Liªn th«ng ®Ønh vµ liªn th«ng c¹nh 72
d(X ,Y ) = k vµ ta xÐt X −Y ®êng dÉn cã ®é dµi k. Gi¶ sö W lµ ®Ønh ngay tríc ®Ønh
Y trªn ®êng dÉn nµy vµ gi¶ sö e lµ c¹nh gi÷a ®Ønh W vµ Y . V× d(X ,W ) < k, theo gi¶
thiÕt quy n¹p kÐo theo tån t¹i hai X − W ®êng dÉn t¸ch nhau trong G , ta gäi ®ã lµ
P vµ Q. Còng nh vËy v× G lµ 2-liªn th«ng, tån t¹i X − Y ®êng dÉn R trong G mµ
kh«ng ®i qua ®Ønh W . §iÒu nµy cã thÓ xem h×nh5.3 víi hai kh¶ n¨ng cho ®êng dÉn
Q: HoÆc lµ nã chøa ®Ønh Y (h×nh bªn ph¶i) hoÆc nã kh«ng (h×nh bªn tr¸i). gi¶ sö
R P R
P Z Z
Q P Y X P Y
X e
e
R R W
W
Q
H×nh 5.3 Chøng minh ®Þnh lÝ Whitney
Z lµ ®Ønh cuèi cïng cña R mµ nã ë tríc Y vµ còng nh vËy trªn mét trong c¸c ®êng
dÉn P vµQ (Z X ). Gi¶ sö kh«ng mÊt tÝnh tæng qu¸t sao cho Z trªn
cã thÓ lµ ®Ønh
®êng Khi ®ã G cã hai X − Y ®êng dÉn t¸ch nhau. Mét ®êng dÉn nµy g¾n
dÉn P.
víi ®êng dÉn con cña P tõ X ®Õn Z víi ®êng dÉn con R tõ Z tíi Y . NÕu ®Ønh Y
kh«ng n»m trªn ®êng Q th× ®êng dÉn X −Y thø hai t¸ch trong víi ®êng ®Çu tiªn,
lµ sù gÐp nèi ®êng dÉn Q víi c¹nh nèi c¹nh cña ®Ønh W vµ ®Ønh Y . NÕu Y n»m
trªn ®êng Q, th× ®å thÞ con cña Q tõ X ®Õn Y cã thÓ dïng lµm ®êng dÉn thø hai.
J
HÖ qu¶ 5.4. G
Gi¶ sö lµ ®å thÞ cã Ýt nhÊt ba ®Ønh. Khi ®ã G lµ 2-liªn th«ng khi vµ chØ khi
hai ®Ønh bÊt k× cña G n»m trªn mét chu tr×nh chung.
Chøng minh. MÖnh ®Ò suy ra tõ ®Þnh lÝ 5.2, v× hai ®Ønh X vµ Y n»m trªn chu tr×nh
chung khi vµ chØ khi tån t¹i hai X −Y ®êng dÉn t¸ch trong. J
§Æc trng cña 2-liªn th«ng ®å thÞ ta tæng kÕt l¹i nh sau:
§Þnh lý 5.3. Gi¶ sö G lµ ®å thÞ liªn th«ng cã Ýt nhÊt ba ®Ønh. Khi ®ã c¸c mÖnh ®Ò sau ®©y
t¬ng ®¬ng.
2. Víi hai ®Ønh bÊt k× cña G , tån t¹i chu tr×nh chøa c¶ hai ®Ønh nµy;
3. Víi mét ®Ønh vµ mét c¹nh bÊt k× cña G , tån t¹i chu tr×nh chøa c¶ hai;
4. Víi hai c¹nh bÊt k× cña G , tån t¹i mét chu tr×nh chøa c¶ hai;
5.3. §å thÞ Euler 73
5. Víi hai ®Ønh bÊt k× vµ mét c¹nh cña G , tån t¹i ®êng dÉn chøa c¶ ba;
6. Víi ba ®Ønh bÊt k× kh¸c nhau cña G , tån t¹i ®êng dÉn chøa c¶ ba;
7. Víi ba ®Ønh bÊt k× kh¸c nhau cña G , tån t¹i ®êng dÉn chøa hai ®Ønh bÊt k× trong
chóng, mµ nã l¹i kh«ng chøa ®Ønh thø ba.
1. §êng Euler trong mét ®å thÞ lµ mét ®êng mßn mµ nã chøa tÊt c¶ c¸c c¹nh
Bµi to¸n b¶y chiÕc cÇu cña thµnh phè Konigsberg víi hµnh tr×nh ®i qua c¸c ®Ønh
mét lÇn ®· chøng minh kh«ng tån t¹i. Nguyªn nh©n chÝnh cña bµi to¸n kh«ng cã
A
D
B
H×nh 5.4 §å thÞ bµi to¸n b¶y cÇu cña thµnh phè Konigsberg
Ngêi ta ®· chøng minh ®îc r»ng ®å thÞ cã tÊt c¶ c¸c ®Ønh bËc lµ ch½n th× tån
ThuËt to¸n ®Ó t×m hµnh tr×nh Euler ®îc t×m ra tõ n¨m 1873 do Hierholzer.
ThuËt to¸n ®îc x©y dùng víi tÊt c¶ c¸c c¹nh ®Òu ch½n nh sau:
Chó ý: Ta cã thÓ söa ®æi thuËt to¸n t×m theo chiÒu s©u ®Ó x©y dùng ®êng ®ãng
VÝ dô 5.2. §iÒu quan träng cña thuËt to¸n lµ më réng nh÷ng ®êng mßn ®ãng b»ng
ghÐp nèi ®êng ®ãng thø hai. Ta xÐt hai ®êng ®ãng T =< t1 ,t2 ,t3 ,t4 > vµ D =<
d1 , d2 , d3 > nh trong h×nh 5.5.
t2 W
t1 d1
t3
V d3
e1
e2
t4 d2
e3
H×nh 5.5 ThuËt to¸n Euler
Bíc lÆp tiÕp theo gÐp nèi víi < e1 , e2 , e3 > víi T0 vµ cho ra kÕt qu¶ chu tr×nh
Mét sè øng dông ®ßi hái hµnh tr×nh Euler më, nghÜa lµ hµnh tr×nh kh«ng kÕt
§Þnh lý 5.4. §å thÞ liªn th«ng G cã ®êng Euler më khi vµ chØ khi nã cã ®óng hai ®Ønh
bËc lÎ. H¬n n÷a, ®Ønh ®Çu vµ ®Ønh kÕt thóc cña ®êng Euler më ph¶i lµ hai ®Ønh cña bËc
lÎ.
Chøng minh. §iÒu kiÖn cÇn: Gi¶ sö < X , e1 ,V1 , e2 , ..., em ,Y > lµ ®êng Euler më trong
G . Ta thªm c¹nh míi e nèi X vµ Y t¹o ra ®å thÞ míi G ∗ = G + e víi hµnh tr×nh Euler
< X , e1 ,V1 , e2 , ..., em ,Y, e, X >. Theo ®Þnh lÝ 5.1 (ch¬ng tríc) bËc cña mäi ®Ønh trong
®å thÞ Euler lµ ch½n. Nh vËy, bËc trong ®å thÞ G cña mäi ®Ønh lµ ch½n trõ ®Ønh X
vµ Y.
§iÒu kiÖn ®ñ: Gi¶ sö X vµ Y lµ hai ®Ønh cã bËc lÎ duy nhÊt trong G. NÕu e lµ
mét c¹nh míi nèi X vµ Y, th× tÊt c¶ c¸c ®Ønh cña ®å thÞ võa t¹o ra lµ G∗ cã bËc ch½n.
Suy ra theo ®Þnh lÝ 5.1 ®å thÞ G∗ cã chu tr×nh Euler T. Do ®ã ®êng mßn T − e b»ng
5.4. §êng dÉn vµ chu tr×nh Hamilton 75
ThuËt ng÷ vÒ ®êng Euler trong ®å thÞ ®Þnh híng lµ ®êng mßn cã híng. C¸c
®Æc trng cña ®å thÞ cho hµnh tr×nh Euler vµ ®êng Euler më vÉn cßn ®óng trong
®å thÞ ®Þnh híng cßn ®óng víi c¸c ®êng ®Þnh híng nµy. Ta ph¸t biÓu c¸c ®Þnh
lÝ cho ®å thÞ ®Þnh híng, cßn chøng minh th× hoµn toµn t¬ng tù.
§Þnh lý 5.5 (§Æc trng cña ®å thÞ Euler ®Þnh híng). Nh÷ng mÖnh ®Ò sau ®©y t¬ng
2. Víi mäi ®Ønh V cña D , bËc vµo cña V b»ng bËc ra cña V;
3. §å thÞ ®Þnh híng D lµ hîp cña chu tr×nh ®Þnh híng c¹nh t¸ch nhau.
§Þnh lý 5.6. §å thÞ ®Þnh híng liªn th«ng D cã ®êng Euler më tõ ®Ønh X tíi ®Ønh Y
khi vµ chØ khi indegree(X ) + 1 = outdegree(X ), indegree(Y ) = outdegree(Y ) + 1 vµ tÊt c¶ c¸c
§Þnh nghÜa 5.12. §êng dÉn (chu tr×nh) Hamilton cña mét ®å thÞ lµ mét ®êng dÉn
(chu tr×nh) mµ nã chøa tÊt c¶ c¸c ®Ønh. Trong trêng hîp ®å thÞ ®Þnh híng th×
c¸c ®êng dÉn (chu tr×nh) Hamilton lµ c¸c ®êng ®Þnh híng.
W. R. Hamilton (1805-1865) lµ mét nhµ to¸n häc ngêi AÝ NhÜ Lan vµ lµ mét trong
C¸c quy t¾c sau ®©y nh c¸c ®Þnh lÝ lµ c¬ së chØ ra r»ng mäi chu tr×nh Hamilton
ph¶i chøa ®óng hai c¹nh g¾n liÒn víi mçi ®Ønh.
Quy t¾c 1: NÕu ®Ønh V cã bËc 2, th× c¶ hai c¹nh g¾n víi nã ph¶i lµ mét phÇn cña
Quy t¾c 2: Trong qu¸ tr×nh x©y dùng chu tr×nh Hamilton, kh«ng cã chu tr×nh cã
thÓ t¹o thµnh cho tíi khi tÊt c¶ c¸c ®Ønh ®· ®îc ghÐ qua.
Quy t¾c 3: NÕu trong qu¸ tr×nh x©y dùng chu tr×nh Hamilton hai trong sè c¸c
c¹nh g¾n liÒn víi 1 ®Ønh V ®îc chØ ra, th× tÊt c¶ c¸c c¹nh g¾n liÒn kh¸c cã thÓ bá
®i ®îc.
5.4. §êng dÉn vµ chu tr×nh Hamilton 76
V H
A
F G B
E D C
W X
VÝ dô 5.3. Chøng minh r»ng ®å thÞ díi ®©y kh«ng ph¶i lµ ®å thÞ Hamilton (h×nh
5.6)
Chøng minh. Quy t¾c 1 ¸p dông cho c¸c ®Ønh B, D, F BH, BC, DC, DE, EF
suy ra c¸c c¹nh
vµ FA ph¶i n»m trªn mäi chu tr×nh Hamilton. Theo nguyªn t¾c 3 ¸p dông cho ®Ønh C
vµ E lo¹i trõ c¸c c¹nh CG,CX , EG vµ EW . KÕt qu¶ cßn l¹i cña ®å thÞ l¹i sö dông quy
t¾c 1 suy ra c¸c c¹nh WV,V X vµ XW ph¶i n»m trªn mäi chu tr×nh Hamilton. Nhng
®iÒu ®ã t¹o ra mét 3-chu tr×nh, mµ nã v« lÝ víi quy t¾c 2. §iÒu ®ã kÐo theo tån t¹i
hai chu tr×nh con t¸ch biÖt, mµ nã l¹i tr¸i víi quy t¾c 2. J
VÝ dô 5.4. Chøng minh r»ng ®å thÞ sau kh«ng ph¶i lµ Hamilton (h×nh 5.7)
A B C
V W X
D E F
Chøng minh. Quy t¾c 1 ¸p dông cho V,W, X kÐo theo tÊt c¶ s¸u c¹nh ®øng ph¶i lµ mét
phÇn chu tr×nh Hamilton bÊt k×. Quy t¾c 1 vµ 3 ¸p dông cho ®Ønh B kÐo theo ®óng
mét trong c¸c c¹nh AB vµ BC lµ mét PhÇn cña chu tr×nh Hamilton. NÕu AB n»m trªn
chu tr×nh vµ BC kh«ng th× theo quy t¾c 3 ¸p dông cho ®Ønh A kÐo theo AC kh«ng
n»m trªn chu tr×nh. Nhng khi ®ã CX chØ lµ c¹nh trªn chu tr×nh nµy mµ nã g¾n liÒn
víi C. Nh vËy theo quy t¾c 1 kh«ng cã chu tr×nh tån t¹i trong trêng hîp nµy, v«
lÝ. Theo tÝnh ®èi xøng, t¬ng tù cho kÕt qu¶ víi nÕu BC trªn chu tr×nh cßn AB th×
kh«ng. J
5.4. §êng dÉn vµ chu tr×nh Hamilton 77
§Þnh lý 5.7 (Ore, 1960). Cho G lµ mét ®å thÞ n ®Ønh ®¬n víi n ≥ 3 sao cho deg(X )+deg(Y ) ≥
n víi mäi cÆp hai ®Ønh X vµ Y kh«ng c¹nh nhau. Khi ®ã G lµ Hamilton.
Chøng minh. Ta chøng minh b»ng ph¶n chøng, gi¶ sö r»ng ®Þnh lÝ sai vµ cho G lµ ®å
thÞ lín nhÊt theo n cã thÓ mµ ®Þnh lÝ sai. NghÜa lµ G kh«ng cã ®êng Hamilton vµ
vÉn tháa m·n c¸c ®iÒu kiÖn cña ®Þnh lÝ, vµ ta thªm mét c¹nh nèi hai ®Ønh kh«ng
Cho X vµ Y lµ hai ®Ønh kh«ng c¹nh nhau cña G (v× G kh«ng ®Çy ®ñ vµ n ≥ 3). §Ó
5.8)
X = V1 Vn = Y
V2 Vn−1
Vi Vi+1
H×nh 5.8 §êng dÉn Hamilton trong G
Víi mçii = 2, 3, ..., n − 1 Ýt nhÊt mét trong c¸c cÆp V1 ,Vi+1 vµ Vi ,Vn kh«ng kÒ nhau,
v× nÕu ngîc l¹i th× V1 ,V2 , ...,Vi ,Vn ,Vn−1 , ...,Vi+1 ,V1 > sÏ lµ chu tr×nh Hamilton trong
G (h×nh 5.9).
X = V1 Vn = Y
V2 Vn−1
Vi Vi+1
H×nh 5.9 §êng dÉn Hamilton trong G
§iÒu nµy nghÜa lµ nÕu (ai j ) lµ ma trËn kÒ cho G, th× a1,i+1 + ai,n ≤ 1 víi i=
5.5. Bµi tËp ch¬ng V 78
n−1 n−1
deg(X ) + deg(Y ) = ∑ a1,i + ∑ ai,n
i=2 i=2
n−1 n−2
= a1,2 + ∑ a1,i + ∑ ai,n + an−1,n
i=3 i=2
n−1 n−2
= 1 + ∑ a1,i + ∑ ai,n + 1
i=3 i=2
n−1
= 2 + ∑ (a1,i + ai,n )
i=3
≤ 2 + n − 3 = n − 1.
Chó ý c¸c kÕt qu¶ trªn t¬ng tù cho ®å thÞ ®Þnh híng.
1. HoÆc lµ vÏ ®îc ®å thi sau hoÆc kh«ng vÏ ®îc h·y gi¶i thÝch t¹i sao?
3. H·y cho vÝ dô ®å thÞ G tháa m·n c¸c ®iÒu kiÖn sau ®©y:
a) §å thÞ ®Çy ®ñ Kn ;
b) §å thÞ ®Çy ®ñ hai phÇn Km,n ;
5.5. Bµi tËp ch¬ng V 79
5. H·y vÏ ®å thÞ víi tÝnh chÊt ®· chØ ra hoÆc kh«ng vÏ ®îc th× v× sao?
a) §å thÞ ®¬n 8 ®Ønh cã nhiÒu h¬n 8 c¹nh mµ nã ®ång thêi lµ Euler vµ Hamilton.
b) §å thÞ ®¬n 8 ®Ønh cã nhiÒu h¬n 8 c¹nh mµ nã lµ ®å thÞ Euler, nhng kh«ng
lµ ®å thÞ Hamilton.
6. Chøng minh r»ng c¸c ®å thÞ sau ®©y cã chu tr×nh Hamilton hoÆc kh«ng ph¶i lµ
®å thÞ Hamilton.
A B C A B C
V W D F
E
E F G X Y
D
(a) (b)
B
A B
A C
D C D
F G I E
E J
N H
F
V Y G
X
M K
W
(d)
(c)
Ch¬ng 6
§å thÞ ph¼ng
Trong ®å thÞ ngêi ta cã kh¶ n¨ng vÏ c¸c c¹nh kh«ng giao nhau hoÆc giao nhau.
Hai c¹nh giao nhau trong ®å thÞ lµ vÏ hai c¹nh c¾t nhau t¹i mét ®iÓm nµo ®ã bªn
trong hai c¹nh ®ã. Trong bµi nµy ta xÐt c¸c ®å thÞ cã thÓ vÏ c¸c c¹nh kh«ng giao
§Þnh nghÜa 6.1. PhÐp g¾n ®å thÞ G trªn mÆt ph¼ng S lµ viÖc vÏ ®å thÞ trªn S kh«ng
cã c¹nh nµo giao nhau. NghÜa lµ, ¶nh t¬ng ®¬ng t«p« i : G −→ S tõ m« h×nh t«p«
§Þnh nghÜa 6.2. §å thÞ ph¼ng lµ ®å thÞ mµ nã cã mét phÐp g¾n vµo mÆt ph¼ng.
§Þnh nghÜa 6.3. §å thÞ cÇu lµ ®å thÞ mµ nã cã phÐp g¾n trªn mÆt cÇu.
MÖnh ®Ò 6.1. Mét ®å thÞ lµ ph¼ng khi vµ chØ khi nã lµ ®å thÞ cÇu.
Chøng minh mÖnh ®Ò nµy tõ phÐp chiÕu Rieman. Tõ mÖnh ®Ò nµy suy ra nghiªn
cøu ®å thÞ ph¼ng còng t¬ng ®¬ng nghiªn cøu ®å thÞ cÇu. Trong bµi nµy môc ®Ých
VÝ dô 6.1. §«i khi vÏ ®å thÞ chØ b»ng c¸ch thay ®æi ¶nh cña mét hay mét sè c¹nh cña
øng dông: Mét m¹ch ®iÖn ph¶i lµ mét ®å thÞ ph¼ng v× c¸c m¹ch ®iÖn trªn mét
mÆt kh«ng thÓ giao nhau. NÕu kh«ng thÓ tr¸nh c¾t nhau cña m¹ch ®iÖn th× ngêi
ta thªm líp vµo m¹ch ®iÖn, nhng sè líp kh«ng ph¶i lµ bÊt k× mµ ph¶i lµ m¹ch ®iÖn
§Þnh lý 6.1. Gi¶ sö G lµ ®å thÞ ®¬n liªn th«ng bÊt k× víi phÐp nhóng i : G −→ S0 vµo
|EG | ≤ 3|VG | − 6.
Chøng minh. §Þnh lÝ nµy cã dïng ph¬ng tr×nh Euler cho ®a diÖn
Chøng minh. B»ng ph¶n chøng ta thÊy ngay tr¸i víi ®Þnh lÝ 6.1. J
§Þnh lý 6.2. §å thÞ ®Çy ®ñ K5 kh«ng lµ ®å thÞ ph¼ng.
Chøng minh. V× 3|V | − 6 = 15 − 6 = 9 vµ |E| = 10. BÊt ®¼ng thøc |E| > 3|V | − 6 ®óng vµ
Chøng minh. Ta cã 3|VG | − 6 = 3.8 − 6 = 18, do gi¶ thiÕt |EG | ≥ 19 nªn |EG | > 3|VG | − 6.
Theo hÖ qu¶ 6.1, G kh«ng ph¼ng hãa ®îc. J
§Þnh lý 6.3. Gi¶ sö G lµ ®å thÞ ®¬n, liªn th«ng, hai phÇn bÊt k× víi phÐp nhóng i : G → S0
vµo mÆt cÇu hoÆc mÆt ph¼ng. Khi ®ã
|EG | ≤ 2|VG | − 4.
6.2. §å thÞ con kh«ng ph¼ng 82
Chøng minh. Dïng ph¬ng ph¸p ph¶n chøng vµ kÕt hîp víi ®Þnh lÝ 6.3. J
§Þnh lý 6.4. §å thÞ hai phÇn ®Çy ®ñ K3,3 lµ ®å thÞ kh«ng ph¼ng.
Chøng minh. V× 2|V | − 4 = 8 vµ |E| = 9, nªn bÊt ®¼ng thøc |E| > 2|V | − 4 ®óng. Theo
§Þnh nghÜa 6.4. §å thÞ ®Çy ®ñ K5 vµ ®å thÞ hai phÇn ®Çy ®ñ K3,3 ®îc gäi chung lµ
®å thÞ Kuratowski.
Sö dông c¸c ®Þnh lÝ ë phÇn tríc ta cã thÓ t×m ra mét sè ®å thÞ con kh«ng
§Þnh lý 6.5. NÕu mét ®å thÞ chøa mét ®å thÞ con kh«ng ph¼ng, th× ®å thÞ ®ã còng kh«ng
ph¼ng.
Chøng minh. Gi¶ sö ®å thÞ ®· cho lµ vÏ ph¼ng ®îc, vËy th× kh«ng cßn hai c¹nh nµo
giao nhau n÷a khi ta thùc hiÖn ph¼ng hãa. §iÒu nµy nghÜa lµ mäi ®å thÞ con lµ ®å
thÞ ph¼ng, ®iÒu nµy tr¸i víi gi¶ thiÕt nã chøa 1 ®å thÞ con kh«ng ph¼ng. J
VÝ dô 6.2. §å thÞ G = K7 − EK4 lµ ®å thÞ tõ K7 xãa ®i 6 c¹nh nèi víi 4 ®Ønh trong K7 .
V× |VG | = 7 vµ |EG | = 21 − 6 = 15. Suy ra
VËy c«ng thøc cã thÓ ph¼ng hãa ®îc ë phÇn tríc kh«ng ¸p dông ®îc cho G trong
Tuy nhiªn, G = K7 = EK4 chøa ®å thÞ Kuratowski K3,3 nh h×nh 6.2.
1 3 5
0 2 4 6
H×nh 6.2 K7 − EK4 chøa K3,3
6.3. Më réng ®å thÞ ph¼ng 83
MÖnh ®Ò 6.3. PhÐp ph¼ng hãa bÊt biÕn víi phÐp ®ång cÊu.
MÖnh ®Ò 6.4. Gi¶ sö ®å thÞ G chøa ®å thÞ con H , mµ ®å thÞ con nµy ®¼ng cÊu víi ®å thÞ
kh«ng ph¼ng. Khi ®ã G còng kh«ng lµ ®å thÞ ph¼ng.
Tõ c¸c mÖnh ®Ò vµ ®Þnh lÝ ë phÇn nµy dÔ dµng x©y dùng ®îc ®å thÞ kh«ng
ph¼ng hãa ®îc b»ng c¸ch xuÊt ph¸t tõ c¸c ®å thÞ Kuratowski.
Muèn x©y dùng mét ®å thÞ ph¼ng ta còng xuÊt ph¸t tõ mét ®å thÞ con ph¼ng råi
thªm vµo c¸c thµnh phÇn c¹nh vµ ®Ønh sao cho vÉn cßn cã kh¶ n¨ng ph¼ng hãa ®îc.
TiÕp tôc qu¸ tr×nh nh vËy ta ®îc mét ®å thÞ ph¼ng hãa lín h¬n ®å thÞ ban ®Çu.
MÖnh ®Ò 6.5. §å thÞ ph¼ng G vÉn cßn lµ ®å thÞ ph¼ng nÕu ta thªm vµo c¹nh kÐp hoÆc
c¹nh vßng.
Chøng minh. Khi ®å thÞ ®· vÏ ph¼ng ®îc råi th× khi ta thªm c¸c c¹nh vßng hoÆc
c¹nh béi th× ta cã thÓ vÏ ®îc c¸c c¹nh ®ã s¸t víi ®Ønh hoÆc c¹nh ®· cã nh h×nh
6.3.
V V
e e
H×nh 6.3 Thªm c¹nh vßng vµ c¹nh béi vµo ®å thÞ ph¼ng
J
HÖ qu¶ 6.3. Mét ®å thÞ kh«ng ph¼ng vÉn cßn lµ kh«ng ph¼ng nÕu ta bá ®i c¹nh vßng
MÖnh ®Ò 6.6. Mét ®å thÞ ph¼ng G vÉn cßn lµ ph¼ng nÕu c¹nh bÊt k× ®îc chia ra thµnh
c¸c c¹nh míi hoÆc nÕu g¾n thªm c¹nh míi e vµo ®Ønh V ∈ VG (víi mét ®iÓm cuèi cßn l¹i
Chøng minh. DÔ thÊy r»ng khi chia c¹nh hoÆc g¾n thªm c¹nh ta cã thÓ vÏ c¸c c¹nh
J
6.4. Bµi tËp ch¬ng VI 84
e
V V
e
H×nh 6.4 Thªm c¹nh vµ chia c¹nh cña ®å thÞ ph¼ng
a) K8 − 4K2 ;
b) K3,6 − 3K2 ;
c) K8 − K3,3 ;
d) K2 + Q3 .
2. HoÆc lµ vÏ ®å thÞ ph¼ng ®îc ®å thÞ hoÆc kh«ng cã ®å thÞ ph¼ng hãa mang c¸c
3. Chøng minh r»ng c¸c ®å thÞ sau ®©y tháa m·n bÊt ph¬ng tr×nh ph¼ng hãa
|EG | ≤ 3|VG | − 6, nÕu kh«ng ®óng th× kh«ng ph¼ng hãa ®îc:
a) K3,3 + K1 ;
b) K8 − (K5 ∪ K3 ).
4. Chøng minh r»ng c¸c ®å thÞ sau kh«ng ph¼ng hãa ®îc
a) K8 − 4K2 ;
b) K3,6 − 3K2 ;
c) K8 − 2C4 ;
d) K8 − K3,3
6.4. Bµi tËp ch¬ng VI 85
5. T×m ®å thÞ con trong ®å thÞ con Kuratowski trong ®å thÞ cho sau ®©y.
Mét c¸ch t« mµu ®å thÞ lµ g¸n cho c¸c ®Ønh c¸c mµu kh¸c nhau. Cã thÓ nãi c¸c
®Ønh t« cïng mµu xem nh mét ph©n ho¹ch trong kh¸i niÖm to¸n häc víi tËp ®Ønh
VËy nh÷ng kÕt luËn cña ph©n ho¹ch tËp hîp cã thÓ ¸p dông rÊt nhiÒu cho bµi
to¸n t« mµu, thÓ hiÖn kiÕn thøc nµy b»ng c¸c tiÕt sau:
HÇu hÕt c¸c bµi to¸n øng dông t×m hµm t« mµu ®Ønh liªn quan tíi viÖc x¸c ®Þnh
sè mµu nhá nhÊt ®ßi hái ®îc t« díi mét ®iÒu kiÖn c¸c ®iÓm cuèi trªn cïng mét
§Þnh nghÜa 7.1. T« mµu ®Ønh cña ®å thÞ G lµ phÐp g¸n f : VG → C tõ tËp c¸c ®Ønh
KÝ hiÖu: Trong biÓu diÔn c¸c mµu ®îc cho t¬ng øng lµ c¸c sè d¬ng 1, 2, 3, ....
§Þnh nghÜa 7.2. Víi sè nguyªn d¬ng bÊt k× k, t« k-mµu ®Ønh lµ mét c¸ch t« mµu
§Þnh nghÜa 7.3. T« mµu ®Ønh thùc sù cña mét ®å thÞ lµ mét c¸ch t« n-mµu ®Ønh sao
cho c¸c ®iÓm cuèi cña mçi c¹nh ®îc g¸n hai mµu kh¸c nhau.
§Þnh nghÜa 7.4. Mét ®å thÞ ®îc gäi lµ cã kh¶ n¨ng t« k-mµu ®Ønh nÕu nã cã thÓ t«
1 4
2
2
3 3
1 1
1
1 4
2
H×nh 7.1 Kh¶ n¨ng t« mµu ®Ønh thùc sù
ThuËt ng÷: V× t« mµu ®Ønh thêng xuyªn dïng h¬n t« mµu c¹nh hoÆc c¸c lo¹i t«
mµu kh¸c nªn trong nhiÒu tµi liÖu chØ dïng thuËt ng÷ t« mµu cho kiÓu nµy.
§Þnh nghÜa 7.5. S¾c sè (S¾c sè ®Ønh) cña ®å thÞ G, kÝ hiÖu lµ χ (G), lµ sè mµu kh¸c
nhau nhá nhÊt mµ ®ßi hái cho mét t« mµu ®Ønh thùc sù cña G.
Nh vËy, χ (G) = k nghÜa lµ ®å thÞ G cã thÓ t« k-mµu, nhng kh«ng thÓ t« (k − 1)-
mµu.
§Þnh nghÜa 7.6. Mét ®å thÞ G gäi lµ k-s¾c sè ®å thÞ nÕu χ (G) = k.
VÝ dô 7.2. Víi ®å thÞ ë h×nh 7.1 th× ®å thÞ nµy ta cã thÓ t« c¸ch kh¸c nh h×nh 7.2
NghÜa lµ ®å thÞ G cã kh¶ n¨ng t« 3-mµu, χ (G) ≤ 3. Tuy nhiªn ®å thÞ G chøa 3 ®Ønh
1 3
2
2
3 2
1 1
1
1 3
2
H×nh 7.2 S¾c sè cña ®å thÞ χ (G) = 3
cïng c¹nh nhau, do ®ã kh«ng thÓ t« 2-mµu ®îc. VËy s¾c sè cña G lµ 3.
MÖnh ®Ò 7.1. §å thÞ G cã χ (G) = 1 khi vµ chØ khi G kh«ng cã c¹nh.
Chøng minh. Mäi ®iÓm cuèi cña c¸c c¹nh ph¶i cã mµu kh¸c nhau, nÕu G cã c¹nh th×
Ýt nhÊt ph¶i t« b»ng hai mµu vµ ngîc l¹i. Dùa trªn kÕt luËn nµy suy ra mÖnh ®Ò.
J
Chó ý: T« mµu ®Ønh chØ cho c¸c ®å thÞ ®¬n. Cßn c¸c ®å thÞ cã c¹nh vßng th×
®Þnh nghÜa t« mµu kh«ng cßn ®óng n÷a. H¬n n÷a c¸c ®å thÞ cã c¹nh béi viÖc t« mµu
kh«ng hiÖu qu¶ h¬n c¹nh ®¬n, v× ta cã thÓ cho c¸c c¹nh béi ®ã lµ mét c¹nh.
7.1. T« mµu ®Ønh 88
§Þnh nghÜa 7.7. Líp mµu trong ®å thÞ t« mµu ®Ønh G lµ mét tËp con c¸c ®Ønh cña
Trong c¸c øng dông m« h×nh t« mµu ®Ønh, c¸c ®Ønh trong mçi líp biÓu diÔn
mét c¸ch riªng biÖt hoÆc ph©n ho¹ch kh«ng t¬ng thÝch víi c¸c líp kh¸c.
Gi¶ sö c¸c ®Ønh cña ®å thÞ G biÓu diÔn tr¹m ph¸t sãng cña ®µi ph¸t thanh.
Trong ®Þa bµn ph¸t sãng, hai tr¹m ®îc gäi lµ c¹nh nhau khi diÔn tÝch phñ sãng
cña chóng giao nhau.Nh vËy nÕu hai tram c¹nh nhau cïng ph¸t trªn mét tÇn sè th×
c¸c vïng giao nhau sÏ g©y ra hËu qu¶ nhiÔu rÊt lín. Nh vËy hai tr¹m c¹nh nhau
ph¶i ®îc g¸n nh÷ng tÇn sè kh¸c nhau. C©u hái ®Æt ra lµ mét ®Þa bµn rÊt nhiÒu
tr¹m ph¸t th× bao nhiªu tÇn sè kh¸c nhau lµ ®ñ. Bµi to¸n ®îc ®a vÒ bµi to¸n t« mµu
b»ng c¸ch ®Þnh nghÜa nh sau: Ta xÐt c¸c tÇn sè nh lµ mµu trong bµi to¸n t« mµu
®å thÞ, trong ®ã c¸c líp mµu kh«ng chøa c¸c ®Ønh biÓu diÔn c¸c tr¹m kh«ng cã vïng
phñ sãng giao nhau. Trong m« h×nh nµy χ (G) lµ sè tÇn sè nhá nhÊt ®ßi hái ®Ó tr¸nh
hËu qu¶ c¸c vïng phñ sãng giao nhau.
Gi¶ sö c¸c ®Ønh cña ®å thÞ ®¬n G lµ c¸c m«n häc kh¸c nhau t¹i mét trêng ®¹i häc.
Hai ®Ønh ®îc gäi lµ c¹nh nhau khi vµ chi khi Ýt nhÊt mét sinh viªn ®¨ng kÝ c¶ hai
m«n nµy. Nh vËy kh«ng thÓ lËp lÞch cho hai m«n nh vËy cïng mét thêi gian häc.
Khi ®ã s¾c sè ®Ønh χ (G) lµ sè chu k× thêi gain nhá nhÊt ®Ó lËp lÞch cho c¸c m«n häc
sao cho kh«ng cã sinh viªn nµo bÞ ®i häc cïng mét chu k× c¶ hai m«n.
TÝnh s¾c sè cña mét ®å thÞ thêng ®îc tiÕn hµnh theo c¸c bíc:
1. Bíc t×m cËn trªn: Chøng minh χ (G) ≤ k mét c¸ch têng minh ®å thÞ t« k-mµu
thùc sù cña G.
2. Bíc tÝnh cËn díi: Chøng minh χ (G) ≥ k b»ng c¸ch dïng tÝnh chÊt cña ®å
thÞ. §Æc biÖt hay dïng lµ t×m ®å thÞ con mµ nã ®ßi hái t« Ýt nhÊt k-mµu.
MÖnh ®Ò 7.2. Cho G lµ ®å thÞ víi k ®Ønh c¹nh kÒ cïng nhau th× χ (G) ≥ k.
Chøng minh. Theo ®Þnh nghÜa t« mµu ®Ønh th× ph¶i dïng k mµu cho G ®Ó tr¸nh k
®Ønh cã hai ®Ønh g¸n cïng mµu. J
TËp cïng kÒ trong ®å thÞ G lµ tËp hîp con cùc ®¹i cña VG mµ c¸c ®Ønh nµy kÒ
nhau (nghÜa lµ mçi cÆp ®Ønh ®Òu cã c¹nh kÒ). Sè cïng kÒ w(G) cña ®å thÞ G lµ sè
®Ønh trong tËp cïng kÒ lín nhÊt trong G.
7.1. T« mµu ®Ønh 89
MÖnh ®Ò 7.3. Cho H lµ ®å thÞ con cña ®å thÞ G . Khi ®ã χ (G) ≥ χ (H).
1
4
2
4 1
3
1
Mét sè hä ®å thi sau dÔ dµng suy ra tõ ®Þnh nghÜa vµ c¸c nguyªn lÝ trªn.
Chøng minh. theo mÖnh ®Ò 7.2 ta cã χ (Kn ) ≥ n. H¬n n÷a g¸n n mµu vµo n ®Ønh cña
Chøng minh. G¸n mçi mµu mét bªn. Theo mÖnh ®Ò trªn ta cã kÕt qu¶ cña bµi to¸n.
J
HÖ qu¶ 7.2. §å thÞ ®êng dÉn χ (Pn ) = 2 víi n ≥ 2.
Ta thÊy c¸c b¶n ®å lµ gåm c¸c miÒn giíi h¹n bëi c¸c ®êng biªn. Bµi to¸n t« mµu
b¶n ®å lµ mäi mÆt ®ãng, cã tån t¹i sè mµu nhá nhÊt cÇn thiÕt ®Ó t« mµu b¶n ®å sao
cho kh«ng cã c¹nh hai miÒn nµo cïng mµu. Bµi to¸n t« bèn mµu trªn b¶n ®å ph¼ng ®·
Ta cã thÓ nãi mét b¶n ®å trªn mÆt ph¼ng lµ nhóng mét ®å thÞ trªn mÆt ph¼ng nµy.
§Þnh nghÜa 7.8. T« mµu b¶n ®å lµ cho phÐp nhóng h : G −→ S cña mét ®å thÞ lªn mÆt,
mµ nã lµ mét hµm tõ tËp hîp F c¸c mÆt cña phÐp nhóng vµo tËp hîp gåm c¸c phÇn
tö mµu.
§Þnh nghÜa 7.9. Mét n-t« mµu cña b¶n ®å lµ t« mµu b»ng n mµu.
§Þnh nghÜa 7.10. Mét t« mµu b¶n ®å lµ thùc sù nÕu víi mçi c¹nh e ∈ EG c¸c miÒn cã
VÝ dô 7.4. H×nh 7.4 t« b»ng bèn mµu trªn b¶n ®å mÆt ph¼ng.
§Þnh nghÜa 7.11. S¾c sè cña b¶n ®å lµ sè mµu nhá nhÊt cÇn t« mét b¶n ®å thùc sù.
VÝ dô 7.5. B¶n ®å sau lµ mét vÝ dô kh«ng t« mµu ®îc thùc sù v× miÒn F2 cã hai c¹nh
F1 F2
F5 F3
F4
Ngêi ta cã thÓ chuyÓn bµi to¸n t« mµu c¸c miÒn b¶n ®å trªn mÆt ph¼ng ®ãng
vÝ dô bµi to¸n trªn cã thÓ ®a vÒ bµi to¸n t« mµu ®Ønh b»ng c¸ch: C¸c ®Ønh ®èi
ngÉu Vj t¬ng øng víi mÆt Fj víi j = 1, 2, ..., 5. Nh vËy, miÒn tù kÒ F2 ®èi ngÉu
V1
V2
V5 V3
V4
H×nh 7.6 §å thÞ ®èi ngÉu
MÖnh ®Ò 7.6. S¾c sè cña b¶n ®å b»ng s¾c sè ®èi ngÉu cña nã.
Ta lÊy vÝ dô mét b¶n ®å c¸c níc Ph¸p, Andora, T©y Ban Nha, Bå §µo Nha (h×nh
??. Nãi chung b¶n ®å ®Þa lÝ c¸c níc ®Òu cã d¹ng tiÕp gi¸p phøc t¹p nh trong vÝ
dô nµy.
BiÓn Ph¸p
Andora
Lôc ®Þa
T©y Ban Nha
Bå
BiÕn giíi Ph¸p vµ T©y Ban Nha chia ra lµm hai víi níc Andora. Trong trêng
hîp nµy khi chuyÓn thµnh ®å thÞ ®èi ngÉu th× c¸c c¸c c¹nh kÒ béi cña miÒn kh«ng
¶nh hëng ®Õn quy t¾c t« mµu cña b¶n ®å. Nh vËy khi kh¶o s¸t t« mµu b¶n ®å ®Þa
lÝ ngêi ta ®a vÒ b¶n ®å ®èi ngÉu c¸c c¹nh vµ ®Ønh vµ xÐt b×nh thêng kh«ng gÆp
§Þnh nghÜa 7.12. {i, j}-®å thÞ con cña ®å thÞ G víi t« mµu ®Ønh, trong ®ã i, j lµ c¸c
7.3. T« mµu c¹nh 92
mµu trong tËp mµu, lµ mét ®å thÞ con cña ®å thÞ G ®îc bá ®i tËp hîp tËp hîp tÊt
§Þnh nghÜa 7.13. Mét Kempe i− j xÝch cho ®å thÞ t« mµu ®Ønh cña ®å thÞ G lµ mét
VÝ dô 7.6. §å thÞ sau ®©y thÓ hiÖn {1, 3}- ®å thÞ con vµ kempe xÝch
1 4
2
2
1 1
3
3
1 4
1
2
H×nh 7.8 §å thÞ Kempe
§Þnh lý 7.1 (Heawood 1890). S¾c sè cña ®å thÞ ®¬n ph¼ng lín nhÊt lµ 5.
Chøng minh. Chøng minh ®Þnh lÝ nµy kh«ng hái kiÕn thøc nhiÒu, chØ cÇn c¸c kiÕn
thøc trong ®Þnh nghÜa lµ ®ñ. (Bá qua trong tµi liÖu nµy). J
§Þnh lý 7.2 (Appel vµ Haken 1976). Mçi ®å thÞ ph¼ng cã thÓ t« b»ng 4 mµu.
Chøng minh. §Þnh lÝ kh«ng chøng minh b»ng suy luËn mµ chøng minh b»ng m¸y
tÝnh. J
7.3. T« mµu c¹nh
§Þnh nghÜa 7.14. T« mµu c¹nh cña ®å thÞ lµ ¸nh x¹ f : EG −→ C tõ tËp hîp c¹nh vµo
KÝ hiÖu c¸c mµu lµ sè nguyªn, mçi sè ®¹i diÖn cho mét mµu vµ ®Æt ë bªn ®êng
c¹nh.
§Þnh nghÜa 7.15. Mét sè nguyªn d¬ng k, k-t« mµu c¹nh (hoÆc k-mµu c¹nh) lµ c¸ch t«
§Þnh nghÜa 7.16. T« mµu c¹nh mét ®å thÞ lµ t« mµu thùc sù nÕu c¸c c¹nh kÒ ®îc g¸n
§Þnh nghÜa 7.17. §å thÞ ®îc gäi lµ k-t« mµu c¹nh nÕu nã cã mét c¸ch k-t« mµu thùc
sù.
5
1
4 2
3 1
2
5
H×nh 7.9 §å thÞ t« mµu c¹nh
§Þnh nghÜa 7.18. S¾c sè c¹nh cña ®å thÞ G, kÝ hiÖu lµ χ 0 (G) lµ sè nhá nhÊt mµu kh¸c
VËy χ 0 (G) = k nÕu ®å thÞ G lµ k-t« mµu c¹nh nhng kh«ng thÓ t« mµu c¹nh b»ng
k−1 mµu.
VÝ dô 7.8. Víi vÝ dô ®å thÞ trªn ta cã thÓ t« b»ng 4 mµu, vËy s¾c sè cña nã lµ χ 0 (G) = 4
(h×nh 7.10).
3
1
4 2
2 1
4
3
H×nh 7.10 S¾c sè c¹nh χ 0 (G) = 4
MÖnh ®Ò 7.7. Gi¶ sö G lµ ®å thÞ mµ nã tån t¹i k-t« mµu c¹nh thùc sù th× χ (G) ≤ k.
§Þnh nghÜa 7.20. Cho mét ®å thÞ t« mµu c¹nh, mµu i gäi lµ g¾n liÒn víi ®Ønh V nÕu
mét c¹nh nµo ®ã g¾n liÒn víi ®Ønh V cã t« mµu i. Ngîc l¹i, mµu i gäi lµ thiÕu v¾ng
t¹i ®Ønh V.
§Þnh nghÜa 7.21. S¾c sè g¾n liÒn t¹i ®Ønh V cña mét c¹nh t« mµu ®· cho e lµ sè c¹nh
mµu kh¸c nhau g¾n liÒn víi ®Ønh V. KÝ hiÖu lµ ecrV (e).
§Þnh nghÜa 7.22. Tæng s¾c mµu g¾n liÒn cho c¹nh mµu e cña ®å thÞ G, kÝ hiÖu lµ
ecr(e), lµ tæng s¾c mµu g¾n liÒn cña tÊt c¶ c¸c ®Ønh.
1. G¸n sè mµu nhá nhÊt cho t« mµu ®Ønh c¸c ®å thÞ sau ®©y vµ sè mµu thùc sù
nhá nhÊt
(a) (b)
(c) (d)
a) thªm mét c¹nh vµo ®å thÞ lµ t¨ng s¾c sè ®å thÞ ®ã nhiÒu nhÊt lµ 1.
b) Xãa mét ®Ønh trong ®å thÞ lµ gi¶m s¾c sè ®å thÞ ®ã nhiÒu nhÊt lµ 1.
Phô lôc A
Thùc hµnh lÝ thuyÕt ®å thÞ phÇn 2
ThuËt to¸n duyÖt c©y theo chiÒu s©u ®îc triÓn khai nh sau: - §Çu vµo lµ ma
trËn c¹nh kÒ A[MAX N][MAX N] ®· cho s½n - DuyÖt theo håi quy vµ b¾t ®Çu tõ ®Ønh 5.
1 5
7 8
12
9
4
6
10
2
3 11 13 14
H×nh A.1
- Dïng m¶ng used[] ®Ó ghi c¸c ®Ønh ®· duyÖt.
{0 , 1, 0, 0 , 0, 0 , 0, 0, 0, 0, 0, 1, 0 , 0} ,
{0 , 1, 0, 0 , 0, 0 , 1, 0, 0, 0, 0, 0, 0 , 0} ,
A.2. Ch¬ng tr×nh duyÖt c©y theo chiÒu réng 96
{0 , 0, 1, 0 , 0, 0 , 1, 0, 0, 0, 0, 1, 0 , 0},
{0 , 0, 0, 0 , 1, 1 , 0, 0, 0, 1, 0, 0, 0 , 0},
{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 0} ,
{0 , 0, 0, 0 , 0, 0 , 0, 1, 0, 0, 0, 0, 1 , 1} ,
{0 , 0, 0, 0 , 0, 0 , 1, 0, 0, 0, 1, 0, 0 , 0} ,
{0 , 0, 0, 0 , 0, 0 , 0, 0, 0, 1, 0, 0, 0 , 0} ,
{0 , 0, 0, 1 , 0, 1 , 0, 0, 0, 0, 0, 0, 0 , 0} ,
{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 1} ,
{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 1 , 0}
};
char u s e d [MAXN] ;
{ unsigned k ;
used [ i ] = 1;
p r i n t f ( "%u " , i + 1 ) ;
for ( k = 0 ; k < n ; k + + )
i f (A[ i ] [ k ] && ! u s e d [ k ] ) DFS ( k ) ;
i n t main ( void ) {
unsigned k ;
for ( k = 1 ; k < n ; k ++) used [ k ] = 0;
DFS ( v −1);
p r i n t f ( " \n " );
return 0;
1 3
7 12
10
4
Duyet theo chieu sau tu dinh 5:
5 2 1 3 6 7 11 12 4 11
ThuËt to¸n duyÖt c©y theo chiÒu réng ®îc triÓn khai nh sau:
- §Çu vµo lµ ma trËn c¹nh kÒ A[MAX N][MAX N] ®· cho s½n nh h×nh A.1.
A.2. Ch¬ng tr×nh duyÖt c©y theo chiÒu réng 97
- Ta dïng mét ng¨n xÕp chång ®Ó lu ®Ønh ®· duyÖt råi lÊy ngîc l¹i
{0 , 1, 0, 0 , 0, 0 , 0, 0, 0, 0, 0, 1, 0 , 0} ,
{0 , 1, 0, 0 , 0, 0 , 1, 0, 0, 0, 0, 0, 0 , 0} ,
{0 , 0, 1, 0 , 0, 0 , 1, 0, 0, 0, 0, 1, 0 , 0} ,
{0 , 0, 0, 0 , 1, 1 , 0, 0, 0, 1, 0, 0, 0 , 0} ,
{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 0} ,
{0 , 0, 0, 0 , 0, 0 , 0, 1, 0, 0, 0, 0, 1 , 1} ,
{0 , 0, 0, 0 , 0, 0 , 1, 0, 0, 0, 1, 0, 0 , 0} ,
{0 , 0, 0, 0 , 0, 0 , 0, 0, 0, 1, 0, 0, 0 , 0} ,
{0 , 0, 0, 1 , 0, 1 , 0, 0, 0, 0, 0, 0, 0 , 0} ,
{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 0 , 1} ,
{0 , 0, 0, 0 , 0, 0 , 0, 0, 1, 0, 0, 0, 1 , 0}
};
char u s e d [MAXN] ;
while ( currentVert < queueEnd ) { / ∗ Den khi hang doi chua rong ∗/
for (p = currentVert ; p < levelVertex ; p++) {
/ ∗ p Lay phan tu theo thu tu hang doi ∗/
p r i n t f ( "%u " , queue [ p ] + 1 ) ;
c u r r e n t V e r t ++;
used [ j ] = 1;
}
}
p r i n t f ( " \n " ) ;
levelVertex = queueEnd ;
A.3. Chu tr×nh Euler cho c©y ®Þnh híng 98
}
}
i n t main ( void ) {
p r i n t f ( " B a t dau tim theo chieu rong tu d i n h %u : \n " , v );
BFS ( v −1);
return 0;
2 7 1 3 4 6 10
1 3 4 6 10
12 11 12
11
ThuËt to¸n t×m chu tr×nh Euler ®îc triÓn khai nh sau:
- §Çu vµo lµ ma trËn c¹nh ®Þnh híng A[MAX N][MAX N] cña h×nh A.2.
1 2
3
4
8 7
H×nh A.2
{ 0, 0, 1 , 0, 0 , 1, 0, 0 },
{ 0, 0, 1 , 0, 0 , 0, 0, 0 },
{ 0, 0, 0 , 0, 0 , 0, 0, 1 },
{ 1, 0, 0 , 0, 0 , 0, 0, 0 }
};
/∗ Kiem tra kha nang co chu trinh Euler ( theo dinh li Euler ) ∗/
char i s E u l e r G r a p h ( void )
{ unsigned i , j ;
for ( i = 0 ; i < n ; i + + ) {
i n t d i n = 0 , dout = 0 ;
for ( j = 0 ; j < n ; j + + ) {
i f (A[ i ] [ j ] ) d i n + + ;
i f (A[ j ] [ i ] ) d o u t + + ;
}
if ( din != dout ) return 0;
}
return 1;
}
/ ∗ Tim chu trinh Euler ∗/
void f i n d E u l e r ( i n t i )
{ unsigned c S t a c k [MAXN ∗ MAXN] , s t a c k [MAXN ∗ MAXN] ;
s t a c k [ sTop ] = i ;
i f (A[ i ] [ j ]) {
A[ i ] [ j ] = 0; i = j ;
break ;
}
if ( j < n)
s t a c k [ + + sTop ] = i ;
el se
c S t a c k [ + + cTop ] = s t a c k [ sTop −− ];
}
p r i n t f ( " Chu t r i n h E u l e r l a : " ) ;
for ( k = cTop ; k > 0 ; k−−) {
p r i n t f ( "%u " , c S t a c k [ k ] + 1 ) ;
}
p r i n t f ( " \n " ) ;
}
i n t main ( void ) {
i f ( isEulerGraph ( ) ) findEuler ( 0 ) ;
el se
p r i n t f ( " Do t h i nay khong p h a i l a Euler ! " ) ;
return 0 ;
}
1 2 3 4 2 5 3 5 6 3 7 8 1
Cho ®å thÞ G(V, E) vµ hai ®Ønh cña nã i vµ j. T×m ®êng ®i trong G tõ ®Ønh i
®Õn ®Ønh j, mµ nã cã ®é dµi ng¾n nhÊt (nghÜa lµ cã Ýt ®Ønh nhÊt). Ta thÊy r»ng
sau khi duyÖt ®îc ®å thÞ theo chiÒu réng råi th× dÔ dµng lËp ra thuËt to¸n t×m
®êng ng¾n nhÊt: Thùc hiÖn bfs(i) vµ nÕu mét sè bíc ®Õn ®Ønh j, th× suy ra tån
VÝ dô ®å thÞ nh h×nh A.1. Gi¶ sö t×m ®êng ®i ng¾n nhÊt tõ 1 ®Õn 10. Khi ®ã
2
2
3 4 5
6 12 7
3 4 5
10
11 12 7
6
10
11
Sau khi ta ®¹t ®Õn ®Ønh j, th× hiÓn nhiªn ®é dµi cña chóng lµ bËc c©y. Nhng
t×m c¸c ®Ønh trung gian cña cña ®êng ®i nh thÕ nµo? §Ó cã thÓ biÕt ®îc ®iÒu
®ã ë mçi bËc c©y lu gi÷ ®Ønh tríc ®ã ®· duyÖt. V× vËy ®a vµo m¶ng pred[]. Nh
{0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1 , 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0} ,
{0 , 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0} ,
{0 , 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1} ,
{0 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0} ,
{0 , 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0}
};
i n t p r e d [MAXN] ;
char us e d [MAXN] ;
/ ∗ Ham duyet theo chieu ron g tu mot din h da cho voi ghi nho duong din h di truoc ∗
void BFS ( unsigned i )
{ unsigned queue [MAXN] ;
unsigned c u r r e n t V e r t , l e v e l V e r t e x , queueEnd , k, p, j ;
queue [ 0 ] = i ; us e d [ i ] = 1;
while ( currentVert < queueEnd ) { / ∗ Den khi hang doi chua ron g ∗/
for (p = currentVert ; p < levelVertex ; p++) {
/∗ p − Lay phan tu theo hang cua hang d o i ∗/
c u r r e n t V e r t ++;
us e d [ j ] = 1;
pred [ j ] = queue [ p ] ;
}
}
levelVertex = queueEnd ;
}
}
{ unsigned c o u n t = 1 ;
A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ 102
p r i n t f ( "%u " , j + 1); /∗ In ra din h theo hang ( bac ) cua duong da tim duoc ∗/
return c o u n t ;
}
{ unsigned k ;
for ( k = 0 ; k < n ; k + + ) { u s e d [ k ] = 0; pred [ k ] = − 1; }
BFS ( s t a r t ) ;
if ( p r e d [ end ] > − 1) {
p r i n t f ( " Duong t i m duoc l a : \ n " ) ;
p r i n t f ( " \nDo d a i c u a duong l a %u \ n " , p r i n t P a t h ( end ) ) ;
}
else {
p r i n t f ( " Duong di giua hai dinh khong ton tai ! \n " );
}
}
1 2 5 7 10
Sö dông thuËt to¸n t×m theo chiÒu s©u ta sÏ x©y dùng thuËt to¸n kiÓm tra mét
®å thÞ ®· cho cã chøa chu k× kh«ng? NÕu kh«ng cã chu tr×nh th× ®å thÞ lµ mét c©y.
ThuËt to¸n kiÓm tra chu tr×nh bao gåm: Thùc hiÖn t×m theo chiÒu s©u. T¹i mçi
bíc, nÕu ®Ønh i mµ ta ®ang xÐt cã ®Ønh kÒ mµ ta ®· ®i qua kh¸c víi i, th× ®å thÞ
cã chu tr×nh.
§Ó thùc hiÖn ý tëng trªn ta söa ®æi thuËt to¸n dfs (®èi sè thªm vµo int parent lµ
{0 , 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0} ,
{0 , 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1} ,
{0 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0} ,
{0 , 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} ,
{0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
};
{ unsigned k ;
us e d [ i ] = 1;
for ( k = 0 ; k < n ; k + + ) {
i f ( c y c l ) return ;
i f (A[ i ] [ k ] ) {
i f ( us e d [ k ] && k ! = p a r e n t ) {
p r i n t f ( " Do t h i l a chu t r i n h ! \ n " ) ;
cycl = 1;
return ;
}
else i f (k != parent )
DFS ( k , i );
}
}
}
i n t main ( void ) {
unsigned k , i ;
for ( k = 0 ; k < n; k ++) used [ k ] = 0;
cycl = 0;
for ( i = 0 ; i < n ; i + + ) {
i f ( ! us e d [ i ] ) DFS ( i , − 1 ) ;
i f ( c y c l ) break ;
}
A.5. §êng tèi u trong ®å thÞ träng sè 104
return 0 ;
}
Cho ®å thÞ ®Þnh híng G(V, E) víi träng sè trªn c¸c c¹nh lµ c¸c sè thùc. §é dµi
cña ®êng ®i trong ®å thÞ träng sè gäi lµ tæng c¸c träng sè cña c¸c c¹nh cña ®êng ®i.
Trong phÇn nµy ta xÐt c¸c thuËt to¸n vÒ cùc ®¹i hoÆc cùc tiÓu ®é dµi ®êng ®i trong
®å thÞ.
PhÇn tríc ta ®· xÐt thuËt to¸n t×m ®êng ®i tõ mét ®Ønh tíi tÊt c¶ c¸c ®Ønh
kh¸c. T×m ®êng tèi u tõ mét ®Ønh tíi mét ®Ønh kh¸c theo nghÜa míi còng hoµn
toµn t¬ng tù. Thùc tÕ cã rÊt nhiÒu thuËt to¸n cã hiÖu qu¶ theo chñ ®Ò nµy.
Ta chó ý bµi to¸n t×m ®êng ®i cùc tiÓu vµ ®êng ®i cùc ®¹i trong trêng hîp ®å
thÞ träng sè lµ t¬ng ®¬ng nhau. V× t×m qu·ng ®êng cùc ®¹i còng b»ng t×m qu·ng
®êng cùc tiÓu víi c¸c träng sè cña tõng c¹nh ta lÊy dÊu ngîc l¹i. Trong phÇn nµy
TÝnh ®óng ®¾n cña thuËt to¸n t×m ®êng ®i cùc trÞ ®îc gi¶i thÝch b»ng tiªu
chuÈn sau.
§Þnh lý A.1. G(V, E). Cho cÆp ®Ønh (V1 ,Vk ), gi¶ sö P = (V1 ,V2 , ...,Vk ) lµ qu·ng
Cho ®å thÞ
[1] J. Gross, J. Yellen, Graph theory and its applications, CRC Press, 1999.
[2] Tr¬ng Mü Dung, Gi¸o tr×nh lý thuyÕt ®å thÞ NXB Tæng hîp Thµnh phè Hå ChÝ
Minh, 2005.
[3] NguyÔn Cam vµ Chu §øc Kh¸nh, Lý thuyÕt ®å thÞ, NXB Tæng hîp Thµnh phè Hå
[4] NguyÔn H÷u Ngù, Lý thuyÕt ®å thÞ, NXB §HQG Hµ Néi, 2001.
[5] Ng« §¾c T©n Lý thuyÕt tæ hîp vµ ®å thÞ, NXB §HQG Hµ Néi, 2004.
[6] §Æng Huy RuËn Lý thuyÕt ®å thÞ vµ øng dông, NXB KHKT, 2004.
[7] N. H. §iÓn, Ph¬ng ph¸p quy n¹p to¸n häc, NXB GD, 2000.
[9] N. H. §iÓn, LaTeX víi gãi lÖnh vµ phÇn mÒm c«ng cô, NXB§HQGHN, 2004.
[11] Th. Cormen, Ch. Leiserson, R. Rivest, Introduction to algorithm, The MIT Press,
1997.
[16] G. H. Hardy, J.E. Littlewood, G. Polya BÊt ®¼ng thøc, NXB §HQG Hµ Néi, 2002.
Môc lôc
4.4. C©y bao trïm nhá nhÊt vµ ®êng dÉn ng¾n nhÊt . . . . . . . . . . . . . 58
5.2.2. §êng dÉn t¸ch dêi bªn trong vµ liªn th«ng ®Ønh . . . . . . . . . 71
A.4. øng dông trùc tiÕp thuËt to¸n duyÖt ®å thÞ . . . . . . . . . . . . . . . . 100