Xem mẫu

  1. v5 • .. .. .... ....... .... ....... .... .... .... .... .... .... .... .... .... .... .... 25 30 .... ... ... .... .... .... .... .... .... .... .... .... .. .... . .... .... .... .... .. . .... .... .... .... v4 .. .... . .... .... .... 50 .... .... .. . .... .... .... .... .. . .... .... .... v7 • • v3 .... • ......................................................... ......................................................... .... .... . ..... . .. .... .... .... ... . . .. . . .... .... . ..... . .... . ..... . .... . . .... .... . . . .... .... . . . 20 20 . . . ... .... ... .. . .... . . . .... .... . . . .... ... . ... .... . . .. . . . . .... .... .... . . . ... .... . ... . . . .. .... . .... . . . .... .... ... ... . . . .... . . . .... .. . . . . ... .... .... ... .... . . . .... . . . .. . . ... .... ... . . .... .... . .... v6 . . . . . .... . ... .. . ... .... .... . . . .... . . . .... ... . . . .... ... .. . . . . .... .... .... . . . .... ... . ... . . .... ...... .... .... . • . . . ... 25 30 25 . . ... . ... . . . . .. . . . ... ... . . . . . . . . . ... . . 40 . ... . . . . . . . . ... . ... . . . . . . . . . . ... . ... . . . . . . . . . ... . . . ... . . . . . . . . . ... ... . 20 . . . . . . . ... . . . . ... . . . . . . . . ... . ... . . . . . . . . ... . . . . ... . . . ... . . . . ... . . . . . . . . ... . . ... . . . . . . . . . . .... . .... . . • • • • . . . . ................................................................................................................................................................. . . . . ................................................................................................................................................................ . v8 v9 v1 v2 20 40 30 H` 3.2: ınh     012 034 ˙ng ma trˆn A ⊕ B nˆu A =  2 0 3  v` B =  5 0 4  . ’ ´ V´ du 3.3.2 T` tˆ ı. ım o a e a    . 560 310 Ta c´ o       012 034 012      A ⊕ B = 2 0 3 + 5 0 4 = 2 0 3. 560 310 310 Chˇng han, phˆn tu. c23 x´c d .nh bo.i ˙ ’ ` a˙ ’ ˙ ’ a a ¯i . c23 = min{2 + 4, 0 + 4, 3 + 0} = 3.     01∞ 10∞ V´ du 3.3.3 T` tˆ’ng ma trˆn A ⊕ B nˆu A =  1 0 4  v` B =  1 0 4  . ˙ ´ ı. ım o a e a     . ∞40 ∞40 Ta c´ o       01∞ 10∞ 105      A ⊕ B =  1 0 4  +  1 0 4  = 1 0 4. ∞40 ∞40 540 Chˇng han, phˆn tu. c13 x´c d .nh bo.i ˙ ’ ` a˙ ’ ˙ ’ a a ¯i . c23 = min{0 + ∞, 1 + 4, ∞ + 0} = 5. Bˆy gi`. ´p dung tˆ’ng ma trˆn Hedetniemi v`o viˆc t` d u.`.ng d i ngˇn nhˆ t. X´t v´ ˙ ´ ´ a oa o a a e ım ¯ o ¯ a a eı . . . 89
  2. du trong H` 3.2. K´ hiˆu W 2 := W ⊕ W, W k := W k−1 ⊕ W, k ≥ 2. Khi d o ınh ye ¯´ . .   0 30 55 30 60 50 ∞ 60 40  30 70  0 25 40 70 60 ∞ ∞      55 25 0 50 80 70 ∞ ∞ ∞    30 40  40 50 0 30 20 40 ∞   W =  60 ∞. 2 70 80 30 0 ∞ 25 ∞     ∞ 20  ∞ ∞ 20 ∞ 0 20 ∞   ∞ ∞ ∞ ∞ ∞ 25 20 0 25     ∞ ∞ ∞ ∞ ∞ ∞ 25 0 20  40 ∞ ∞ ∞ ∞ 20 ∞ 20 0 Ch´ng ta h˜y x´t c´ch x´c d inh mˆt phˆn tu. cua ma trˆn W 2 = [aij ] : (2) ` a˙˙ ’’ u aea a ¯. o a . . (2) a13 = min{0 + ∞, 30 + 25, ∞ + 0, 30 + 50, ∞ + ∞, ∞ + ∞, ∞ + ∞, ∞ + ∞, 40 + ∞} = 55. Ch´ y rˇ ng gi´ tri 55 l` tˆ’ng cua 30, d o d`i cua d u.`.ng d i ngˇn nhˆ t v´.i sˆ cung mˆt t`. ˙ u´ ` ´ ´ ´ ˙ ’ ¯ˆ a ˙ ¯ o ’ a a. ao ¯ a aoo ou . . (2) ´’ ´’ ¯˙’ ¯e ¯˙ a˙ ’ ¯ˆ a ˙ ’ o ¯˙ a ¯˙’ d ınh v1 dˆn d ınh v2 , v` cua 25, d o d`i cua cung nˆi d ınh v2 v` d ınh v3 . Do d o a13 l` d o d`i ¯´ a ¯ˆ a . . cua d u.`.ng d i ngˇn nhˆ t t`. v1 dˆn v2 v´.i sˆ cung nhiˆu nhˆ t hai. Suy ra W 2 cho ta thˆng ´ ´ ´ ´ ` ´ ˙ ¯o ’ ¯ a au ¯e oo e a o .`.ng d i ngˇn nhˆ t gi˜.a hai d ınh c´ sˆ cung nhiˆu nhˆ t hai. ´ ’´’ ´u ´ ` ´ ˙ a ˙ a ¯ˆ a ¯ ¯˙’ tin cua tˆ t ca c´c d o d`i d u o ¯ a a oo e a . Tu.o.ng tu., W 3 cho ta thˆng tin cua tˆ t ca c´c d o d`i d u.`.ng d i ngˇn nhˆ t gi˜.a hai ´ ’´’ ´u ˙ a ˙ a ¯ˆ a ¯ o o ¯ a a . . d ınh c´ sˆ cung nhiˆu nhˆ t ba, v` vˆn vˆn. Do d` thi c´ n d ınh nˆn c´ nhiˆu nhˆ t (n − 1) ´ ` ´ ` ´ ¯˙’ ¯ˆ . o ¯˙ ’ oo e a aa a o eo e a .`.ng d i ngˇn nhˆ t gi˜.a hai d ınh. Vˆy ´ ´u ¯˙ ’ cung trˆn d u o e¯ ¯ a a a . Dinh l´ 3.3.4 Trong d` thi c´ trong sˆ khˆng ˆm n d ı’nh, phˆn tu. h`ng i cˆt j cu a ma -. ´ ` ¯˙ a ˙a ’ ˙ ’ y ¯ˆ . o . o ooa o . .`.ng d i ngˇn nhˆ t gi˜.a d ı’nh v v` v . ´ ´ n−1 a ¯o a ˙ ¯ ’ a u ¯˙ trˆn Hedetniemi W a l` d ˆ d`i cu a d u o ¯ a iaj . . V´.i d` thi trong H` 3.2 c´ ch´ d ınh, ta c´ o ın ¯˙ ’ o ¯ˆ . o ınh o   0 30 55 30 60 50 70 60 40  30 80 90 70  0 25 40 70 60      55 25 0 50 80 70 90 110 90     30 40 60 40  40 50 0 30 20     8 W =  60 70 80 30 0 45 25 50 65  .    50 20 40 20  60 70 20 45 0    0 25 40   70 80 90 40 25 20     60 90 110 60 50 40 25 0 20  40 70 90 40 65 20 40 20 0 Do d o, d u.`.ng d i ngˇn nhˆ t t`. v1 dˆn v7 c´ d o d`i 70. ´ ´ ´ ¯´ ¯ o ¯ a au ¯e o ¯ˆ a . 90
  3. Diˆu l´ th´ nhˆ t trong v´ du n`y l` W 4 = W 8 . Thˆt vˆy, d ang th´.c suy tru.c tiˆp t`. -` y u a ˙ ’ ´ ´ e ı.aa a a ¯ˇ u eu .. . .`.ng d i ngˇn nhˆ t d i qua nhiˆu nhˆ t bˆn cung. Bo.i vˆy d o d`i ´ d` thi trong H` 3.2: moi d u o ¯ ´ ` ´´ ˙ a ¯ˆ a ’. ¯o . ˆ ınh .¯ a a¯ e ao . .`.ng d i ngˇn nhˆ t d u.o.c x´c d inh bo.i ma trˆn W 4 thay v` phai t´ dˆn W 8 . Tˆ’ng ˙ ´ ´ ´ ˙¯ ’ ˙’ ˙ ınh ¯e ’ cua d u o ¯ a a ¯ . a ¯. a ı o . qu´t ta c´ a o -. Dinh l´ 3.3.5 Trong d` thi c´ trong sˆ khˆng ˆm n d ı’nh, nˆu ma trˆn Hedetniemi W k = ´ ´ ¯˙ y ¯ˆ . o . o ooa e a. ˙u thi tˆp c´c d ˆ d`i cu a c´c d u.`.ng d i ngˇn nhˆ t, v` sˆ ’ ´ ´ ´ k−1 k k+1 k . a a ¯o a ˙ a ¯ o ¯ ’ W , c`n W = W , th` W biˆ o ı e a a ao . . .`.ng d i ngˇn nhˆ t khˆng vu.o.t qu´ k. ˜ ´ ´ cung trˆn mˆ i d u o e o¯ ¯ a a o a . Do d ´, thuˆt to´n n`y c´ thˆ’ d`.ng o. bu.´.c lˇp th´. k < (n − 1). Du.´.i d ay l` d oan ˙ ˙ ’ ¯o a a a o eu oa u o ¯ˆ a ¯ . . . .o.ng tr` minh hoa t´ ma trˆn lu˜ th`.a cua ma trˆn trong lu.o.ng W. yu˙ ’ chu ınh . ınh a a . . . . void Hetdetniemi() { int i, j, k, t; int Old[MAXVERTICES][MAXVERTICES], New[MAXVERTICES][MAXVERTICES]; Boolean Flag; for (i = 1; i
  4. if (Flag == TRUE) break; } } X´c d .nh d .`.ng d ngˇn nhˆ t ´ ´ a ¯i ¯u o ¯i a a Bˆy gi`. ta t` d u.`.ng d i ngˇn nhˆ t t`. v1 dˆn v7 (d o d`i 70). Ta c´ ´ ´ ´ a o ım ¯ o ¯ a au ¯e ¯ˆ a o . (4) (3) w14 = w1k ⊕ wk7 v´.i k n`o d o. Nhu.ng c´c phˆn tu. w1k tao th`nh vector h`ng ’ (3) . ` a˙ o a ¯´ a a a (0, 30, 55, 30, 60, 50, 70, 60, 40) v` c´c phˆn tu. wk7 tao th`nh vector cˆt ` a˙ ’ aa a o . . (∞, ∞, ∞, ∞, 25, 20, 0, 25, ∞). V` gi´ tri nho nhˆ t d at d u.o.c tai k = 6 u.ng v´.i 70 = 50 + 20 (v` k = 7) nˆn d u.`.ng d i ngˇn ´ ´ ˙ a ¯. ¯ . . ’ ıa. ´ o a e ¯o ¯ a . v dˆn v s˜ d i qua nhiˆu nhˆ t ba cung t`. v dˆn v v` kˆt th´c v´.i cung d o d`i 20 ´ ´ ` ´ ´ ´ nhˆ t t` 1 ¯e 7 e ¯ au e a u 1 ¯e 6 a e uo ¯ˆ a . . v dˆn v . (Thˆt ra, do gi´ tri nho nhˆ t c˜ng d at d u.o.c tai k = 7 (´.ng v´.i 70 + 0) nˆn ´ ´ ˙ ’ a u ¯. ¯ . . t` 6 ¯e 7 u a a. u o e . ` n tai d u.`.ng d i ngˇn nhˆ t t`. v1 dˆn v7 v´.i tˆ’ng sˆ cung d i qua khˆng vu.o.t qu´ ba). ˙ ´ ´u ´ ´ tˆ . ¯ o o ¯ a a ¯e oo o ¯ o a . Tiˆp dˆn ta t` cung tru.´.c khi dˆn d ınh v6 . Ch´ y rˇ ng w16 = 70 − 20 = 50. C´c (4) u´ ` ´´ ´’ ¯e ¯ ˙ e ¯e ım o a a phˆn tu. wk6 tao th`nh vector cˆt ` a˙ ’ a o . . (∞, ∞, ∞, 20, ∞, 0, 20, ∞, 20). Lˆn n`y gi´ tri nho nhˆ t d at tai k = 4 (´.ng v´.i 50 = 30 + 20) nˆn d u.`.ng d i ngˇn nhˆ t d ˆ ´ ` ´ ´. ˙ ’ a ¯. . aa a. u o e ¯o ¯ a a ¯o . v dˆn v kˆt th´c v´.i cung (v , v ) d ˆ d`i 20. Cuˆi c`ng, c´c phˆn tu. w tao ´ ´ ´ ` a ˙ k4 . ’ d`i 50 t` 1 ¯e 6 e a u uo ¯o a ou a . 46 th`nh vector cˆt a o . (30, 40, 50, 0, 30, 20, ∞, ∞, ∞), v` gi´ tri nho nhˆ t d at tai k = 1 hoˇc k = 4 (´.ng v´.i 30 + 0 hoˇc 0 + 30) nˆn tˆn tai cung ´ e`. ˙ ’ a ¯. . aa. a u o a o . . . v dˆn v . Vˆy d u.`.ng d i ngˇn nhˆ t t`. v dˆn v l` v , v , v , v (c´c cung c´ ´ ´ ´ ´ d o d`i 30 t` 1 ¯e 4 a ¯ o ¯ˆ a u ¯ a a u 1 ¯e 7 a 1 4 6 7 a o . . d o d`i 30, 20, 20). ¯ˆ a . Do d ´ thuˆt to´n Hedetniemi cho mˆt minh hoa h` hoc trong mˆ i bu.´.c lˇp, v` su. ˜ a˙ ’ ¯o a a o . ınh . o oa . . . ˙ phuc hˆi d u.o.c d u.`.ng d i ngˇn nhˆ t. Nhu. vˆy, ch´ng ta cˆn thˆm ’ . `¯. ¯o ´ ´ ` dung c´c ma trˆn c´ thˆ a aoe o ¯ a a a u a e . . . mˆt ma trˆn P lu.u tr˜. thˆng tin cua c´c d u.`.ng d i ngˇn nhˆ t. Ma trˆn n`y s˜ d u.o.c cˆp ´ ´ ˙ a ¯o ’ o a uo ¯ a a a a e¯ . a . . . . nhˆt trong mˆ i bu.´.c lˇp khi t´ W k t`. W k−1 . ˜ a o oa ınh u . . 92
  5. Thuˆt to´n Floyd (tru.`.ng ho.p ma trˆn trong lu.o.ng tu` y) 3.3.2 a a o a y´ . . . . . Thuˆt to´n du.´.i d ay d u.o.c d u.a ra lˆn d` u tiˆn bo.i Floyd [25] v` d u.o.c l`m min ho.n bo.i ` ¯ˆ ˙ ’ ˙ ’ a a o ¯ˆ ¯ . ¯ a a e a¯ . a . . Murchland [46]. Thuˆt to´n Floyd a a . 1. [Kho.i tao] Dˇt k := 0. ˙ . -a ’ . 2. k := k + 1. 3. [Bu.´.c lˇp] V´.i moi i = k sao cho wik = ∞ v` v´.i moi j = k sao cho wkj = ∞, thu.c oa o ao . . . . hiˆn ph´p g´n e ea . wij := min{wij , (wik + wkj )}. (3.3) 4. [Diˆu kiˆn kˆt th´c] (a) Nˆu tˆn tai chı sˆ i sao cho wii < 0 th` tˆn tai mach v´.i d ˆ -` ´ e`. ´o ’´ ı` . ˙o e ee u o o ¯o . . . .a d ınh v . B`i to´n vˆ nghiˆm; thuˆt to´n d`.ng. d`i ˆm ch´ ¯˙ ’ aa u aao e a au . . i (b) Nˆu wii ≥ 0 v´.i moi i = 1, 2, . . . , n, v` k = n, b`i to´n c´ l`.i giai: ma trˆn wij cho ´ ˙ ’ e o a a a oo a . . .`.ng d i ngˇn nhˆ t t`. v dˆn v . Thuˆt to´n d`.ng. ´ ´ ´ d ˆ d`i d u o ¯o a ¯ ¯ a a u i ¯e j a au . . ´u wii ≥ 0 v´.i moi i = 1, 2, . . . , n, nhu.ng k < n, chuyˆ’n sang Bu.´.c 2. ˙ (c) Nˆe o e o . Ch´.ng minh t´ d ung d ˇn cua thuˆt to´n Floyd l` ho`n to`n d o.n gian [35], [25] v` ´ ˙ ’ ˙ ’ u ınh ¯´ ¯a a a aa a¯ a . .`.i d oc. Ph´p to´n co. ban cua Phu.o.ng tr` 3.3 trong thuˆt to´n n`y goi l` ˙ ’ ˙ ’ d`nh cho ngu o ¯ . a e a ınh a a a .a . ph´p to´n bˆ ba v` c´ nhiˆu u.ng dung trong nh˜.ng b`i to´n tu.o.ng tu. b`i to´n t` d u.`.ng `´ e ao ao e u aa a a ım ¯ o . . . ´ ´ d i ngˇn nhˆ t (xem [14], [30]). ¯ a a C´c d u.`.ng d i ngˇn nhˆ t c´ thˆ’ nhˆn d u.o.c d` ng th`.i c`ng v´.i c´c d o d`i d u.`.ng d i ˙ ´ ´ a ¯o ¯ a a o e a ¯ . ¯ˆ o ou o a ¯ˆ a ¯ o ¯ . . . dung quan hˆ dˆ qui tu.o.ng tu. Phu.o.ng tr` 3.2. Bˇ ng c´ch ´p ´ a` ` ´a ˙ ’ ngˇn nhˆ t bˇ ng c´ch su . a a e ¯e ınh a aa .. . . chˆ cua Hu [35] dˆ’ lu.u gi˜. thˆng tin c´c d u.`.ng d i ngˇn nhˆ t c`ng v´.i d o d`i cua ˙ ´ ´˙ ´u ’ o ¯ˆ a ˙ ’ dung co e ¯e uo a ¯o ¯ a a . . .a v`o ma trˆn vuˆng cˆ p n : P := [θ ]; v` biˆn d ˆ’i n´ d` ng th`.i v´.i viˆc n´. Cu thˆ’ l` d u a ˙ ˙ ´ ´ o . e a¯ a o a a e ¯o o ¯o ˆ ooe . . ij ˙i ma trˆn W. Phˆn tu. θij cua ma trˆn P s˜ chı ra d ınh d i tru.´.c vj trong d u.`.ng d i ’ ´ ` a˙ ’ ˙’ e˙ ’ ¯˙ ’¯ biˆn d ˆ e ¯o a a o ¯o ¯ . . ngˇn nhˆ t t`. vi dˆn vj ; o. bu.´.c d` u tiˆn ta g´n cho ma trˆn P c´c gi´ tri d` u l` θij := vi ´ ´ ´ ˙ ’ a au ¯e o ¯ˆ a e a a a a . ¯a a ˆ . v´.i moi d ınh vi v` vj . ¯˙ ’ o a . C`ng v´.i viˆc biˆn d o’i ma trˆn W theo Phu.o.ng tr` 3.3 trong Bu.´.c 3, ta biˆn d o’i ˙ ˙ ´ ´ u oe e ¯ˆ a ınh o e ¯ˆ . . ´ P theo quy tˇc a ´ θkj nˆu (wik + wkj ) < wij , e θij := nˆu ngu.o.c lai. ´ θij e .. .o.c s˜ gi´p cho ta viˆc t` c´c d u.`.ng d i ngˇn nhˆ t. ´ ´ ´ Kˆt th´c thuˆt to´n, ma trˆn P thu d u . e u e u a a a ¯ e ım a ¯ o ¯ a a . . . ˙ ng han d u.`.ng d i ngˇn nhˆ t gi˜.a hai d ınh vi v` vj l` ’ ´ ´u ¯˙ ’ Chˇa . ¯o ¯ a a a a vi , v ν , . . . , v γ , v β , v α , v j 93
  6. ´ trong d o vα = θij , vβ = θiα , vγ = θiβ , ..., cho dˆn khi vi = θiν . ¯´ ¯e Cˆn ch´ y o. d ˆy l` nˆu tˆ t ca c´c gi´ tri wii d u.o.c kho.i tao bˇ ng ∞ (thay cho bˇ ng ˙.` ` ` ´´’ u ´ ˙ ¯a a e a ˙ a ’ ’ a a. ¯. a a ´ ´ ´ ´ ˙ ’ a ¯o a ˙ ’ 0) l´c xuˆ t ph´t thuˆt to´n, th` c´c gi´ tri cuˆi c`ng cua wii l` d ˆ d`i cua mach ngˇn nhˆ t u a a a a ıa a.ou a a . . . ´t ph´t t`. d ınh vi . Ngo`i ra c˜ng c´ thˆ’ dˆ d`ng x´c d inh mach c´ d o d`i ˆm khi wii < 0 ˙˜a ˙ ’ xuˆ a a u¯ a u o ee a ¯. o ¯ˆ a a . . du.a v`o ma trˆn d u.`.ng d i P. a a ¯o ¯ . . ˙. ’ Thu tuc Floyd() sau minh hoa thuˆt to´n d a tr` b`y. a a ¯˜ ınh a . . void Floyd() { byte i, j, k; AdjPointer Tempt; byte Pred[MAXVERTICES][MAXVERTICES]; int Weight[MAXVERTICES][MAXVERTICES], NewLabel; byte Start, Terminal; for (i = 1; i Length; Tempt = Tempt->Next; } } for (k = 1; k
  7. for (j = 1; j NewLabel) { Weight[i][j] = NewLabel; Pred[i][j] = Pred[k][j]; } } if (Weight[i][i] < 0) { printf("Ton tai mach do dai am qua dinh %d", i); printf(" %6d ", Weight[i][i]); return; } } } // Vi du minh hoa Start = 1; Terminal = 3; if (Weight[Start][Terminal] < +INFTY) { printf("Ton tai duong di tu %d", Start); printf(" den %d", Terminal); printf("\nDuong di qua cac dinh:"); i = Terminal; while (i != Start) { printf("%3d ", i); i = Pred[Start][i]; } printf("%3d ", Start); printf("\nTrong luong la %3d ", Weight[Start][Terminal]); } else printf("\n Khong ton tai duong di tu %d den %d", Start, Terminal); } 95
  8. 3.4 Ph´t hiˆn mach c´ d o d`i ˆm a e o ¯ˆ a a . . . Vˆ n d` ph´t hiˆn c´c mach c´ d o d`i ˆm trong mˆt d` thi tˆ’ng qu´t l` quan trong khˆng ˙ ´e a ¯ˆ a ea o ¯ˆ a a o ¯o . o .ˆ aa o . . . . .ng trong ch´ b`i to´n t` d u.`.ng d i ngˇn nhˆ t m` c`n l` mˆt bu.´.c co. ban trong ´ ´ ˙ ’ nh˜ u ınh a a ım ¯ o ¯ a a ao a o o . nh˜.ng thuˆt to´n kh´c (xem Phˆn 3.4.1 v` [14]). ` u a a a a a . Ta biˆt rˇ ng Thuˆt to´n Floyd t` d u.`.ng d i ngˇn nhˆ t gi˜.a c´c cˇp d ınh c´ thˆ’ ph´t ˙ ´` ´ ´ a u a a ¯˙ ’ ea a a ım ¯ o ¯ a oea . . ` thi. Ho.n n˜.a, nˆu d` thi ch´.a mˆt d ınh s m` c´ thˆ’ dˆn ˙´ ´ ¯o . u ˙ ’ hiˆn c´c mach d o d`i ˆm trong d o . ea . ¯ˆ a a ¯ˆ u eˆ o¯ a o e ¯e . . . . d o, th` c´ thˆ’ ´p dung Thuˆt to´n Ford-Moore-Bellman (t` tˆ t ca ˙ ´’ ´’ a ˙ a ¯˙ ’ ım a ˙ tˆ t ca c´c d ınh kh´c t` ¯´au ı o ea a a . . .`.ng d i ngˇn nhˆ t xuˆ t ph´t t`. d ınh s) dˆ’ ph´t hiˆn c´c mach c´ d o d`i ˆm nhu. d ˜ ˙a ´ ´ ´ a u ¯˙ ’ c´c d u o a¯ ¯ a a a ¯e ea o ¯ˆ a a ¯a . . . thu.c hiˆn trong Bu.´.c 3 cua phˆn n`y. Nˆu tˆn tai d ınh khˆng thˆ’ dˆn d u.o.c t`. s (chˇng˙´ ˙ ’ ` e ` . ¯˙ ´o ˙ ’ ’ e o aa o e ¯e ¯ . u a . . han, khi G l` d` thi vˆ hu.´.ng khˆng liˆn thˆng) th` Thuˆt to´n Ford-Moore-Bellman s˜ kˆt ´ a ¯o . o o ˆ o e o ı a a ee . . ˙ c´c d ınh c´ thˆ’ dˆn d u.o.c t`. s c´ nh˜n h˜.u han, c´c d ınh kh´c khˆng dˆn d u.o.c ˙ ¯e ¯ . u ´ ´¯. ’ a ¯˙ ’ ˙ ’ th´c v` chı ua oe oau a¯ a o ¯e . t`. s c´ nh˜n bˇ ng ∞. Trong tru.`.ng ho.p n`y c´ thˆ’ tˆn tai c´c mach c´ d o d`i ˆm trong ˙o ` a o e` . a u oaa o o ¯ˆ a a . . . th`nh phˆn liˆn thˆng khˆng ch´.a s v` khˆng d u.o.c ph´t hiˆn. Tuy nhiˆn, nhiˆu u.ng dung ` `´ a ae o o u a o ¯. a e e e . . ` n kiˆ’m tra c´ mach d ˆ d`i ˆm hay khˆng, d` thi d u.o.c x´t c´ d ınh s dˆn d u.o.c tˆ t ca c´c ˙ ´¯. a ˙a ´’ ˙ ’ cˆ a e o . ¯o a a o ¯o . ¯ . e o ¯ ˆ ¯e . d ınh kh´c, v` do d o v´.i nh˜.ng tru.`.ng ho.p nhu. vˆy, dˆ’ x´c d .nh su. tˆn tai cua mach d o ˙ .` . ˙ ¯˙’ ’ a a ¯´ o u o a ¯e a ¯i o ¯ˆ . . . . .n Thuˆt to´n ˙’ d`i ˆm, Thuˆt to´n Ford-Moore-Bellman s˜ cho ph´p t´ to´n hiˆu qua ho aa a a e e ınh a e a a . . . Floyd. C´c nguyˆn tˇc kˆt th´c cua Thuˆt to´n Ford-Moore-Bellman d u.o.c tr` b`y dˆ’ t´ ˙ ´´ u˙ ’ a eae a a ¯. ınh a ¯e ınh . ´t c´c d u.`.ng d i ngˇn nhˆ t t`. s khi khˆng c´ mach d o d`i ˆm. C´c nguyˆn tˇc ´ ´ ´u to´n ´ nhˆ a ¯ o a ıt a ¯ a a o o. ¯ˆ a a a ea . .m ho.n nhu. sau. n`y c´ thˆ’ cai biˆn dˆ’ ph´t hiˆn mach d ˆ d`i ˆm s´ ˙ ’ e ¯e a ˙ a o e˙ e . ¯o a a o . . Sau khi g´n lai nh˜n cua d ınh vi t`. mˆt d ınh vj ∗ theo Phu.o.ng tr` 3.2 ta kiˆ’m tra ˙ ˙ ¯˙ ’ ’ u o ¯˙.’ a. a ınh e .`.ng d i ngˇn nhˆ t hiˆn h`nh (m` c´ thˆ’ suy t`. c´c nh˜n hiˆn h`nh θ) ˙ ´ ´ea ¯˙’ d ınh vi c´ thuˆc d u o o o¯ ¯ a a ao e ua a ea . . . . s dˆn v ∗ hay khˆng. Nˆu d ung, th` d ınh v ∗ d ˜ d u.o.c g´n nh˜n thˆng qua v v` d iˆu ´ ´ i a ¯` ı ¯˙’ t` ¯e j u o e ¯´ j ¯a ¯ . a a o e ˜n dˆn Lk (vj ∗ ) + w(vj ∗ , vi ) < Lk (vi ); do d ´ mˆt phˆn cua d u.`.ng d i ngˇn nhˆ t hiˆn ´ ´ ` ´e ˙ ¯o ’ n`y dˆ ¯e aa ¯o o a ¯ a a . . h`nh t`. vi dˆn vj ∗ cˆng thˆm cung (vj ∗ , vi ) s˜ tao th`nh mach c´ d o d`i ˆm v` thuˆt to´n ´ a u ¯e o e e. a o ¯ˆ a a a a a . . . . kˆt th´c. Nˆu mˇt kh´c, nh˜n cua d ınh vi hoˇc khˆng thay d o’i bo.i Phu.o.ng tr` 3.2, hoˇc ˙’ ´ ´ a ˙ ¯˙ ’’ ¯ˆ ˙ e u e a a a o ınh a . . . nhˆn nh˜n m´.i t`. mˆt d ınh vj ∗ nhu.ng vi khˆng thuˆc d u.`.ng d i ngˇn nhˆ t t`. s dˆn vj ∗ , th` ´ ´ ´ o u o ¯˙ ’ a a o o ¯o ¯ a a u ¯e ı . . . .´.c 3 nhu. tru.´.c. Cˆn ch´ y rˇ ng, cai tiˆn trˆn ch´ l` giam nh˜.ng u´ ` ´ ` ’´ ˙e ınh a ˙ ’ thuˆt to´n tiˆp tuc Bu o a a e. o a a e u . . th`.a khˆng cˆn thiˆt trong Thuˆt to´n Ford-Moore-Bellman, do mˆt mach c´ d o d`i ˆm ` ´ du u o a e a a o o ¯ˆ a a . . . . d u.o.c x´c d .nh ngay khi n´ d u.o.c tao ra v` khˆng cˆn d o.i kˆt th´c thu tuc. ` ¯. e ´ ˙. ’ ¯ . a ¯i o¯ . . ao a u Mach tˆi u.u trong d` thi c´ hai trong lu.o.ng ´ 3.4.1 o ¯ˆ . o o . . . Mˆt vˆ n d` nay sinh trong nhiˆu l˜ vu.c liˆn quan dˆn mˆt d` thi c´ hu.´.ng m` mˆ i cung ˜ . ´ e’ ` ınh . e ´ o a ¯ˆ ˙ e ¯e o ¯ˆ . o o .o ao .o.c g´n hai trong lu.o.ng: w v` b . B`i to´n l` t` mˆt mach Φ m` cu.c tiˆ’u (hoˇc ˙ (vi , vj ) d u . a ¯ ij a ij a a a ım o a. e a . . . . . 96
  9. cu.c d ai) h`m muc tiˆu . ¯. a e . wij (vi ,vj )∈Φ z (Φ) := . (vi ,vj )∈Φ bij ˙’ ınh ˙ ’ Chˇng han, x´t h`nh tr` cua mˆt con t`u hay mˆt m´y bay trˆn mang giao thˆng a ea o a o a e o . . . . . rˇ ng w l` “lo.i nhuˆn” v` b l` “th`.i gian” cˆn thiˆt dˆ’ di chuyˆ’n trˆn cung ˙ ˙ ` ` ´ ¯e a˙˙ ’’ v` gia su a ij a a a ij a o a e e e . . (vi , vj ). B`i to´n d at ra l` t` h`nh tr` dˆ’ tˆi d a lo.i nhuˆn v´.i th`.i gian nho nhˆ t. ˙´ ´ ˙’a a a ¯ˇ a ım a ınh ¯e o ¯ . ao o . . C´c vˆ n d` kh´c c´ thˆ’ ph´t biˆ’u dang b`i to´n t` c´c mach tˆi u.u trong d` thi ˙a ˙ ´e ´ a a ¯ˆ a o e e a a ım a o ¯o . ˆ . . .o.ng: Lˆp lich dˆ’ t´ to´n song song, tˆi u.u d a muc tiˆu trong xu. l´ cˆng ˙ ınh a ´ ˙yo ’ c´ hai trong lu . o a . ¯e o ¯ e . . . nghiˆp. e . B`i to´n t` mˆt mach Φ trong d` thi c´ hai trong lu.o.ng dˆ’ cu.c tiˆ’u h`m muc tiˆu ˙ ˙ a a ım o ¯o . o ˆ ¯e . ea e . . . . . . thuˆt to´n ph´t hiˆn c´c mach c´ d o d`i ˆm nhu. sau. Gia su. z (Φ) c´ thˆ’ giai quyˆt nh` ˙’ ´ oe˙ ˙˙ ’’ e o a a a ea o ¯ˆ a a . . . . rˇ ng c´c trong lu.o.ng wij v` bij l` c´c sˆ thu.c tu` y (du.o.ng, ˆm hoˇc bˇ ng khˆng) nhu.ng ` a` ´ a a a aa o . y´ a .a o . . ˙ m˜n r`ng buˆc (vi ,vj )∈Φ bij > 0, v´.i moi mach Φ trong G. (Trong hˆu hˆt c´c t` ` ´ ’aa thoa o o a e a ınh . . . .ng b ≥ 0 v´.i moi i v` j ). ˙ ’ huˆng, chˇng han c´c vˆ n d` nˆu trˆn, wij ∈ R nhu ´ ´e o a . a a ¯ˆ e e o a . ij Ch´ng ta chon mˆt gi´ tri thu. z k d oi v´.i h`m muc tiˆu z (Φ) v` x´t d` thi c´ trong ´ a.˙ ’ u o ¯ˆ o a e a e ¯o . o . ˆ . . . .o.ng lu . wij = wij − z k bij . k V´.i ma trˆn trong lu.o.ng wij m´.i, x´t b`i to´n d u.`.ng d i ngˇn nhˆ t trˆn G. C´ ba tru.`.ng ´ ´e k o a o e a a ¯o ¯ a a o o . . . .p xay ra: ˙ ’ ho. Tru.`.ng ho.p A. Tˆn tai mach c´ d o d`i ˆm Φ− sao cho `. o o o ¯ˆ a a . . . k wij < 0. )∈Φ− (vi ,vj Tru.`.ng ho.p B. Khˆng tˆn tai mach c´ d o d`i ˆm v` `. o o o o ¯ˆ a a a . . . k wij > 0 (vi ,vj )∈Φ v´.i moi mach Φ. o . . Tru.`.ng ho.p C. Tˆn tai mach c´ d o d`i bˇ ng khˆng (nhu.ng khˆng c´ mach d o d`i ˆm); o ¯ˆ a ` `. o o a o o o. ¯ˆ a a . . . . .c l` t´ a u k wij = 0 (vi ,vj )∈Φ0 v´.i mach Φ0 n`o d o. o a ¯´ . 97
  10. Trong Tru.`.ng ho.p A ch´ng ta c´ thˆ’ n´i rˇ ng z ∗ (gi´ tri cu.c tiˆ’u cua z ) nho ho.n z k v` ˙ ˙˙ o eo` ’ ˙ ’ o u a a.. e ı . k wij − z k wij ≡ bij < 0 )∈Φ− )∈Φ− )∈Φ− (vi ,vj (vi ,vj (vi ,vj chı c´ thˆ’ d ung nˆu ˙ ´ ˙ o e ¯´ ’ e wij (vi ,vj )∈Φ−1 < zk −1 bij (vi ,vj )∈Φ m` hiˆ’n nhiˆn chı ra rˇ ng z ∗ < z k . ˙ ` ˙ ’ ae e a Tu.o.ng tu., trong Tru.`.ng ho.p B ta c´ thˆ’ n´i rˇ ng z ∗ > z k ; v` trong Tru.`.ng ho.p C ˙ o eo` o a a o . . . ∗ k th` z = z . ı Do d o thuˆt to´n t` kiˆm nhi phˆn dˆ’ giai quyˆt b`i to´n nhu. sau: Kho.i d` u v´.i ˙’ ´ ´ . a ¯e ˙ ˙ ¯ˆ o ’a ¯´ a a ım e ea a . . z 1 ; nˆu n´ qu´ l´.n (t´.c l` Tru.`.ng ho.p A) thu. v´.i z 2 < z 1 ; nˆu n´ qu´ nho (t´.c ´ ´ a.˙ ’ ˙o ’ ˙u ’ gi´ tri thu e o ao ua o eoa . .`.ng ho.p B) thu. v´.i z 2 > z 1 . Khi d ˜ c´ c´c cˆn trˆn v` du.´.i (z v` z tu.o.ng u.ng) ta ˙o ’ l` Tru o a ¯a o a a eao ual ´ . . ˙ x´c d .nh z ∗ bˇ ng c´ch thu. z k = (zu + zl )/2 v` thay zu bˇ ng z k nˆu xay ra Tru.`.ng ’ a ¯i ` ` ´˙ ˙ ’ ’ c´ thˆ oe a a a a e o ho.p A, hoˇc thay zl bˇ ng z k nˆu xay ra Tru.`.ng ho.p B. Do sˆ c´c ph´p thu. tı lˆ v´.i 1/η, ` ´˙ ´ ’ ˙ ˙e o ’ ’. a a e o oa e . . . 1 l` sai sˆ cho tru.´.c, v` do mˆi lˆn thu. (x´c d .nh mach d ˆ d`i ˆm hoˇc ˜a ´ o` ˙ a ¯i ’ trong d o 0 < η ¯´ a o o a . ¯o a a a . . t´ to´n ma trˆn trong lu.o.ng) d oi hoi n3 ph´p to´n, nˆn t` nghiˆm cua b`i to´n trˆn d oi ¯` ˙ ’ ˙aa ’ ınh a a e a e ım e e ¯` . . . . hoi O[n3 log 1/η ] ph´p to´n. ˙ ’ e a 98
  11. Chu.o.ng 4 ˆ CAY Mo. d` u ˙ ¯ˆ ’a 4.1 Cˆy l` mˆt trong nh˜.ng kh´i niˆm quan trong nhˆ t cua l´ thuyˆt d` thi, v` thu.`.ng xuˆ t ´’ ´ˆ ´ a˙y aao u ae e ¯o . a o a . . . .ng l˜nh vu.c ´ c´ liˆn quan dˆn d` thi. ´ ¯ˆ . hiˆn trong nh˜ e u a . ıt o e ¯e o . Trong chu.o.ng n`y, tru.´.c hˆt s˜ nghiˆn c´.u cˆy Huffman v` nh˜.ng u.ng dung cua n´ ´ ˙o ’ a oee eua au´ . . liˆu. Kˆ tiˆp ch´ng ta x´t tr` b`y c´c thuˆt to´n t` cˆy bao tr`m, cˆy ´´ trong viˆc n´n d˜ e e e u. ee u e ınh a a a a ım a u a . . .o.ng nho nhˆ t khi c´c canh cua d` thi d u.o.c gˇn v´.i c´c chi ph´ (trong ´ ´ ˙ ’a ˙ ¯ˆ . ¯ . a o a ’o bao tr`m c´ trong lu . u o. a. ı . lu.o.ng). Cˆy bao tr`m nho nhˆ t cua d` thi c´ nhiˆu u.ng dung trong nh˜.ng tru.`.ng ho.p c´c ˙ a ˙ ¯ˆ . o ` ´ ´’o ’ a u e u o .a . . .`.ng dˆ n (ˆng dˆ n ga, dˆy dˆ n trong mang d iˆn, v.v) d u.o.c su. dung dˆ’ nˆi n d iˆ’m v´.i ˙o ˙ ˜o ˜ ˜ ´ ´ ˙. ’ du o ¯ a a aa ¯e ¯. ¯e ¯e o . . nhau theo c´ch tˆt nhˆ t: tˆ’ng khoang c´ch cua c´c d u.`.ng dˆ n l` nho nhˆ t. Nˆu n d iˆ’m ˙ ˙ ˜ ´ ´o ´ ´ ˙’ ˙ a ¯o ’ ˙ ’ a o a a aa a e ¯e d u.o.c nˆi v´.i nhau trˆn mˆt mˇt phˇng, ta c´ thˆ’ biˆ’u diˆn bo.i mˆt d` thi d` y d u trong d o ˙˙ ˙’ ˜ ´ ˙ ’ o ¯o . ¯ˆ ¯ ˙ ’ ¯. o o e oa a oee e .ˆ a ¯´ . . ˙ ng c´ch gi˜.a hai d iˆ’m tu.o.ng u.ng. Khi d ´ cˆy bao tr`m v´.i trong ˙ ’ c´c chi ph´ canh l` khoa a ı. a a u ¯e ´ ¯o a u o . lu.o.ng nho nhˆ t s˜ cho mang giao thˆng v´.i chi ph´ ´ nhˆ t. Nˆu c´ thˆ’ nˆi thˆm ngo`i n ˙´ e ´ ´ ´ ˙ ’ae o o ı ıt a e o eo a . . d iˆ’m cho ph´p, ta c´ thˆ’ thˆm ch´ xˆy du.ng d u.o.c mang v´.i ch´ ph´ re ho.n v` x´c d inh n´ ˙ ˙. ı ı˙ ’ ¯e e oea ıa ¯. o a a ¯. o . . ch´ l` giai quyˆt b`i to´n Steiner. B`i to´n sau n`y s˜ d u.o.c d` cˆp o. phˆn cuˆi chu.o.ng. ´ a e ¯ . ¯ˆ a ˙ ` ´ ınh a ˙ ’ e.’ eaa aa a o Dinh ngh˜ 4.1.1 C´c d inh ngh˜ sau cua cˆy (vˆ hu.´.ng) l` tu.o.ng d u.o.ng: -. ˙a ’ ıa a ¯. ıa oo a ¯ -ˆ . e 1. D` thi liˆn thˆng c´ n d ınh v` (n − 1) canh. o ¯˙ ’ o o a . -ˆ . e 2. D` thi liˆn thˆng khˆng c´ chu tr` o o o o ınh. 3. D` thi m` moi cˇp d ınh d u.o.c nˆi v´.i nhau bo.i mˆt v` chı mˆt dˆy chuyˆn so. cˆ p. - ˆ . a . a ¯˙ ¯ . o o ´ ` ´ ’ ˙ ’ oa˙oa ’. o e a . . 4. D` thi liˆn thˆng v` khi b´.t mˆt canh bˆ t k` th` mˆ t t´ liˆn thˆng. -ˆ . e ´ ´ o o a o o. a y ı a ınh e o . 99
  12. . a o ˙ ¯˙ ’ ’ H` 4.1 minh hoa cˆy c´ bay d ınh v` s´u canh. ınh aa . v2 • . . ... ... ... ... ... ... ... ... .. .. ... ... ... ... • v3 ... ... ... ... . ... ... ... . ... ... ... ... ... ... ... .. ... ... ... ... . . ... . ... ... ... ... ... ... ... ... ... ... ... v1 • v4 • .. .. .. .. .. .... ... .. . ..... .... . .. ..... . ..... .. ...... . .. .. ...... . . ..... .... . .. .. .... . .... ... . .. ... . .... .. .... ... . . ... .... .... .. . ... .. . .... .... ... .... . .. ... .... . .. . ... • v5 ..... • ... ..... .. .. .. . .. . .. .. v6 .. .. .. .. .. .. .. .. .. • v7 .. . . o ı.`a H` 4.1: Mˆt v´ du vˆ cˆy. ınh e . Kh´i niˆm vˆ cˆy nhu. mˆt thu.c thˆ’ cua to´n hoc d u.o.c d u.a ra lˆn d` u tiˆn bo.i ˙’ `a ` ¯ˆ e˙ ˙ ’ a e e o a . ¯. ¯ a a e . . . .i d inh ngh˜ c´c mach co. ban d u.o.c su. dung trong phˆn t´ c´c ˙ ¯. ˙ . ’ ’ Kirchhoff [37] khi liˆn hˆ v´ ¯. e eo ıa a a ıch a . . ˙ ’ mang d iˆn. Khoang 10 nˇm sau d o, mˆt c´ch d oc lˆp, Cayley [11] d a ph´t hiˆn lai c´c cˆy ¯e a ¯´ o a ¯ˆ a ¯˜ a e.aa . . . .. . v` nh˜.ng t´ chˆ t cua n´ khi nghiˆn c´.u c´c t´ chˆ t ho´ hoc cua c´c chˆ t d` ng phˆn ´’o ´ ´ˆ ıch a ˙ ˙a ’ au e u a ınh a a. a ¯o a ˙ a hydrocarbon. ’ cu Cˆy c´ gˆc (c`n goi l` cˆy gia pha) d u.o.c d .nh ngh˜ tu.o.ng tu. nhu. sau: ´ o .aa ˙ ¯ . ¯i ’ a oo ıa . Dinh ngh˜ 4.1.2 Cˆy c´ gˆc T l` d` thi c´ hu.´.ng khˆng mach m` moi d ınh, ngoai tr`. -. ´ a . ¯˙ ’ ıa a oo a ¯o . o o ˆ o u . . ˙ ’ ` ´’ o ¯˙’ ˙ ¯˙ ’’ ao ˙ a mˆt d ınh (chˇng han v1 ), c´ bˆc trong bˇ ng mˆt: bˆc trong cua d ınh v1 (goi l` gˆc cua cˆy) a oa a o a . . . . . . bˇ ng khˆng; n´i c´ch kh´c, moi d ınh v ∈ T tˆn tai duy nhˆ t mˆt d u.`.ng d i t`. gˆc dˆn v. ` `. ´ o ¯o ´´ ¯˙ ’ a o oa a o a ¯ u o ¯e . . H` 4.2 minh hoa mˆt d` thi l` cˆy c´ gˆc v´.i d ınh v1 l` gˆc. T`. d .nh ngh˜ suy ra ´ ´ o ¯o . a a o o o ¯˙ ’ ınh .ˆ ao u ¯i ıa . .´.ng trˆn c´c ` rˇ ng cˆy c´ gˆc n d ınh c´ (n − 1) cung v` l` d` thi liˆn thˆng (khi bo qua hu o ´ ¯˙’ ˙ ’ a a oo o a a ¯ˆ . e o o ea cung). Cˆn ch´ y rˇ ng, c´ thˆ’ d .nh hu.´.ng trˆn mˆt cˆy (vˆ hu.´.ng) sao cho d` thi thu d u.o.c ˙ ` ` a u´ a o e ¯i o e oa oo ¯o . ˆ ¯. . .´.ng c´c ˙ ’ ´ ˙` ´ ’a o ¯˙ .’ l` cˆy c´ gˆc: Ta chı cˆn chon mˆt d ınh tu` y, chˇng han v1 , l`m gˆc v` d .nh hu o aa oo y´ a a o a ¯i a . . ` n t`. v1 dˆn c´c d ınh treo. Ngu.o.c lai, nˆu bo qua c´c hu.´.ng trˆn cˆy ´ a ¯˙ ´ ’ ˙ ’ cung theo dˆy chuyˆ u a e ¯e e a o ea .. c´ gˆc ta thu d u.o.c mˆt cˆy. ´ oo ¯. oa . Cˆy gia pha m` trong d o mˆ i ngu.`.i d an ˆng biˆ’u thi mˆt d ınh v` c´c cung d u.o.c v˜ ˙ ˜ ˙a ’ . o ¯˙ .’ a ¯´ o o ¯` o e aa ¯. e . c´c cha dˆn c´c con cua ho l` mˆt v´ du quen thuˆc cua cˆy c´ gˆc, gˆc cua cˆy l` ngu.`.i ´ ´o˙aa ´’ ˙ ’ .a o ı . o ˙ a oo ’ t` a u ¯e a o . . ˙ x´c d .nh d u.o.c. ’ a ¯i d` u tiˆn trong d`ng ho m` c´ thˆ ¯a ˆ e o . ao e ¯. 100
  13. v1 • .... .... ... ..... ... ..... ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... . . .... ... ... .... .... .. .... .... ... .. .. . ... ... ... ... . ... ... ... ... ... . ... ... ... ... ... . ... ... v2 v3 ... ... . ... ... ... ... . ... ... ... ... . • • ... ... ... ... . . ........ .. ... ..... ... ... ... ..... . ... ... ..... ... ... ... ... ... . . . .... .... .... .... ... ... ... . ... ..... .. . .... .. ... . .... .. ... ... ... ... ... ... ... . . ... ... v6 ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... . . ... ... • • • • ... ... ... ... ... ... . . ....... . ........ . ... ... v4 v5 v7 ... ... . .... .... ... . ... .. .. .... .... .... ... ... ... ... v8 ... ... ... ... ... ... ... .. ... • • ... ... ... . ....... . ........ .. ... ... v9 ... ... . .... .... .. ... ... . .. .... .... ... .. ... ... ... .. v10 ... ... ... ... ... ... ... ... • • ... ... ... ... . ....... ...... . ... ... ... .... v11 . . ... .... ... ... .... .... . .... .... .. . ... . ... ... ... ... ... ... ... ... ... ... ... • • ... ... .. .. v12 v13 o ı.`a oo ´ H` 4.2: Mˆt v´ du vˆ cˆy c´ gˆc. ınh e . 4.2 Cˆy Huffman a ´ ` o˙ .’ Tiˆn tr` g´n d˜y c´c bit cho c´c k´ hiˆu goi l` m˜ ho´. Trong phˆn n`y ch´ng ta mˆt ta e ınh a a a a ye .aa a aa u . ´t quen thuˆc-thuˆt to´n m˜ ho´ Huffman. mˆt thuˆt to´n m˜ ho´ rˆ o a a a aa o a a aa . . . . ´ 4.2.1 C´c bˆ m˜ “tˆt” a oao . Khi ta n´i vˆ m˜ ho´ c´ ngh˜ l` g´n d˜y c´c bit cho c´c phˆn tu. cua mˆt bang ch˜. c´i. o` a ao ` a˙˙ ’’ o˙ ’ e ıa a a a a a ua . ˜i nhi phˆn goi l` bˆ m˜ v` c´c phˆn tu. cua ch´ng goi l` t`. m˜. Mˆt bang ` ˙˙ ’’ o˙ ’ Tˆp c´c chuˆ aa o .a .ao aaa a u . au a . . . . c´i l` mˆt tˆp ho.p c´c k´ hiˆu, goi l` c´c k´ tu.. Chˇng han, bang ch˜. c´i su. dung ˙ ’ ˙ ’ ua ˙ . ’ ch˜ a a o a u aye .aa y. a .. . . . . thu.`.ng, 26 k´ tu. hoa, v` c´c dˆ u ngˇt cˆu ´ ` eaa a´ ´ ` ´ trong hˆu hˆt c´c s´ch (tiˆng Anh) gˆm 26 k´ tu e o y. o y. aa a aa . dˆ u phˆ’y). M˜ ASCII (viˆt tˇt cua c´c ch˜. c´i d` u tiˆn cua chuˆi American Standard ˙ ´´ ’ ˜ ´ ea˙a u a ¯ˆ e ˙ ’ (nhu a a a a o . A l` 01000001, cua k´ tu. a l` 01100001 v` k´ ˙ y. ’ ˙ y. ’ Code for Information Interchange cua k´ tu a a ay . , l` 0011010. Ch´ y rˇ ng trong m˜ ASCII sˆ c´c bit su. dung dˆ’ biˆ’u diˆn c´c k´ tu. l` ˙e ˙ ` ˜ a y.a ´a ˙. ’ tu a u´ a a o ¯e e . bˇ ng nhau. M˜ nhu. vˆy goi l` m˜ c´ d ˆ d`i cˆ d. nh. Nˆu ta muˆn giam sˆ c´c bit d `i hoi ` ´ ´ ´ ´ ˙ ’ ¯o ˙ ’ a a a . a a o ¯o a o ¯i e o oa . . ˙ biˆ’u diˆn c´c thˆng b´o kh´c nhau, ta cˆn c´c chuˆi bit biˆ’u diˆn k´ tu. c´ d o d`i (n´i ’e ˙ ˙ ˜a ˜ ˜ y . o ¯ˆ a `a dˆ ¯e e o a a a o e e o . ` ng nhau. Nˆu biˆ’u diˆn c´c bit d`i ho.n cho c´c k´ tu. thu.`.ng xuyˆn xuˆ t ˙ ˜a ´ ´ chung) khˆng bˇo a e e e a a y. o e a hiˆn v` ngu.o.c lai, ch´ng ta c´ thˆ’, vˆ trung b` ˙e ınh, giam sˆ bit biˆ’u diˆn c´c k´ hiˆu. Chˇng ˙ ˜aye ˙ ’ oe` ´ ˙ ’ ea u o e e a . .. . han, m˜ Morse [31] su. dung c´c t`. m˜ ngˇn ho.n cho c´c k´ tu. xuˆ t hiˆn thu.`.ng xuyˆn: ´ ´e ˙. ’ a auaa a y. a o e . . a˙ ’˙ ’ ˙ ’ ˙ ’ m˜ cua cua a l` ·−, cua e l` ·, trong khi cua z l` − − · · · · , q l` − − ·−, j l` · − − − . a a a a a Tuy nhiˆn d o d`i trung b` cua m˜ khˆng phai l` tiˆu chuˆ’n quan trong khi thiˆt kˆ ˙ ´´ ınh ˙ ’ ˙ae ’ e ¯ˆ a ao a ee . . 101
  14. mˆt bˆ m˜ “tˆt”. X´t v´ du sau. Gia su. bang ch˜. c´i gˆm bˆn k´ tu. a1 , a2 , a3 , a4 v´.i c´c ´ ua` ´ ˙˙˙ ’’’ ooao eı. o o y. oa .. .o.ng u.ng l` P (a ) = 1 , P (a ) = 1 , P (a ) = 1 , P (a ) = 1 . Entropy cua ´ ´e ˙ ’ x´c suˆ t xuˆ t hiˆn tu a a a ´ a . 1 2 3 4 2 4 8 8 m˜ nguˆn n`y l` 1.75 bit/k´ hiˆu (xem [31] dˆ’ c´ kh´i niˆm vˆ entropy). X´t c´c bˆ m˜ ˙ ` ` a oaa ye ¯e o a e e eaoa . . . ` n n`y cho bo.i bang sau ˙˙ ’’ trong nguˆ a o C´c k´ tu. a y. M˜ C1 a M˜ C2 a M˜ C3 a M˜ C4 a a1 1 1 1 1 a2 1 0 01 10 a3 0 11 001 100 a4 01 00 000 1000 -o a Dˆ d`i trung b` ınh 1.125 1.125 1.75 1.875 . Dˆ d`i trung b` l cua mˆ i m˜ x´c d inh bo.i -o a ˜ ˙ ’ ˙ ’ ınh o a a ¯. . 4 l= P (ai )n(ai ) (bit/k´ hiˆu), ye . i=1 trong d o n(ai ) l` sˆ c´c bit cua t`. m˜ ai . ´ ˙ua ’ ¯´ aoa Du.a trˆn d o d`i trung b` ´ ´ a` ˙o ’ ˙ ’ e ¯ˆ a ınh, m˜ C1 l` tˆt nhˆ t. Tuy nhiˆn, c´c m˜ cˆn phai c´ kha a ao a e a a . . .`.i nhˆn c´ thˆ’ hiˆ’u d u.o.c r˜ r`ng. Hiˆ’n nhiˆn m˜ C ˙˙ ˙ ` nˇng truyˆn thˆng tin sao cho ngu o a e o a o e e ¯. oa e e a1 . .o.c g´n l` 1 nˆn khi nhˆn d u.o.c khˆng c´ t´ chˆ t n`y: V` ca hai k´ hiˆu a1 v` a2 d` u d u . a a ´ ı˙’ o o ınh a a ye a ¯ˆ ¯ e e a ¯. . . thˆng tin l` 1, ngu.`.i nhˆn khˆng thˆ’ phˆn biˆt d ´ l` k´ hiˆu a1 hay a2 . Ch´ng ta muˆn ˙a ´ o a o a o e e ¯o a y e u o . . . .o.c g´n duy nhˆ t mˆt t`. m˜. ˜ ´ oua mˆi k´ hiˆu d u . a oye¯ a . . M˜ C2 c´ c´c k´ tu. d u.o.c g´n c´c chuˆi bit kh´c nhau cho c´c k´ tu.. Tuy nhiˆn, gia ˜ ˙ ’ a oa y .¯. a a o a a y. e . m˜ ho´ d˜y a a a d u.o.c 011 v` gu.i d i chuˆi bit n`y. Ngu.`.i nhˆn chuˆ i 011 c´ mˆt sˆ ˜ ˜ .´ ˙ ’ a˙¯ ’ su a a a 2 1 1 ¯ . o a o a o ooo . - iˆu n`y c´ ngh˜ l` mˆt d˜y d u.o.c m˜ ho´ v´.i bˆ m˜ C2 c´ch giai m˜: a2 a1 a1 hoˇc a2 a3 . D ` ˙ ’a a a eao ıa a o a ¯ . a ao o a . . . th` d˜y n`y c´ thˆ’ d u.o.c giai m˜ khˆng tr`ng v´.i thˆng b´o ban d` u. N´i chung, d ˆy khˆng ˙ ˙ao ’ ı a a o e¯ . u o o a ¯a ˆ o ¯a o ˙ a ¯` ´ ´´ ´ ´ ’ ˙ ’ phai l` d iˆu ch´ng ta mong muˆn khi thiˆt kˆ c´c bˆ m˜. Ch´ng ta muˆn c´ t´ chˆ t giai e u o e ea o a u o o ınh a . ´t; t´.c l` moi d˜y c´c t`. m˜ chı c´ duy nhˆ t mˆt c´ch giai m˜. C´ thˆ’ ch´.ng ˙u ´oa ˙o ’ ˙ ’a m˜ duy nhˆ u a . a a u a a a a oe . ´ ˙ a ınh a a ’ minh c´c m˜ C3 v` C4 thoa m˜n t´ chˆ t n`y. a a a Mˇc d` viˆc kiˆ’m tra t´ duy nhˆ t khi giai m˜ l` kh´, ta c´ thˆ’ ch´.ng minh t´ ˙ ˙ ´ ˙’ aue e ınh a aa o oeu ınh . . .a trˆn thuˆc t´ cua bˆ m˜: khˆng c´ t`. m˜ n`o trong m˜ C ´t n`y cho bˆ m˜ C3 du ˙oa ’ chˆ a a oa e o ınh o ou aa a3 . . . . l` “tiˆn tˆ” cua t`. m˜ kh´c. Bˆ m˜ nhu. vˆy goi l` m˜ tiˆn tˆ. Mˆt c´ch d o.n gian dˆ’ kiˆ’m ˙˙ a`o˙uaa e´’ a .a a` o e´ ˙ ¯e e ’ oa oa¯ . . . tra mˆt bˆ m˜ c´ phai l` tiˆn tˆ hay khˆng ta v˜ cˆy nhi phˆn (mˆi d ınh c´ bˆc ≤ 2) tu.o.ng ˜’ ˙a` o e´ ’ o ¯˙ o o ao o ea .a oa .. . u.ng v´.i bˆ m˜. Cˆy d u.o.c v˜ xuˆ t ph´t t`. mˆt n´t d o.n (n´t gˆc) v` mˆ i n´t trong c´ bˆc ˜ ´ ´ ´ o o a a¯. e a a u o u¯ uo aou oa . . . .n hoˇc bˇ ng hai. Mˆt trong hai nh´nh con tu.o.ng u.ng bit 1 v` nh´nh c`n lai a` ˙ ’ ngo`i nho ho a a o a ´ aa o. . . 102
  15. tu.o.ng u.ng bit 0. Dˆ’ thuˆt tiˆn, ta quy u.´.c nh´nh con bˆn phai tu.o.ng u.ng 0 v` nh´nh con -e˙ ˙ ’ ´ ae o a e ´ aa . . .o.ng u.ng 1. Theo c´ch n`y, c´c cˆy nhi phˆn tu.o.ng u.ng c´c m˜ C , C v` C cho bˆn tr´i tu e a ´ a aaa a ´ a a2 3a4 . trong H` 4.3. (Dˆ’ d o.n gian, ta s˜ khˆng v˜ c´c m˜i tˆn trong c´c cˆy nhi phˆn). -e ¯ ˙ ˙ ’ ınh eo ea ue aa .a • ... ... ... ... 1.................... . . ... .. ... ... • •............... .. . .. . ...... . ... ..... ... ..... ... a1 ................0 1 0 ... ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... ... ... ... ... . ... ... ... ... ... • • • • ... .. . .. . ... ... . ..... ...... ...... ... ... ... ... ... ..... ... ..... ... ..... ... ..... a1 a2 0... ... 1 0 1 ... 0 ... ... ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... . . . . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... ... ... • • • • • ... ... . ... ... .. .. ... ... ... ... .... ... .. ... ... . ... ... ... ... ..... ... .. ..... ... ... 1 a1 a2 0 a2 a3 0 ... ... . ... ... 1 0 ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... ... ... . . . ... ... ... ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... . ... . ... ... ... ... ... ... ... ... ... • • • • • ... ... ... ... ... ... ... ... .. .. a3 a4 a3 a4 a4 M˜ C2 a M˜ C3 a M˜ C4 a H` 4.3: ınh u´ ` ` ´ Ch´ y rˇ ng ngo`i n´t gˆc, cˆy nhi phˆn c´ hai loai n´t: c´c n´t l´ c´ bˆc ngo`i bˇ ng a auo a .ao .u a uaoa aa . . m˜ chı tu.o.ng o a` o a u e´ khˆng; v` c´c n´t trong c´ bˆc ngo`i kh´c khˆng. Trong bˆ m˜ tiˆn tˆ, c´c t` a ˙ ’ o aa u oa a a o . . .ng c´c n´t l´. M˜ C khˆng phai l` m˜ tiˆn tˆ do tˆn tai t`. m˜ tu.o.ng u.ng n´t trong. ˙a a` o ´ ` ’ u ´ a ua a4 o e o.ua ´ u Duyˆt cˆy t`. gˆc dˆn c´c n´t l´ cho ta biˆ’u diˆn chuˆi bit tu.o.ng u.ng k´ hiˆu. Mˆ i nh´nh ˙ ˜ ˜ ˜ ´´ e a u o ¯e a u a e e o ´ ye o a . . . m˜ cua n´: bit 1 cho nh´nh tr´i v` bit 0 cho nh´nh phai. d ong g´p mˆt bit v`o t` a ˙ o ’ ˙ ’ ¯´ o o au a aa a . M˜ tiˆn tˆ luˆn luˆn d u.o.c giai m˜ duy nhˆ t nhu.ng ngu.o.c lai khˆng d ung (chˇng han ˙ ’ a` o o e´ ´ ˙a ’ o¯. a o ¯´ a .. . .ng minh rˇ ng bˆ m˜ c´ thˆ’ giai m˜ duy nhˆ t tu.o.ng d u.o.ng m˜ C4 ). Tuy nhiˆn c´ thˆ’ ch´ ˙ ˙’ ` ´ o ao e ˙ a eoeu a a a ¯ . v´.i m˜ tiˆn tˆ theo ngh˜ sˆ trung b` c´c bit biˆ’u diˆn c´c k´ hiˆu bˇ ng nhau. ˙ ˜aye` o a` o e´ ´ ıa: o ınh a e e .a 4.2.2 M˜ Huffman a M˜ Huffman l` m˜ tiˆn tˆ v` tˆi u.u v´.i c´c x´c xuˆ t cho tru.´.c. Phu.o.ng ph´p xˆy du.ng a a` oaoe´ ´ ´ a oaa a o aa . m˜ Huffman du.a trˆn hai quan s´t sau: a e a . 1. Trong mˆt bˆ m˜ tˆt u.u, c´c k´ hiˆu xuˆ t hiˆn thu.`.ng xuyˆn (c´ x´c suˆ t hay tˆn sˆ ´ ´e ´ `o a´ o o ao aye a o e oa a .. . . ´t hiˆn l´.n) s˜ c´ c´c t`. m˜ ngˇn ho.n c´c k´ hiˆu ´ xuˆ t hiˆn. ´ ´e xuˆ a eo eoa u a a a y e ıt a . . . 2. Trong mˆt bˆ m˜ tˆt u.u, hai k´ hiˆu xuˆ t hiˆn ´ nhˆ t s˜ c´ c´c t`. m˜ c`ng d o d`i. ´ ´ e ıt a e o a u a u ¯ˆ a ´ o o ao ye a .. . . . Dˆ’ xˆy du.ng m˜ Huffman, ch´ng ta c´ thˆ’ biˆ’u diˆn qua cˆy nhi phˆn m` c´c n´t l´ -e a ˙ ˙˙ ˜ a u oee e a .a aa ua . .o.ng u.ng c´c k´ hiˆu. Duyˆt cˆy nhi phˆn s˜ cho ta c´c t`. m˜ cua bˆ m˜: xuˆ t ph´t t`. ´ aua˙ oa ’ tu ´ aye ea .ae a au . . . 103
  16. nut gˆc v` d i dˆn c´c n´t l´, thˆm bit 1 v`o t`. m˜ mˆi lˆn qua nh´nh tr´i v` bit 0 mˆ i lˆn ˜a ˜a ´ ´ a u a o` o` ´ o a ¯ ¯e a u a e a aa .i cˆy trong H` 4.4, ta c´ biˆ’u diˆn c´c k´ tu. qua c´c t`. m˜ nhu. sau: ˙ ˜ a y. ˙ ’ qua nh´nh phai. V´ a a o ınh oe e aua K´ tu. y. M˜ ho´ aa A 1 O 00 R 010 S 0110 T 0111 • ..... ...... ... ..... ... ..... 1................... 0 ... ... ... ... ... ... . . . ... ... ... ... ... . ... ... ... • • ... .. .. . ..... ...... ... .... ... .... 1 0 ... ... A ... ... . ... ... ... ... . . ... ... ... ... ... ... ... ... ... . ... ... ... • • ... ... . .... ..... . .. . ... ... ... .... . 1 0 ... ... O ... ... .. .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... • • ... ... . .... ..... .. . . ... ... ... .... . ... 1 0 ... R ... ... .. .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... • • ... ... ... .. . T S H` 4.4: ınh Dˆ’ giai m˜ mˆt chuˆi bit, ch´ng ta bˇt d` u t`. gˆc v` di chuyˆ’n doc theo cˆy cho dˆn -e ˙ a o ˙’ ˙. ˜ ´ˆ ´ ´ o u a ¯a u o a e a ¯e . .: d i theo nh´nh tr´i nˆu d ´ l` bit 1, ngu.o.c lai d i theo nh´nh phai. Chˇng ˙ ’ ´ ˙ ’ khi gˇp k´ tu ¯ a y. a a e ¯o a . .¯ a a . ˜ han, chuˆi bit o . 01010111 .o.ng u.ng t`. RAT. V´.i mˆt cˆy x´c d inh m˜ Huffman nhu. H` 4.4, chuˆi bit bˆ t k` d u.o.c ˜ ´ tu ´ u o o a a ¯. a ınh o a y¯ . . . tu.o.ng u.ng v´.i nh˜.ng chuˆi bit c´ d ˆ d`i thay d o’i. ˙ ˜ ´ a ua y. ˙’a giai m˜ duy nhˆ t mˇc d` c´c k´ tu a ´ o u o o ¯o a ¯ˆ . . Huffman d a chı ra thuˆt to´n xˆy du.ng m˜ Huffman t`. bang c´c tˆn sˆ xuˆ t hiˆn cua a` o a a´´e˙ ¯˜ ˙ ’ u˙ ’ ’ a aa a . . . . nhu. sau: c´c k´ tu a y. Thuˆt to´n xˆy du.ng m˜ Huffman a a a a . . X´t chuˆ i cˆn m˜ ho´ s t`. n k´ tu. v´.i n ≥ 2. ˜a o` e aau y.o 1. Xˆy du.ng d˜y tˆn sˆ fi , i = 1, 2, . . . , n, xuˆ t hiˆn cua c´c k´ tu. trong chuˆi s. ˜ a`o a´ ´ e ˙ a y.’ a a o . . 104
  17. 2. Nˆu n = 2 (gia su. f1 ≤ f2 ), xuˆ t cˆy nhu. trong H` 4.5 v` d`.ng. ´ ´ ˙˙ ’’ e aa ınh au • . .. ... ... ... ..... ... ..... ... ... ... ... ... ... ... ... ... 1 0 ... . . ... ... ... ... ... ... ... ... . ... ... ... ... . ... ... ... ... ... . ... ... ... ... ... . ... ... ... ... . • • ... ... .. .. f1 f2 H` 4.5: ınh 3. Gia su. f v` f l` hai tˆn sˆ nho nhˆ t v` f ≤ f . Tao mˆt danh s´ch tˆn sˆ m´.i bˇ ng `oo` `o a´˙aa ´ a´ ˙˙ ’’ ’ a a o a a . . .i f + f . Goi thuˆt to´n n`y su. dung danh s´ch tˆn sˆ m´.i dˆ’ tao ˙ ` o o ¯e . a´ ˙ ’ aa˙. ’ c´ch thay f v` f bo a a a a . . cˆy T . Thay d ınh d u.o.c g´n nh˜n f + f dˆ’ nhˆn d u.o.c cˆy T trong H` 4.6. Xuˆ t T. ˙. ´ ¯˙ ¯ . a ’ a a ¯e a ¯ . a ınh a • .. .. ... ..... ... ..... ... ... ... ... ... ... ... ... ... ... ... 1 0 ... . . ... ... ... ... ... ... ... ... . ... ... ... ... . ... ... ... ... ... . ... ... ... ... ... . ... ... ... ... • • . ... ... .. . f f H` 4.6: ınh `o a´ ˙ ’ V´ du 4.2.1 Cho bang tˆn sˆ ı. K´ tu. `o a´ y. tˆn sˆ A 2 B 3 C 7 D 8 E 12 Khi d o cˆy Huffman tu.o.ng u.ng cho trong H` 4.7. ¯´ a ´ ınh 4.3 Cˆy bao tr` m a u Ch´ng ta d a nghiˆn c´.u riˆng biˆt c´c t´ chˆ t cua mˆt cˆy, trong muc n`y ch´ng ta s˜ ´’ e a ınh a ˙ u ¯˜ eu e oa .a u e . . .u cˆy khi gˇn n´ nhu. mˆt d` thi con cua mˆt d` thi kh´c. Ch´ng ta biˆt rˇ ng ´ e` ´a ˙ ’ nghiˆn c´ a eu ao o ¯o . ˆ o ¯o . a ˆ u . . cho d` thi c´ m canh, c´ thˆ’ xˆy du.ng d u.o.c 2m d` thi con kh´c nhau; r˜ r`ng l` trong sˆ ˙ ´ ¯ˆ . o o o ea ¯. ¯o . ˆ a oa a o . . 105
  18. • .... .... .. .... .. .... ... ... ... ... ... ... ... ... ... ... ... ... . ... ... ... ... . ... ... ... ... 1 0 . ... ... ... ... ... . ... ... ... ... ... . ... ... ... ... . ... ... ... ... . ... ... ... ... . ... ... ... ... ... . ... ... ... ... ... . ... ... • • .. .. . . ....... . ...... ...... ... ... . ... ... ... .... ... ..... ... ..... . 1 0 1 0 ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... ... ... . . . . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . ... ... ... ... ... ... ... • • • • ... .. .. . .. .. ..... . ...... . . . ... ... ... .... . 1 0 ... 7 8 12 ... ... ... . ... ... ... ... .. . ... ... ... ... ... ... ... ... ... C D E ... ... ... • • ... .. .. .. 2 3 A B H` 4.7: ınh d o c´ mˆt v`i d` thi con l` mˆt cˆy. Ch´ng ta quan tˆm dˆn mˆt loai cˆy d ac biˆt: “cˆy ´ ¯´ o o a ¯ˆ . o aoa u a ¯e o . a ¯ˇ e a . . . . . ` n d` u tiˆn d u.o.c su. dung v` ph´t triˆ’n l´ thuyˆt vˆ ˙y ´` ˙. ’ bao tr`m”. Kh´i niˆm cˆy bao tr`m lˆ ¯a u ae a uaˆ e¯. aa e ee . cˆy bo.i nh` vˆt l´ ngu.`.i Du.c Kirchoff nˇm 1847. Kirchoff d a su. dung cˆy bao tr`m nhˇ m o -´ ` ˙ ’ ¯˜ ˙ . ’ a aay a a u a . .o.ng tr` tuyˆn t´ dˆ’ x´c d inh cu.`.ng d o d`ng d iˆn trong mˆ i nh´nh v` ˙ a ¯. ˜ ´ ˙ ea ’. giai hˆ c´c phu ınh e ınh ¯e o ¯ˆ o ¯ e o a a . . ˙ a mˆt mang d iˆn. ’ xung quanh mach cu o ¯e . . . . -ˆ . V´ du 4.3.1 D` thi trong H` 4.8(a) c´ cˆy bao tr`m trong H` 4.8(b). ı. o ınh oa u ınh e e b b • • • • ................................................ ............................................ . ... . ............................................... ............................................ ...... ... .. ... .... ... . ... .... ... . ... .. . ... ... . ... ... ... . ... . ... ... ... ... ... ... ... ... . ... ... . . ... ... ... ... ... ... ... . ... . . ... ... ... ... ... ... ... . ... . . ... ... ... ... ... ... ... ... . . . ... ... ... ... ... ... ... . ... . . ... ... ... . ... . ... ... ... ... .... . . ... .. ... ... . ... .. . . ... .. . ... a• •c a• •c .. ............................................... ... ................................................ . . ... .. . .. ............................................... ............................................... .. . . ... ... . ... .... . ... ... . ... ... . ... ... ... ... . ... ... ... ... . ... ... ... ... . ... ... . ... ... ... ... ... . ... ... ... . ... ... ... . ... ... ... ... ... . ... ... ... . ... ... ... ... . ... ... ... . ... ... ... . ... ... ... ... ... . ... ... ... ... . ... . ... ... ... ... ... ... . ... ... ... . ... ... . ... ... ... ... ... ... . ... ... ... ... . ... . ... ... .... ... ... ... . ... ... ... . ... . ... ... ... ... ... ... . ... ... ... • • • • ... ... .. .. .............................................. .. .............................................. . f f d d (a) (b) H` 4.8: ınh Dinh ngh˜ 4.3.2 Cˆy T d u.o.c goi l` cˆy bao tr`m cua d` thi liˆn thˆng G nˆu T l` d` -. ´ ˙ ¯o . e ’ˆ ıa a ¯. .aa u o e a ¯o ˆ .a tˆ t ca c´c d ınh cua G. u´’ thi con cua G v` T ch´ a ˙ a ¯˙ ˙ ’ ’ ˙ ’ a . -. -ˆ . Dinh l´ 4.3.3 D` thi G = (V, E ) c´ d` thi bˆ phˆn l` mˆt cˆy nˆu v` chı’ nˆu G liˆn ´ ´ o ¯ˆ . o a a o a e a ˙ e y o o e . . . .´.c mˆt d` thi liˆn thˆng v` c´ n d ı’nh, bao gi`. ta c˜ng c´ thˆ’ ˙ a o ¯˙ thˆng. N´i c´ch kh´c, cho tru o o oa a o ¯ˆ . e o o o u oe . ˙ d u.o.c mˆt cˆy ch´.a tˆ t ca c´c d ı’nh cu a G (cˆy c´ n d ı’nh). ’¯ . .´ ´’ ˙¯ o o . ’ ˙ ’ u a ˙ a ¯˙ ˙ ’ a o ¯˙ bo d i mˆt sˆ canh cu a G dˆ ¯e oa . 106
  19. Ch´.ng minh. Diˆu kiˆn cˆn. Nˆu G liˆn thˆng th` ta thu. t` xem c´ canh n`o m` khi x´a -` e` ´ ˙ ım ’ u e .a e e o ı o. a a o d i khˆng l`m cho d` thi mˆ t t´ liˆn thˆng khˆng. Nˆu khˆng c´ mˆt canh n`o nhu. vˆy ´ ´ ¯ o a ¯ˆ . a ınh e o o o e o oo. a a . . th` G l` mˆt cˆy; nˆu c´ mˆt canh nhu. vˆy th` x´a n´ d i, v` ta lai d i t` mˆt canh m´.i dˆ’ ˙ ´ ı aoa eoo. a ı o o¯ a ¯ ım o . o ¯e . . . . . .i khi khˆng thˆ’ x´a mˆt canh n`o d u.o.c n˜.a th` ta c´ mˆt cˆy m` tˆp ho.p c´c ˙o x´a... Cho t´ o o o e o. a¯. u ı ooa aa .a . . . ` ¯˙’ ˙ o ¯´ ’ d ınh cua n´ d ung bˇ ng V. a Diˆu kiˆn d u. Gia su. a, b l` hai d ınh trong G v` do d o thuˆc cˆy bao tr`m T cua G. Khi -` e ¯˙ ’ ˙˙ ’’ ¯˙’ ˙ ’ e a a ¯´ oa u . . d o tˆn tai dˆy chuyˆn µ trong T t`. a dˆn b. Suy ra µ c˜ng thuˆc G. Vˆy G liˆn thˆng. ¯´ ` . a ` ´ o e u ¯e u o a e o . . Ch´ng ta s˜ su. dung thuˆt to´n t` kiˆm theo chiˆu rˆng dˆ’ xˆy du.ng cˆy bao tr`m ˙ ´ ` o ¯e a e˙ . ’ u a a ım e e. a u . . cua d` thi liˆn thˆng. ˙ ¯ˆ . e ’o o ´ ` 4.3.1 Thuˆt to´n t` kiˆm theo chiˆu rˆng x´c d .nh cˆy bao tr` m a a ım e eo a ¯i a u . . Trong thuˆt to´n n`y, S k´ hiˆu l` mˆt d˜y. a aa yeaoa . . . Nhˆp: D` thi liˆn thˆng G := (V, E ) v´.i c´c d ınh d u.o.c d ´nh sˆ th´. tu. a -ˆ . e ´ o a ¯ ˙ ¯ . ¯a ’ o o o u. . v1 , v 2 , . . . , v n . ´ Xuˆ t: Cˆy bao tr`m T. a a u 1. [Kho.i tao] Dˇt S := [v1 ] v` T l` d` thi gˆm d ınh v1 v` khˆng c´ canh. K´ hiˆu v1 l` ˙ . -a a ¯ˆ . ` ¯˙ ’ ’ a o o ao o. ye a . . ´c. ¯˙’ d ınh gˆ o 2. [Thˆm canh] V´.i mˆ i x ∈ S, theo th´. tu., thˆm canh (x, y ) ∈ E v` d ınh y (theo th´. ˜ a ¯˙’ e o o u. e u . . .) v`o T nˆu T ∪ (x, y ) khˆng tao th`nh chu tr` ınh. Nˆu khˆng c´ canh nhu. vˆy, ´ ´ tu a e o a e o o. a . . . d`.ng. T l` cˆy bao tr`m. u aa u 3. [Cˆp nhˆt S ] Thay S bo.i con (trong T ) cua S theo th´. tu.. Chuyˆ’n sang Bu.´.c 2. ˙ ˙ ’ ˙ ’ a a u. e o . . - e ım a Dˆ’ t` cˆy bao tr`m cua d` thi liˆn thˆng ta c`n c´ thˆ’ d`ng thuˆt to´n t` kiˆm ˙ ˙ ´ ˙ ¯o . e ’ u ˆ o o o eu a a ım e . . sau: ` u sˆu (c`n goi l` quay lui) nhu theo chiˆ a e o .a ´ ` 4.3.2 Thuˆt to´n t` kiˆm theo chiˆu sˆu x´c d .nh cˆy bao tr` m a a ım e ea a ¯i a u . Nhˆp: D` thi liˆn thˆng G := (V, E ) v´.i c´c d ınh d u.o.c d ´nh sˆ th´. tu. a -ˆ . e ´ o a ¯ ˙ ¯ . ¯a ’ o o o u. . v1 , v 2 , . . . , v n . ´ Xuˆ t: Cˆy bao tr`m T. a a u 107
  20. 1. [Kho.i tao] Dˇt w := v1 v` T l` d` thi gˆm d ınh v1 v` khˆng c´ canh. K´ hiˆu v1 l` ˙ . -a a ¯ˆ . ` ¯˙ ’ ’ a o o ao o. ye a . . ´ ¯˙’ d ınh gˆc. o 2. [Thˆm canh] Chon canh (w, vk ) v´.i chı sˆ k nho nhˆ t sao cho viˆc thˆm canh n`y v`o ’´ ´ ˙o ˙a ’ e o e e aa . . . . . ˙n sang Bu.´.c 3. Ngu.o.c lai, thˆm ’ ´ `. T khˆng tao ra chu tr` o ınh. Nˆu khˆng tˆn tai, chuyˆ e o o e o e . .. canh (w, vk ) v` d ınh vk v`o T ; d at w := vk v` chuyˆ’n sang Bu.´.c 2. ˙ a ¯˙’ a ¯ˇ a e o . . 3. [Kˆt th´c?] Nˆu w = v1 , thuˆt to´n d`.ng, T l` cˆy bao tr`m. ´ ´ e u e a au aa u . 4. [Quay lui] Dˇt x l` cha cua w (trong T ); g´n w := x v` chuyˆ’n sang Bu.´.c 2. -a ˙ ˙ ’ a a a e o . V´ du 4.3.4 D` thi trong H` 4.9(a) c´ c´c cˆy bao tr`m, H` 4.9(b) v` 4.9(c), d u.o.c -ˆ . ı. o ınh oa a u ınh a ¯. .ng theo c´c thuˆt to´n t` kiˆm theo chiˆu rˆng v` chiˆu sˆu tu.o.ng u.ng. ´ `o a`a xˆy du a a a a ım e e. e ´ . . a a a • • • .... ... .... ... .. . ... .... ... .... ... ... .... ... .... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. •c •c •c b• b• b• ............................... . .. . ... ................................ .................................... .. ... .. ..................................... .. ... .. ..... .. . .... .. .... . . . ..... .... .. .... . .... .. ... . . ... . ... ... . ... ... . .. . .. . .. . . . .. ... . ... ... . ..... ... . ... ... ... . .... ... . ..... ... . .... ... . . .. . .. . . . . ... ... . ... . ... . ... ... . ... . ... . ... . . .... ... ... ... ... ... ... ... ... ... ... ... . . . ... ... ... ... . ... ... . . . ... ... ... ... . ... . . . . ... ... ... ... ... . . . ... ... ... ... . ... ... ... ... ... ... . . . . ... . . . . ... ... ... ... ... ... . . . ... ... ... ... ... ... . . . . ... ... ... ... . . . . d• • •f d• • •f d• • •f ... . . . . ... ... ... .... .... .. ... .. ... . . . . .. .. .. . . .. . . . . ... .. .... . ... . . . . . .. . . ... ... ... ... ... . . . . ... ... ..... ... ... ... . . . . ... ... ... . . . . ... ... ... ... . . . ... e e e . ... ... ... ... . . . ... . ... ... ... ... . . . . ... ... ... ... ... . . . ... ... ... ... . ... . . . ... ... . ... ... . . . . ... ... . .... ... . .... ... ... . . . . ... . .... ... ... . ... ... . .... . . ... . . .. ... . . . .. ... ... . ... . .. ... . .. ... . ... ... ... . ... . . ... .... ... .... . . .. ....... . . ... . ... . . .. ... . ... . .. . . . ..................................... ..................................... . . • • • • • • ... ............................... ..... .. . . . ................................ . . .... . ... . . .. ... ... ... ... ... . ... .. ... ... . ... ... ... ... ... j j j ... i i i ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... .... ... ... ... • • • ... ... ... .. .... ... k k k (a) (b) (c) H` 4.9: (a) D` thi G. (b) Cˆy bao tr`m sinh bo.i thuˆt to´n t` kiˆm theo chiˆu rˆng. (c) -ˆ . ´ `o ˙ ’ ınh o a u a a ım e e. . .i thuˆt to´n t` kiˆm theo chiˆu sˆu. ´ `a ˙ ’ Cˆy bao tr`m sinh bo a u a a ım e e . T` cˆy bao tr` m du.a trˆn hai ma ng tuyˆn t´ ´ ˙ ’ 4.3.3 ım a u e e ınh . - e a ¯a a Dˆ’ c`i d ˇt c´c thuˆt to´n t` kiˆm theo chiˆu rˆng v` chiˆu sˆu trˆn d` thi liˆn thˆng G ˙ ´ `o a`a a a ım e e. e e ¯o . e ˆ o . . . liˆu ma trˆn kˆ hay cai biˆn, mang c´c danh t` cˆy bao tr`m T ta c´ thˆ’ d`ng cˆ u tr´c d˜ e ˙ ´ a` ˙e ’ ˙ ’ ım a u o eu a u u. .e a ` Vout []. Tuy nhiˆn, trong tru.`.ng ho.p d` thi d u.o.c biˆ’u diˆn bo.i hai mang tuyˆn t´ ˙ ˜ ´ ˙ ’ ˙ ’ s´ch kˆ a e e o . ¯o . ¯ . ˆ e e e ınh .n. Ngo`i ra, phu.o.ng ph´p sau n`y c˜ng cho ta ´. ˙ ’ α v` β th` c´ch tiˆp cˆn sau s˜ hiˆu qua ho a ıa ea ee a a au . .ng” (tˆp c´c cˆy bao tr`m) ch´.a (n − p) canh trong tru.`.ng ho.p d` thi c´ p > 1 mˆt “r` o u aaa u u o . ¯o . o ˆ . . . ` n liˆn thˆng. Hiˆ’n nhiˆn, v´.i nh˜.ng thuˆt to´n xˆy du.ng cˆy bao tr`m ta c´ thˆ’ ˙ ˙ th`nh phˆ e a a o e e o u a aa a u oe . . kiˆ’m tra d` thi c´ liˆn thˆng hay khˆng, v` nˆu n´ khˆng liˆn thˆng th` c´ thˆ’ x´c d .nh c´c ˙ ˙ ´ e ¯o . o e ˆ o o ae o o e o ı o e a ¯i a ` n liˆn thˆng. Nˆu mˇt kh´c, d` thi c´ trong sˆ th` ch´ng ta c´ thˆ’ t` cˆy bao ˙ ım a ´ ´ıu th`nh phˆ e a a o e a a ¯o . o . ˆ o oe . tr`m c´ tˆ’ng trong lu.o.ng nho nhˆ t (xem Phˆn 4.4). Ho.n n˜.a ch´ng ta c˜ng c´ thˆ’ xˆy ˙ ˙ ´ ` ˙ ’ u oo a a u u u o ea . . .ng hˆ c´c chu tr` d oc lˆp du.a trˆn cˆy bao tr`m cua d` thi nhu. trong Phˆn 4.3.4. ` ˙ ¯o . ’ˆ du ea ınh ¯ˆ a ea u a . . .. . 108
nguon tai.lieu . vn