chương 4 bài toán cây khung nhỏ nhất

60 759 0
chương 4 bài toán cây khung nhỏ nhất

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chng Bi toỏn cõy khung nh nht The Minimum Spanning Tree Problem Ni dung 4.1 Cõy v cỏc tớnh cht c bn ca cõy 4.2 Cõy khung ca th 4.3 Xõy dng cỏc chu trỡnh c bn ca th 4.4 Bi toỏn cõy khung nh nht Cõy v rng (Tree and Forest) Định nghĩa Ta gọi đồ thị vô hướng liên thông chu trình Đồ thị chu trình gọi rừng Như vậy, rừng đồ thị mà thành phần liên thông T1 T2 Rng F gm cõy T1, T2,, T3 T3 V D G1, G2 l cõy G3, G4 khụng l cõy Cỏc tớnh cht c bn ca cõy nh lý Gi s T=(V,E) l th vụ hng n nh Khi ú cỏc mnh sau õy l tng ng: (1) T l liờn thụng v khụng cha chu trỡnh; (2) T khụng cha chu trỡnh v cú n-1 cnh; (3) T liờn thụng v cú n-1 cnh; (4) T liờn thụng v mi cnh ca nú u l cu; (5) Hai nh bt k ca T c ni vi bi ỳng mt ng i n; (6) T khụng cha chu trỡnh nhng h c thờm vo nú mt cnh ta thu c ỳng mt chu trỡnh Ni dung 4.1 Cõy v cỏc tớnh cht c bn ca cõy 4.2 Cõy khung ca th 4.3 Xõy dng cỏc chu trỡnh c bn ca th 4.4 Bi toỏn cõy khung nh nht Cõy khung ca th nh ngha Gi s G=(V,E) l th vụ hng liờn thụng Cõy T=(V,F) vi F E c gi l cõy khung ca th G b c a b d e G c a b d c a e T1 d e T2 th G v cõy khung T1 v T2 ca nú S lng cõy khung ca th nh lý sau õy cho bit s lng cõy khung ca th y Kn: Arthur Cayley (1821 1895) nh lý (Cayley) S cõy khung ca th Kn l nn-2 b a c K3 a b c b c a c a b Ba cõy khung ca K3 Bi toỏn hoỏ hc hu c Biu din cu trỳc phõn t: Mi nh tng ng vi mt nguyờn t Cnh th hin liờn kt gia cỏc nguyờn t Bi toỏn: m s ng phõn ca cacbua hydro no cha mt s nguyờn t cỏcbon cho trc H methane H propane C H C H H C H H C H H H H C H H C H H H H H ethane H C H H C H H C H H C H H butane H saturated hydrocarbons CnH2n+2 10 Mụ t thut toỏn Prim procedure Prim(G, c) begin Chn nh tu ý r V; Khi to cõy T=(V(T), E(T)) vi V(T)={ r }v E(T)=; while T cú < n nh begin Gi (u, v) l cnh nh nht vi u V(T) v vV(G) V(T) E(T) E(T) { (u, v) }; V(T) V(T) { v } end end; Tớnh ỳng n suy t h qu ó chng minh: Gi s A l ca E v cng l ca cnh ca CKNN ca G, v C l mt thnh phn liờn thụng rng F = (V, A) Nu (u, v) l cnh nh ni C vi mt tplt khỏc F, thỡ (u, v) l an ton i vi A 46 Ci t thut toỏn Prim i vi th dy Giả sử đồ thị cho ma trận trọng số C={c[i,j], i, j = 1, 2, , n} bước để nhanh chóng chọn đỉnh cạnh cần bổ sung vào khung, đỉnh đồ thị gán cho nhãn Nhãn đỉnh v V-S có dạng [d[v], near[v]] : d[v] dùng để ghi nhận khoảng cách từ đỉnh v đến tập đỉnh S: d[v] := min{ c[v, w] : w S } ( = c[v, z]), near[v] := z ghi nhận đỉnh khung gần v 47 Thut toỏn Prim procedure Prim; begin (* Bước khởi tạo *) S := { r }; T := ; d[r] := 0; near[r] := r for v V \ S begin d[v] := c[r,v]; near[v] := r; end; (* Bước lặp *) for k:=2 to n begin Tìm u V\ S thoả mãn: d[u] = { d[v] : v V\ S }; S := S { u }; T := T { ( u, near[u] ) } ; for v V\ S if d[v] > c[u,v] then begin d[v] := c[u,v] ; near[v] := u; end; end; H = ( S , T ) khung nhỏ đồ thị ; end; Thi gian tớnh: O(|V|2) 48 Thut toỏn Prim Vớ d Vớ d: Tỡm CKNN cho th cho bi ma trn trng s C = 33 17 33 18 20 17 18 16 20 16 14 14 49 Thut toỏn Prim: Vớ d Bc nh nh nh nh nh nh S Khi to 50 Thut toỏn Prim: Vớ d nh Khi to [0, 1] nh [33, 1] nh [17, 1]* nh [, 1] nh [, 1] nh [, 1] S 1 51 Thut toỏn Prim: Vớ d nh Khi to nh nh nh nh nh S [0, 1] [33, 1] [17, 1]* [, 1] [, 1] [, 1] - [18, 3] - [16, 3] [4, 3]* [, 1] 1, 3 for v V\ S if d[v] > c[u,v] then d[v] := c[u,v] ; near[v] := u; 52 Thut toỏn Prim: Vớ d nh Khi to nh nh nh nh nh S [0, 1] [33, 1] [17, 1]* [, 1] [, 1] [, 1] 1 - [18, 3] - [16, 3] [4, 3]* [, 1] 1, - [18, 3] - [9,5]* - [14, 5] 1, 3, 5 for v V\ S if d[v] > c[u,v] then d[v] := c[u,v] ; near[v] := u; 53 Thut toỏn Prim: Vớ d nh Khi to nh nh nh nh nh S [0, 1] [33, 1] [17, 1]* [, 1] [, 1] [, 1] 1 - [18, 3] - [16, 3] [4, 3]* [, 1] 1, - [18, 3] - [9,5]* - [14, 5] 1, 3, - [18,3] - - - [8,4]* 1,3,5,4 for v V\ S if d[v] > c[u,v] then d[v] := c[u,v] ; near[v] := u; 54 Thut toỏn Prim: Vớ d nh Khi to nh nh nh nh nh S [0, 1] [33, 1] [17, 1]* [, 1] [, 1] [, 1] 1 - [18, 3] - [16, 3] [4, 3]* [, 1] 1, - [18, 3] - [9,5]* - [14, 5] 1, 3, - [18,3] - - - [8,4]* 1,3,5,4 - [18,3]* - - - - 1,3,5,4,6 for v V\ S if d[v] > c[u,v] then d[v] := c[u,v] ; near[v] := u; 55 Thut toỏn Prim: Vớ d nh Khi to nh nh nh nh nh S [0, 1] [33, 1] [17, 1]* [, 1] [, 1] [, 1] 1 - [18, 3] - [16, 3] [4, 3]* [, 1] 1, - [18, 3] - [9,5]* - [14, 5] 1, 3, - [18,3] - - - [8,4]* 1,3,5,4 - [18,3]* - - - - 1,3,5,4,6 - - - - - - 1,3,5,4,6,2 di ca CKNN : 18 + 17 + + + = 56 Tp cnh ca CKNN: {(2,3), (3,1), (4,5), (5,3), (6,4)} 56 Ngi xut bi toỏn MST Otakar Borvka Nh khoa hc Sộc (Czech) Ngi xut bi toỏn xut thut toỏn thi gian O(m log n) Bi bỏo c xut bn Sộc t nm 1926 ng dng vo vic phỏt trin h thng mng in Bohemia 57 Tng tc O(m log n) Borvka, Prim, Dijkstra, Kruskal, O(m log log n) Yao (1975), Cheriton-Tarjan (1976) O(m (m, n)) Fredman-Tarjan (1987) O(m log (m, n)) Gabow-Galil-Spencer-Tarjan (1986) O(m (m, n)) Chazelle (JACM 2000) Optimal Pettie-Ramachandran (JACM 2002) 58 Questions? 59 60 [...]... Ni dung 4. 1 Cõy v cỏc tớnh cht c bn ca cõy 4. 2 Cõy khung ca th 4. 3 Xõy dng tp cỏc chu trỡnh c bn ca th 4. 4 Bi toỏn cõy khung nh nht 17 BI TON CY KHUNG NH NHT Minimum Spanning Tree (MST) 18 Bi toỏn CKNN Bi toỏn: Cho th vụ hng liờn thụng G=(V,E) vi trng s c(e), e E di ca cõy khung l tng trng s trờn cỏc cnh ca nú Cn tỡm cõy khung cú di nh nht a 7 2 d 2 5 f 4 c 4 b 1 1 3 4 5 g 7 e di ca cõy khung. .. dung 4. 1 Cõy v cỏc tớnh cht c bn ca cõy 4. 2 Cõy khung ca th 4. 3 Xõy dng tp cỏc chu trỡnh c bn ca th 4. 4 Bi toỏn cõy khung nh nht 11 Tp cỏc chu trỡnh c bn Giả sử G = (V, E) là đơn đồ thị vô hướng liên thông, H=(V,T) là cây khung của nó Các cạnh của đồ thị thuộc cây khung ta sẽ gọi là các cạnh trong, còn các cạnh còn lại sẽ gọi là cạnh ngoài Định nghĩa 3 Nếu thêm một cạnh ngoài e E \ T vào cây khung. .. l cnh vt lỏt ct 24 Lỏt ct Lỏt ct ca G = (V, E) l phõn hoch V thnh (S, V S) Vớ d S = {a, b, c, f}, V S = {e, d, g} 7 a d 2 2 5 f b 1 4 c 5 4 g 1 3 4 e 7 Cỏc cnh (b, d), (a, d), (b, e), (c, e) l cnh vt lỏt ct Cỏc cnh cũn li khụng vt lỏt ct 25 Lỏt ct tng thớch vi tp cnh A 1 = { (a, b), (d, g), (f, b), (a, f) } A 2 = A1 { (b, d) } Vớ d S = {a, b, c, f} 7 a 2 2 d 5 f 4 b 1 c 5 4 g 1 3 4 e 7 Lỏt ct (S,... ni cỏc cp thnh phn liờn thụng ca nú 32 Thut toỏn Kruskal Vớ d 7 a 2 d 2 5 f 4 b 4 g 1 3 1 c 5 4 e 7 di ca CKNN: 14 33 Mụ t thut toỏn Kruskal procedure Kruskal; begin sp xp cỏc cnh e1, , em theo th t khụng gim ca di; T = ; (* T tp cnh ca CKNN *) for i = 1 to m do if T {ei} khụng cha chu trỡnh then T := T {ei}; end 34 Thi gian tớnh Bc 1 Sp xp dóy di cnh O(m log n) Bc lp: Xỏc nh xem T { ei }... trờn cỏc cnh ca nú Cn tỡm cõy khung cú di nh nht a 7 2 d 2 5 f 4 c 4 b 1 1 3 4 5 g 7 e di ca cõy khung l Tng di cỏc cnh: 14 19 Bi toỏn cõy khung nh nht Cú th phỏt biu di dng bi toỏn ti u t hp: Tỡm cc tiu c(H) = c(e) min, eT vi iu kin H=(V,T) l cõy khung ca G Do s lng cõy khung ca G l rt ln (xem nh lý Cayley), nờn khụng th gii nh duyt ton b 20 ng dng thc t: Mng truyn thụng Cụng ty truyn thụng AT&T... f} 7 a 2 d 2 5 f b c 4 3 cnh nh 1 4 4 5 e g 1 7 Cnh (b, e) cú trng s 3, nh hn cỏc cnh vt lỏt ct cũn li (a, d), (b, d), v (c, e) 27 Cnh nh l cnh an ton! nh lý Gi s (S, V S) l lỏt ct ca G=(V, E) tng thớch vi tp con A ca E, v A l tp con ca tp cnh ca CKNN ca G Gi (u, v) l cnh nh vt lỏt ct (S, V S) Khi ú (u, v) l an ton i vi A; ngha l, A {(u, v)} cng vn l tp con ca tp cnh ca CKNN 4 v 2 S 2 u VS 6 A gm... bi toỏn tỡm cõy khung nh nht trờn th y n nh, mi nh tng ng vi mt thnh ph, vi di trờn cỏc cnh chớnh l chi phớ xõy dng ng ray ni hai thnh ph tng ng Chú ý: Trong bài toán này ta giả thiết là không được xây dựng tuyến đường sắt có các nhà ga phân tuyến nằm ngoài các thành phố 22 S chung ca cỏc gii thut Generic-MST(G, c) A={} //Bt bin: A l tp con cỏc cnh ca CKNN no ú while A cha l cõy khung do tỡm cnh... chu trình cơ bản của đồ thị G 12 Tớnh cht Giả sử A và B là hai tập hợp, ta đưa vào phép toán sau A B = (A B) \ (A B) Tập AB được gọi là hiệu đối xứng của hai tập A và B Tên gọi chu trình cơ bản gắn liền với sự kiện chỉ ra trong định lý sau đây: Định lý 3 Giả sử G=(V,E) là đồ thị vô hướng liên thông, H=(V,T) là cây khung của nó Khi đó mọi chu trình của đồ thị G đều có thể biểu diễn như là hiệu đối xứng... Gi s T l CKNN (gm cỏc cnh ) cha A Gi s cnh nh (u, v) T Ta cú T { (u, v) } cha chu trỡnh Tỡm c cnh (x, y) T vt lỏt ct (S, V S) Cõy khung T ' = T { (x, y) } { (u, v) } cú di di ca cõy khung T Suy ra T ' cng l CKNN A { (u, v) } T ', tc l, (u, v) l an ton i vi A 4 S v 2 x 2 u 6 A y VS 29 H qu H qu Gi s A l tp con ca E v cng l tp con ca tp cnh ca CKNN no ú ca G, v C l mt thnh phn liờn thụng trong... cn xõy dng mng truyn thụng kt ni n khỏch hng Chi phớ thc hin kờnh ni i v j l cij Hi chi phớ nh nht thc hin vic kt ni tt c cỏc khỏch hng l bao nhiờu? 3 5 1 4 10 8 7 6 2 9 Gi thit l: Ch cú cỏch kt ni duy nht l t kờnh ni trc tip gia hai nỳt 21 Bài toán xây dựng hệ thống đường sắt Gi s ta mun xõy dng mt h thng ng st ni n thnh ph sao cho hnh khỏch cú th i li gia hai thnh ph bt k ng thi tng chi phớ xõy dng ... ca cõy 4. 2 Cõy khung ca th 4. 3 Xõy dng cỏc chu trỡnh c bn ca th 4. 4 Bi toỏn cõy khung nh nht Cõy khung ca th nh ngha Gi s G=(V,E) l th vụ hng liờn thụng Cõy T=(V,F) vi F E c gi l cõy khung. .. phc tp: O(|V|+|E|) 16 Ni dung 4. 1 Cõy v cỏc tớnh cht c bn ca cõy 4. 2 Cõy khung ca th 4. 3 Xõy dng cỏc chu trỡnh c bn ca th 4. 4 Bi toỏn cõy khung nh nht 17 BI TON CY KHUNG NH NHT Minimum Spanning... toỏn Prim Vớ d a d f b chn g c e cỏc cnh chn 40 a d f b g c e 41 a d f b g c e 42 a d f b g c e 43 a d f b g c e 44 di ca CKNN: 14 a d f b g c e 45 Mụ t thut toỏn Prim procedure Prim(G, c) begin

Ngày đăng: 10/11/2015, 10:15

Từ khóa liên quan

Mục lục

  • Chương 4 Bài toán cây khung nhỏ nhất

  • Nội dung

  • Cây và rừng (Tree and Forest)

  • VÍ DỤ

  • Các tính chất cơ bản của cây

  • Slide 6

  • Cây khung của đồ thị

  • Số lượng cây khung của đồ thị

  • Bài toán trong hoá học hữu cơ

  • Slide 10

  • Slide 11

  • Tập các chu trình cơ bản

  • Tính chất

  • Ý nghĩa ứng dụng

  • Thuật toán xây dựng tập chu trình cơ bản

  • Slide 16

  • Slide 17

  • Slide 18

  • Bài toán CKNN

  • Bài toán cây khung nhỏ nhất

Tài liệu cùng người dùng

Tài liệu liên quan