Edge[i] = Vertex[alpha[i]]; Vertex[beta[i]] = Vertex[alpha[i]]; } else if (Vertex[alpha[i]] != Vertex[beta[i]]) { Edge[i] = Vertex[alpha[i]]; Tempt = Vertex[beta[i]]; for (j = 1; j <= NumEdges; j++) { if (Vertex[beta[j]] == Tempt) { Vertex[alpha[j]] = Vertex[alpha[i]]; Vertex[beta[j]] = Vertex[alpha[i]]; } if (Vertex[beta[j]] == Count) { Vertex[alpha[j]] = Tempt; Vertex[beta[j]] = Tempt; } } Edge[Count] = Tempt; Count ; } } } printf("So thanh phan lien thong la %d ", Count); for (j = 1; j <= Count; j++) { printf(" \n Cay bao trum thu %d gom cac canh ", j); for (i = 1; i <= NumEdges; i++) if (Edge[i] == j) printf(" %d %d ", alpha[i], beta[i]); } } 111 4.3.4 Thuˆa . t to´an t`ım tˆa ´ t ca ˙’ c´ac cˆay bao tr`um Viˆe . c phˆan t´ıch c´ac ma . ch d¯iˆe . n vˆe ` co . ba ˙’ n c´o thˆe ˙’ d¯u . a vˆe ` b`ai to´an t`ım tˆa ´ t ca ˙’ c´ac cˆay bao tr`um cu ˙’ a d¯ˆo ` thi . (xem [19]). Do tˆa ` m quan tro . ng cu ˙’ a n´o, c´o nhiˆe ` u thuˆa . t to´an kh´ac nhau gia ˙’ i quyˆe ´ t b`ai to´an n`ay. Mˆo . t trong nh˜u . ng phu . o . ng ph´ap l`a ho´an d¯ˆo ˙’ i c´ac chu tr`ınh nhu . sau: Xuˆa ´ t ph´at t`u . mˆo . t cˆay bao tr`um T n`ao d¯´o. V´o . i mˆo ˜ i ca . nh khˆong nˇa ` m trˆen cˆay T, khi thˆem v`ao cˆay n`ay s˜e ta . o ra duy nhˆa ´ t mˆo . t chu tr`ınh. X´oa bo ˙’ mˆo . t ca . nh bˆa ´ t k`y trong chu tr`ınh n`ay s˜e cho ta mˆo . t cˆay bao tr`um m´o . i. Do sˆo ´ c´ac cˆay bao tr`um l`a rˆa ´ t l´o . n thˆa . m ch´ı ca ˙’ v´o . i nh˜u . ng d¯ˆo ` thi . nho ˙’ , t´ınh hiˆe . u qua ˙’ cu ˙’ a nh˜u . ng thuˆa . t to´an gia ˙’ i quyˆe ´ t b`ai to´an rˆa ´ t quan tro . ng (xem [14]). Mˆo . t tˆo ˙’ ng quan cu ˙’ a c´ac phu . o . ng ph´ap n`ay l`a mˆo . t luˆa . n ´an tiˆe ´ n s˜ı cu ˙’ a Chase [12]. Chase d¯˜a chı ˙’ ra rˇa ` ng thuˆa . t to´an d¯u . a ra bo . ˙’ i Minty c´o hiˆe . u qua ˙’ nhˆa ´ t: liˆen tiˆe ´ p thu go . n d¯ˆo ` thi . bˇa ` ng c´ac ph´ep to´an xo´a mˆo . t ca . nh v`a ho . . p nhˆa ´ t c´ac d¯ı ˙’ nh d¯ˆa ` u cuˆo ´ i cu ˙’ a n´o. T`u . c´ac cˆay bao tr`um cu ˙’ a c´ac d¯ˆo ` thi . thu go . n (m`a nho ˙’ ho . n rˆa ´ t nhiˆe ` u) ta c´o thˆe ˙’ du . . ng d¯u . o . . c tˆa ´ t ca ˙’ c´ac cˆay bao tr`um cu ˙’ a d¯ˆo ` thi . ban d¯ˆa ` u. D - ˆe ˙’ ba ˙’ o d¯a ˙’ m thuˆa . t to´an kˆe ´ t th´uc, c´ac d¯ˆo ` thi . c´o k´ıch thu . ´o . c du . ´o . i mˆo . t ngu . ˜o . ng cho tru . ´o . c s˜e khˆong d¯u . o . . c thu go . n thˆem; thay v`ao d¯´o l`a c´ac cˆay bao tr`um cu ˙’ a ch´ung d¯u . o . . c suy ra. 4.3.5 Hˆe . co . so . ˙’ cu ˙’ a c´ac chu tr`ınh d¯ˆo . c lˆa . p Nhˇa ´ c la . i rˇa ` ng chu sˆo ´ cu ˙’ a d¯ˆo ` thi . vˆo hu . ´o . ng G c´o n d¯ı ˙’ nh, m ca . nh, p th`anh phˆa ` n liˆen thˆong bˇa ` ng c(G) = m − n + p−ch´ınh l`a sˆo ´ cu . . c d¯a . i c´ac chu tr`ınh d¯ˆo . c lˆa . p. Phˆa ` n du . ´o . i d¯ˆay ta xˆay du . . ng thuˆa . t to´an t`ım hˆe . co . so . ˙’ cu ˙’ a c´ac chu tr`ınh d¯ˆo . c lˆa . p du . . a trˆen cˆay bao tr`um cu ˙’ a d¯ˆo ` thi . . Khˆong gia ˙’ m tˆo ˙’ ng qu´at, c´o thˆe ˙’ gia ˙’ thiˆe ´ t d¯ˆo ` thi . G liˆen thˆong, v`ı trong tru . `o . ng ho . . p tr´ai la . i, th`ı ta x´et t`u . ng th`anh phˆa ` n liˆen thˆong. ´ Y tu . o . ˙’ ng o . ˙’ d¯ˆay l`a 1. Xˆay du . . ng cˆay bao tr`um T := (V, E T ). 2. Gia ˙’ su . ˙’ e 1 , e 2 , . . . , e m−n+1 l`a c´ac ca . nh cu ˙’ a E m`a khˆong thuˆo . c cˆay T. Khi thˆem mˆo . t ca . nh bˆa ´ t k`y trong c´ac ca . nh n`ay, chˇa ˙’ ng ha . n ca . nh e k , v`ao cˆay T ta d¯u . o . . c mˆo . t v`a chı ˙’ mˆo . t chu tr`ınh µ k . C´ac chu tr`ınh µ 1 , µ 2 , . . . , µ m−n+1 l`a d¯ˆo . c lˆa . p v`ı mˆo ˜ i chu tr`ınh ch´u . a mˆo . t ca . nh khˆong thuˆo . c c´ac chu tr`ınh kia; mˇa . t kh´ac ta c´o (m − n + 1) = c(G) chu tr`ınh nhu . vˆa . y, nˆen ta d¯˜a x´ac d¯i . nh d¯u . o . . c hˆe . co . so . ˙’ cu ˙’ a c´ac chu tr`ınh d¯ˆo . c lˆa . p. Nhu . vˆa . y b`ai to´an d¯u . a vˆe ` t`ım c´ac chu tr`ınh µ k khi thˆem ca . nh e k v`ao cˆay T. Trong khi kiˆe ˙’ m tra ca . nh e k = (α k , β k ) trong thuˆa . t to´an 4.3.3, nˆe ´ u d¯iˆe ` u kiˆe . n 3 d¯´ung (t´u . c l`a ca ˙’ hai d¯ı ˙’ nh α k v`a β k xuˆa ´ t hiˆe . n trong c`ung cˆay T i ) th`ı thay cho viˆe . c loa . i bo ˙’ ca . nh n`ay ch´ung ta cˆa ` n t`ım c´ac ca . nh trong T i m`a ta . o th`anh dˆay chuyˆe ` n gi˜u . a hai d¯ı ˙’ nh α k v`a β k . Dˆay chuyˆe ` n n`ay c`ung v´o . i ca . nh (α k , β k ) ta . o th`anh mˆo . t chu tr`ınh co . ba ˙’ n. Vˆa ´ n d¯ˆe ` ch´ınh o . ˙’ d¯ˆay l`a t`ım dˆay chuyˆe ` n 112 n`ay. C´o nhiˆe ` u phu . o . ng ph´ap hiˆe . u qua ˙’ gia ˙’ i quyˆe ´ t b`ai to´an, trong sˆo ´ d¯´o thuˆa . t to´an cu ˙’ a Paton [50] l`a hiˆe . u qua ˙’ nhˆa ´ t. Thuˆa . t to´an Paton t`ım hˆe . co . so . ˙’ cu ˙’ a c´ac chu tr`ınh d¯ˆo . c lˆa . p Ch´ung ta c˜ung s˜e kiˆe ˙’ m tra mˆo ˜ i ca . nh c´o ta . o th`anh chu tr`ınh v´o . i nh˜u . ng ca . nh trong cˆay d¯u . o . . c xˆay du . . ng trong qu´a tr`ınh thu . . c hiˆe . n thuˆa . t to´an, nhu . ng thay viˆe . c lˆa ´ y c´ac ca . nh theo th´u . tu . . tu`y ´y (nhu . trong Thuˆa . t to´an 4.3.3), ta cho . n mˆo . t d¯ı ˙’ nh z v`a kiˆe ˙’ m tra c´ac ca . nh liˆen thuˆo . c v´o . i n´o. (D - ı ˙’ nh z l`a d¯ı ˙’ nh v`u . a d¯u . o . . c thˆem v`ao cˆay). D - ˆe ˙’ d¯o . n gia ˙’ n, ta s˜e su . ˙’ du . ng ma trˆa . n kˆe ` A biˆe ˙’ u diˆe ˜ n d¯ˆo ` thi . . K´y hiˆe . u T l`a tˆa . p hiˆe . n h`anh c´ac d¯ı ˙’ nh trong cˆay d¯u . o . . c xˆay du . . ng o . ˙’ bu . ´o . c n`ao d¯´o v`a W l`a tˆa . p c´ac d¯ı ˙’ nh chu . a d¯u . o . . c kiˆe ˙’ m tra (t´u . c l`a nh˜u . ng d¯ı ˙’ nh thuˆo . c T hoˇa . c khˆong nhu . ng c´o ´ıt nhˆa ´ t mˆo . t ca . nh liˆen thuˆo . c v´o . i n´o chu . a d¯u . o . . c kiˆe ˙’ m tra). Ch´ung ta kho . ˙’ i d¯ˆa ` u thuˆa . t to´an bˇa ` ng c´ach d¯ˇa . t T = {v 1 } v`a W = V. D - ı ˙’ nh v 1 s˜e l`a gˆo ´ c cu ˙’ a cˆay. Sau qu´a tr`ınh kho . ˙’ i ta . o, thu . . c hiˆe . n c´ac bu . ´o . c sau: 1. Nˆe ´ u T ∩ W = ∅ thuˆa . t to´an d`u . ng. 2. Nˆe ´ u T ∩ W = ∅ cho . n d¯ı ˙’ nh z ∈ T ∩ W. 3. Kiˆe ˙’ m tra z bˇa ` ng c´ach x´et mˆo ˜ i ca . nh liˆen thuˆo . c v´o . i n´o. Nˆe ´ u khˆong c´o ca . nh n`ao, khu . ˙’ z t`u . W v`a chuyˆe ˙’ n sang Bu . ´o . c 1. 4. Nˆe ´ u tˆo ` n ta . i ca . nh (z, p) ∈ E kiˆe ˙’ m tra z c´o thuˆo . c T khˆong. 5. Nˆe ´ u p ∈ T t`ım chu tr`ınh co . ba ˙’ n gˆo ` m ca . nh (z, p) v`a mˆo . t dˆay chuyˆe ` n (duy nhˆa ´ t) t`u . z d¯ˆe ´ n p trong cˆay d¯ang d¯u . o . . c xˆay du . . ng. Xo´a ca . nh (z, p) kho ˙’ i d¯ˆo ` thi . v`a chuyˆe ˙’ n sang Bu . ´o . c 3. 6. Nˆe ´ u p /∈ T thˆem ca . nh (z, p) v`ao cˆay v`a d¯ı ˙’ nh p v`ao T. Xo´a ca . nh (z, p) kho ˙’ i d¯ˆo ` thi . v`a chuyˆe ˙’ n sang Bu . ´o . c 3. Nhu . d¯˜a d¯ˆe ` cˆa . p, vˆa ´ n d¯ˆe ` co . ba ˙’ n l`a Bu . ´o . c 5. Ch´ung ta pha ˙’ i t`ım dˆay chuyˆe ` n t`u . z d¯ˆe ´ n p nhu . thˆe ´ n`ao? Thu ˙’ tu . c sau s˜e tra ˙’ l`o . i cˆau ho ˙’ i n`ay. Ch´ung ta su . ˙’ du . ng mˆo . t ngˆan xˆe ´ p (stack) T W = T ∩ W d¯ˆe ˙’ lu . u tr˜u . c´ac d¯ı ˙’ nh trong cˆay nhu . ng chu . a d¯u . o . . c kiˆe ˙’ m tra. D - ı ˙’ nh d¯u . o . . c thˆem gˆa ` n d¯ˆay nhˆa ´ t v`ao cˆay s˜e d¯u . o . . c ch`en v`ao d¯ˆa ` u ngˆan xˆe ´ p. Mˆo ˜ i lˆa ` n mˆo . t d¯ı ˙’ nh d¯u . o . . c kiˆe ˙’ m tra d¯u . o . . c lˆa ´ y ra kho ˙’ i t`u . d¯ı ˙’ nh cu ˙’ a ngˆan xˆe ´ p. Ta su . ˙’ du . ng thˆem hai ma ˙’ ng tuyˆe ´ n t´ınh d¯ˆo . d`ai n : ma ˙’ ng l[j] l`a khoa ˙’ ng c´ach t`u . gˆo ´ c v 1 d¯ˆe ´ n d¯ı ˙’ nh v j trong cˆay bao tr`um; v`a Pred[j] l`a d¯ı ˙’ nh v i sao cho ca . nh (v i , v j ) l`a mˆo . t ca . nh trong cˆay v´o . i v i gˆa ` n gˆo ´ c ho . n v j . N´oi c´ach kh´ac, Pred[j] l`a d¯ı ˙’ nh liˆe ` n tru . ´o . c d¯ı ˙’ nh v j trong dˆay chuyˆe ` n t`u . 113 v 1 d¯ˆe ´ n v J . Nh˜an l[J] = −1 nˆe ´ u v`a chı ˙’ nˆe ´ u d¯ı ˙’ nh v j khˆong thuˆo . c tˆa . p T. Kho . ˙’ i ta . o l[1] = 0 v`a l[j] = −1 v´o . i mo . i j = 2, 3, . . . , n. Trong Bu . ´o . c 5, khi x´et d¯ı ˙’ nh z v`a ca . nh (z, p) d¯u . o . . c t`ım thˆa ´ y v´o . i p ∈ T. D - ˆe ˙’ x´ac d¯i . nh chu tr`ınh co . ba ˙’ n sinh bo . ˙’ i ca . nh (z, p) ch´ung ta lˆa ` n theo dˆay chuyˆe ` n t`u . z d¯ˆe ´ n p trong cˆay bˇa ` ng c´ach t`ım liˆen tiˆe ´ p c´ac “tiˆe ` n bˆo ´ i” Pred[z], Pred[Prede[z]], . . . cho d¯ˆe ´ n khi ch´ung ta bˇa ´ t gˇa . p Pred[p]-tiˆe ` n bˆo ´ i cu ˙’ a p. N´oi c´ach kh´ac, nhu . chı ˙’ ra trong H`ınh ??, chu tr`ınh co . ba ˙’ n d¯u . o . . c ta . o ra l`a z, Pred[z], Pred[Pred[z]], . . . , Pred[p], p, z. Cˆa ` n ch´u ´y rˇa ` ng tiˆe ` n bˆo ´ i Pred[k] cu ˙’ a mo . i d¯ı ˙’ nh k ∈ T l`a mˆo . t d¯ı ˙’ nh m`a hoˇa . c d¯˜a d¯u . o . . c kiˆe ˙’ m tra hoˇa . c d¯ang d¯u . o . . c kiˆe ˙’ m tra. T´u . c l`a, nˆe ´ u k ∈ T ∩ W th`ı Pred[k] /∈ W nhu . ng Pred[k] ∈ T. Thu ˙’ tu . c FundamentalCircuits() minh ho . a c´ac bu . ´o . c d¯˜a tr`ınh b`ay o . ˙’ trˆen. Th`o . i gian thu . . c hiˆe . n cu ˙’ a thuˆa . t to´an bi . chˇa . n trˆen bo . ˙’ i n ν trong d¯´o gi´a tri . thu . . c ν ∈ [2, 3] phu . thuˆo . c v`ao cˆa ´ u tr´uc cu ˙’ a d¯ˆo ` thi . c˜ung nhu . c´ach d¯´anh nh˜an c´ac d¯ı ˙’ nh [50]. Mˇa . c d`u d¯ˆe ˙’ d¯o . n gia ˙’ n ch´ung ta d¯˜a gia ˙’ su . ˙’ G liˆen thˆong, tuy nhiˆen thuˆa . t to´an c´o thˆe ˙’ dˆe ˜ d`ang ca ˙’ i biˆen cho tru . `o . ng ho . . p tˆo ˙’ ng qu´at. D - ˆa ` u tiˆen, thuˆa . t to´an s˜e ta . o ra tˆa ´ t ca ˙’ c´ac chu tr`ınh co . ba ˙’ n trong th`anh phˆa ` n liˆen thˆong ch´u . a d¯ı ˙’ nh xuˆa ´ t ph´at v 1 . Sau d¯´o ta cho . n d¯ı ˙’ nh y m`a l[y] = −1 v`a bˇa ´ t d¯ˆa ` u v´o . i y l`a gˆo ´ c cu ˙’ a cˆay bao tr`um th´u . hai. Thuˆa . t to´an lˇa . p la . i cho d¯ˆe ´ n khi tˆa ´ t ca ˙’ c´ac d¯ı ˙’ nh d¯u . o . . c g´an nh˜an l kh´ac −1. 4.4 Cˆay bao tr`um tˆo ´ i thiˆe ˙’ u D - i . nh ngh˜ıa 4.4.1 Gia ˙’ su . ˙’ G l`a d¯ˆo ` thi . c´o tro . ng sˆo ´ . Cˆay bao tr`um tˆo ´ i thiˆe ˙’ u cu ˙’ a G l`a mˆo . t cˆay bao tr`um cu ˙’ a G v´o . i tro . ng lu . o . . ng nho ˙’ nhˆa ´ t. B`ai to´an n`ay rˆa ´ t hay gˇa . p trong thˆong tin liˆen la . c v`a trong c´ac ng`anh kh´ac. Chˇa ˙’ ng ha . n ta d¯ˇa . t cˆau ho ˙’ i nhu . sau: d¯ˆo . d`ai dˆay d¯iˆe . n ngˇa ´ n nhˆa ´ t cˆa ` n thiˆe ´ t d¯ˆe ˙’ nˆo ´ i n th`anh phˆo ´ d¯˜a d¯i . nh l`a bao nhiˆeu? Khi d¯´o coi c´ac th`anh phˆo ´ l`a c´ac d¯ı ˙’ nh cu ˙’ a d¯ˆo ` thi . v`a w(a, b) l`a khoa ˙’ ng c´ach t´ınh bˇa ` ng km gi˜u . a c´ac th`anh phˆo ´ a v`a b. Ma . ng dˆay d¯iˆe . n cˆa ` n pha ˙’ i liˆen thˆong, v`a v`ı d¯ˆo . d`ai dˆay d¯iˆe . n cˆa ` n ngˇa ´ n nhˆa ´ t nˆen n´o khˆong c´o chu tr`ınh: vˆa . y ma . ng d¯´o l`a mˆo . t cˆay. O . ˙’ d¯ˆay ta cˆa ` n t`ım mˆo . t cˆay “tˆo ´ i thiˆe ˙’ u” c´o thˆe ˙’ d¯u . o . . c v`a l`a mˆo . t d¯ˆo ` thi . bˆo . phˆa . n cu ˙’ a d¯ˆo ` thi . d¯ˆa ` y d¯u ˙’ c´o n d¯ı ˙’ nh. Mˆo . t ´u . ng du . ng gi´an tiˆe ´ p: b`ai to´an t`ım cˆay bao tr`um tˆo ´ i thiˆe ˙’ u l`a bu . ´o . c trung gian trong viˆe . c t`ım l`o . i gia ˙’ i cu ˙’ a b`ai to´an ngu . `o . i du li . ch-mˆo . t b`ai to´an thu . `o . ng xuˆa ´ t hiˆe . n trong thu . . c tˆe ´ . 114 Cˆa ` n ch´u ´y rˇa ` ng, cˆay bao tr`um tˆo ´ i thiˆe ˙’ u cu ˙’ a d¯ˆo ` thi . khˆong liˆen quan d¯ˆe ´ n cˆay sinh bo . ˙’ i tˆa ´ t ca ˙’ c´ac dˆay chuyˆe ` n ngˇa ´ n nhˆa ´ t t`u . mˆo . t d¯ı ˙’ nh cho tru . ´o . c. Do d¯´o, d¯ˆo ` thi . trong H`ınh 4.10(a), v´o . i c´ac sˆo ´ trˆen c´ac ca . nh tu . o . ng ´u . ng c´ac tro . ng lu . o . . ng ca . nh, cˆay sinh ra bo . ˙’ i d¯u . `o . ng d¯i ngˇa ´ n nhˆa ´ t t`u . d¯ı ˙’ nh cho tru . ´o . c, chˇa ˙’ ng ha . n v 1 , trong H`ınh 4.10(b); ngu . o . . c la . i, cˆay bao tr`um tˆo ´ i thiˆe ˙’ u cho trong H`ınh 4.10(c). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 1 v 2 v 3 v 4 v 5 • • • • • • • • • • • • • • • 5 3 5 3 3 5 5 3 (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 1 v 2 v 3 v 4 v 5 (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 1 v 2 v 3 v 4 v 5 (c) H`ınh 4.10: (a) D - ˆo ` thi . G. (b) Cˆay sinh bo . ˙’ i d¯u . `o . ng d¯i ngˇa ´ n nhˆa ´ t xuˆa ´ t ph´at t`u . v 1 . (c) Cˆay bao tr`um nho ˙’ nhˆa ´ t. T`ım cˆay bao tr`um tˆo ´ i thiˆe ˙’ u l`a mˆo . t trong nh˜u . ng b`ai to´an cu ˙’ a l´y thuyˆe ´ t d¯ˆo ` thi . c´o thˆe ˙’ gia ˙’ i quyˆe ´ t triˆe . t d¯ˆe ˙’ . Do d¯´o, d¯ˇa . t T i v`a T j l`a hai cˆay con d¯u . o . . c ta . o ra trong qu´a tr`ınh xˆay du . . ng cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. Nˆe ´ u T i d¯u . o . . c su . ˙’ du . ng d¯ˆe ˙’ biˆe ˙’ u diˆe ˜ n tˆa . p c´ac d¯ı ˙’ nh cu ˙’ a cˆay con th`ı ∆ ij c´o thˆe ˙’ d¯i . nh ngh˜ıa l`a khoa ˙’ ng c´ach ngˇa ´ n nhˆa ´ t t`u . mˆo . t d¯ı ˙’ nh trong T i d¯ˆe ´ n mˆo . t d¯ı ˙’ nh trong T j ; t´u . c l`a ∆ ij := min v i ∈T i [min v j ∈T j {w(v i , v j )}], i = j. (4.1) Khi d¯´o, dˆe ˜ d`ang ch´u . ng minh rˇa ` ng lˇa . p la . i ph´ep to´an sau s˜e cho ta cˆay bao tr`um tˆo ´ i thiˆe ˙’ u: Ph´ep to´an I. V´o . i cˆay con T s n`ao d¯´o, t`ım cˆay con T j ∗ sao cho ∆ sj ∗ = min T j [∆ sj ], v`a d¯ˇa . t (v s , v j ∗ ) l`a ca . nh tu . o . ng ´u . ng gi´a tri . ∆ sj ∗ trong (4.1) d¯a . t d¯u . o . . c. Khi d¯´o (v s , v j ∗ ) thuˆo . c cˆay bao tr`um tˆo ´ i thiˆe ˙’ u v`a c´o thˆe ˙’ d¯u . o . . c thˆem v`ao v´o . i c´ac ca . nh kh´ac trong qu´a tr`ınh lˇa . p d¯ˆe ˙’ ta . o ra cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. Thˆa . t vˆa . y, gia ˙’ su . ˙’ c´ac ca . nh trong c´ac cˆay con o . ˙’ bu . ´o . c k n`ao d¯´o thuˆo . c cˆay bao tr`um tˆo ´ i thiˆe ˙’ u T m o . ˙’ bu . ´o . c cuˆo ´ i c`ung. Gia ˙’ su . ˙’ ca . nh (v s , v j ∗ ) d¯u . o . . c cho . n nhu . trˆen khˆong thuˆo . c cˆay bao 115 tr`um tˆo ´ i thiˆe ˙’ u T m . Theo d¯i . nh ngh˜ıa, cˆay con T s o . ˙’ bu . ´o . c cuˆo ´ i c`ung d¯u . o . . c nˆo ´ i v´o . i cˆay con kh´ac n`ao d¯´o bˇa ` ng ca . nh (v i , v j ) trong d¯´o v i ∈ T s v`a v j /∈ T s v`a ngo`ai ra T s pha ˙’ i ch´u . a trong cˆay bao tr`um tˆo ´ i thiˆe ˙’ u T m . Xo´a ca . nh (v i , v j ) kho ˙’ i cˆay T m s˜e cho ta hai th`anh phˆa ` n liˆen thˆong v`a thay n´o bo . ˙’ i ca . nh (v s , v j ∗ ) s˜e ta . o mˆo . t cˆay m´o . i c´o tro . ng lu . o . . ng nho ˙’ ho . n tro . ng lu . o . . ng cˆay T m , mˆau thuˆa ˜ n. Vˆa . y, v´o . i nh˜u . ng gia ˙’ thiˆe ´ t trˆen, ta c´o thˆe ˙’ thˆem ca . nh (v s , v j ∗ ) d¯ˆe ˙’ ta . o th`anh cˆay (ch´u . a trong cˆay bao tr`um tˆo ´ i thiˆe ˙’ u) o . ˙’ bu . ´o . c k v`a tiˆe ´ p tu . c v´o . i bu . ´o . c (k + 1). C˜ung cˆa ` n ch´u ´y rˇa ` ng, phu . o . ng ph´ap trˆen khˆong phu . thuˆo . c v`ao cˆay T s d¯u . o . . c cho . n. Ho . n n˜u . a, do bu . ´o . c kho . ˙’ i ta . o (t´u . c l`a tru . ´o . c khi bˆa ´ t c´u . ca . nh n`ao d¯u . o . . c cho . n) gia ˙’ thiˆe ´ t l`a khˆong tˆo ` n ta . i (v`a do d¯´o d¯´ung) nˆen lˇa . p la . i thuˆa . t to´an trˆen cuˆo ´ i c`ung s˜e ta . o ra cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. Hˆa ` u hˆe ´ t c´ac phu . o . ng ph´ap t`ım cˆay bao tr`um tˆo ´ i thiˆe ˙’ u d¯ˆe ` u du . . a trˆen nh˜u . ng tru . `o . ng ho . . p d¯ˇa . c biˆe . t cu ˙’ a thu ˙’ tu . c trˆen. D - ˆa ` u tiˆen, trong sˆo ´ d¯´o l`a phu . o . ng ph´ap cu ˙’ a Kruskal [39] nhu . sau. 4.4.1 Thuˆa . t to´an Kruskal ´ Y tu . o . ˙’ ng cu ˙’ a thuˆa . t to´an Kruskal t`ım cˆay bao tr`um trong d¯ˆo ` thi . liˆen thˆong c´o tro . ng sˆo ´ G nhu . sau: Kho . ˙’ i ta . o v´o . i d¯ˆo ` thi . T gˆo ` m tˆa ´ t ca ˙’ c´ac d¯ı ˙’ nh cu ˙’ a G v`a khˆong c´o ca . nh. Ta . i mˆo ˜ i bu . ´o . c lˇa . p ch´ung ta thˆem mˆo . t ca . nh c´o tro . ng lu . o . . ng nho ˙’ nhˆa ´ t lˆen cˆay T m`a khˆong ta . o th`anh chu tr`ınh trong T. Thuˆa . t to´an d`u . ng khi T c´o (n − 1) ca . nh. 1. [Kho . ˙’ i ta . o] Gia ˙’ su . ˙’ T l`a d¯ˆo ` thi . gˆo ` m n d¯ı ˙’ nh v`a khˆong c´o ca . nh. 2. [Sˇa ´ p xˆe ´ p] Sˇa ´ p xˆe ´ p th´u . tu . . c´ac ca . nh cu ˙’ a d¯ˆo ` thi . G theo th´u . tu . . tro . ng lu . o . . ng tˇang dˆa ` n. 3. [Thˆem ca . nh] Thˆem ca . nh (bˇa ´ t d¯ˆa ` u t`u . ca . nh d¯ˆa ` u tiˆen) trong danh s´ach c´ac ca . nh d¯u . o . . c sˇa ´ p xˆe ´ p v`ao cˆay T sao cho khˆong ta . o th`anh chu tr`ınh trong T khi thˆem. (Ca . nh d¯u . o . . c thˆem v`ao go . i l`a chˆa ´ p nhˆa . n d¯u . o . . c). 4. [Kˆe ´ t th´uc] Nˆe ´ u T c´o (n − 1) ca . nh th`ı thuˆa . t to´an d`u . ng; T l`a cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. Thuˆa . t to´an n`ay thˆem v`ao cˆay T nh˜u . ng ca . nh c´o tro . ng lu . o . . ng nho ˙’ nhˆa ´ t chˆa ´ p nhˆa . n d¯u . o . . c ho . n l`a thˆem ca . nh gi˜u . a mˆo . t cˆay con cu ˙’ a T, chˇa ˙’ ng ha . n T s , v`a mˆo . t cˆay con n`ao kh´ac (nhu . chı ˙’ ra trong Ph´ep to´an I). Hiˆe ˙’ n nhiˆen ca . nh d¯u . o . . c cho . n c´o tro . ng lu . o . . ng nho ˙’ nhˆa ´ t gi˜u . a mˆo . t cˆay con n`ao d¯´o v`a bˆa ´ t k`y cˆay con kh´ac, nˆen nguyˆen tˇa ´ c cho . n cu ˙’ a thuˆa . t to´an Kruskal l`a mˆo . t tru . `o . ng ho . . p d¯ˇa . c biˆe . t cu ˙’ a Ph´ep to´an I. Tuy nhiˆen c´o thˆe ˙’ xa ˙’ y ra tru . `o . ng ho . . p ca . nh e d¯u . o . . c kiˆe ˙’ m tra d¯ˆe ˙’ thˆem v`ao liˆen thuˆo . c gi˜u . a hai d¯ı ˙’ nh cu ˙’ a c`ung mˆo . t cˆay con v`a do d¯´o n´o s˜e ta . o ra mˆo . t chu tr`ınh nˆe ´ u thˆem v`ao; t´u . c l`a ca . nh e l`a khˆong chˆa ´ p nhˆa . n d¯u . o . . c. V`ı vˆa . y, trong Bu . ´o . c 3, c´ac ca . nh cˆa ` n d¯u . o . . c kiˆe ˙’ m tra t´ınh chˆa ´ p nhˆa . n cu ˙’ a n´o tru . ´o . c khi thˆem v`ao T. Tiˆe ´ n tr`ınh kiˆe ˙’ m tra n`ay c´o thˆe ˙’ thu . . c hiˆe . n hiˆe . u qua ˙’ bˇa ` ng c´ach su . ˙’ du . ng thuˆa . t to´an xˆay du . . ng cˆay bao tr`um du . . a trˆen hai ma ˙’ ng tuyˆe ´ n t´ınh nhu . d¯˜a tr`ınh b`ay trong Phˆa ` n 4.3.3. 116 V´ı du . 4.4.2 X´et d¯ˆo ` thi . trong H`ınh 4.11(a). Sˇa ´ p xˆe ´ p c´ac ca . nh theo tro . ng lu . o . . ng tˇang dˆa ` n (su . ˙’ du . ng hai ma ˙’ ng tuyˆe ´ n t´ınh α v`a β) ta d¯u . o . . c k 1 2 3 4 5 6 7 8 9 α c a e a c a b c d β d c f e f b d e f Tro . ng lu . o . . ng 1 2 2 3 3 4 5 6 6 C´ac ca . nh (khˆong ta . o th`anh chu tr`ınh) d¯u . o . . c thˆem v`ao cˆay T theo th´u . tu . . l`a (c, d), (a, c), (e, f), (a, e ), (a, b ). T l`a cˆay bao tr`um nho ˙’ nhˆa ´ t c´o tro . ng lu . o . . ng 12 (H`ınh 4.11(b)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a b c d e f • • • • • • 1 2 2 3 3 4 5 6 6 (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a b c d e f • • • • • • 1 2 2 3 4 (b) H`ınh 4.11: Bˆo ˙’ d¯ˆe ` 4.4.3 Nˆe ´ u K n = (V, E) l`a d¯ˆo ` thi . d¯ˆa ` y d¯u ˙’ , v`a nˆe ´ u tˆa ´ t ca ˙’ c c´ac tro . ng lu . o . . ng cu ˙’ a c´ac ca . nh kh´ac nhau th`ı tˆo ` n ta . i duy nhˆa ´ t mˆo . t cˆay bao tr`um tˆo ´ i thiˆe ˙’ u T = (V, E T ). Ch´u . ng minh. K´y hiˆe . u E k := {e 1 , e 2 , . . . , e k } l`a tˆa . p c´ac ca . nh d¯u . o . . c thˆem v`ao cˆay T trong Thuˆa . t to´an 4.4.1 o . ˙’ bu . ´o . c lˇa . p th´u . k, 1 ≤ k ≤ n − 1. Hiˆe ˙’ n nhiˆen theo c´ach xˆay du . . ng, T l`a d¯ˆo ` thi . c´o (n − 1) ca . nh v`a khˆong c´o chu tr`ınh nˆen T l`a cˆay bao tr`um cu ˙’ a K n . Gia ˙’ su . ˙’ T = (V, E T ) l`a cˆay bao tr`um tˆo ´ i thiˆe ˙’ u, ta ch´u . ng minh E T = E n−1 . Thˆa . t vˆa . y, gia ˙’ su . ˙’ ngu . o . . c la . i tˆo ` n ta . i chı ˙’ sˆo ´ k nho ˙’ nhˆa ´ t sao cho ca . nh e k khˆong thuˆo . c E T . Khi d¯´o theo t´ınh chˆa ´ t cu ˙’ a cˆay, tˆo ` n ta . i tˆo ` n ta . i mˆo . t v`a chı ˙’ mˆo . t chu tr`ınh µ trong T ∪ {e k }. Trˆen chu tr`ınh n`ay c´o mˆo . t ca . nh e 0 m`a e 0 /∈ E n−1 , v`ı nˆe ´ u ngu . o . . c la . i tˆo ` n ta . i mˆo . t chu tr`ınh, l`a µ, trong cˆay 117 T −mˆau thuˆa ˜ n. Nˆe ´ u d¯ˇa . t E T := (E T ∪ {e k }) \ {e 0 }) th`ı d¯ˆo ` thi . T := (V, E T ) khˆong c´o chu tr`ınh v`a c´o (n − 1) ca . nh nˆen n´o l`a mˆo . t cˆay. Mˇa . t kh´ac E k−1 ∪ {e 0 } ⊂ E T nˆen E k−1 ∪ {e 0 } khˆong ch´u . a chu tr`ınh. Suy ra w(e 0 ) > w(e k ). Nhu . ng cˆay T nhˆa . n d¯u . o . . c t`u . cˆay T bˇa ` ng c´ach thay ca . nh e 0 th`anh ca . nh e k nˆen W (T ) < W (T ). Mˆau thuˆa ˜ n v`ı T l`a cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. D - i . nh l´y 4.4.4 Thuˆa . t to´an Kruskal l`a d¯´ung; t´u . c l`a, kˆe ´ t th´uc thuˆa . t to´an T l`a cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. Ch´u . ng minh. Thˆa . t vˆa . y tru . ´o . c hˆe ´ t ta thu xˆe ´ p d¯ˆe ˙’ mo . i ca . nh d¯ˆe ` u c´o d¯ˆo . d`ai kh´ac nhau; chˇa ˙’ ng ha . n nˆe ´ u w(e 1 ) = w(e 2 ) = · · · = w(e s ) th`ı thu . . c hiˆe . n ph´ep biˆe ´ n d¯ˆo ˙’ i: w(e 1 ) = w(e 1 ) + , w(e 2 ) = w(e 2 ) + 2 , . . . w(e s ) = w(e s ) + s , trong d¯´o l`a sˆo ´ du . o . ng d¯u ˙’ b´e sao cho khˆong l`am d¯a ˙’ o lˆo . n th´u . tu . . vˆe ` quan hˆe . gi˜u . a tro . ng lu . o . . ng cu ˙’ a c´ac ca . nh. C˜ung thˆe ´ , ta c˜ung c´o thˆe ˙’ thˆem c´ac ca . nh f v´o . i tro . ng lu . o . . ng d¯u ˙’ l´o . n w(f) > e∈E w(e) v`a kh´ac nhau sao cho d¯ˆo ` thi . nhˆa . n d¯u . o . . c K n = (V, E ) l`a d¯ˆa ` y d¯u ˙’ . Theo Bˆo ˙’ d¯ˆe ` 4.4.3 tˆo ` n ta . i duy nhˆa ´ t mˆo . t cˆay bao tr`um tˆo ´ i thiˆe ˙’ u T trong d¯ˆo ` thi . K n . Mˇa . t kh´ac, mo . i cˆay bao tr`um cu ˙’ a d¯ˆo ` thi . G c´o tro . ng lu . o . . ng khˆong vu . o . . t qu´a e∈E w(e) v`a mo . i cˆay bao tr`um cu ˙’ a G c˜ung l`a cˆay bao tr`um cu ˙’ a K n . Suy ra T l`a cˆay bao tr`um tˆo ´ i thiˆe ˙’ u cu ˙’ a G. Nhˆa . n x´et rˇa ` ng, c´o thˆe ˙’ d`ung phu . o . ng ph´ap d¯ˆo ´ i ngˆa ˜ u: loa . i dˆa ` n c´ac ca . nh c´o tro . ng lu . o . . ng l´o . n nhˆa ´ t cu ˙’ a d¯ˆo ` thi . m`a khˆong l`am mˆa ´ t t´ınh liˆen thˆong cu ˙’ a n´o cho d¯ˆe ´ n khi khˆong thˆe ˙’ loa . i ca . nh d¯u . o . . c n˜u . a. D - ˆo . ph´u . c ta . p t´ınh to´an cu ˙’ a thuˆa . t to´an Kruskal phu . thuˆo . c v`ao Bu . ´o . c 2: d¯ˆo ` thi . c´o m ca . nh cˆa ` n m log 2 m ph´ep to´an d¯ˆe ˙’ thu . . c hiˆe . n sˇa ´ p xˆe ´ p ma ˙’ ng theo tro . ng lu . o . . ng tˇang dˆa ` n. Tuy nhiˆen, n´oi chung ta khˆong cˆa ` n duyˆe . t to`an bˆo . ma ˙’ ng v`ı cˆay bao tr`um tˆo ´ i thiˆe ˙’ u gˆo ` m (n − 1) ca . nh chˆa ´ p nhˆa . n d¯u . o . . c nˆen chı ˙’ cˆa ` n kiˆe ˙’ m tra r < m phˆa ` n tu . ˙’ d¯ˆa ` u tiˆen cu ˙’ a ma ˙’ ng. Do d¯´o ta c´o thˆe ˙’ ca ˙’ i tiˆe ´ n thuˆa . t to´an n`ay d¯ˆe ˙’ tˇang tˆo ´ c d¯ˆo . thu . . c hiˆe . n (xem [14], [36]). Mˇa . c d`u c´o nh˜u . ng ca ˙’ i tiˆe ´ n, nhu . ng thuˆa . t to´an Kruskal chı ˙’ th´ıch ho . . p v´o . i nh˜u . ng d¯ˆo ` thi . tu . o . ng d¯ˆo ´ i thu . a. V´o . i nh˜u . ng d¯ˆo ` thi . kh´ac, chˇa ˙’ ng ha . n d¯ˆo ` thi . d¯ˆa ` y d¯u ˙’ c´o sˆo ´ ca . nh m = n(n−1)/2, 118 Prim [49] v`a Dijkstra [20] d¯˜a d¯u . a ra nh˜u . ng thuˆa . t to´an kh´ac du . . a trˆen viˆe . c d¯ˇa . c biˆe . t ho´a hiˆe . u qua ˙’ ho . n Ph´ep to´an I. 4.4.2 Thuˆa . t to´an Prim Thuˆa . t to´an n`ay xˆay du . . ng cˆay T bˇa ` ng c´ach liˆen tiˆe ´ p thˆem c´ac ca . nh c´o tro . ng lu . o . . ng nho ˙’ nhˆa ´ t liˆen thuˆo . c mˆo . t d¯ı ˙’ nh trong cˆay d¯ang d¯u . o . . c h`ınh th`anh v`a mˆo . t d¯ı ˙’ nh khˆong thuˆo . c cˆay n`ay cho d¯ˆe ´ n khi nhˆa . n d¯u . o . . c cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. Trong mˆo ˜ i bu . ´o . c lˇa . p, qu´a tr`ınh thˆem ca . nh n`ay s˜e ba ˙’ o d¯a ˙’ m khˆong ta . o th`anh chu tr`ınh trong T. Ch´ung ta minh ho . a thuˆa . t to´an bˇa ` ng c´ach su . ˙’ du . ng “ma trˆa . n tro . ng lu . o . . ng” W = (w ij ) n×n , trong d¯´o w ij = 0 nˆe ´ u i = j, +∞ nˆe ´ u khˆong tˆo ` n ta . i ca . nh (v i , v j ), w(v i , v j ) nˆe ´ u tˆo ` n ta . i ca . nh (v i , v j ). Kho . ˙’ i d¯ˆa ` u t`u . d¯ı ˙’ nh v 1 v`a nˆo ´ i n´o d¯ˆe ´ n mˆo . t d¯ı ˙’ nh kˆe ` gˆa ` n nhˆa ´ t (t´u . c l`a d¯ı ˙’ nh m`a c´o phˆa ` n tu . ˙’ nho ˙’ nhˆa ´ t trong h`ang th´u . nhˆa ´ t trong ma trˆa . n W ), gia ˙’ su . ˙’ l`a v k . Bˆay gi`o . kha ˙’ o s´at v 1 v`a v k nhu . mˆo . t d¯ˆo ` thi . con, v`a nˆo ´ i d¯ˆo ` thi . con n`ay v´o . i mˆo . t d¯ı ˙’ nh kˆe ` v´o . i n´o v`a gˆa ` n nhˆa ´ t (t´u . c l`a d¯ı ˙’ nh kh´ac v 1 v`a v k m`a c´o phˆa ` n tu . ˙’ nho ˙’ nhˆa ´ t trong tˆa ´ t ca ˙’ c´ac phˆa ` n tu . ˙’ cu ˙’ a h`ang th´u . nhˆa ´ t v`a th´u . k trong W ). Gia ˙’ su . ˙’ d¯ı ˙’ nh m´o . i l`a v i . Kˆe ´ tiˆe ´ p, xem cˆay v´o . i c´ac d¯ı ˙’ nh v 1 , v k , v i nhu . mˆo . t d¯ˆo ` thi . con, v`a tiˆe ´ p tu . c xu . ˙’ l´y cho d¯ˆe ´ n khi tˆa ´ t ca ˙’ n d¯ı ˙’ nh d¯u . o . . c nˆo ´ i bo . ˙’ i (n − 1) ca . nh. Tˆo ˙’ ng qu´at ta c´o thuˆa . t to´an d¯u . o . . c tr`ınh b`ay nhu . sau: 1. [Kho . ˙’ i ta . o] Gia ˙’ su . ˙’ T l`a d¯ˆo ` thi . chı ˙’ c´o mˆo . t d¯ı ˙’ nh v 1 v`a khˆong c´o ca . nh. 2. [Kˆe ´ t th´uc] Nˆe ´ u T c´o (n − 1) ca . nh th`ı thuˆa . t to´an d`u . ng; T l`a cˆay bao tr`um tˆo ´ i thiˆe ˙’ u. 3. [Thˆem ca . nh] Trong sˆo ´ tˆa ´ t ca ˙’ c´ac ca . nh khˆong thuˆo . c cˆay T m`a liˆen thuˆo . c v´o . i mˆo . t d¯ı ˙’ nh trong T v`a khˆong ta . o th`anh chu tr`ınh khi thˆem v`ao T, cho . n ca . nh c´o tro . ng lu . o . . ng nho ˙’ nhˆa ´ t v`a thˆem n´o v`a d¯ı ˙’ nh n´o liˆen thuˆo . c v`ao cˆay T. Chuyˆe ˙’ n sang Bu . ´o . c 2. V´ı du . 4.4.5 ´ Ap du . ng Thuˆa . t to´an Prim cho d¯ˆo ` thi . trong H`ınh 4.12(a) v´o . i d¯ı ˙’ nh xuˆa ´ t ph´at l`a v 1 ta c´o c´ac ca . nh d¯u . o . . c lˆa ` n lu . o . . t thˆem v`ao cˆay T theo th´u . tu . . l`a (v 1 , v 5 ), (v 1 , v 4 ), (v 4 , v 2 ), (v 2 , v 3 ), (v 2 , v 6 ). Cˆay bao tr`um nho ˙’ nhˆa ´ t c´o tro . ng lu . o . . ng 12 (H`ınh 4.12(b)). 119 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 1 v 2 v 3 v 4 v 5 v 6 • • • • •• v 1 v 2 v 3 v 4 v 5 v 6 • • • • •• 2 8 1 3 6 5 9 7 4 2 (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 3 4 2 (b) H`ınh 4.12: (a) D - ˆo ` thi . G. (b) Cˆay bao tr`um nho ˙’ nhˆa ´ t cu ˙’ a G sinh bo . ˙’ i Thuˆa . t to´an Prim. Thuˆa . t to´an Prim l`a mˆo . t v´ı du . cu ˙’ a thuˆa . t to´an tham lam (greedy algorithm). Thuˆa . t to´an tham lam l`a thuˆa . t to´an cho . n lu . . a tˆo ´ i u . u ta . i mˆo ˜ i bu . ´o . c lˇa . p m`a khˆong quan tˆam d¯ˆe ´ n su . . cho . n lu . . a o . ˙’ bu . ´o . c tru . ´o . c. C´o thˆe ˙’ n´oi nguyˆen l´y n`ay l`a “thu . . c hiˆe . n tˆo ´ t nhˆa ´ t vˆe ` mˇa . t d¯i . a phu . o . ng”. Trong thuˆa . t to´an Prim, v`ı ch´ung ta muˆo ´ n t`ım cˆay bao tr`um tˆo ´ i thiˆe ˙’ u nˆen ta . i mˆo ˜ i bu . ´o . c lˇa . p ch´ung ta thˆem mˆo . t ca . nh c´o tro . ng lu . o . . ng nho ˙’ nhˆa ´ t (nˆe ´ u viˆe . c thˆem khˆong ta . o th`anh chu tr`ınh). Tˆo ´ i u . u ho´a ta . i mˆo ˜ i bu . ´o . c lˇa . p khˆong nhˆa ´ t thiˆe ´ t cho l`o . i gia ˙’ i tˆo ´ i u . u cu ˙’ a b`ai to´an gˆo ´ c. T´ınh d¯´ung d¯ˇa ´ n cu ˙’ a thuˆa . t to´an Prim s˜e d¯u . o . . c ch´u . ng minh trong D - i . nh l´y 4.4.6. Mˆo . t v´ı du . cu ˙’ a thuˆa . t to´an tham lam nhu . ng khˆong d¯u . a d¯ˆe ´ n l`o . i gia ˙’ i tˆo ´ i u . u nhu . sau: x´et “thuˆa . t to´an t`ım d¯u . `o . ng d¯i ngˇa ´ n nhˆa ´ t” trong d¯´o, mˆo ˜ i bu . ´o . c lˇa . p ch´ung ta cho . n ca . nh c´o tro . ng lu . o . . ng nho ˙’ nhˆa ´ t (m`a khˆong ta . o th`anh chu tr`ınh khi thˆem v`ao) liˆen thuˆo . c v´o . i d¯ı ˙’ nh d¯u . o . . c thˆem v`ao gˆa ` n d¯ˆay nhˆa ´ t. Nˆe ´ u ta ´ap du . ng thuˆa . t to´an n`ay v´o . i d¯ˆo ` thi . c´o hu . ´o . ng trong H`ınh 4.13 d¯ˆe ˙’ t`ım d¯u . `o . ng d¯i ngˇa ´ n nhˆa ´ t t`u . v 1 d¯ˆe ´ n v 4 , ch´ung ta s˜e cho . n cung (v 1 , v 3 ) v`a sau d¯´o cung (v 3 , v 4 ). Tuy nhiˆen, d¯ˆay khˆong pha ˙’ i l`a d¯u . `o . ng d¯i ngˇa ´ n nhˆa ´ t t`u . v 1 d¯ˆe ´ n v 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 1 v 2 v 3 v 4 • • • • 2 1 4 6 8 H`ınh 4.13: D - i . nh l ´y sau ch´u . ng minh t´ınh d¯´ung d¯ˇa ´ n cu ˙’ a thuˆa . t to´an Prim. 120 [...]... e3 v2 v3 e4 e1 e 16 e17 v1 e14 v7 e5 e15 v5 v4 e13 e6 e7 e8 v8 e10 e9 e11 e12 v6 H` 5.2: Mˆt v´ du vˆ d` thi Euler ınh o ı ` ¯ˆ e o v5 , e 16 , v3 , e17 , v7 , e10 , v6 , e9 , v8 , e8 , v7 , e5 , v1 , e7 , v8 , e6 , v1 ) ˙ ` ˙ ’ o a o u Mˆt dˆy chuyˆn hay chu tr` Euler c´ thˆ’ d u.o.c x´c d inh bo.i mˆt danh s´ch... • P3 • P3 • P2 • P2 P6 • • P5 0 1 2 3 P5 • • P4 4 P6 • 5 • P4 ` ´ ´ ˙ ’ a o ˙ ’ a H` 4.15: (a) Cˆy bao tr`m nho nhˆ t c´ trong lu.o.ng bˇ ng 18 (b) Cˆy Steiner nho nhˆ t ınh a u a a o.ng bˇ ng 15 ( = c´c d iˆ’m Steiner) ˙ ` c´ trong lu o a a ¯e 125 1 26 Chu.o.ng 5 B`i to´n Euler v` b`i to´n Hamilton a a a a a ˙ ´ ˙ ˙ ´ ˆ ` u u ´ L´ thuyˆt... h˜.u han G H` 4.15(b) minh hoa v´ du cua cˆy Steiner nho nhˆ t trong b`i to´n Steiner u ınh ı ˙ a a a ˙ ´ ’ o ˙ ’ ˙ ’ a a o a ınh a a u a ˙ ¯ˆ a 6 d iˆ’m v´.i khoang c´ch b`n c` v` H` 4.15(a) l` cˆy bao tr`m nho nhˆ t cua d` thi x´c ¯e o ˙ ˙¯ ˙.i 6 d iˆ’m (dˆ’ d o.n gian lu.´.i khˆng d u.o.c v˜ ra) ’ ˙ ’ ¯e ¯e d nh bo ¯i o o ¯ e ˙ ` a ˙ ’ ˙ ’ e o a ¯ e u B`i to´n Steiner trˆn d` thi vˆ hu.´.ng... o e ˜n khˆng vu.o.t qu´ 10 d ınh (trong P ) N´i c´ch kh´c, b`i to´n Steiner trˆn d` thi c˜ng c´ ˙ ’ vˆ a o a ¯ o a a a a e ¯ˆ u o o ˙ ˙ ’ thˆ’ xem l` b`i to´n chu.a c´ l`.i giai e a a a o o 124 7 6 5 4 3 2 1 0 P1 • P1 • ... 1) • P2 • P2 • (4, 0) P4 1200 • s1 1200 • s2 ˙ C´c d iˆ’m a ¯e Steiner • P4 ` ´ ˙ ’ ˙ ’ H` 4.14: (a) Cˆy bao tr`m nho nhˆ t c´ trong lu.o.ng bˇ ng 10.123 (b) Cˆy Steiner nho ınh a u a o a a o.ng 9.1 96 ´ nhˆ t c´ trong lu a o ˙ ’ ´ ` C´ rˆ t nhiˆu cˆng tr` nghiˆn c´.u xung quanh b`i to´n Steiner trˆn mˇt phˇng o a e o ınh e u a a e a a o.c ph´t hiˆn Trong sˆ d ´, c´c t´ ´ ’ ´ ´ ˙ a ¯ ’ Euclide,... khˆng? N´i c´ch kh´c: tˆn tai chu tr` Euler? a o e u ` e o o a a ` o ınh o ¯a ˆ e ¯a u a a o Nh` to´n hoc L Euler (1707-1783) l` ngu.`.i d` u tiˆn d ˜ ch´.ng minh b`i to´n khˆng a a a i giai (nˇm 17 36, xem [22], [23]), v` v` vˆy b`i to´n thu.`.ng d u.o.c goi l` b`i to´n Euler ˙ ’ c´ l` o o a a ı a a a o ¯ a a a ` c´c cˆu o K¨nigsberg ` ˙ o ’ vˆ a a e a ... Thay G bo.i G1 v` lˇp lai bu.´.c 2 a a o -ˆ o ınh o o ınh V´ du 5.1.4 D` thi trong H` 5.2 c´ mˆt chu tr` Euler ı (v1 , e1 , v2 , e2 , v3 , e3 , v2 , e4 , v3 , e15 , v4 , e14 , v5 , e13 , v4 , e12 , v6 , e11 , 129 e2 ...- ´ u ´ Dinh l´ 4.4 .6 Thuˆt to´n Prim l` d ung; t´.c l`, kˆt th´c thuˆt to´n T l` cˆy bao tr`m tˆi y a a a ¯´ u a e a a a a u o ˙ thiˆ’u e ˙ ’ ˙ ’ ˙ o ’ Ch´.ng minh Trong ch´.ng minh n`y ch´ng ta s˜ d ac tru.ng cˆy bo.i . e 15 , v 4 , e 14 , v 5 , e 13 , v 4 , e 12 , v 6 , e 11 , 129 e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 9 e 10 e 11 e 12 e 13 e 14 e 15 e 16 e 17 v 1 v 2 v 6 v 3 v 7 v 8 v 5 v 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 1 v 2 v 3 v 4 v 5 v 6 • • • • •• v 1 v 2 v 3 v 4 v 5 v 6 • • • • •• 2 8 1 3 6 5 9 7 4 2 (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tuyˆe ´ n t´ınh α v`a β) ta d¯u . o . . c k 1 2 3 4 5 6 7 8 9 α c a e a c a b c d β d c f e f b d e f Tro . ng lu . o . . ng 1 2 2 3 3 4 5 6 6 C´ac ca . nh (khˆong ta . o th`anh chu tr`ınh) d¯u . o . . c