Đồ thị và các thuật toán
Trang 1Mu.c lu.c
1.1 D- i.nh ngh˜ıa v`a c´ac kh´ai niˆe.m 9
1.1.1 D- ˆo` thi c´o hu.´o.ng 9
1.1.2 D- ˆo` thi v`a ´anh xa d¯a tri 10
1.1.3 D- ˆo` thi vˆo hu.´o.ng 10
1.1.4 C´ac d¯i.nh ngh˜ıa ch´ınh 11
1.2 Ma trˆa.n biˆe˙’u diˆe˜n d¯ˆo` thi 13
1.2.1 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung 13
1.2.2 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh 15
1.2.3 Ma trˆa.n kˆe` hay ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-d¯ı˙’nh 17
1.2.4 C´ac biˆe˙’u diˆe˜n cu˙’a d¯ˆo` thi 18
1.3 T´ınh liˆen thˆong 23
1.3.1 Dˆay chuyˆe` n v`a chu tr`ınh 23
1.3.2 D- u.`o.ng d¯i v`a ma.ch 24
1.3.3 T´ınh liˆen thˆong 24
Trang 21.3.4 Cˆa` u, k−liˆen thˆong 28
1.3.5 D- ˆo` thi liˆen thˆong ma.nh 31
1.4 Pha.m vi v`a liˆen thˆong ma.nh 33
1.4.1 Ma trˆa.n pha.m vi 33
1.4.2 T`ım c´ac th`anh phˆa` n liˆen thˆong ma.nh 36
1.4.3 Co so.˙’ 39
1.5 D- ˇa˙’ng cˆa´u cu˙’a c´ac d¯ˆo` thi 41
1.5.1 1−d¯ˇa˙’ng cˆa´u 42
1.5.2 2−d¯ˇa˙’ng cˆa´u 43
1.6 C´ac d¯ˆo` thi d¯ˇa.c biˆe.t 46
1.6.1 D- ˆo` thi khˆong c´o ma.ch 46
1.6.2 D- ˆo` thi phˇa˙’ng 46
2 C´ac sˆo´ co ba˙’n cu˙’a d¯ˆ` thi.o 49 2.1 Chu sˆo´ 49
2.2 Sˇa´c sˆo´ 52
2.2.1 C´ach t`ım sˇa´c sˆo´ 54
2.3 Sˆo´ ˆo˙’n d¯i.nh trong 55
2.4 Sˆo´ ˆo˙’n d¯i.nh ngo`ai 61
2.5 Phu˙’ 65
2.6 Nhˆan cu˙’a d¯ˆo` thi 69
2.6.1 C´ac d¯i.nh l´y vˆe` tˆo`n ta.i v`a duy nhˆa´t 69
2.6.2 Tr`o cho.i Nim 72
Trang 33 C´ac b`ai to´an vˆ` d¯u.`o.ng d¯ie 75
3.1 D- u.`o.ng d¯i gi˜u.a hai d¯ı˙’nh 75
3.1.1 D- u.`o.ng d¯i gi˜u.a hai d¯ı˙’nh 75
3.1.2 D- ˆo` thi liˆen thˆong ma.nh 76
3.2 D- u.`o.ng d¯i ngˇa´n nhˆa´t gi˜u.a hai d¯ı˙’nh 78
3.2.1 Tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng khˆong ˆam 78
3.2.2 Tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng tu`y ´y 82
3.3 D- u.`o.ng d¯i ngˇa´n nhˆa´t gi˜u.a tˆa´t ca˙’ c´ac cˇa.p d¯ı˙’nh 87
3.3.1 Thuˆa.t to´an Hedetniemi (tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng khˆong ˆam) 88 3.3.2 Thuˆa.t to´an Floyd (tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng tu`y ´y) 93
3.4 Ph´at hiˆe.n ma.ch c´o d¯ˆo d`ai ˆam 96
3.4.1 Ma.ch tˆo´i u.u trong d¯ˆo` thi c´o hai tro.ng lu.o ng 96
4 C ˆAY 99 4.1 Mo.˙’ d¯ˆa` u 99
4.2 Cˆay Huffman 101
4.2.1 C´ac bˆo m˜a “tˆo´t” 101
4.2.2 M˜a Huffman 103
4.3 Cˆay bao tr`um 105
4.3.1 Thuˆa.t to´an t`ım kiˆe´m theo chiˆe` u rˆo.ng x´ac d¯i.nh cˆay bao tr`um 107
4.3.2 Thuˆa.t to´an t`ım kiˆe´m theo chiˆe` u sˆau x´ac d¯i.nh cˆay bao tr`um 107
4.3.3 T`ım cˆay bao tr`um du a trˆen hai ma˙’ng tuyˆe´n t´ınh 108
4.3.4 Thuˆa.t to´an t`ım tˆa´t ca˙’ c´ac cˆay bao tr`um 112
4.3.5 Hˆe co so.˙’ cu˙’a c´ac chu tr`ınh d¯ˆo.c lˆa.p 112
Trang 44.4 Cˆay bao tr`um tˆo´i thiˆe˙’u 114
4.4.1 Thuˆa.t to´an Kruskal 116
4.4.2 Thuˆa.t to´an Prim 119
4.4.3 Thuˆa.t to´an Dijkstra-Kevin-Whitney 121
4.5 B`ai to´an Steiner 122
5 B`ai to´an Euler v`a b`ai to´an Hamilton 127 5.1 B`ai to´an Euler 127
5.1.1 Thuˆa.t to´an t`ım dˆay chuyˆe` n Euler 129
5.2 B`ai to´an ngu.`o.i d¯u.a thu Trung Hoa 131
5.3 B`ai to´an Hamilton 135
5.3.1 C´ac d¯iˆe` u kiˆe.n cˆa`n d¯ˆe˙’ tˆo`n ta.i chu tr`ınh Hamilton 138
5.3.2 C´ac d¯iˆe` u kiˆe.n d¯u˙’ vˆe` su tˆo`n ta.i chu tr`ınh Hamilton 139
5.3.3 C´ac d¯iˆe` u kiˆe.n d¯u˙’ vˆe` su tˆo`n ta.i ma.ch Hamilton 142
6 D- ˆo` thi phˇa˙’ng 149 6.1 D- i.nh ngh˜ıa v`a c´ac v´ı du 149
6.2 C´ac biˆe˙’u diˆe˜n kh´ac nhau cu˙’a mˆo.t d¯ˆo` thi phˇa˙’ng 151
6.3 C´ac t´ınh chˆa´t cu˙’a d¯ˆo` thi phˇa˙’ng 154
6.4 Ph´at hiˆe.n t´ınh phˇa˙’ng 157
6.4.1 Kiˆe˙’m tra t´ınh phˇa˙’ng 161
6.5 D- ˆo´i ngˆa˜u h`ınh ho.c 167
6.6 D- ˆo´i ngˆa˜u tˆo˙’ ho p 170
Trang 57.1 Mo.˙’ d¯ˆa` u 173
7.2 B`ai to´an luˆo`ng l´o.n nhˆa´t 174
7.2.1 Thuˆa.t to´an g´an nh˜an d¯ˆe˙’ t`ım luˆo`ng l´o.n nhˆa´t 180
7.2.2 D- ˆo` thi d¯iˆe`u chı˙’nh luˆo`ng 181
7.2.3 Phˆan t´ıch luˆo`ng 182
7.3 C´ac ca˙’i biˆen d¯o.n gia˙’n cu˙’a b`ai to´an luˆo`ng l´o.n nhˆa´t 183
7.3.1 C´ac d¯ˆo` thi c´o nhiˆe`u nguˆo`n v`a nhiˆe`u d¯´ıch 183
7.3.2 C´ac d¯ˆo` thi v´o.i r`ang buˆo.c ta.i c´ac cung v`a d¯ı˙’nh 184
7.3.3 C´ac d¯ˆo` thi c´o cˆa.n trˆen v`a cˆa.n du.´o.i vˆe` luˆo`ng 185
7.4 Luˆo`ng v´o.i chi ph´ı nho˙’ nhˆa´t 186
7.4.1 Thuˆa.t to´an Klein, Busacker, Gowen 186
7.5 Cˇa.p gh´ep 189
7.5.1 C´ac b`ai to´an vˆe` cˇa.p gh´ep 189
7.5.2 Cˇa.p gh´ep l´o.n nhˆa´t trong d¯ˆo` thi hai phˆa`n 192
7.5.3 Cˇa.p gh´ep ho`an ha˙’o trong d¯ˆo` thi hai phˆa`n 193
Trang 7L` o.i n´ oi d¯ˆ ` u a
Trong thu c tˆe´ d¯ˆe˙’ miˆeu ta˙’ mˆo.t sˆo´ t`ınh huˆo´ng ngu.`o.i ta thu.`o.ng biˆe˙’u thi bˇa`ng mˆo.t h`ınh a˙’nhgˆo`m c´ac d¯iˆe˙’m (c´ac d¯ı˙’nh)-biˆe˙’u diˆe˜n c´ac thu c thˆe˙’-v`a v˜e c´ac d¯oa.n thˇa˙’ng nˆo´i cˇa.p c´ac d¯ı˙’nh biˆe˙’u
diˆe˜n mˆo´i quan hˆe gi˜u.a ch´ung Nh˜u.ng h`ınh nhu thˆe´ thu.`o.ng go.i l`a c´ac d¯ˆo` thi Mu.c d¯´ıch cu˙’a
gi´ao tr`ınh n`ay cung cˆa´p nh˜u.ng kiˆe´n th´u.c co ba˙’n d¯ˆe˙’ nghiˆen c´u.u c´ac d¯ˆo` thi C´ac d¯ˆo` thi xuˆa´thiˆe.n trong nhiˆe` u l˜ınh vu c v´o.i c´ac tˆen go.i kh´ac nhau: “cˆa´u tr´uc” trong cˆong tr`ınh xˆay du ng,
“ma.ch” trong d¯iˆe.n tu.˙’, “lu.o c d¯ˆo` quan hˆe.”, “cˆa´u tr´uc truyˆe` n thˆong”, “cˆa´u tr´uc tˆo˙’ ch´u.c”trong x˜a hˆo.i v`a kinh tˆe´, “cˆa´u tr´uc phˆan tu.˙’” trong ho´a ho.c, vˆan vˆan
Do nh˜u.ng ´u.ng du.ng rˆo.ng r˜ai cu˙’a n´o trong nhiˆe` u l˜ınh vu c, c´o rˆa´t nhiˆe`u nghiˆen c´u.uxung quanh l´y thuyˆe´t d¯ˆo` thi trong nh˜u.ng nˇam gˆa`n d¯ˆay; mˆo.t nhˆan tˆo´ chu˙’ yˆe´u g´op phˆa`n th´ucd¯ˆa˙’y su ph´at triˆe˙’n d¯´o l`a xuˆa´t hiˆe.n c´ac m´ay t´ınh l´o.n c´o thˆe˙’ thu c hiˆe.n nhiˆe` u ph´ep to´an v´o.itˆo´c d¯ˆo rˆa´t nhanh Viˆe.c biˆe˙’u diˆe˜n tru c tiˆe´p v`a chi tiˆe´t c´ac hˆe thˆo´ng thu c tˆe´, chˇa˙’ng ha.n c´acma.ng truyˆe` n thˆong, d¯˜a d¯u.a d¯ˆe´n nh˜u.ng d¯ˆo` thi c´o k´ıch thu.´o.c l´o.n v`a viˆe.c phˆan t´ıch th`anhcˆong hˆe thˆo´ng phu thuˆo.c rˆa´t nhiˆe` u v`ao c´ac thuˆa.t to´an “tˆo´t” c˜ung nhu kha˙’ nˇang cu˙’a m´ayt´ınh Theo d¯´o, gi´ao tr`ınh n`ay s˜e tˆa.p trung v`ao viˆe.c ph´at triˆe˙’n v`a tr`ınh b`ay c´ac thuˆa.t to´and¯ˆe˙’ phˆan t´ıch c´ac d¯ˆo` thi
C´ac phu.o.ng ph´ap phˆan t´ıch v`a thiˆe´t kˆe´ c´ac thuˆa.t to´an trong gi´ao tr`ınh cho ph´ep sinhviˆen c´o thˆe˙’ viˆe´t dˆe˜ d`ang c´ac chu.o.ng tr`ınh minh ho.a Gi´ao tr`ınh d¯u.o c biˆen soa.n cho c´ac d¯ˆo´itu.o ng l`a sinh viˆen To´an-Tin v`a Tin ho.c
Gi´ao tr`ınh su.˙’ du.ng ngˆon ng˜u C d¯ˆe˙’ minh ho.a, tuy nhiˆen c´o thˆe˙’ dˆe˜ d`ang chuyˆe˙’n d¯ˆo˙’isang c´ac ngˆon ng˜u kh´ac; v`a do d¯´o, sinh viˆen cˆa` n c´o mˆo.t sˆo´ kiˆe´n th´u.c vˆe` ngˆon ng˜u C Ngo`ai
ra, hˆa` u hˆe´t c´ac chu.o.ng tr`ınh thao t´ac trˆen cˆa´u tr´uc d˜u liˆe.u nhu danh s´ach liˆen kˆe´t, nˆen d¯`oiho˙’i sinh viˆen pha˙’i c´o nh˜u.ng k˜y nˇang lˆa.p tr`ınh tˆo´t
Gi´ao tr`ınh bao gˆo`m ba˙’y chu.o.ng v`a mˆo.t phˆa`n phu lu.c v´o.i nh˜u.ng nˆo.i dung ch´ınh nhu.sau:
• Chu.o.ng th´u nhˆa´t tr`ınh b`ay nh˜u.ng kh´ai niˆe.m cˇan ba˙’n vˆe` d¯ˆo` thi
• Chu.o.ng 2 tr`ınh b`ay nh˜u.ng sˆo´ co ba˙’n cu˙’a d¯ˆo` thi ´Y ngh˜ıa thu c tiˆe˜n cu˙’a c´ac sˆo´ n`ay
Trang 8• Chu.o.ng 3 t`ım hiˆe˙’u b`ai to´an t`ım d¯u.`o.ng d¯i ngˇa´n nhˆa´t.
• Chu.o.ng 4 d¯ˆe` cˆa.p d¯ˆe´n kh´ai niˆe.m vˆe` cˆay ´U.ng du.ng cu˙’a cˆay Huffman trong n´en d˜u.liˆe.u Ngo`ai ra xˆay du ng c´ac thuˆa.t to´an t`ım cˆay bao tr`um nho˙’ nhˆa´t
• B`ai to´an Euler v`a b`ai to´an Hamilton v`a nh˜u.ng mo.˙’ rˆo.ng cu˙’a ch´ung s˜e d¯u.o c n´oi d¯ˆe´n
trong Chu.o.ng 5
• Chu.o.ng 6 nghiˆen c´u.u c´ac t´ınh chˆa´t phˇa˙’ng cu˙’a d¯ˆo` thi.; v`a cuˆo´i c`ung
• Chu.o.ng 7 t`ım hiˆe˙’u c´ac b`ai to´an trˆen ma.ng vˆa.n ta˙’i.
Ngo`ai ra, phˆa` n phu lu.c tr`ınh b`ay c´ac cˆa´u tr´uc d˜u liˆe.u v`a nh˜u.ng thu˙’ tu.c cˆa`n thiˆe´t d¯ˆe˙’d¯o.n gia˙’n ho´a c´ac d¯oa.n chu.o.ng tr`ınh minh ho.a c´ac thuˆa.t to´an d¯u.o c tr`ınh b`ay
Gi´ao tr`ınh d¯u.o c biˆen soa.n lˆa`n d¯ˆa`u tiˆen nˆen khˆong tr´anh kho˙’i kh´a nhiˆe` u thiˆe´u s´ot T´acgia˙’ mong c´o nh˜u.ng d¯´ong g´op t`u ba.n d¯o.c
Tˆoi xin ca˙’m o.n nh˜u.ng gi´up d¯˜o d¯˜a nhˆa.n d¯u.o c t`u nhiˆe` u ngu.`o.i m`a khˆong thˆe˙’ liˆe.t kˆehˆe´t, d¯ˇa.c biˆe.t l`a c´ac ba.n sinh viˆen, trong qu´a tr`ınh biˆen soa.n gi´ao tr`ınh n`ay
D- `a La.t, ng`ay 5 th´ang 3 nˇam 2002
PHA.M Tiˆe´n So.n
Trang 9Chu.o.ng 1
1.1.1 D - ˆo ` thi c´o hu.´o.ng
D - ˆo` thi c´o hu.´o.ng G = (V, E) gˆo`m mˆo.t tˆa.p V c´ac phˆa`n tu.˙’ go.i l`a d¯ı˙’nh (hay n´ut) v`a mˆo.t tˆa.p
E c´ac cung sao cho mˆo˜i cung e ∈ E tu.o.ng ´u.ng v´o.i mˆo.t cˇa.p c´ac d¯ı˙’nh d¯u.o c sˇa´p th´u tu Nˆe´u c´o d¯´ung mˆo.t cung e tu.o.ng ´u.ng c´ac d¯ı˙’nh d¯u.o c sˇa´p th´u tu (a, b), ta s˜e viˆe´t e := (a, b) Ch´ung ta s˜e gia˙’ su.˙’ c´ac d¯ı˙’nh d¯u.o c d¯´anh sˆo´ l`a v1, v2, , v n hay gia˙’n tiˆe.n, 1, 2, , n, trong d¯´o n = #V l`a sˆo´ c´ac d¯ı˙’nh cu˙’a d¯ˆo` thi
Nˆe´u e l`a mˆo.t cung tu.o.ng ´u.ng cˇa.p c´ac d¯ı˙’nh d¯u.o c sˇa´p th´u tu v i v`a v j th`ı d¯ı˙’nh v i go.i l`a
gˆo´c v`a d¯ı˙’nh v j go.i l`a ngo.n; cung e go.i l`a liˆen thuˆo.c hai d¯ı˙’nh v i v`a v j Ch´ung ta s˜e thu.`o.ng k´y hiˆe.u m = #E−sˆo´ ca.nh cu˙’a d¯ˆo` thi G C´ac ca.nh thu.`o.ng d¯u.o c d¯´anh sˆo´ l`a e1, e2, , e m Mˆo.t c´ach h`ınh ho.c, c´ac d¯ı˙’nh d¯u.o c biˆe˙’u diˆe˜n bo.˙’i c´ac d¯iˆe˙’m, v`a e = (v i , v j) d¯u.o c biˆe˙’u
diˆe˜n bo.˙’i mˆo.t cung nˆo´i c´ac d¯iˆe˙’m v i v`a v j
Mˆo.t cung c´o gˆo´c tr`ung v´o.i ngo.n go.i l`a khuyˆen.
Nˆe´u c´o nhiˆe` u ho.n mˆo.t cung v´o.i gˆo´c ta.i v i v`a ngo.n ta.i v j th`ı G go.i l`a d¯a d¯ˆo` thi v`a c´ac cung tu.o.ng ´u.ng go.i l`a song song D - o.n d¯ˆo` thi c´o hu.´o.ng l`a d¯ˆo` thi khˆong khuyˆen trong d¯´o hai d¯ı˙’nh bˆa´t k`y v i v`a v j c´o nhiˆe` u nhˆa´t mˆo.t cung (v i , v j ) Chˇa˙’ng ha.n, d¯ˆo` thi trong H`ınh 1.1 c´o cung e8 l`a khuyˆen; c´ac cung e4 v`a e9 l`a song song do c`ung tu.o.ng ´u.ng cˇa.p d¯ı˙’nh v3 v`a v4.
Trang 10
.
.
.
.
v1
4
v5
e1 e2
e3
e4
e5
e8
e9
•
•
•
H`ınh 1.1: V´ı du cu˙’a 2−d¯ˆo` thi c´o hu.´o.ng.
1.1.2 D - ˆo ` thi v`a ´anh xa d¯a tri.
V´o.i mˆo˜i x ∈ V, k´y hiˆe.u Γ(x) := {y ∈ V | (x, y) ∈ E} Khi d¯´o ta c´o mˆo.t ´anh xa d¯a tri Γ: V → 2 V , x 7→ Γ(x) K´y hiˆe.u Γ −1 l`a ´anh xa (d¯a tri.) ngu.o c cu˙’a Γ.
Nˆe´u G l`a d¯o.n d¯ˆo ` thi., th`ı d¯ˆo` thi n`ay ho`an to`an d¯u.o c x´ac d¯i.nh bo.˙’i tˆa.p V v`a ´anh xa d¯a tri Γ t`u V v`ao 2 V V`ı vˆa.y, d¯ˆo` thi n`ay c`on c´o thˆe˙’ k´y hiˆe.u l`a G = (V, Γ).
Nˆe´u xo´a cung e9 trong H`ınh 1.1 ta nhˆa.n d¯u.o c d¯o.n d¯ˆo` thi v`a do d¯´o c´o thˆe˙’ biˆe˙’u diˆe˜n
bo.˙’i ´anh xa d¯a tri Γ Trong tru.`o.ng ho p n`ay ta c´o
Γ(v1) = {v2}, Γ(v2) = {v1, v3}, Γ(v3) = {v4, v5}, Γ(v4) = {v5}, Γ(v5) = {v1, v5}.
1.1.3 D - ˆo ` thi vˆo hu.´o.ng
Khi nghiˆen c´u.u mˆo.t sˆo´ t´ınh chˆa´t cu˙’a c´ac d¯ˆo` thi., ta thˆa´y rˇa`ng ch´ung khˆong phu thuˆo.c v`ao hu.´o.ng cu˙’a c´ac cung, t´u.c l`a khˆong cˆa` n phˆan biˆe.t su kh´ac nhau gi˜u.a c´ac d¯iˆe˙’m bˇa´t d¯ˆa`u v`a kˆe´t th´uc D- iˆe` u n`ay d¯o.n gia˙’n l`a mˆo˜i khi c´o ´ıt nhˆa´t mˆo.t cung gi˜u.a hai d¯ı˙’nh ta khˆong quan tˆam d¯ˆe´n th´u tu cu˙’a ch´ung
V´o.i mˆo˜i cung, t´u.c l`a mˆo˜i cˇa.p c´o th´u tu (v i , v j ) ta cho tu.o.ng ´u.ng cˇa.p khˆong c´o th´u.
tu (v i , v j ) go.i l`a c´ac ca.nh Tu.o.ng d¯u.o.ng, ta n´oi rˇa`ng ca.nh l`a mˆo.t cung m`a hu.´o.ng d¯˜a bi bo˙’ quˆen Vˆe ` h`ınh ho.c, ca.nh (v i , v j) d¯u.o c biˆe˙’u diˆe˜n bo.˙’i c´ac d¯oa.n thˇa˙’ng (hoˇa.c cong) v`a khˆong
c´o m˜ui tˆen liˆen thuˆo.c hai d¯iˆe˙’m tu.o.ng ´u.ng hai d¯ı˙’nh v i v`a v j
Trang 11Nghiˆen c´u.u c´ac t´ınh chˆa´t vˆo hu.´o.ng cu˙’a d¯ˆo ` thi G = (V, E) d¯u.a vˆe` kha˙’o s´at tˆa.p E l`a tˆa.p c´ac ca.nh, t´u.c l`a, mˆo.t tˆa.p h˜u.u ha.n c´ac phˆa`n tu.˙’ m`a mˆo˜i phˆa`n tu.˙’ l`a mˆo.t cˇa.p hai d¯ı˙’nh phˆan biˆe.t hay d¯ˆo`ng nhˆa´t cu˙’a V.
D - a d¯ˆo` thi vˆo hu.´o.ng l`a d¯ˆo` thi m`a c´o thˆe˙’ c´o nhiˆe`u ho.n mˆo.t ca.nh liˆen thuˆo.c hai d¯ı˙’nh.
D- ˆo` thi go.i l`a d¯o.n nˆe´u n´o khˆong c´o khuyˆen v`a hai d¯ı˙’nh bˆa´t k`y c´o nhiˆe`u nhˆa´t mˆo.t ca.nh
liˆen thuˆo.c ch´ung
v1
v4
v5
e1 e2
e5
e8
e9
•
•
•
H`ınh 1.2: D- ˆo` thi vˆo hu.´o.ng tu.o.ng ´u.ng d¯ˆo` thi trong H`ınh 1.1
1.1.4 C´ ac d¯i.nh ngh˜ıa ch´ınh
Hai cung, hoˇa.c hai ca.nh go.i l`a kˆe ` nhau nˆe´u ch´ung c´o ´ıt nhˆa´t mˆo.t d¯ı˙’nh chung Chˇa˙’ng ha.n, hai ca.nh e1 v`a e3 trong H`ınh 1.2 l`a kˆe` nhau Hai d¯ı˙’nh v i v`a v j go.i l`a kˆe ` nhau nˆe´u tˆo`n ta.i
ca.nh hoˇa.c cung e k liˆen thuˆo.c ch´ung V´ı du trong H`ınh 1.2 hai d¯ı˙’nh v2 v`a v3 l`a kˆe` nhau (liˆen
thuˆo.c bo.˙’i ca.nh e3), nhu.ng d¯ı˙’nh v2 v`a v5 khˆong kˆe` nhau
Bˆa.c v`a nu.˙’a bˆa.c
Bˆa.c ngo`ai cu˙’a d¯ı˙’nh v ∈ V, k´y hiˆe.u d+G (v) (hay d+(v) nˆe´u khˆong so nhˆa`m lˆa˜n) l`a sˆo´ c´ac cung c´o d¯ı˙’nh v l`a gˆo´c Bˆa.c trong cu˙’a d¯ı˙’nh v ∈ V, k´y hiˆe.u d −
G (v) (hay d − (v) nˆe´u khˆong so nhˆa`m lˆa˜n) l`a sˆo´ c´ac cung c´o d¯ı˙’nh v l`a ngo.n.
Chˇa˙’ng ha.n, d¯ˆo` thi c´o hu.´o.ng trong H`ınh 1.1 c´o d+(v2) = 2, d − (v2) = 1.
Trang 12Hiˆe˙’n nhiˆen rˇa`ng, tˆo˙’ng c´ac bˆa.c ngo`ai cu˙’a c´ac d¯ı˙’nh bˇa`ng tˆo˙’ng c´ac bˆa.c trong cu˙’a c´acd¯ı˙’nh v`a bˇa`ng tˆo˙’ng sˆo´ cung cu˙’a d¯ˆo` thi G, t´u.c l`a
Nˆe´u G l`a d¯ˆo ` thi vˆo hu.´o.ng, bˆa.c cu˙’a d¯ı˙’nh v ∈ V, k´y hiˆe.u d G (v) (hay d(v) nˆe´u khˆong so
nhˆa` m lˆa˜n) l`a sˆo´ c´ac ca.nh liˆen thuˆo.c d¯ı˙’nh v v´o.i khuyˆen d¯u.o c d¯ˆe´m hai lˆa`n V´ı du d¯ˆo` thi vˆo hu.´o.ng trong H`ınh 1.2 c´o d(v2) = 3, d(v5) = 5.
C´ac cung (ca.nh) liˆen thuˆo.c tˆa.p A ⊂ V C´ac d¯ˆo´i chu tr`ınh
Gia˙’ su.˙’ A ⊂ V K´y hiˆe.u ω+(A) l`a tˆa.p tˆa´t ca˙’ c´ac cung c´o d¯ı˙’nh gˆo´c thuˆo.c A v`a d¯ı˙’nh ngo.n thuˆo.c A c := V \ A, v`a ω − (A) l`a tˆa.p tˆa´t ca˙’ c´ac cung c´o d¯ı˙’nh ngo.n thuˆo.c A v`a d¯ı˙’nh gˆo´c thuˆo.c
A c D- ˇa.t
ω(A) = ω+(A) ∪ ω − (A).
Tˆa.p c´ac cung hoˇa.c ca.nh c´o da.ng ω(A) go.i l`a d¯ˆo´i chu tr`ınh cu˙’a d¯ˆo` thi
D- ˆo` thi c´o tro.ng sˆo´
D - ˆo` thi c´o tro.ng sˆo´ nˆe´u trˆen mˆo˜i cung (hoˇa.c ca.nh) e ∈ E c´o tu.o.ng ´u.ng mˆo.t sˆo´ thu c w(e) go.i l`a tro.ng lu.o ng cu˙’a cung e.
D- ˆo` thi d¯ˆo´i x´u.ng
D- ˆo` thi c´o hu.´o.ng go.i l`a d¯ˆo´i x´u.ng nˆe´u c´o bao nhiˆeu cung da.ng (v i , v j) th`ı c˜ung c´o bˆa´y nhiˆeu
cung da.ng (v j , v i ).
D- ˆo` thi pha˙’n d¯ˆo´i x´u.ng
D- ˆo` thi c´o hu.´o.ng go.i l`a pha˙’n d¯ˆo´i x´u.ng nˆe´u c´o cung da.ng (v i , v j) th`ı khˆong c´o cung da.ng
(v j , v i ).
Trang 13D- ˆo` thi d¯ˆa` y d¯u˙’
D- ˆo` thi vˆo hu.´o.ng go.i l`a d¯ˆa`y d¯u˙’ nˆe´u hai d¯ı˙’nh bˆa´t k`y v i v`a v j tˆo`n ta.i mˆo.t ca.nh da.ng (v i , v j ).
D- o.n d¯ˆo` thi vˆo hu.´o.ng d¯ˆa`y d¯u˙’ n d¯ı˙’nh d¯u.o c k´y hiˆe.u l`a K n
D- ˆo` thi con
Gia˙’ su.˙’ A ⊂ V D - ˆo` thi con d¯u.o c sinh bo.˙’i tˆa.p A l`a d¯ˆo` thi G A := (A, E A) trong d¯´o c´ac d¯ı˙’nh l`ac´ac phˆa` n tu.˙’ cu˙’a tˆa.p A v`a c´ac cung trong E A l`a c´ac cung cu˙’a G m`a hai d¯ı˙’nh n´o liˆen thuˆo.c thuˆo.c tˆa.p A.
Nˆe´u G l`a d¯ˆo` thi biˆe˙’u diˆe˜n ba˙’n d¯ˆo` giao thˆong cu˙’a nu.´o.c Viˆe.t Nam th`ı d¯ˆo` thi biˆe˙’u diˆe˜nba˙’n d¯ˆo` giao thˆong cu˙’a th`anh phˆo´ D- `a La.t l`a mˆo.t d¯ˆo` thi con
D- ˆo` thi bˆo phˆa.n
X´et d¯ˆo` thi G = (V, E) v`a U ⊂ E D - ˆo` thi bˆo phˆa.n sinh bo.˙’i tˆa.p U l`a d¯ˆo` thi v´o.i tˆa.p d¯ı˙’nh V v`a c´ac cung thuˆo.c U (c´ac cung cu˙’a E \ U bi xo´a kho˙’i G).
D- ˆo` thi con bˆo phˆa.n
X´et d¯ˆo` thi G = (V, E) v`a A ⊂ V, U ⊂ E D - ˆo` thi con bˆo phˆa.n sinh bo.˙’i tˆa.p A v`a U l`a d¯ˆo` thi bˆo phˆa.n cu˙’a G A sinh bo.˙’i U.
1.2.1 Ma trˆ a.n liˆen thuˆo.c d¯ı˙’nh-cung
Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung cu˙’a d¯ˆo` thi G = (V, E) l`a ma trˆa.n A = (a ij ), i = 1, 2, , n, j =
1, 2, , m, v´o.i c´ac phˆa ` n tu.˙’ 0, 1 v`a −1, trong d¯´o mˆo˜i cˆo.t biˆe˙’u diˆe˜n mˆo.t cung cu˙’a G v`a mˆo˜i h`ang biˆe˙’u diˆe˜n mˆo.t d¯ı˙’nh cu˙’a G Nˆe´u e k = (v i , v j ) ∈ E th`ı tˆa´t ca˙’ c´ac phˆa ` n tu.˙’ cu˙’a cˆo.t k bˇa`ng
khˆong ngoa.i tr`u
a ik = 1, a jk = −1.
Trang 14V´ı du 1.2.1 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung cu˙’a d¯ˆo` thi trong H`ınh 1.3 l`a
e1 e2 e3 e4 e5
.
e1
e2
e3
e4
e5
H`ınh 1.3:
Nhˇa´c la.i rˇa`ng, ma trˆa.n vuˆong go.i l`a unimodular nˆe´u d¯i.nh th´u.c cu˙’a n´o bˇa`ng 1 hoˇa.c
−1 Ma trˆa.n A cˆa´p m × n go.i l`a total unimodular nˆe´u tˆa´t ca˙’ c´ac ma trˆa.n vuˆong con khˆong suy biˆe´n cu˙’a A l`a unimodular.
Mˆe.nh d¯ˆe` 1.2.2 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung cu˙’a d¯ˆo` thi G = (V, E) l`a total unimodular.
Ch´u.ng minh Ch´u ´y rˇa`ng ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung cu˙’a d¯ˆo` thi G = (V, E) ch´u.a d¯´ung
hai phˆa` n tu.˙’ kh´ac khˆong trˆen mˆo˜i cˆo.t, mˆo.t bˇa`ng 1 v`a mˆo.t bˇa`ng −1 Do d¯´o ta c´o thˆe˙’ ch´u.ng
minh theo quy na.p nhu sau: Hiˆe˙’n nhiˆen, tˆa´t ca˙’ c´ac ma trˆa.n vuˆong con khˆong suy biˆe´n cˆa´p 1
cu˙’a A l`a modular; gia˙’ su.˙’ khˇa˙’ng d¯i.nh d¯´ung cho mo.i ma trˆa.n con khˆong suy biˆe´n cˆa´p (k − 1) X´et ma trˆa.n vuˆong con A 0 cˆa´p k cu˙’a A Nˆe´u mˆo˜i cˆo.t cu˙’a A 0 ch´u.a d¯´ung hai phˆa` n tu.˙’
kh´ac khˆong th`ı det(A 0 ) = 0 (thˆa.t vˆa.y, tˆo˙’ng tˆa´t ca˙’ c´ac h`ang cu˙’a A 0 l`a vector khˆong, do d¯´o c´ac
h`ang l`a d¯ˆo.c lˆa.p tuyˆe´n t´ınh) Nˆe´u tˆo`n ta.i mˆo.t cˆo.t cu˙’a A 0 khˆong c´o phˆa` n tu.˙’ kh´ac khˆong th`ı
det(A 0 ) = 0 Cuˆo´i c`ung, nˆe´u tˆo `n ta.i cˆo.t j cu˙’a A 0 sao cho c´o d¯´ung mˆo.t phˆa`n tu.˙’ kh´ac khˆong
a ij (bˇa`ng 1, hay −1) th`ı det(A 0 ) = ± det(A 00 ), trong d¯´o A 00 l`a ma trˆa.n vuˆong cˆa´p (k − 1) nhˆa.n d¯u.o c t`u A 0 bˇa`ng c´ach xo´a h`ang i v`a cˆo.t j Theo gia˙’ thiˆe´t quy na.p, det(A 0 ) bˇa`ng 1, −1
Trang 151.2.2 Ma trˆ a.n liˆen thuˆo.c d¯ı˙’nh-ca.nh
X´et d¯ˆo` thi vˆo hu.´o.ng G = (V, E) Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh cu˙’a d¯ˆo` thi G l`a ma trˆa.n
A = (a ij ), i = 1, 2, , n, j = 1, 2, , m, v´o.i c´ac phˆa ` n tu.˙’ 0 v`a 1, trong d¯´o mˆo˜i cˆo.t biˆe˙’u diˆe˜n mˆo.t ca.nh cu˙’a G v`a mˆo˜i h`ang biˆe˙’u diˆe˜n mˆo.t d¯ı˙’nh cu˙’a G; ngo`ai ra, nˆe´u ca.nh e k liˆen thuˆo.c
hai d¯ı˙’nh v i v`a v j th`ı tˆa´t ca˙’ c´ac phˆa` n tu.˙’ cu˙’a cˆo.t k bˇa`ng khˆong ngoa.i tr`u.
a ik = 1, a jk = 1.
V´ı du 1.2.3 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh cu˙’a d¯ˆo` thi trong H`ınh 1.4 l`a
e1 e2 e3 e4 e5
.
e1
e2
e3
e4
e5
H`ınh 1.4:
Tr´ai v´o.i ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung, n´oi chung ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh khˆong total unimodular Chˇa˙’ng ha.n, trong v´ı du trˆen, ma trˆa.n con
1 0 1
0 1 1
c´o d¯i.nh th´u.c bˇa`ng −2.
D- ˆo` thi vˆo hu.´o.ng G = (V, E) go.i l`a hai phˆa`n nˆe´u c´o thˆe˙’ phˆan hoa.ch tˆa.p c´ac d¯ı˙’nh
V th`anh hai tˆa.p con r`o.i nhau V1 v`a V2 sao cho d¯ˆo´i v´o.i mˆo˜i ca.nh (v i , v j ) ∈ E th`ı hoˇa.c
v i ∈ V1, v j ∈ V2 hoˇa.c v j ∈ V1, v i ∈ V2.
Trang 16
H`ınh 1.5: D- ˆo` thi hai phˆa`n K 2,3 V´ı du 1.2.4 Dˆe˜ kiˆe˙’m tra d¯ˆo` thi K 2,3 trong H`ınh 1.5 l`a hai phˆa` n
Mˆe.nh d¯ˆe` 1.2.5 Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh cu˙’a d¯ˆo` thi vˆo hu.´o.ng G = (V, E) l`a total unimodular nˆe´u v`a chı˙’ nˆe´u G l`a d¯ˆo ` thi hai phˆa`n.
Ch´u.ng minh (1) Nˆe´u d¯ˆo` thi l`a hai phˆa`n, th`ı ch´ung ta c´o thˆe˙’ ch´u.ng minh theo quy na.p rˇa`ng
mo.i ma trˆa.n vuˆong con B cu˙’a ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh c´o d¯i.nh th´u.c det(B) = 0, 1 hoˇa.c
−1 D- iˆe` u n`ay d¯´ung v´o.i c´ac ma trˆa.n vuˆong con cˆa´p 1; gia˙’ su.˙’ khˇa˙’ng d¯i.nh d¯´ung v´o.i c´ac ma
trˆa.n vuˆong con cˆa´p (k − 1) X´et ma trˆa.n vuˆong con B cˆa´p k.
Nˆe´u mˆo˜i cˆo.t B j cu˙’a B ch´u.a d¯´ung hai phˆa` n tu.˙’ bˇa`ng 1 th`ı
X
i∈I1
B i = X
i∈I2
B i ,
trong d¯´o I1 v`a I2 l`a c´ac tˆa.p chı˙’ sˆo´ tu.o.ng ´u.ng hai phˆan hoa.ch cu˙’a tˆa.p c´ac d¯ı˙’nh V v`a B i l`a
vector h`ang cu˙’a B C´ac vector h`ang phu thuˆo.c tuyˆe´n t´ınh, nˆen det(B) = 0.
Nˆe´u, ngu.o c la.i, tˆo`n ta.i cˆo.t c´o d¯´ung mˆo.t phˆa`n tu.˙’ bˇa`ng 1, chˇa˙’ng ha.n b ij = 1, k´y hiˆe.u C l`a ma trˆa.n nhˆa.n d¯u.o c t`u B bˇa`ng c´ach xo´a h`ang i v`a cˆo.t j Th`ı
det(B) = ± det(C) (= 0, 1 hoˇa.c − 1 theo quy na.p).
(2) Mˇa.t kh´ac, dˆe˜ d`ang ch´u.ng minh rˇa`ng ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh cu˙’a d¯ˆo` thi l`a mˆo.t chu
tr`ınh d¯ˆo d`ai le˙’ (t´u.c l`a sˆo´ ca.nh trˆen chu tr`ınh l`a le˙’-xem Phˆa`n 1.3) c´o d¯i.nh th´u.c bˇa`ng ±2 Do d¯´o G khˆong ch´u.a chu tr`ınh d¯ˆo d`ai le˙’ v`a v`ı vˆa.y n´o l`a hai phˆa`n theo bˆo˙’ d¯ˆe` sau /
Bˆo˙’ d¯ˆ` 1.2.6 De - ˆo ` thi vˆo hu.´o.ng G l`a hai phˆa`n nˆe´u v`a chı˙’ nˆe´u G khˆong ch´u.a chu tr`ınh c´o d¯ˆo d`ai le˙’.
Ch´u.ng minh D - iˆe ` u kiˆe.n cˆa`n Do V d¯u.o c phˆan hoa.ch th`anh V1 v`a V2 :
V = V2∪ V2, V1∩ V2 = ∅.
Trang 17Gia˙’ thiˆe´t tˆo`n ta.i mˆo.t chu tr`ınh c´o d¯ˆo d`ai le˙’
µ = {v i1 , v i2 , , v i q , v i1 }
v`a khˆong mˆa´t t´ınh tˆo˙’ng qu´at, lˆa´y v i1 ∈ V1 Do G l`a hai phˆa` n, nˆen hai d¯ı˙’nh liˆen tiˆe´p trˆen
chu tr`ınh µ pha˙’i c´o mˆo.t d¯ı˙’nh thuˆo.c V1 v`a d¯ı˙’nh kia thuˆo.c V2 Do d¯´o v i2 ∈ V2, v i3 ∈ V1, , v`a tˆo˙’ng qu´at, v i k ∈ V1 nˆe´u k le˙’ v`a v i k ∈ V2 nˆe´u k chˇa˜n M`a chu tr`ınh µ c´o d¯ˆo d`ai le˙’ nˆen
v i q ∈ V1 v`a bo.˙’i vˆa.y v i1 ∈ V2 D- iˆe` u n`ay mˆau thuˆa˜n v´o.i V1 ∩ V2 = ∅.
D - iˆe ` u kiˆe.n d¯u˙’ Khˆong mˆa´t t´ınh tˆo˙’ng qu´at gia˙’ thiˆe´t d¯ˆo` thi G liˆen thˆong Gia˙’ su.˙’ khˆong tˆo`n
ta.i chu tr`ınh c´o d¯ˆo d`ai le˙’
Cho.n d¯ı˙’nh bˆa´t k`y, chˇa˙’ng ha.n v i v`a g´an nh˜an cho n´o l`a “ + ” Sau d¯´o lˇa.p la.i c´ac ph´ep
to´an sau:
Cho.n d¯ı˙’nh d¯˜a d¯u.o c g´an nh˜an v j v`a g´an nh˜an ngu.o c v´o.i nh˜an cu˙’a v j cho tˆa´t ca˙’ c´acd¯ı˙’nh kˆe` v´o.i d¯ı˙’nh v j
Tiˆe´p tu.c qu´a tr`ınh n`ay cho d¯ˆe´n khi xa˙’y ra mˆo.t trong hai tru.`o.ng ho p:
(a) Tˆa´t ca˙’ c´ac d¯ı˙’nh d¯˜a d¯u.o c g´an nh˜an v`a hai d¯ı˙’nh bˆa´t k`y kˆe` nhau c´o nh˜an kh´ac nhau (mˆo.t
mang dˆa´u + v`a mˆo.t mang dˆa´u −); hoˇa.c
(b) Tˆo`n ta.i d¯ı˙’nh, chˇa˙’ng ha.n v j k , d¯u.o c g´an hai nh˜an kh´ac nhau.
Trong Tru.`o.ng ho p (a), d¯ˇa.t V1 l`a tˆa.p tˆa´t ca˙’ c´ac d¯ı˙’nh d¯u.o c g´an nh˜an “+” v`a V2 l`a tˆa.p tˆa´t
ca˙’ c´ac d¯ı˙’nh d¯u.o c g´an nh˜an “−” Do tˆa´t ca˙’ c´ac ca.nh liˆen thuˆo.c gi˜u.a c´ac cˇa.p d¯ı˙’nh c´o nh˜an
kh´ac nhau nˆen d¯ˆo` thi G l`a hai phˆa`n.
Trong Tru.`o.ng ho p (b), d¯ı˙’nh v j k d¯u.o c g´an nh˜an “+” do.c theo mˆo.t dˆay chuyˆe` n µ1 n`ao
d¯´o, v´o.i c´ac d¯ı˙’nh d¯u.o c g´an nh˜an “+” v`a “−” xen k˜e nhau xuˆa´t ph´at t`u v i v`a kˆe´t th´uc ta.i
v j k Tu.o.ng tu , d¯ı˙’nh v j k d¯u.o c g´an nh˜an “−” do.c theo mˆo.t dˆay chuyˆe ` n µ2 n`ao d¯´o, v´o.i c´ac
d¯ı˙’nh d¯u.o c g´an nh˜an “+” v`a “−” xen k˜e nhau xuˆa´t ph´at t`u v i v`a kˆe´t th´uc ta.i v j k Nhu.ng nhu thˆe´ chu tr`ınh d¯i do.c theo µ1 t`u d¯ı˙’nh v i d¯ˆe´n d¯ı˙’nh v j k sau d¯´o d¯i ngu.o c la.i do.c theo µ2
vˆe` la.i v i c´o d¯ˆo d`ai le˙’ D- iˆe` u n`ay mˆau thuˆa˜n v´o.i gia˙’ thiˆe´t, v`a do d¯´o khˆong thˆe˙’ xa˙’y ra Tru.`o.ng
1.2.3 Ma trˆ a.n kˆe ` hay ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-d¯ı˙’nh
Gia˙’ su.˙’ G = (V, E) l`a d¯ˆo ` thi sao cho c´o nhiˆe`u nhˆa´t mˆo.t cung liˆen thuˆo.c hai d¯ı˙’nh bˆa´t k`y v i
v`a v j Ma trˆa.n kˆe ` hay ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-d¯ı˙’nh l`a ma trˆa.n vuˆong A = (a ij ) cˆa´p n × n
Trang 18v´o.i c´ac phˆa` n tu.˙’ 0 hoˇa.c 1:
a ij :=
(
1 nˆe´u (v i , v j ) ∈ E,
0 nˆe´u ngu.o c la.i
Trong tru.`o.ng ho p d¯ˆo` thi vˆo hu.´o.ng, ma trˆa.n kˆe` cu˙’a d¯o.n d¯ˆo` thi c˜ung c´o thˆe˙’ d¯u.o c d¯i.nh
ngh˜ıa bˇa`ng c´ach xem mˆo˜i ca.nh (v i , v j ) tu.o.ng ´u.ng hai cung (v i , v j ) v`a (v j , v i ) Trong tru.`o.ng
ho p n`ay, ma trˆa.n kˆe` l`a d¯ˆo´i x´u.ng
1.2.4 C´ ac biˆ e˙’u diˆ e ˜n cu˙’a d¯ˆo ` thi.
D- ˆe˙’ mˆo ta˙’ mˆo.t d¯ˆo` thi., ta c´o thˆe˙’ su.˙’ du.ng mˆo.t sˆo´ c´ach biˆe˙’u diˆe˜n kh´ac nhau V´o.i quan d¯iˆe˙’mlˆa.p tr`ınh, n´oi chung c´ac biˆe˙’u diˆe˜n n`ay khˆong tu.o.ng d¯u.o.ng theo kh´ıa ca.nh hiˆe.u qua˙’ cu˙’athuˆa.t to´an
C´o hai c´ach biˆe˙’u diˆe˜n ch´ınh: Th´u nhˆa´t, su.˙’ du.ng ma trˆa.n kˆe` hoˇa.c c´ac dˆa˜n xuˆa´t cu˙’an´o; th´u hai, su.˙’ du.ng ma trˆa.n liˆen thuˆo.c hoˇa.c c´ac dˆa˜n xuˆa´t cu˙’a n´o
Su.˙’ du.ng ma trˆa.n kˆe`
Ch´ung ta biˆe´t rˇa`ng c´ac ma trˆa.n kˆe` cho ph´ep miˆeu ta˙’ hoˇa.c c´ac 1-d¯ˆo` thi d¯i.nh hu.´o.ng, hoˇa.cc´ac d¯o.n d¯ˆo` thi vˆo hu.´o.ng V´o.i c´ach biˆe˙’u diˆe˜n d¯ˆo` thi qua ma trˆa.n kˆe`, ta thˆa´y sˆo´ lu.o ng thˆongtin, gˆo`m c´ac bit 0 v`a 1, cˆa` n lu.u tr˜u l`a n2 C´ac bit c´o thˆe˙’ d¯u.o c kˆe´t ho p trong c´ac t`u K´y hiˆe.u w l`a d¯ˆo d`ai cu˙’a t`u (t´u.c l`a sˆo´ c´ac bit trong mˆo.t t`u m´ay t´ınh) Khi d¯´o mˆo˜i h`ang cu˙’a ma
trˆa.n kˆe` c´o thˆe˙’ d¯u.o c viˆe´t nhu mˆo.t d˜ay n bit trong dn/we t`u.1 Do d¯´o sˆo´ c´ac t`u d¯ˆe˙’ lu.u tr˜u
ma trˆa.n kˆe` l`a ndn/we.
Ma trˆa.n kˆe` cu˙’a d¯ˆo` thi vˆo hu.´o.ng l`a d¯ˆo´i x´u.ng, nˆen ta chı˙’ cˆa`n lu.u tr˜u nu.˙’a tam gi´ac trˆencu˙’a n´o, v`a do d¯´o chı˙’ cˆa` n n(n − 1)/2 bit Tuy nhiˆen, v´o.i c´ach lu.u tr˜u n`ay, s˜e tˇang d¯ˆo ph´u.c
ta.p v`a th`o.i gian t´ınh to´an trong mˆo.t sˆo´ b`ai to´an
Trong tru.`o.ng ho p c´ac ma trˆa.n thu.a (m ¿ n2 v´o.i d¯ˆo` thi c´o hu.´o.ng; m ¿ 1
2n(n + 1) d¯ˆo´i
v´o.i d¯ˆo` thi vˆo hu.´o.ng) c´ach biˆe˜u diˆe˜n n`ay l`a l˜ang ph´ı Do d¯´o ta s˜e t`ım c´ach biˆe˙’u diˆe˜n chı˙’ c´acphˆa` n tu.˙’ kh´ac khˆong
V`ı mu.c d¯´ıch n`ay ta s˜e su.˙’ du.ng mˆo.t ma˙’ng danh s´ach kˆe ` cho d¯ˆo` thi c´o hu.´o.ng D- ˆo` thi c´o
hu.´o.ng d¯u.o c biˆe˙’u diˆe˜n bo.˙’i mˆo.t ma˙’ng c´ac con tro˙’ V out[1], V out[2], , V out[n], trong d¯´o mˆo˜i con tro˙’ tu.o.ng ´u.ng v´o.i mˆo.t d¯ı˙’nh trong d¯ˆo` thi c´o hu.´o.ng Mˆo˜i phˆa`n tu.˙’ cu˙’a ma˙’ng V out[i] chı˙’ d¯ˆe´n mˆo.t n´ut d¯ˆa`u lu.u tr˜u mu.c d˜u liˆe.u cu˙’a n´ut tu.o.ng ´u.ng d¯ı˙’nh v i v`a ch´u.a mˆo.t con tro˙’
1K´y hiˆe.u dxe l`a sˆo´ nguyˆen nho˙’ nhˆa´t khˆong b´e ho.n x.
Trang 19chı˙’ d¯ˆe´n mˆo.t danh s´ach liˆen kˆe´t cu˙’a c´ac d¯ı˙’nh kˆe` (d¯ı˙’nh d¯u.o c nˆo´i v´o.i v i theo hu.´o.ng t`u v i ra) Mˆo˜i n´ut kˆe` c´o hai tru.`o.ng:
1 Tru.`o.ng sˆo´ nguyˆen: lu.u tr˜u sˆo´ hiˆe.u cu˙’a d¯ı˙’nh kˆe` ; v`a
2 Tru.`o.ng liˆen kˆe´t chı˙’ d¯ˆe´n n´ut kˆe´ tiˆe´p trong danh s´ach kˆe` n`ay
.
.
.
.
v1 v2 v3 v4 v5 v6 • • • • • • H`ınh 1.6: C´ach biˆe˙’u diˆe˜n ma˙’ng danh s´ach kˆe` V out[] cu˙’a d¯ˆo` thi c´o hu.´o.ng trong H`ınh 1.6 d¯u.o c cho tu.o.ng ´u.ng trong H`ınh 1.7 (gia˙’ su.˙’ c´ac mu.c d˜u liˆe.u tu.o.ng ´u.ng c´ac d¯ı˙’nh theo th´u tu l`a A, B, C, D, E, F ). N´ut d¯ˆa` u V out[1]
•
•
•
A v4 v5 NULL V out[2]
•
•
•
B v1 v3 NULL V out[3]
•
•
C v3 NULL V out[4]
•
•
•
D v2 v3 NULL V out[5]
•
•
•
E v3 v6 NULL V out[6]
•
•
H`ınh 1.7: Danh s´ach kˆe` V out[] tu.o.ng ´u.ng d¯ˆo` thi trong H`ınh 1.6
Thay v`ı con tro˙’ chı˙’ d¯ˆe´n mˆo.t danh s´ach c´ac d¯ı˙’nh t`u v i d¯i ra trong V out[i], ta tro˙’ d¯ˆe´n danh s´ach c´ac d¯ı˙’nh d¯i d¯ˆe´n v i v`a do d¯´o c´o thˆe˙’ lu.u tr˜u d¯ˆo` thi thˆong qua ma˙’ng c´ac danh s´ach
Trang 20kˆe` V in[i] H`ınh 1.8 minh ho.a ma˙’ng c´ac danh s´ach kˆe` V in[] cu˙’a d¯ˆo` thi c´o hu.´o.ng trong H`ınh
1.6
D- ˆe˙’ ´y rˇa`ng, c´ac sˆo´ trong n´ut kˆe` cu˙’a V out[] (tu.o.ng ´u.ng, V in[]) l`a nh˜u.ng chı˙’ sˆo´ cˆo.t
(tu.o.ng ´u.ng, h`ang) trong ma trˆa.n kˆe` cu˙’a d¯ˆo` thi m`a o.˙’ d¯´o sˆo´ 1 xuˆa´t hiˆe.n Ngo`ai ra, trong tru.`o.ng ho p d¯ˆo` thi vˆo hu.´o.ng, hai danh s´ach kˆe` n`ay l`a tr`ung nhau
Khi d¯ˆo` thi c´o tro.ng sˆo´, t´u.c l`a nˆe´u mˆo˜i cung hoˇa.c ca.nh e ∈ E c´o mˆo.t tro.ng lu.o ng w(e),
ta chı˙’ cˆa` n mo.˙’ rˆo.ng cˆa´u tr´uc cu˙’a mˆo˜i n´ut trong danh s´ach kˆe` bˇa`ng c´ach thˆem mˆo.t tru.`o.ng lu.u tr˜u tro.ng lu.o ng cu˙’a cung
C´ach biˆe˙’u diˆe˜n bˇa`ng danh s´ach kˆe` cu˙’a d¯ˆo` thi c´o hu.´o.ng c´o thˆe˙’ d¯u.o c c`ai d¯ˇa.t trong ngˆon ng˜u lˆa.p tr`ınh C v´o.i c´ac khai b´ao trong thu viˆe.n Graph.h (xem Phu lu.c A) D- ˆe˙’ xˆay du ng ma˙’ng c´ac danh s´ach kˆe` V out[] v`a V in[] cho mˆo.t d¯ˆo` thi., ta c´o thˆe˙’ su.˙’ du.ng c´ac thu˙’ tu.c
MakeV out() v`a MakeV in() tu.o.ng ´u.ng
N´ut d¯ˆa` u
V in[1]
•
•
•
A v2 v6 NULL V in[2]
•
•
B v4 NULL V in[3]
•
•
•
•
•
C v2 v3 v4 v5 NULL V in[4]
•
•
D v1 NULL V in[5]
•
•
E v1 NULL V in[6]
•
•
H`ınh 1.8: Danh s´ach kˆe` V in[] tu.o.ng ´u.ng d¯ˆo` thi trong H`ınh 1.6
Su.˙’ du.ng c´ac ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung hoˇa.c d¯ı˙’nh-ca.nh
Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung hoˇa.c d¯ı˙’nh-ca.nh cho ph´ep ch´ung ta mˆo ta˙’ d¯ˆa`y d¯u˙’ cˆa´u tr´uc cu˙’a
mˆo.t d¯a d¯ˆo` thi khˆong c´o khuyˆen Tuy nhiˆen, do chı˙’ c´o hai phˆa`n tu.˙’ kh´ac khˆong trong mˆo˜i
cˆo.t, nˆen c´o thˆe˙’ biˆe˙’u diˆe˜n thˆong tin o.˙’ da.ng th´ıch ho p ho.n
Ch´ung ta d¯i.nh ngh˜ıa hai ma˙’ng tuyˆe´n t´ınh α[] v`a β[] chiˆe ` u m trong d¯´o v´o.i mˆo˜i cung hoˇa.c ca.nh e k , k = 1, 2, , m, c´ac gi´a tri α[k] v`a β[k] l`a c´ac chı˙’ sˆo´ cu˙’a c´ac d¯ı˙’nh m`a e k liˆen
Trang 21
.
.
v1
v2
v3
•
•
•
e1 e2 e3
e4
e5
e6
e7
e8
H`ınh 1.9:
thuˆo.c Trong tru.`o.ng ho p c´o hu.´o.ng, ch´ung ta quyˆe´t d¯i.nh α[k] l`a d¯ı˙’nh gˆo´c v`a β[k] l`a d¯ı˙’nh ngo.n cu˙’a cung e k
Ch´u ´y rˇa`ng, tr´ai v´o.i ma trˆa.n kˆe` , c´ach biˆe˙’u diˆe˜n n`ay c˜ung c´o thˆe˙’ d¯ˇa.c tru.ng cho c´ac d¯a d¯ˆo` thi c´o khuyˆen
Chˇa˙’ng ha.n, d¯a d¯ˆo` thi cu˙’a H`ınh 1.9 trong d¯´o c´ac cung d¯u.o c d¯´anh sˆo´, ta nhˆa.n d¯u.o c
Trong tru.`o.ng ho p d¯ˆo` thi c´o tro.ng sˆo´, ta chı˙’ cˆa`n thˆem mˆo.t ma˙’ng w[] k´ıch thu.´o.c m lu.u tr˜u tro.ng lu.o ng cu˙’a mˆo˜i ca.nh hoˇa.c cung v´o.i tu.o.ng ´u.ng mˆo.t-mˆo.t c´ac ma˙’ng α[] v`a β[].
Vˆe` c´ach kh´ac biˆe˙’u diˆe˜n hiˆe.u qua˙’ ho.n cu˙’a d¯ˆo` thi vˆo hu.´o.ng su.˙’ du.ng danh s´ach c´ac ca.nh xem [43]
Mˆo´i liˆen hˆe gi˜u.a c´ac biˆe˙’u diˆe˜n
Dˆe˜ d`ang thˆa´y rˇa`ng tˆo`n ta.i c´ac thuˆa.t to´an d¯a th´u.c d¯ˆe˙’ chuyˆe˙’n d¯ˆo˙’i gi˜u.a c´ac kiˆe˙’u d˜u liˆe.u trˆen d¯ˆo` thi H`ınh 1.10 minh ho.a c´ac kha˙’ nˇang c´o thˆe˙’ c´o
D- ˆe˙’ chuyˆe˙’n d¯ˆo˙’i gi˜u.a c´ac kiˆe˙’u d˜u liˆe.u, cˆa`n c´ac chu.o.ng tr`ınh thu c hiˆe.n d¯iˆe`u n`ay (b`ai tˆa.p) C´ac biˆe˙’u diˆe˜n n`ay c´o thˆe˙’ ca˙’i biˆen cho ph`u ho p v´o.i yˆeu cˆa`u Chˇa˙’ng ha.n, d¯ˆo` thi c´o
Trang 22Ma trˆa.n kˆe` d¯u.o c kˆe´t theo h`ang
Ma trˆa.n kˆe` da.ng tu.`o.ng minh
Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cung
hoˇa.c ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh
da.ng tu.`o.ng minh
Ma trˆa.n kˆe` d¯u.o c kˆe´t theo cˆo.t
Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cunghoˇa.c ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh
da.ng kˆe´t theo h`ang
Ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-cunghoˇa.c ma trˆa.n liˆen thuˆo.c d¯ı˙’nh-ca.nh
da.ng kˆe´t theo cˆo.t
Trang 231.3 T´ınh liˆ en thˆ ong
1.3.1 Dˆ ay chuyˆ ` n v`a chu tr`ınh e
Gia˙’ su.˙’ v0, v k l`a c´ac d¯ı˙’nh cu˙’a d¯ˆo` thi vˆo hu.´o.ng G := (V, E) Dˆay chuyˆe`n µ t`u v0 d¯ˆe´n v k d¯ˆo
d`ai k l`a mˆo.t d˜ay xen k˜e (k + 1) d¯ı˙’nh v`a k ca.nh bˇa´t d¯ˆa`u t`u v0 v`a kˆe´t th´uc ta.i v k ,
µ := {v0, e1, v1, e2, v2, , v k−1 , e k , v k }, trong d¯´o ca.nh e i liˆen thuˆo.c c´ac d¯ı˙’nh v i−1 v`a v i , i = 1, 2, , k D- ˆe˙’ gia˙’n tiˆe.n, ta thu.`o.ng viˆe´t
µ := {e1, e2, , e k }.
Dˆay chuyˆe` n d¯u.o c go.i l`a d¯o.n gia˙’n (tu.o.ng ´u.ng, so cˆa´p) nˆe´u n´o khˆong d¯i hai lˆa`n qua
c`ung mˆo.t ca.nh (tu.o.ng ´u.ng, d¯ı˙’nh)
Chu tr`ınh l`a mˆo.t dˆay chuyˆe` n trong d¯´o d¯ı˙’nh d¯ˆa` u tr`ung v´o.i d¯ı˙’nh cuˆo´i Chu tr`ınh qua
mˆo˜i ca.nh d¯´ung mˆo.t lˆa`n go.i l`a d¯o.n gia˙’n Chu tr`ınh l`a so cˆa´p nˆe´u n´o d¯i qua mˆo˜i d¯ı˙’nh d¯´ung
mˆo.t lˆa`n tr`u d¯ı˙’nh d¯ˆa`u tiˆen hai lˆa`n (mˆo.t lˆa`n l´uc xuˆa´t ph´at v`a mˆo.t l´uc tro.˙’ vˆe` )
D- ˆo` thi trong H`ınh 1.11 c´o
Trang 241.3.2 D - u.`o.ng d¯i v`a ma.ch
Gia˙’ su.˙’ v0, v k l`a c´ac d¯ı˙’nh cu˙’a d¯ˆo` thi c´o hu.´o.ng G := (V, E) D - u.`o.ng d¯i µ t`u v0 d¯ˆe´n v k d¯ˆo d`ai
k l`a mˆo.t d˜ay xen k˜e (k + 1) d¯ı˙’nh v`a k cung bˇa´t d¯ˆa`u t`u v0 v`a kˆe´t th´uc ta.i v k ,
µ := {v0, e1, v1, e2, v2, , v k−1 , e k , v k },
trong d¯´o cung e i liˆen thuˆo.c c´ac d¯ı˙’nh v i−1 v`a v i , i = 1, 2, , k D- ˆe˙’ gia˙’n tiˆe.n, ta c´o thˆe˙’ k´y
hiˆe.u d¯u.`o.ng d¯i µ l`a {e1, e2, , e k }.
Do d¯´o trong H`ınh 1.12 d˜ay c´ac cung
µ1 := {e6, e5, e9, e8, e4}
µ2 := {e1, e6, e5, e9}
µ3 := {e1, e6, e5, e9, e10, e6, e4}
l`a c´ac d¯u.`o.ng d¯i
D- u.`o.ng d¯i l`a d¯o.n gia˙’n nˆe´u khˆong ch´u.a cung n`ao qu´a mˆo.t lˆa`n Suy ra c´ac d¯u.`o.ng d¯i
µ1, µ2 l`a d¯o.n gia˙’n, nhu.ng d¯u.`o.ng d¯i µ3 khˆong d¯o.n gia˙’n do n´o su.˙’ du.ng cung e6 hai lˆa` n
D- u.`o.ng d¯i l`a so cˆa´p nˆe´u khˆong d¯i qua d¯ı˙’nh n`ao qu´a mˆo.t lˆa`n Khi d¯´o d¯u.`o.ng d¯i µ2 l`a
so cˆa´p nhu.ng c´ac d¯u.`o.ng d¯i µ1 v`a µ3 l`a khˆong so cˆa´p Hiˆe˙’n nhiˆen, d¯u.`o.ng d¯i so cˆa´p l`a d¯o.n
gia˙’n nhu.ng ngu.o c la.i khˆong nhˆa´t thiˆe´t d¯´ung Chˇa˙’ng ha.n, ch´u ´y rˇa`ng d¯u.`o.ng d¯i µ1 l`a d¯o.n
gia˙’n nhu.ng khˆong so cˆa´p, d¯u.`o.ng d¯i µ2 v`u.a d¯o.n gia˙’n v`a v`u.a so cˆa´p, d¯u.`o.ng d¯i µ3 khˆongd¯o.n gia˙’n c˜ung khˆong so cˆa´p
Ch´u ´y rˇa`ng, kh´ai niˆe.m dˆay chuyˆe` n l`a ba˙’n sao khˆong c´o hu.´o.ng cu˙’a d¯u.`o.ng d¯i v`a ´apdu.ng cho c´ac d¯ˆo` thi m`a khˆong d¯ˆe˙’ ´y d¯ˆe´n hu.´o.ng cu˙’a c´ac cung
D- u.`o.ng d¯i c˜ung c´o thˆe˙’ d¯u.o c biˆe˙’u diˆe˜n bo.˙’i d˜ay c´ac d¯ı˙’nh m`a ch´ung d¯i qua trong tru.`o.ng
ho p khˆong c´o cung song song (t´u.c hai cung c´o c`ung gˆo´c v`a c`ung ngo.n) Do d¯´o, d¯u.`o.ng d¯i
µ1 c´o thˆe˙’ biˆe˙’u diˆe˜n bo.˙’i d˜ay d¯ı˙’nh {v2, v5, v4, v3, v5, v6}.
Ma.ch l`a mˆo.t d¯u.`o.ng d¯i {e1, e2, , e k } trong d¯´o d¯ı˙’nh gˆo´c cu˙’a cung e1 tr`ung v´o.i d¯ı˙’nh
ngo.n cu˙’a cung e k Do d¯´o d¯u.`o.ng d¯i {e5, e9, e10, e6} trong H`ınh 1.12 l`a ma.ch.
1.3.3 T´ınh liˆ en thˆ ong
D- ˆo` thi vˆo hu.´o.ng go.i l`a liˆen thˆong nˆe´u tˆa´t ca˙’ c´ac cˇa.p d¯ı˙’nh v i v`a v j tˆo`n ta.i dˆay chuyˆe`n t`u v i
d¯ˆe´n v j Quan hˆe v i Rv j nˆe´u v`a chı˙’ nˆe´u v i = v j hoˇa.c tˆo`n ta.i mˆo.t dˆay chuyˆe` n nˆo´i hai d¯ı˙’nh v i v`a v j l`a quan hˆe tu.o.ng d¯u.o.ng (pha˙’n xa., d¯ˆo´i x´u.ng v`a bˇa´c cˆa`u).
Trang 25cu˙’a d¯ˆo` thi Mˆo˜i th`anh phˆa`n liˆen thˆong l`a mˆo.t d¯ˆo` thi liˆen thˆong.
H`ınh 1.13 minh ho.a d¯ˆo` thi c´o ba th`anh phˆa`n liˆen thˆong
H`ınh 1.13: D- ˆo` thi c´o ba th`anh phˆa`n liˆen thˆong
X´ac d¯i.nh sˆo´ th`anh phˆa`n liˆen thˆong cu˙’a d¯ˆo` thi l`a mˆo.t trong nh˜u.ng b`ai to´an co ba˙’n cu˙’al´y thuyˆe´t d¯ˆo` thi v`a c´o nhiˆe`u ´u.ng du.ng trong thu c tiˆe˜n; chˇa˙’ng ha.n, x´ac d¯i.nh t´ınh liˆen thˆongcu˙’a ma.ch d¯iˆe.n, ma.ng d¯iˆe.n thoa.i, v.v
Ch´ung ta s˜e tr`ınh b`ay mˆo.t sˆo´ thuˆa.t to´an c´o th`o.i gian O(m) gia˙’i b`ai to´an n`ay v`ı n´o
Trang 26cho ph´ep t`ım l`o.i gia˙’i cu˙’a mˆo.t sˆo´ b`ai to´an kh´ac.
Bˇa´t d¯ˆa` u v´o.i d¯ı˙’nh n`ao d¯´o cu˙’a d¯ˆo` thi., ch´ung ta liˆe.t kˆe c´ac d¯ı˙’nh theo th´u tu cu˙’a thuˆa.t
to´an t`ım kiˆe´m theo chiˆe ` u sˆau, t´u.c l`a ch´ung ta d¯i, d¯ˆa` u tiˆen, xa nhˆa´t c´o thˆe˙’ d¯u.o c trˆen d¯ˆo` thi.m`a khˆong ta.o th`anh chu tr`ınh, v`a sau d¯´o tro.˙’ vˆe` vi tr´ı r˜e nh´anh gˆa`n d¯ˆay nhˆa´t m`a ch´ung tad¯˜a bo˙’ qua, v`a tiˆe´p tu.c cho d¯ˆe´n khi tro.˙’ vˆe` d¯ı˙’nh xuˆa´t ph´at Do d¯´o tˆa.p c´ac d¯ı˙’nh bˇa´t gˇa.p s˜eta.o th`anh th`anh phˆa`n liˆen thˆong d¯ˆa`u tiˆen
Nˆe´u tˆa´t ca˙’ c´ac d¯ı˙’nh cu˙’a d¯ˆo` thi d¯u.o c duyˆe.t th`ı d¯ˆo` thi liˆen thˆong; ngu.o c la.i, ch´ung takho.˙’i d¯ˆa` u la.i thu˙’ tu.c trˆen v´o.i mˆo.t d¯ı˙’nh m´o.i chu.a d¯u.o c viˆe´ng thˇam; do d¯´o ta xˆay du ng d¯u.o cth`anh phˆa` n liˆen thˆong th´u hai, v`a vˆan vˆan
Thuˆa.t to´an du.´o.i d¯ˆay tr`ınh b`ay giai d¯oa.n d¯ˆa`u tiˆen, t´u.c l`a t`ım th`anh phˆa`n liˆen thˆongch´u.a mˆo.t d¯ı˙’nh d¯˜a cho-nˆe´u th`anh phˆa`n n`ay ch´u.a tˆa´t ca˙’ c´ac d¯ı˙’nh cu˙’a d¯ˆo` thi th`ı d¯ˆo` thi liˆenthˆong
K´y hiˆe.u num(i) l`a sˆo´ hiˆe.u cu˙’a d¯ı˙’nh v i trong qu´a tr`ınh t`ım kiˆe´m Nˆe´u ta bˇa´t d¯ˆa` u bˇa`ng
d¯ı˙’nh s th`ı d¯ˇa.t num(s) = 1 K´y hiˆe.u P (i) l`a d¯ı˙’nh d¯´u.ng liˆe ` n tru.´o.c d¯ı˙’nh v i trong cˆay c´o gˆo´c
(xem Chu.o.ng 4) d¯u.o c xˆay du ng trong qu´a tr`ınh thu c hiˆe.n thuˆa.t to´an
X´et d¯ˆo` thi d¯u.o c biˆe˙’u diˆe˜n bo.˙’i ´anh xa d¯a tri Γ D - ˇa.t d+
i l`a sˆo´ c´ac d¯ı˙’nh kˆe` d¯ı˙’nh v i : d+
i :=
#Γ(v i ) V´o.i mˆo˜i k = 1, 2, , n, k´y hiˆe.u Γ k (v i ) l`a d¯ı˙’nh th´u k trong tˆa.p Γ(v i ).
D- ˆe˙’ thu c hiˆe.n t`ım kiˆe´m trˆen d¯ˆo` thi., ch´ung ta cˆa`n mˆo˜i giai d¯oa.n cu˙’a thuˆa.t to´an chı˙’ sˆo´
n(i) cu˙’a d¯ı˙’nh d¯u.o c viˆe´ng thˇam cuˆo´i c`ung t`u d¯ı˙’nh v i Do d¯´o ta bˇa´t d¯ˆa ` u v´o.i n(i) = 0.
Du.´o.i d¯ˆay l`a thuˆa.t to´an (da.ng khˆong d¯ˆe qui) cu˙’a Tr´emaux d¯u.a ra nˇa`m 1882 v`a sau d¯´od¯u.o c Tarjan ca˙’i tiˆe´n [53]
Thuˆa.t to´an Tr´emaux-Tarjan t`ım th`anh phˆa` n liˆen thˆong ch´u.a d¯ı˙’nh s.
1 [Kho.˙’i ta.o] D- ˇa.t P(i) = 0, d+
i := #Γ(v i ) v`a n(i) = 0 v´o.i mo.i d¯ı˙’nh v i , i = 1, 2, , n;
k = 0, num(s) = 1, P (s) = s (tu`y ´y, kh´ac khˆong), i = s.
2 [Bu.´o.c lˇa.p] Trong khi (n(i) 6= d(i)) hoˇa.c (i 6= s) thu c hiˆe.n
• Nˆe´u n(i) = d(i) d¯ˇa.t i = P (i) (lˆa`n ngu.o c);
• ngu.o c la.i, d¯ˇa.t n(i) = n(i) + 1 (viˆe´ng thˇam d¯ı˙’nh kˆe´ tiˆe´p trong Γ(v i )), v`a j =
Γn(i) (v i ) Nˆe´u P (j) = 0 th`ı g´an P (j) = i, i = j, k = k + 1, num(i) = k.
Kˆe´t th´uc thuˆa.t to´an, nˆe´u k = n th`ı d¯ˆo` thi liˆen thˆong; ngu.o c la.i th`anh phˆa`n liˆen thˆong ch´u.a d¯ı˙’nh s gˆo `m k d¯ı˙’nh m`a num(i) nhˆa.n c´ac gi´a tri t`u 1 d¯ˆe´n k.
Trang 27V´ı du 1.3.1 X´et d¯ˆo` thi trong H`ınh 1.14 C´ac d¯ı˙’nh s˜e d¯u.o c viˆe´ng thˇam theo th´u tu 1, 4, 2, 3 v`a 5 Qu´a tr`ınh t`ım kiˆe´m c´o thˆe˙’ biˆe˙’u diˆe˜n th`anh cˆay c´o gˆo´c (d¯ı˙’nh gˆo´c l`a v1) trong H`ınh
Thuˆa.t to´an t`ım kiˆe´m theo chiˆe` u sˆau
1 Thˇam d¯ı˙’nh xuˆa´t ph´at s.
2 V´o.i mˆo˜i d¯ı˙’nh w kˆe ` v´o.i v (c´o hu.´o.ng t`u v d¯ˆe´n w) l`am c´ac bu.´o.c sau:
Nˆe´u w chu.a d¯u.o c thˇam, ´ap du.ng thuˆa.t to´an t`ım kiˆe´m theo chiˆe ` u sˆau v´o.i w nhu l`a
d¯ı˙’nh xuˆa´t ph´at
Trong c´ach t`ım kiˆe´m theo chiˆe` u sˆau, ta d¯i theo d¯u.`o.ng t`u d¯ı˙’nh xuˆa´t ph´at cho d¯ˆe´n khid¯a.t d¯ˆe´n mˆo.t d¯ı˙’nh c´o tˆa´t ca˙’ c´ac d¯ı˙’nh kˆe` n´o d¯˜a d¯u.o c viˆe´ng thˇam Sau d¯´o ta quay la.i d¯ı˙’nh
Trang 28cuˆo´i c`ung v`u.a d¯u.o c thˇam do.c theo d¯u.`o.ng n`ay sao cho c´ac d¯ı˙’nh kˆe` v´o.i n´o (c´o hu.´o.ng t`u.n´o d¯i ra trong tru.`o.ng ho p d¯ˆo` thi c´o hu.´o.ng) c´o thˆe˙’ thˇam d¯u.o c D- ˆe˙’ c´o thˆe˙’ quay tro.˙’ la.i, talu.u tr˜u c´ac d¯ı˙’nh do.c theo d¯u.`o.ng n`ay trong mˆo.t ngˇan xˆe´p Nˆe´u thu˙’ tu.c d¯u.o c viˆe´t da.ng d¯ˆe.quy th`ı ngˇan xˆe´p n`ay d¯u.o c ba˙’o tr`ı mˆo.t c´ach tu d¯ˆo.ng; trong tru.`o.ng ho p ngu.o c la.i, cˆa`n mˆo.tma˙’ng d¯´anh dˆa´u c´ac d¯ı˙’nh d¯˜a d¯u.o c viˆe´ng thˇam.
Thuˆa.t to´an t`ım kiˆe´m theo chiˆe` u rˆo.ng
Trong thuˆa.t to´an n`ay, ch´ung ta thˇam c´ac d¯ı˙’nh theo t`u.ng m´u.c mˆo.t, v`a khi thˇam mˆo.t d¯ı˙’nho.˙’ m´u.c n`ao d¯´o, ta pha˙’i lu.u tr˜u n´o d¯ˆe˙’ c´o thˆe˙’ tro.˙’ la.i khi d¯i hˆe´t mˆo.t m´u.c, v`ı vˆa.y c´o thˆe˙’ thˇamc´ac d¯ı˙’nh kˆe` cu˙’a n´o Thuˆa.t to´an t`ım kiˆe´m theo chiˆe`u rˆo.ng du.´o.i d¯ˆay d`ung mˆo.t h`ang d¯o i theoc´ach n`ay
1 Thˇam d¯ı˙’nh xuˆa´t ph´at
2 Kho.˙’i d¯ˆo.ng mˆo.t h`ang d¯o i chı˙’ ch´u.a d¯ı˙’nh xuˆa´t ph´at
3 Trong khi h`ang d¯o i khˆong rˆo˜ng l`am c´ac bu.´o.c sau:
Lˆa´y mˆo.t d¯ı˙’nh v t`u h`ang d¯o i.
V´o.i tˆa´t ca˙’ c´ac d¯ı˙’nh w kˆe ` v´o.i v, l`am c´ac bu.´o.c sau:
Nˆe´u (w chu.a d¯u.o c thˇam) th`ı:
Thˇam w.
Thˆem w v`ao h`ang d¯o i.
C´ac thuˆa.t to´an t`ım kiˆe´m theo chiˆe` u rˆo.ng v`a t`ım kiˆe´m theo chiˆe`u sˆau l`a rˆa´t co ba˙’n chonhiˆe` u thuˆa.t to´an kh´ac d¯ˆe˙’ xu.˙’ l´y d¯ˆo` thi V´ı du., d¯ˆe˙’ duyˆe.t mˆo.t d¯ˆo` thi., ta c´o thˆe˙’ ´ap du.ng nhiˆe`ulˆa` n mˆo.t trong c´ac c´ach n´oi trˆen, cho.n c´ac d¯ı˙’nh xuˆa´t ph´at m´o.i nˆe´u cˆa`n thiˆe´t, cho d¯ˆe´n khitˆa´t ca˙’ c´ac d¯ı˙’nh d¯u.o c thˇam
1.3.4 Cˆ ` u, k−liˆen thˆong a
D - iˆe˙’m kh´o.p cu˙’a d¯ˆo` thi l`a mˆo.t d¯ı˙’nh m`a xo´a n´o s˜e tˇang sˆo´ th`anh phˆa`n liˆen thˆong; cˆa`u l`a ca.nh
m`a xo´a n´o c˜ung c´o a˙’nh hu.o.˙’ng tu.o.ng tu D- ˆo` thi trong H`ınh 1.14 c´o mˆo.t d¯iˆe˙’m kh´o.p l`a d¯ı˙’nh
v4 v`a hai cˆa` u l`a c´ac ca.nh (v1, v4) v`a (v4, v5).
V´ı du 1.3.2 Trong mˆo.t d¯ˆo` thi khˆong c´o chu tr`ınh, c´ac d¯ı˙’nh khˆong pha˙’i l`a d¯ı˙’nh treo, t´u.c
d¯ı˙’nh c´o bˆa.c ≥ 2, l`a d¯iˆe˙’m kh´o.p Ngu.o c la.i, d¯ˆo` thi c´o chu tr`ınh Hamilton (xem Phˆa`n 5.3)
khˆong c´o d¯iˆe˙’m kh´o.p
Trang 29V´ı du 1.3.3 [Ma.ng thˆong tin] Gia˙’ su.˙’ V l`a tˆa.p ho p nh˜u.ng ngu.`o.i thuˆo.c mˆo.t tˆo˙’ ch´u.c n`ao d¯´o; ta d¯ˇa.t (a, b) ∈ E nˆe´u ngu.`o.i a v`a b c´o thˆe˙’ b´ao tin v´o.i nhau Nh˜u.ng ngu.`o.i liˆen la.c l`a
nh˜u.ng d¯iˆe˙’m kh´o.p Nh˜u.ng ngu.`o.i d¯´o l`a nh˜u.ng mˇa´t x´ıch quan tro.ng, v`ı mˆa´t ho s˜e ph´a v˜o.t´ınh thˆo´ng nhˆa´t v`a su liˆen kˆe´t cu˙’a tˆo˙’ ch´u.c
D- i.nh l´y 1.3.4 Gia˙’ su.˙’ G = (V, E) l`a d¯ˆo` thi liˆen thˆong Khi d¯´o d¯ı˙’nh v ∈ V l`a d¯iˆe˙’m kh´o.p nˆe´u v`a chı˙’ nˆe´u tˆo `n ta.i hai d¯ı˙’nh a v`a b sao cho mo.i dˆay chuyˆe`n nˆo´i a v´o.i b d¯ˆe`u d¯i qua v.
Ch´u.ng minh D - iˆe ` u kiˆe.n cˆa`n Nˆe´u d¯ˆo` thi con sinh bo.˙’i tˆa.p ho p V \ {v} khˆong liˆen thˆong th`ı
n´o ch´u.a ´ıt nhˆa´t hai th`anh phˆa` n C v`a C; gia˙’ su.˙’ a l`a mˆo.t d¯ı˙’nh n`ao d¯´o cu˙’a C v`a b l`a mˆo.t d¯ı˙’nh n`ao d¯´o cu˙’a C Trong d¯ˆo ` thi liˆen thˆong ban d¯ˆa`u G mo.i dˆay chuyˆe`n bˆa´t k`y nˆo´i a v´o.i b
d¯ˆe` u pha˙’i d¯i qua v.
D - iˆe ` u kiˆe.n d¯u˙’ Nˆe´u mˆo.t dˆay chuyˆe`n bˆa´t k`y nˆo´i a v´o.i b d¯ˆe`u d¯i qua v th`ı d¯ˆo` thi con sinh ra bo.˙’i V \ {v} khˆong thˆe˙’ liˆen thˆong; bo.˙’i vˆa.y d¯ı˙’nh v l`a d¯iˆe˙’m kh´o.p /
Ta c´o thˆe˙’ d¯i.nh ngh˜ıa: d¯ˆo` thi n d¯ı˙’nh (n ≥ 3) l`a 2−liˆen thˆong hay d¯ˆo` thi khˆong t´ach d¯u.o c nˆe´u v`a chı˙’ nˆe´u n´o liˆen thˆong v`a khˆong c´o d¯iˆe˙’m kh´o p C´ac d¯ˆo` thi con 2−liˆen thˆong cu c d¯a.i cu˙’a G ta.o th`anh mˆo.t phˆan hoa.ch cu˙’a G, v`a go.i l`a c´ac th`anh phˆa`n 2−liˆen thˆong cu˙’a G.
D- ˆe˙’ t`ım c´ac d¯iˆe˙’m kh´o.p v`a c´ac th`anh phˆa`n 2−liˆen thˆong ta c´o thˆe˙’ su.˙’ du.ng thuˆa.t to´an
t`ım kiˆe´m theo chiˆe` u sˆau
V´o.i mˆo˜i d¯ı˙’nh v i , x´et tˆa.p D(i) c´ac d¯ı˙’nh d¯´u.ng liˆe ` n tru.´o.c d¯ı˙’nh v i trong cˆay T x´ac d¯i.nh
bo.˙’i thuˆa.t to´an t`ım kiˆe´m theo chiˆe` u sˆau Khi d¯´o, v´o.i mo.i d¯ı˙’nh v j ∈ D(i) ta c´o
Do d¯´o, trong V´ı du 1.3.1 (H`ınh 1.15), d¯ı˙’nh v2 c´o d¯´ung mˆo.t d¯ı˙’nh tru.´o.c liˆe` n kˆe` l`a d¯ı˙’nh
v4, v`a do d¯´o inf(2) = num(4) = 2.
Ch´u ´y rˇa`ng inf(i) ≤ num(i) v`ı kho.˙’i d¯ˆa ` u t`u tiˆe ` n bˆo´i cu˙’a v i n´o c´o thˆe˙’ tro.˙’ vˆe` v i
Trang 30Ho.n n˜u.a, dˆe˜ d`ang chı˙’ ra rˇa`ng, nˆe´u inf(i) = num(i) th`ı d¯ı˙’nh v i l`a d¯iˆe˙’m kh´o.p cu˙’a d¯ˆo`
thi Ngo`ai ra, c´ac d¯ı˙’nh bˇa´t gˇa.p khi duyˆe.t tro.˙’ la.i d¯ı˙’nh v i ta.o th`anh mˆo.t th`anh phˆa`n 2−liˆen
thˆong
Thuˆa.t to´an du.´o.i d¯ˆay tr`ınh b`ay phu.o.ng ph´ap x´ac d¯i.nh c´ac d¯iˆe˙’m kh´o.p cu˙’a d¯ˆo` thi liˆen
thˆong xuˆa´t ph´at t`u d¯ı˙’nh s.
Thuˆa.t to´an Tarjan t`ım d¯iˆe˙’m kh´o.p cu˙’a d¯ˆo` thi liˆen thˆong xuˆa´t ph´at t`u d¯ı˙’nh s
1 [Kho.˙’i ta.o] D- ˇa.t P(i) = 0, d+
i := #Γ(v i ), n(i) = 0 v`a inf(i) = ∞ v´o.i mo.i d¯ı˙’nh v i , i =
1, 2, , n; k = 0, num(s) = 1, P (s) = s, i = s.
2 [Bu.´o.c lˇa.p] Trong khi (n(i) 6= d(i)) hoˇa.c (i 6= s) thu c hiˆe.n
• Nˆe´u n(i) = d(i) d¯ˇa.t
q = inf(i), i = P (i), inf(i) = min(q, inf(i)).
Nˆe´u inf(i) =num(i) th`ı v i l`a d¯iˆe˙’m kh´o.p (v`a ta c´o thˆe˙’ x´ac d¯i.nh th`anh phˆa`n 2−liˆen
thˆong)
• Ngu.o c la.i, t´u.c l`a n(i) 6= d(i) (viˆe´ng thˇam d¯ı˙’nh kˆe´ tiˆe´p trong Γ(v i))
Nˆe´u j = P (i) th`ı g´an n(i) = n(i) + 1, j = Γ n(i) (i).
Mˆe.nh d¯ˆe` sau l`a hiˆe˙’n nhiˆen:
Mˆe.nh d¯ˆe` 1.3.5 C´ac thuˆa.t to´an Tr´emaux-Tarjan v`a Tarjan c´o th`o.i gian O(m).
Thiˆe´t diˆe.n A ⊂ V cu˙’a d¯ˆo` thi liˆen thˆong G l`a tˆa.p con A c´ac d¯ı˙’nh sao cho d¯ˆo` thi con
G V \A nhˆa.n d¯u.o c t`u G bˇa`ng c´ach xo´a c´ac d¯ı˙’nh trong A (v`a c´ac ca.nh liˆen thuˆo.c n´o) khˆong
liˆen thˆong
D- ˆo` thi go.i l`a k−liˆen thˆong nˆe´u v`a chı˙’ nˆe´u n´o liˆen thˆong, c´o sˆo´ d¯ı˙’nh n ≥ k +1, v`a khˆong ch´u.a mˆo.t thiˆe´t diˆe.n c´o lu c lu.o ng (k − 1).
Trang 31C´ac d¯ˆo` thi con k−liˆen thˆong cu c d¯a.i cu˙’a G ta.o th`anh mˆo.t phˆan hoa.ch cu˙’a G v`a go.i l`a c´ac th`anh phˆa ` n k−liˆen thˆong.
C´ac th`anh phˆa` n 3−liˆen thˆong cu˙’a d¯ˆo ` thi c´o thˆe˙’ nhˆa.n d¯u.o c trong th`o.i gian O(m) bˇa`ng
thuˆa.t to´an tu.o.ng tu cu˙’a Tarjan
D- a d¯ˆo` thi liˆen thˆong G go.i l`a k−ca.nh liˆen thˆong nˆe´u n´o vˆa˜n c`on liˆen thˆong khi xo´a d¯i
´ıt ho.n k ca.nh.
Do d¯´o, d¯a d¯ˆo` thi l`a 2−liˆen thˆong nˆe´u v`a chı˙’ nˆe´u n´o liˆen thˆong v`a khˆong ch´u.a cˆa`u Bˇa`ng c´ach su.˙’a d¯ˆo˙’i la.i thuˆa.t to´an Tarjan, ta c´o thˆe˙’ x´ac d¯i.nh c´ac cˆa`u trong th`o.i gian O(m) X´et t´ınh 2−ca.nh liˆen thˆong c´o nhiˆe` u ´u.ng du.ng trong thu c tˆe´: ma.ng d¯iˆe.n, d¯iˆe.n thoa.i, v.v.,
pha˙’i 2−ca.nh liˆen thˆong!
1.3.5 D - ˆo ` thi liˆen thˆong ma.nh
D- ˆo` thi c´o hu.´o.ng go.i l`a liˆen thˆong ma.nh nˆe´u tˆa´t ca˙’ c´ac cˇa.p d¯ı˙’nh v i v`a v j tˆo`n ta.i d¯u.`o.ng d¯i
t`u v i d¯ˆe´n v j
X´et quan hˆe v i Rv j nˆe´u v`a chı˙’ nˆe´u hoˇa.c v i = v j hoˇa.c tˆo`n ta.i d¯u.`o.ng d¯i t`u d¯ı˙’nh v i d¯ˆe´n
d¯ı˙’nh v j v`a d¯u.`o.ng d¯i t`u d¯ı˙’nh v j d¯ˆe´n d¯ı˙’nh v i Dˆe˜ thˆa´y d¯ˆay l`a quan hˆe tu.o.ng d¯u.o.ng (pha˙’n
xa., d¯ˆo´i x´u.ng v`a bˇa´c cˆa`u)
L´o.p tu.o.ng d¯u.o.ng trˆen V x´ac d¯i.nh bo.˙’i quan hˆe tu.o.ng d¯u.o.ng R phˆan hoa.ch tˆa.p V th`anh c´ac tˆa.p con r`o.i nhau V1, V2, , V p Sˆo´ p go.i l`a sˆo´ th`anh phˆa`n liˆen thˆong ma.nh cu˙’a d¯ˆo` thi C´ac d¯ˆo` thi con G1, G2, , G p sinh bo.˙’i c´ac tˆa.p con V1, V2, , V p go.i l`a c´ac th`anh phˆa`n liˆen thˆong ma.nh cu˙’a G Theo d¯i.nh ngh˜ıa, d¯ˆo` thi liˆen thˆong ma.nh nˆe´u v`a chı˙’ nˆe´u sˆo´ th`anh
phˆa` n liˆen thˆong ma.nh bˇa`ng mˆo.t
Nhˆa.n x´et rˇa`ng, th`anh phˆa`n liˆen thˆong ma.nh C l ch´u.a d¯ı˙’nh v l d¯u.o c cho bo.˙’i
C l = ˆΓv l ∩ ˆΓ−1
v l ,
v`a t`u d¯´o suy ra mˆo.t thuˆa.t to´an rˆa´t d¯o.n gia˙’n th`o.i gian d¯a th´u.c O(m) du a trˆen thuˆa.t to´an
t`ım kiˆe´m theo chiˆe` u sˆau m`a c´o thˆe˙’ su.˙’ du.ng n´o d¯ˆe˙’ t`ım C l
Do d¯´o t´ınh liˆen thˆong ma.nh dˆe˜ d`ang kiˆe˙’m tra Chı˙’ cˆa`n x´et khi n`ao C l ≡ V (H˜ay gia˙’i
b`ai to´an n`ay bˇa`ng ma trˆa.n)
Nˆe´u mˇa.t kh´ac, ch´ung ta muˆo´n t`ım tˆa´t ca˙’ c´ac th`anh phˆa`n liˆen thˆong ma.nh, ta s˜e su.˙’du.ng Thuˆa.t to´an Tarjan
Trang 32Thˆa.t vˆa.y ta s˜e ch´u.ng minh rˇa`ng, thuˆa.t to´an Tarjan ´ap du.ng v´o.i c´ac d¯ˆo` thi c´o hu.´o.ng,
cho ph´ep t`ım c´ac th`anh phˆa` n liˆen thˆong ma.nh
Ch´ung ta kho.˙’i d¯ˆa` u v´o.i thuˆa.t to´an t`ım kiˆe´m theo chiˆe`u sˆau, nhu trong c´ac thuˆa.t to´ant`ım kiˆe´m theo chiˆe` u sˆau v`a Tarjan V´o.i mˆo˜i d¯ı˙’nh v i x´et mˆo.t chı˙’ sˆo´ m´o.i l`a sˆo´ nho˙’ nhˆa´t cu˙’a
chı˙’ sˆo´ d¯ı˙’nh m`a c´o thˆe˙’ d¯ˆe´n n´o bˇa`ng chı˙’ mˆo.t cung t`u mˆo.t hˆa.u duˆe cu˙’a v i trong cˆay gia pha˙’ Chı˙’ sˆo´ m´o.i n`ay d¯u.o c k´y hiˆe.u l`a inf(i).
Nhˆa.n x´et rˇa`ng ch´ung ta luˆon luˆon c´o inf(i) ≤ num(i) Dˆe˜ d`ang chı˙’ ra rˇa`ng khi ch´ung
ta tro.˙’ la.i trong cˆay gia pha˙’, th`ı mˆo.t d¯ı˙’nh m`a xa˙’y ra d¯ˇa˙’ng th´u.c inf(i) = num(i) s˜e phˆan
hoa.ch d¯ˆo` thi th`anh ´ıt nhˆa´t hai th`anh phˆa`n liˆen thˆong ma.nh, v`a mˆo.t trong ch´ung tu.o.ng ´u.ng
tˆa.p c´ac d¯ı˙’nh m`a d¯˜a d¯u.o c viˆe´ng thˇam tru.´o.c khi t´o.i d¯ı˙’nh v i
D- ˆo` thi trong H`ınh 1.16 c´o ba th`anh phˆa`n liˆen thˆong ma.nh:
v`a tˆo`n ta.i cung gi˜u.a hai d¯ı˙’nh C i v`a C j nˆe´u v`a chı˙’ nˆe´u tˆo`n ta.i ´ıt nhˆa´t mˆo.t cung gi˜u.a mˆo.t
d¯ı˙’nh cu˙’a C i v`a C j trong G Hiˆe˙’n nhiˆen d¯ˆo ` thi G r khˆong c´o ma.ch H`ınh 1.17 l`a d¯ˆo` thi thugo.n cu˙’a d¯ˆo` thi c´o hu.´o.ng trong H`ınh 1.16 Nghiˆen c´u.u c´ac th`anh phˆa`n liˆen thˆong ma.nh v`at`ım d¯ˆo` thi thu go.n l`a nh˜u.ng b`ai to´an thu c tiˆe˜n quan tro.ng; chˇa˙’ng ha.n trong mˆo´i liˆen hˆe v´o.ix´ıch Markov, trong phˆan t´ıch cˆa´u tr´uc cu˙’a mˆo.t hˆe thˆo´ng (xem [30]) Phˆa`n tiˆe´p theo ch´ung
ta s˜e d¯ˆe˙’ cˆa.p thˆem vˆe` vˆa´n d¯ˆe` n`ay
Trang 33Ta biˆe´t rˇa`ng hˆe thˆo´ng truyˆe` n thˆong cu˙’a mˆo.t tˆo˙’ ch´u.c c´o thˆe˙’ xem nhu mˆo.t d¯ˆo` thi trong d¯´omˆo˜i ngu.`o.i tu.o.ng ´u.ng mˆo.t d¯ı˙’nh v`a c´ac kˆenh truyˆe` n thˆong tu.o.ng ´u.ng c´ac cung Cˆau ho˙’i
d¯ˇa.t ra l`a trong hˆe thˆo´ng n`ay, thˆong tin t`u v i c´o thˆe˙’ d¯ˆe´n d¯u.o c v j khˆong? T´u.c l`a c´o tˆo`n ta.i
d¯u.`o.ng d¯i t`u v i d¯ˆe´n v j? Nˆe´u d¯u.`o.ng d¯i d¯´o tˆo`n ta.i ta n´oi v j thuˆo.c pha.m vi cu˙’a v i Ch´ung ta c˜ung quan tˆam d¯ˆe´n c´o d¯u.`o.ng d¯i t`u v i d¯ˆe´n v j v´o.i sˆo´ cung ha.n chˆe´ khˆong? Mu.c d¯´ıch cu˙’aphˆa` n n`ay l`a tha˙’o luˆa.n mˆo.t v`ai kh´ai niˆe.m co ba˙’n liˆen quan d¯ˆe´n c´ac t´ınh chˆa´t pha.m vi v`aliˆen thˆong ma.nh cu˙’a c´ac d¯ˆo` thi v`a gi´o.i thiˆe.u mˆo.t sˆo´ thuˆa.t to´an co so.˙’
Theo thuˆa.t ng˜u cu˙’a d¯ˆo` thi biˆe˜u diˆe˜n cho mˆo.t tˆo˙’ ch´u.c, phˆa`n n`ay kha˙’o s´at mˆo.t sˆo´ cˆauho˙’i:
1 Sˆo´ ngu.`o.i ´ıt nhˆa´t m`a mˆo˜i ngu.`o.i trong tˆo˙’ ch´u.c c´o thˆe˙’ liˆen la.c d¯u.o c bˇa`ng bao nhiˆeu?
2 Sˆo´ ngu.`o.i nhiˆe` u nhˆa´t c´o thˆe˙’ liˆen la.c d¯u.o c v´o.i nhau bˇa`ng bao nhiˆeu?
3 Hai b`ai to´an trˆen c´o quan hˆe g`ı v´o.i nhau?
1.4.1 Ma trˆ a.n pha.m vi
Ma trˆa.n pha.m vi R = (r ij) d¯i.nh ngh˜ıa nhu sau:
r ij :=
(
1 nˆe´u tˆo`n ta.i d¯u.`o.ng d¯i t`u d¯ı˙’nh v i d¯ˆe´n d¯ı˙’nh v j ,
0 nˆe´u ngu.o c la.i
Tˆa.p R(v i) c´ac d¯ı˙’nh cu˙’a d¯ˆo` thi G c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u d¯ı˙’nh v i gˆo`m c´ac d¯ı˙’nh v j sao chophˆa` n tu.˙’ r ij bˇa`ng 1 Theo d¯i.nh ngh˜ıa, tˆa´t ca˙’ c´ac phˆa`n tu.˙’ trˆen d¯u.`o.ng ch´eo cu˙’a ma trˆa.n pha.m
vi bˇa`ng 1
Trang 34Do Γ(v i ) l`a tˆa.p c´ac d¯ı˙’nh c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u v i theo mˆo.t d¯u.`o.ng d¯i c´o d¯ˆo d`ai 1 nˆen
tˆa.p Γ(Γ(v i)) = Γ2(v i) gˆo`m nh˜u.ng d¯ı˙’nh c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u v i theo mˆo.t d¯u.`o.ng d¯i c´o d¯ˆo d`ai
2 Tu.o.ng tu , Γp (v i ) l`a tˆa.p nh˜u.ng d¯ı˙’nh c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u v i theo mˆo.t d¯u.`o.ng d¯i c´o d¯ˆo d`ai
p Do vˆa.y, tˆa.p c´ac d¯ı˙’nh c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u v i l`a
Vˆa.y ma trˆa.n pha.m vi c´o thˆe˙’ d¯u.o c xˆay du ng nhu sau T`ım tˆa.p R(v i ) v´o.i mˆo˜i d¯ı˙’nh v i
theo trˆen D- ˇa.t r ij = 1 nˆe´u v j ∈ R(v i ), v`a r ij = 0 nˆe´u ngu.o c la.i
Ma trˆa.n d¯a.t d¯u.o c Q = (q ij) d¯i.nh ngh˜ıa nhu sau:
q ij :=
(
1 nˆe´u tˆo`n ta.i d¯u.`o.ng d¯i t`u d¯ı˙’nh v j d¯ˆe´n d¯ı˙’nh v i ,
0 nˆe´u ngu.o c la.i
Tˆa.p Q(v i) cu˙’a d¯ˆo` thi G l`a tˆa.p c´ac d¯ı˙’nh c´o thˆe˙’ d¯ˆe´n d¯u.o c d¯ı˙’nh v i Tu.o.ng tu nhu trˆen
ta c˜ung c´o
Q(v i ) = {v i } ∪ Γ −1 (v i ) ∪ Γ −2 (v i ) ∪ · · · ∪ Γ −p (v i ), (1.2)trong d¯´o Γ−2 (v i) = Γ−1(Γ−1 (v i )),
T`u d¯i.nh ngh˜ıa, hiˆe˙’n nhiˆen c´o Q = R t
V´ı du 1.4.1 X´et d¯ˆo` thi G trong H`ınh 1.18 Ma trˆa.n kˆe` cu˙’a G l`a
Trang 35= {v2, v4, v5}, R(v3) = {v3} ∪ {v4} ∪ {v5} ∪ {v5}
= {v3, v4, v5}, R(v4) = {v4} ∪ {v5} ∪ {v5}
= {v4, v5}, R(v5) = {v5} ∪ {v5}
= {v5}, R(v6) = {v6} ∪ {v3, v7} ∪ {v4, v6} ∪ {v3, v5, v7} ∪ {v4, v5, v6}
= {v3, v4, v5, v6, v7}, R(v7) = {v7} ∪ {v4, v6} ∪ {v3, v5, v7} ∪ {v4, v5, v6}
= {v3, v4, v5, v6, v7}.
Trang 36Do d¯´o ma trˆa.n pha.m vi c´o da.ng
Cˆa` n ch´u ´y rˇa`ng, do R v`a Q l`a c´ac ma trˆa.n Boole, mˆo˜i h`ang cu˙’a ch´ung c´o thˆe˙’ lu.u da.ng
mˆo.t hoˇa.c ho.n mˆo.t t`u (word) Viˆe.c t`ım c´ac ma trˆa.n n`ay l`a mˆo.t t´ınh to´an d¯o.n gia˙’n do chı˙’du a v`ao c´ac ph´ep to´an logic
T`u d¯i.nh ngh˜ıa, R(v i ) ∩ Q(v j ) l`a tˆa.p c´ac d¯ı˙’nh v k m`a c´o ´ıt nhˆa´t mˆo.t d¯u.`o.ng d¯i t`u v i d¯ˆe´n
v j qua d¯ı˙’nh v k C´ac d¯ı˙’nh n`ay go.i l`a cˆo´t yˆe´u Tˆa´t ca˙’ c´ac d¯ı˙’nh v k ∈ R(v / i ) ∩ Q(v j ) go.i l`a khˆong cˆo´t yˆe´u hay du th`u.a do bo˙’ ch´ung d¯i khˆong a˙’nh hu.o.˙’ng d¯ˆe´n c´ac d¯u.`o.ng d¯i t`u v i d¯ˆe´n v j C´ac ma trˆa.n R v`a Q d¯i.nh ngh˜ıa trˆen l`a tuyˆe.t d¯ˆo´i theo ngh˜ıa sˆo´ c´ac cung trˆen d¯u.`o.ng d¯i t`u v i d¯ˆe´n v j khˆong bi ha.n chˆe´ Mˇa.t kh´ac ta c˜ung c´o thˆe˙’ d¯i.nh ngh˜ıa tu.o.ng tu c´ac matrˆa.n n`ay v´o.i sˆo´ cung trˆen d¯u.`o.ng d¯i khˆong vu.o t qu´a mˆo.t sˆo´ cho tru.´o.c V´o.i mo.˙’ rˆo.ng n`ay tac˜ung c´o thˆe˙’ t´ınh d¯u.o c c´ac ma trˆa.n ha.n chˆe´ theo lu.o c d¯ˆo` trˆen
D- ˆo` thi d¯u.o c go.i l`a bˇa´c cˆa`u nˆe´u tˆo`n ta.i c´ac cung (v i , v j ) v`a (v j , v k) th`ı c˜ung tˆo`n ta.i cung
(v i , v k ) Bao d¯´ong bˇa´c cˆa ` u cu˙’a d¯ˆo ` thi G = (V, E) l`a d¯ˆo` thi G tc = (V, E ∪ E 0 ) trong d¯´o E 0 l`a
c´ac cung d¯u.o c thˆem v`ao ´ıt nhˆa´t d¯ˆe˙’ d¯ˆo` thi G tc c´o t´ınh bˇa´c cˆa` u Dˆe˜ d`ang ch´u.ng minh rˇa`ng
ma trˆa.n kˆe` cu˙’a d¯ˆo` thi G tc ch´ınh l`a ma trˆa.n pha.m vi R v`a bˇa`ng
A + A2+ · · · + A p , (p ≤ n − 1), trong d¯´o A l`a ma trˆa.n kˆe ` cu˙’a G (Ta.i sao?)
1.4.2 T`ım c´ ac th` anh phˆ ` n liˆen thˆong ma.nh a
Th`anh phˆa` n liˆen thˆong ma.nh d¯i.nh ngh˜ıa trong phˆa`n tru.´o.c tru.´o.c l`a d¯ˆo` thi con liˆen thˆong
ma.nh l´o.n nhˆa´t trong G V`ı v´o.i d¯ˆo` thi liˆen thˆong ma.nh, v´o.i mo.i cˇa.p d¯ı˙’nh v i , v j , luˆon luˆon
tˆo`n ta.i mˆo.t d¯u.`o.ng d¯i t`u d¯ı˙’nh v i d¯ˆe´n d¯ı˙’nh v j v`a ngu.o c la.i, nˆen tˆo`n ta.i duy nhˆa´t mˆo.t th`anhphˆa` n liˆen thˆong ma.nh ch´u.a mˆo.t d¯ı˙’nh cho tru.´o.c v`a v i s˜e xuˆa´t hiˆe.n trong tˆa.p c´ac d¯ı˙’nh cu˙’amˆo.t v`a chı˙’ mˆo.t th`anh phˆa`n liˆen thˆong ma.nh Khˇa˙’ng d¯i.nh n`ay l`a hiˆe˙’n nhiˆen (ta.i sao?)
Trang 37Nˆe´u d¯ı˙’nh v i d¯u.o c coi v`u.a l`a xuˆa´t ph´at v`u.a l`a kˆe´t th´uc th`ı tˆa.p c´ac d¯ı˙’nh cˆo´t yˆe´u tu.o.ng
´u.ng v´o.i hai d¯ı˙’nh tr`ung nhau n`ay (t´u.c l`a tˆa.p c´ac d¯ı˙’nh thuˆo.c ma.ch n`ao d¯´o ch´u.a v i) x´ac d¯i.nh
bo.˙’i R(v i ) ∩ Q(v i ) V`ı tˆa´t ca˙’ c´ac d¯ı˙’nh cˆo´t yˆe´u n`ay c´o thˆe˙’ d¯ˆe´n t`u v i v`a ngu.o c la.i nˆen ch´ungc˜ung c´o thˆe˙’ d¯ˆe´n d¯u.o c c´ac d¯ı˙’nh kh´ac trong tˆa.p n`ay v`a ngu.o c la.i Ho.n n˜u.a, dˆe˜ thˆa´y rˇa`ng
tˆa.p R(v i ) ∩ Q(v i) x´ac d¯i.nh c´ac d¯ı˙’nh cu˙’a th`anh phˆa`n liˆen thˆong ma.nh duy nhˆa´t tu.o.ng ´u.ng
v´o.i d¯ı˙’nh v i
Nˆe´u ta loa.i c´ac d¯ı˙’nh n`ay kho˙’i d¯ˆo` thi G = (V, Γ) th`ı c´o thˆe˙’ ´ap du.ng t`ım th`anh phˆa`n liˆen thˆong ma.nh trˆen d¯ˆo` thi con nhˆa.n d¯u.o c G 0 v´o.i tˆa.p d¯ı˙’nh V \ (R(v i ) ∩ Q(v i )) Qu´a tr`ınh
n`ay lˇa.p la.i cho d¯ˆe´n khi tˆa´t ca˙’ c´ac th`anh phˆa`n liˆen thˆong ma.nh d¯u.o c t`ım Kˆe´t th´uc ta c´o d¯ˆo`
thi G d¯u.o c phˆan hoa.ch th`anh c´ac th`anh phˆa`n liˆen thˆong ma.nh.
V´ı du 1.4.2 X´et d¯ˆo` thi trong H`ınh 1.19 Ch´ung ta h˜ay t`ım th`anh phˆa`n liˆen thˆong ma.nh
Trang 38Tu.o.ng tu , th`anh phˆa`n liˆen thˆong ma.nh ch´u.a d¯ı˙’nh v8 l`a d¯ˆo` thi con h{v8, v10}i, ch´u.a d¯ı˙’nh v7 l`a d¯ˆo` thi con h{v4, v7, v9}i, ch´u.a d¯ı˙’nh v11 l`a d¯ˆo` thi con h{v11, v12, v13}i, v`a ch´u.a d¯ı˙’nh
v3 l`a d¯ˆo` thi con h{v3}i D - ˆo` thi thu go.n G r d¯u.o c cho trong H`ınh 1.20
H`ınh 1.20: D- ˆo` thi thu go.n G r
C´ac ph´ep to´an d¯u.o c miˆeu ta˙’ trˆen d¯ˆe˙’ t`ım c´ac th`anh phˆa`n liˆen thˆong ma.nh cu˙’a mˆo.t d¯ˆo`
thi c˜ung c´o thˆe˙’ su.˙’ du.ng tru c tiˆe´p d¯ˆo´i v´o.i c´ac ma trˆa.n R v`a Q d¯i.nh ngh˜ıa phˆa`n tru.´o.c Do d¯´o nˆe´u ta k´y hiˆe.u R ⊗ Q c´o ngh˜ıa l`a ma trˆa.n nhˆa.n d¯u.o c t`u R v`a Q bˇa`ng c´ach nhˆan c´ac
phˆa` n tu.˙’ tu.o.ng ´u.ng th`ı phˆa` n tu.˙’ (R ⊗ Q) ij = r ij q ij bˇa`ng 1 nˆe´u tˆo`n ta.i d¯u.`o.ng d¯i t`u v i d¯ˆe´n v j
v`a ngu.o c la.i, v`a bˇa`ng 0 trong tru.`o.ng ho p ngu.o c la.i Do d¯´o hai d¯ı˙’nh thuˆo.c c`ung mˆo.t th`anhphˆa` n liˆen thˆong ma.nh nˆe´u v`a chı˙’ nˆe´u c´ac h`ang (hoˇa.c cˆo.t) tu.o.ng ´u.ng bˇa`ng nhau C´ac d¯ı˙’nh
m`a h`ang tu.o.ng ´u.ng ch´u.a mˆo.t phˆa`n tu.˙’ 1 o.˙’ cˆo.t v j ta.o th`anh tˆa.p d¯ı˙’nh cu˙’a th`anh phˆa`n liˆen
thˆong ma.nh ch´u.a v i Hiˆe˙’n nhiˆen rˇa`ng c´o thˆe˙’ biˆe´n d¯ˆo˙’i ma trˆa.n R ⊗ Q bˇa`ng ph´ep ho´an vi.
c´ac h`ang v`a c´ac cˆo.t sao cho ma trˆa.n thu d¯u.o c c´o da.ng khˆo´i ch´eo; mˆo˜i ma trˆa.n con ch´eo
tu.o.ng ´u.ng v´o.i mˆo.t th`anh phˆa`n liˆen thˆong ma.nh cu˙’a G v`a c´o c´ac phˆa`n tu.˙’ bˇa`ng 1, c´ac phˆa`n
Trang 39tu.˙’ kh´ac bˇa`ng 0 V´o.i v´ı du trˆen, ma trˆa.n R ⊗ Q d¯u.o c sˇa´p x´e6p la.i c´o da.ng
2 v´o.i mo.i tˆa.p con S ⊂ B th`ı R(S) 6= V.
D- iˆe` u kiˆe.n th´u hai tu.o.ng d¯u.o.ng v´o.i d¯iˆe`u kiˆe.n v j ∈ R(v / i ) v´o.i hai d¯ı˙’nh phˆan biˆe.t v i , v j ∈ B; t´u.c l`a mˆo.t d¯ı˙’nh thuˆo.c B khˆong thˆe˙’ d¯ˆe´n d¯u.o c t`u mˆo.t d¯ı˙’nh kh´ac trong B D- iˆe` u n`ay c´o thˆe˙’ch´u.ng minh nhu sau:
Do v´o.i hai tˆa.p con H v`a H 0 ⊂ H ta c´o R(H 0 ) ⊂ R(H) nˆen d¯iˆe ` u kiˆe.n R(S) 6= V v´o.i mo.i
S ⊂ B tu.o.ng d¯u.o.ng v´o.i R(B\{v j }) 6= V v´o.i mo.i v j ∈ B N´oi c´ach kh´ac, R(v j ) 6⊂ R(B\{v j }).
Nhu.ng d¯iˆe` u kiˆe.n n`ay thoa˙’ m˜an nˆe´u v`a chı˙’ nˆe´u v j ∈ R(B \ {v / j }), t´u.c l`a v j ∈ R(v / i) v´o.i mo.i
v i , v j ∈ B.
Vˆa.y, co so.˙’ l`a mˆo.t tˆa.p B c´ac d¯ı˙’nh thoa˙’ m˜an hai d¯iˆe` u kiˆe.n sau:
Trang 401 tˆa´t ca˙’ c´ac d¯ı˙’nh cu˙’a G c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u d¯ı˙’nh n`ao d¯´o cu˙’a B; v`a
2 khˆong d¯ı˙’nh n`ao trong B c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u mˆo.t d¯ı˙’nh thuˆo.c B.
T`u hai d¯iˆe` u kiˆe.n n`ay ta suy ra
Mˆe.nh d¯ˆe` 1.4.3 (i) Khˆong tˆo `n ta.i hai d¯ı˙’nh trong co so.˙’ B sao cho ch´ung thuˆo.c c`ung mˆo.t th`anh phˆa ` n liˆen thˆong ma.nh cu˙’a G.
(b) D - ˆo ` thi khˆong ma.ch c´o duy nhˆa´t mˆo.t co so.˙’ gˆo`m tˆa.p c´ac d¯ı˙’nh c´o bˆa.c trong bˇa`ng khˆong.
Theo Mˆe.nh d¯ˆe` trˆen v`a do d¯ˆo` thi thu go.n G r cu˙’a d¯ˆo` thi G khˆong c´o ma.nh nˆen tˆa.p co so.˙’ B r cu˙’a G r l`a tˆa.p c´ac d¯ı˙’nh c´o bˆa.c trong bˇa`ng khˆong C´ac tˆa.p co so.˙’ cu˙’a G c´o thˆe˙’ x´ac d¯i.nh du a v`ao B r Cu thˆe˙’ l`a nˆe´u B r = {S1, S2, , S k }, trong d¯´o k l`a sˆo´ c´ac tˆa.p d¯ı˙’nh S j trong co
so.˙’ B r cu˙’a G r , th`ı B l`a tˆa.p da.ng {v i1 , v i2 , , v i k } v´o.i v i j ∈ S j , j = 1, 2, , k.
V´ı du 1.4.4 V´o.i d¯ˆo` thi trong H`ınh 1.19, d¯ˆo` thi thu go.n trong H`ınh 1.20 Co so.˙’ cu˙’a d¯ˆo`
thi n`ay l`a {v ∗
∀S ⊂ ¯ B, Q(S) 6= V.
T´u.c l`a ¯B l`a tˆa.p nho˙’ nhˆa´t c´ac d¯ı˙’nh c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u c´ac d¯ı˙’nh kh´ac C´ac t´ınh chˆa´t cu˙’a ¯ B tu.o.ng tu v´o.i cu˙’a B trong d¯´o c´ac kh´ai niˆe.m vˆe` hu.´o.ng d¯u.o c thay bˇa`ng ba˙’n sao ngu.o c la.i
Do vˆa.y, d¯ˆo´i co so.˙’ cu˙’a d¯ˆo` thi thu go.n G r l`a tˆa.p c´ac d¯ı˙’nh cu˙’a G r c´o bˆa.c ngo`ai bˇa`ng
khˆong, v`a t`u d¯´o ta c´o thˆe˙’ nhˆa.n d¯u.o c d¯ˆo´i co so.˙’ cu˙’a G tu.o.ng tu nhu d¯˜a thu c hiˆe.n o.˙’ trˆen Trong v´ı du cu˙’a d¯ˆo` thi G trong H`ınh 1.19, d¯ˆo` thi thu go.n G r chı˙’ ch´u.a mˆo.t d¯ı˙’nh v ∗
3
c´o bˆa.c ngo`ai bˇa`ng khˆong Do d¯´o d¯ˆo´i co so.˙’ cu˙’a G r l`a {v ∗
3} v`a bo.˙’i vˆa.y d¯ˆo´i co so.˙’ cu˙’a G l`a {v4}, {v7} v`a {v9}.