1. Trang chủ
  2. » Thể loại khác

BÀI GIẢNG LÝ THUYẾT ĐỒ THỊ. TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN

69 18 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 1,28 MB

Nội dung

B GIAO THÔNG V N T I TR NG I H C HÀNG H I B MÔN: KHOA H C MÁY TÍNH KHOA: CƠNG NGH THƠNG TIN BÀI GI NG LÝ THUY T TH TÊN H C PH N : LÝ THUY T TH MÃ H C PH N : 17205 TRÌNH ÀO T O : I H C CHÍNH QUY DÙNG CHO SV NGÀNH : CÔNG NGH THÔNG TIN H I PHÒNG - 2014 c ng h c ph n Tên h c ph n: Lý thuy t đ th Mã HP: 17205 a S tín ch : 03 TC BTL AMH b n v gi ng d y: B mơn Khoa h c máy tính c Phân b th i gian: - T ng s (TS): 45 ti t - Lý thuy t (LT): 36 ti t - Th c hành (TH): ti t - Bài t p (BT): ti t - H ng d n BTL/ AMH (HD): ti t - Ki m tra (KT): ti t d i u ki n đ ng ký h c ph n: H c ph n đ c b trí sau h c ph n: Toán r i r c, K thu t l p trình e M c đích c a h c ph n: Ki n th c: - Các khái ni m đ nh ngh a c a đ th - Các toán gi i thu t đ K n ng: - N mđ - ph n c mô hình đ th c ki n th c c b n c a đ th ng d ng tin h c c a h c ph n Có kh n ng áp d ng lý thuy t đ cài đ t ch Thái đ ngh nghi p: - Hình thành nh n th c v ki n th c c b n c a đ ng trình th ng d ng ng d ng tin h c c a h c f Tóm t t n i dung h c ph n: Trình bày nh ng ki n th c c s c a đ th nh đ ng đi, chu trình, s liên thông c a đ th , ng d ng toán tin h c đ th bao g m ph ng pháp bi u di n đ th , thu t tốn tìm ki m c b n đ th , đ th Euler đ th Haminton, chu trình thu t tốn tìm khung nh nh t, thu t tốn tìm đ ng ng n nh t d ng đ th khác nhau, toán lu ng c c đ i m ng g Ng i biên so n: Ph m Tu n h N i dung chi ti t h c ph n: TÊN CH t – BM Khoa h c máy tính, Khoa CNTT NG M C Ch ng Các khái ni m c b n c a lý thuy t đ th 1.1 nh ngh a đ th 1.1.1 n đ th 1.1.2 Gi đ th 1.1.3 a đ th 1.2 Các thu t ng c n b n 1.3 ng đi, chu trình, đ th liên thơng 1.3.1 nh ngh a đ ng đi, chu trình 1.3.2 th liên thơng 1.4 M t s d ng đ th đ c bi t T h c: Tìm hi u tốn đ c mơ hình đ th Ch ng Bi u di n đ th máy vi tính 2.1 Ma tr n k , ma tr n tr ng s TS PHÂN LT 0,5 0,25 0,25 1 PH I S TI T BT TH HD 0 1 KT 2.2 Danh sách c nh (cung) 2.3 Danh sách k T h c: Cài đ t th t c xác đ nh ma tr n k /tr ng s cho đ th Ch ng Các thu t tốn tìm ki m đ th 3.1 Tìm ki m theo chi u sâu đ th 3.2 Tìm ki m theo chi u r ng đ th 3.3 Tìm đ ng ki m tra tính liên thơng T h c: Cài đ t th t c tìm ki m, đ ng ma tr n k c a đ th Ch ng th Euler đ th Hamilton 4.1 th Euler 4.1.1 nh ngh a đ th Euler 4.1.2 Các đ nh lý 4.2 th Hamilton 4.2.1 nh ngh a đ th Hamilton 4.2.2 Các đ nh lý T h c: Cài đ t th t c xác đ nh đ th Euler ho c Hamilton Ch ng Cây khung c a th 5.1 Cây tính ch t c b n c a 5.1.1 nh ngh a r ng, 5.1.2 Các tính ch t 5.2 Cây khung c a đ th 5.3 Xây d ng t p chu trình c b n c a đ th 5.4 Cây khung nh nh t c a đ th 5.4.1 Thu t toán Prim 5.4.2 Thu t toán Kruskal T h c: Cài đ t th t c tìm khung nh nh t Kruskal/ Prim Ch ng Bài toán đ ng ng n nh t 6.1 Các khái ni m m đ u 6.2 ng ng n nh t xu t phát t m t đ nh 6.2.1 ng ng n nh t xu t phát t m t đ nh 6.2.2 ng ng n nh t xu t phát t m t đ nh t i đ nh 6.3 ng ng n nh t đ th tr ng s không âm 6.4 ng đ th khơng có chu trình T h c: Cài đ t th t c tìm đ ng ng n nh t đ th có tr ng s khơng âm Ch ng Bài tốn lu ng c c đ i m ng 7.1 M ng Lu ng m ng Bài toán lu ng c c đ i 7.1.1 nh ngh a m ng, lu ng đ th 1 1 0 2,5 0,5 2,5 0,5 0,5 0 0,5 0.5 1 1,5 1,5 0 0,5 2,5 0,5 0 0 8 0,5 1 1,5 1,5 0,5 7.1.2 Bài toán lu ng c c đ i 0,5 7.2 Lát c t ng t ng lu ng nh lý Ford Fulkerson 7.2.1.Lát c t 0,5 7.2.2 nh lý 0,5 7.3 Gi i thu t lu ng c c đ i 2,5 7.4 M t s toán lu ng t ng quát 1,5 T h c: Cài đ t th t c tìm lu ng c c đ i đ th tr ng s không âm T ng s ti t: 45 36 0 i Mô t cách đánh giá h c ph n: Sinh viên ph i tham d t i thi u 75% s gi lên l p ph i đ t m thành ph n X1 , X2 t 4,0 tr lên (X1 m chuyên c n, X2 m trung bình ki m tra) i m h c ph n (Z) đ c tính theo cơng th c: Z = 0.3X + 0.7Y Trong đó: • X: m trình, b ng trung bình c ng c a X1 , X2 • Y: m ki m tra k t thúc h c ph n • Hình th c thi: tr c nghi m máy tính; th i gian: 60 phút Thang m đánh giá: A+, A, B+, B, C+, C, D+, D F k Giáo trình: Nguy n Thanh Hùng Nguy n c Ngh a, Giáo Trình Lý Thuy t Qu c Gia TPHCM, 2007 Th , NXB ih c l Tài li u tham kh o: Doãn Châu Long Lý thuy t quy ho ch n tính lý thuy t đ th NXB Giáo d c 1982 Kenneth Rosen Toán h c r i r c ng d ng tin h c NXB KHKT Hà n i 1998 m Ngày phê t: 30/06/2014 n C p phê t: Khoa CNTT P Tr Tr ng Khoa ng B môn Ng i biên so n TS Lê Qu c nh ThS Nguy n V n Th y ThS Ph m Tu n t o Ti n trình c p nh t c ng: C p nh t l n 1: ngày 18/06/2014 Ng i c p nh t N i dung: Rà soát theo k ho ch Nhà tr ng g m: - Ch nh s a, làm rõ M c c, e, i theo m c tiêu đ i m i c n Ph m Tu n t, Nguy n V n Th y b n P Tr ng B môn - M c h: b sung n i dung t h c cu i m i ch ng m c, chuy n m t s n i dung gi ng d y sang ph n t h c - B sung m c m, n, o Nguy n V n Th y M CL C CH NG CÁC KHÁI NI M C B N C A LÝ THUY T TH ……………….1 nh ngh a th ……………………………………………………………………1 1.1.1 n đ th ………………………………………………………………… 1.1.2 Gi đ th ……………………………………………………………………2 1.1.3 a đ th ………………………………………………………………… Các thu t ng c b n……………………………………………………………… Đ ng Chu trình Đ th liên thơng………………………………………………5 1.3.1 nh ngh a đ ng đi, chu trình…………………………………………… 1.3.2 th liên thông………………………………………………………… M t s d ng Đ th đ c bi t………………………………………………………….8 TH TRÊN MÁY VI TÍNH………………………… … 13 CH NG BI U DI N Ma tr n k Ma tr n tr ng s …………………………………………………… 13 2.2 Danh sách c nh cung……………………………………………………………….14 Danh sách k ……………………………………………………………………… 15 TH VÀ NG D NG… 18 CH NG CÁC THU T TỐN TÌM KI M TRÊN Tìm ki m theo chi u sâu Đ th ……………………………………………… 18 Tìm ki m theo chi u r ng Đ th ………………………………………………20 Tìm Đ ng ki m tra Tính liên thơng……………………………………… 22 TH EULER VÀ TH HAMILTON……………………………….24 CH NG 4 Đ th Euler…………………………………………………………………………24 4.1.1 nh ngh a đ th Euler………………………………………………… 24 4.1.2 Các đ nh lý…………………………………………………………………25 Đ th Hamilton 27 4.2.1 nh ngh a đ th Hamilton……………………………………………… 27 4.2.2 Các đ nh lý…………………………………………………………………28 TH 31 CH NG CÂY VÀ CÂY KHUNG C A Cây tính ch t c b n c a cây……………………………………………… 31 Cây khung c a Đ th ………………………………………………………………32 Xây d ng t p chu trình c b n c a cây…………………………………………….34 5.4 Cây khung nh nh t……………………………………………………………… 35 5.4 Thu t toán Kruskal………………………………………………………… 35 Thu t toán Prim………………………………………………………………37 NG I NG N NH T………………………………… 41 CH NG BÀI TOÁN Các khái ni m m đ u…………………………………………………………… 41 ng ng n nh t xu t phát t m t đ nh, t c p đ nh……………………….42 6.2.1 ng ng n nh t xu t phát t m t đ nh………………………………… 42 6.2.2 ng ng n nh t xu t phát t m t đ nh t i đ nh…………………… 43 ng ng n nh t đ th tr ng s không âm………………………………44 ng đ th khơng có chu trình………………………………………….47 CH NG BÀI TOÁN LU NG C C I……………………………………………….53 M ng Lu ng m ng Bài toán lu ng c c đ i……………………………… 53 7.1.1 nh ngh a m ng, lu ng đ th …………………………………………53 7.1.2 Bài toán lu ng c c đ i………………………………………………………53 Lát c t ng t ng lu ng nh lý Ford Fulkerson………………………………54 7.2.1 Lát c t……………………………………………………………………….54 7.2.2 nh lý………………………………………………………………………55 Gi i thu t lu ng c c đ i………………………………………………………… 57 M t s toán lu ng t ng quát…………………………………………………… CH NG I CÁC KHÁI NI M C B N C A LÝ THUY T TH Lý thuy t đ th m t lnh v c có t lâu có nhi u ng d ng hi n đ i Nh ng t t ng c b n c a lý thuy t đ th đ c đ xu t vào nh ng n m đ u c a th k 18 b i nhà toán h c l i l c ng i Th y S Lenhard Eurler Chính ơng ng i s d ng đ th đ gi i toán n i ti ng v c u thành ph Konigsberg th đ c s d ng đ gi i toán nhi u lnh v c khác Ch ng h n, đ th có th s d ng đ xác đ nh m ch vịng v n đ gi i tích m ch n Chúng ta có th phân bi t h p ch t hóa h c h u c khác v i công th c phân t nh ng khác v c u trúc phân t nh đ th Chúng ta có th xác đ nh hai máy tính m ng có th trao đ i thông tin đ c v i hay khơng nh mơ hình đ th c a m ng máy tính th có tr ng s c nh có th s d ng đ gi i tốn nh : Tìm đ ng ng n nh t gi a hai thành ph m ng giao thơng Chúng ta c ng cịn s d ng đ th đ gi i toán v l p lch, th i khóa bi u, phân b t n s cho tr m phát truy n hình… 1.1 NH NGH A TH th m t c u trúc r i r c bao g m đ nh c nh n i đ nh Chúng ta phân bi t lo i đ th khác b i ki u s l ng c nh n i hai đ nh c a đ th có th hình dung đ c t i l i c n đ n lo i đ th khác nhau, s nêu ví d s d ng chúng đ mô t m t m ng máy tính Gi s ta có m t m ng g m máy tính kênh n tho i (g i t t kênh tho i) n i máy tính Chúng ta có th bi u di n v trí đ t náy tính b i m kênh tho i n i chúng b i đo n n i, xem hình Hình S đ m ng máy tính Nh n th y r ng m ng hình 1, gi a hai máy b t k ch có nhi u nh t m t kênh tho i n i chúng, kênh tho i cho phép liên l c c hai chi u khơng có máy tính l i đ c n i v i S đ m ng máy cho hình đ c g i đ n đ th vô h ng Ta đ n đ nh ngh a sau 1.1.1 n đ th nh ngh a 1: n đ th vô h ng G = (V,E) bao g m V t p đ nh, E t p c p khơng có th t g m hai ph n t khác c a V g i c nh Trong tr ng h p gi a hai máy tính th ng xuyên ph i truy n t i nhi u thông tin ng i ta ph i n i hai máy nàu b i nhi u kênh tho i M ng v i đa kênh tho i gi a máy đ c cho hình Hình S đ m ng máy tính v i đa kênh tho i 1.1.2 Gi đ th nh ngh a 2: a đ th vô h ng G= (V, E) bao g m V t p đ nh, E t p c p th t g m hai ph n t khác c a V g i c nh Hai c nh e1 e2 đ c g i c nh l p n u chúng t ng ng v i m t c p đ nh Hình S đ m ng máy tính v i kênh tho i thông báo Rõ ràng m i đ n đ th đ u đa đ th , nh ng không ph i đa đ th c ng đ n đ th , đa đ th có th có hai (ho c nhi u h n) c nh n i m t c p đ nh Trong m ng máy tính có th có nh ng kênh tho i n i m t máy v i (ch ng h n v i m c đính thơng báo) M ng nh v y đ c cho hình Khi đa đ th khơng th mơ t đ c m ng nh v y, b i có nh ng khuyên (c nh n i m t đ nh v i nó) Trong tr ng h p nàychúng ta c n s d ng đ n khái ni m gi đ th vô h ng, đ c đ nh ngh a nh sau: nh ngh a 3: Gi đ th vô h ng G = (V, E) bao g m V t p đ nh E t p c p khơng có th t g m hai ph n t (không nh t thi t ph i khác nhau) c a V g i c nh C nh e đ c g i khuyên n u có d ng e = (u, u) Hình M ng máy tính v i kênh tho i m t chi u Các kênh tho i m ng máy tính có th ch cho phép truy n tin theo m t chi u Ch ng h n, hình máy ch Hà N i ch có th nh n tin t máy đ a ph ng, có m t s máy ch có th g i tin đi, cịn kênh tho i cho phép truy n tin theo c hai chi u đ c thay th b i hai c nh có h ng ng c chi u Ta đ n đ nh ngh a sau nh ngh a 4: n đ th có h ng G = (V, E) bao g m V t p đ nh E t p c p có th t g m hai ph n t khác c a V g i cung N u m ng có th có đa kênh tho i m t chi u, ta s ph i s d ng đ n khái ni m đa đ th có h ng: 1.1.3 a đ th nh ngh a 5: a đ th có h ng G = (V, E) bao g m V t p đ nh E t p c p có th t g m hai ph n t khác c a V g i cung Hai cung e1 , e2 t ng ng v i m t c p đ nh đ c g i cung l p Trong ph n ti p theo ch y u s làm vi c v i đ n đ th vô h ng đ n đ th có h ng Vì v y, đ cho ng n g n, ta s b qua tính t đ n nh c đ n chúng 1.2 CÁC THU T NG C B N Trong m c s trình bày m t s thu t ng c b n c a lý thuy t đ th Tr ta xét thu t ng mô t đ nh c nh c a đ th vô h ng c tiên, nh ngh a 1: Hai đ nh u v c a đ th vô h ng G đ c g i k n u (u,v) c nh c a đ th G N u e = (u, v) c nh c a đ th ta nói c nh liên thu c v i hai đ nh u v, ho c c ng nói n i đ nh u đ nh v, đ ng th i đ nh u v s đ c g i đ nh đ u c a c nh (u, v) có th bi t có c nh liên thu c v i m t đ nh, ta đ a vào đ nh ngh a sau: nh ngh a 2: Ta g i b c c a đ nh v đ th vơ h s ký hi u deg(v) th vơ h Hình ng s c nh liên thu c v i ng Thí d Xét đ th cho hình 1, ta có deg(a) = 1, deg(b) = 4, deg(c) = 4, deg(f) = 3, deg(d) = 1, deg(e) = 3, deg(g) = nh b c g i đ nh cô l p nh b c đ c g i đ nh treo Trong ví d đ nh g đ nh cô l p, a d đ nh treo B c c a đ nh có tính ch t sau: nh lý Gi s G = (V, E) đ th vô h đ nh b ng hai l n s c nh ng v i m c nh Khi t ng b c c a t t c Ch ng minh Rõ ràng m i c nh e = (u, v) đ c tính m t l n deg(u) m t l n deg(v) T suy t ng t t c b c c a đ nh b ng hai l n s c nh Thí d th v i n đ nh có b c có c nh? Gi i: Theo đ nh lý ta có 2m = 6n T suy t ng c nh c a đ th 3n H qu Trong đ th vô h ng, s đ nh b c l (ngh a có b c s l ) m t s ch n Ch ng minh Th c v y, g i O U t c a đ th Ta có 2m = deg( ) + ng ng t p đ nh b c l t p đ nh b c ch n deg( ) Do deg(v) ch n v i v đ nh U nên t ng th nh t s ch n T suy t ng th hai (chính t ng b c c a đ nh b c l ) c ng ph i s ch n, t t c s h ng c a s l , nên t ng ph i g m m t s ch n s h ng Vì v y, s đ nh b c l ph i s ch n Ta xét thu t ng t ng t cho đ th vô h ng nh ngh a 3: N u e = (u, v) cung c a đ th có h ng G ta nói hai đ nh u v k nhau, nói cung (u, v) n i đ nh u v i đ nh v ho c c ng nói cung kh i đ nh u vào đ nh v nh u(v) s đ c g i đ nh đ u (cu i) c a cung (u,v) T ng t nh khái ni m b c, đ i v i đ th có h vào c a m t đ nh ng ta có khái ni m bán b c bán b c nh ngh a 4: Ta g i bán b c (bán b c vào) c a đ nh v đ th có h s cung c a đ th kh i (đi vào nó) ký hi u deg+(v) (deg-(v)) Hình th có h ng ng Thí d Xét đ th cho hình Ta có deg-(a)=2, deg-(b)=2, deg-(c)=2, deg-(d)=2, deg-(e) = deg+(a)=3, deg+(b)=1, deg+(c)=1, deg+(d)=3, deg+(e)=2 Do m i cung (u, v) s đ c tính m t l n bán b c vào c a đ nh v m t l n bán b c c a đ nh u nên ta có: nh lý Gi s G = (V, E) đ th có h 2m = deg( ) + = ng Khi đó: deg( ) R t nhi u tính ch t c a đ th có h ng khơng ph thu c vào h ng cung c a Vì v y, nhi u tr ng h p s thu n ti n h n n u ta b qua h ng cung c a đ th th vô h ng thu đ c b ng cách b qua h ng cung đ c g i đ th vô h ng t ng ng v i đ th có h ng cho 1.3 1.3.1 NG I CHU TRÌNH TH LIÊN THƠNG nh ngh a đ ng đi, chu trình nh ngh a 1: ng đ dài n t đ nh u đ n đ nh v, n s nguyên d ng, đ th vô h ng G = (V, E) dãy x , x ,…, x n-1 , x n ; u = x , v = x n , (x i , x i+1 ) E, i = 0, 1, 2,…, n-1 ng nói cịn có th bi u di n d i d ng th minh ho PERT Hình Thêm vào đ th hai đ nh n+1 t ng ng v i hai s ki n đ c bi t: đ nh t ng ng v i công đo n l kh i cơng, ph i đ c th c hi n tr c t t c công đo n khác, đ nh n+1 t ng ng v i công đo n c t b ng khánh thành công trình, ph i đ c th c hi n sau công đo n, v i t[0]=t[n+1]=0 (trên th c t ch c n n i đ nh v i t t c đ nh có bán b c b ng n i t t c đ nh có bán b c b ng v i đ nh n+1) G i đ th thu đ c G Rõ ràng toán đ t d n v tốn tìm đ ng ng n nh t t đ nh đ n t t c đ nh l i đ th G Do đ th G rõ ràng khơng ch a chu trình, nên đ gi i tốn đ t có th áp d ng thu t tốn mơ t trên, ch c n đ i d u t t c tr ng s cung thành d u ng c l i, ho c đ n gi n h n ch c n đ i toán t Min thu t toán Critcal_Path thành toán t Max K t thúc thu t toán, thu đ c d[v] đ dài đ ng dài nh t t đ nh đ n đ nh v Khi d[v] cho ta th i m s m nh t có th b t đ u th c hi n cơng đo n v, nói riêng d[n+1] th i m s m nh t có th c t b ng khánh thành, t c th i m s m nh t có th hồn thành tồn b cơng trình Cây đ ng dài nh t c a tốn thí d tìm đ hình 6.5 c theo thu t tốn đ NG I NG N NH T GI A T T C CÁC C P c ch NH Rõ ràng ta có th gi i tốn tìm đ ng ng n nh t gi a t t c c p đ nh c a đ th b ng cách s d ng n l n thu t tốn mơ t m c tr c, ta s ch n s l n l t đ nh c a đ th Rõ ràng, ta thu đ c thu t tốn v i đ ph c t p O(n4 ) (n u s d ng thu t toán Ford_Bellman) ho c O(n3 ) đ i v i tr ng h p tr ng s khơng âm ho c đ th khơng có chu trình Trong tr ng h p t ng quát, s d ng thu t tốn Ford_Bellman n l n khơng ph i cách làm t t nh t ta s mơ t m t thu t tốn gi i toán v i đ ph c t p tính tốn O(n3 ): thu t tốn Floyd Thu t tốn đ c mơ t th t c sau đây: Procedure Floyd; (* Tìm đ ng ng n nh t gi a t t c c p đ nh u vào: th cho b i ma tr n tr ng s a[i,j], i, j =1, 2, ,n u ra: Ma tr n đ ng ng n nh t gi a c p đ nh d[i,j], i,j = 1, .,n Trong d[i,j] cho đ dài đ ng ng n nh t t đ nh i đ n đ nh j Ma tr n ghi nh n đ ng p[i,j], i, j = 1, , n Trong p[i,j] ghi nh n đ nh tr c đ nh j đ ng ng n nh t t i đ n j *) begin (* Kh i t o *) 50 for i:=1 to n for j:=1 to n begin d[i,j]:=a[i.j]; p[i.j]:=i; end; (* B c l p *) for k:=1 to n for i:=1 to n for j:=1 to n if d[i,j]>d[i,k]+d[k,j] then begin d[i,j]=d[i,k]+d[k,j]; p[i,j]=p[k,j]; end; end; Rõ ràng đ ph c t p tính tốn c a thu t toán O(n3 ) 51 BÀI T P CH NG Bài Vi t đo n ch ng trình tìm đ ng ng n nh t gi a m t c p đ nh đ th có chu trình nh ng t ng tr ng s khơng âm Bài Vi t đo n ch ng trình tìm đ ng ng n nh t gi a m t c p đ nh đ th có tr ng s không âm Bài Vi t đo n ch ng trình tìm đ ng ng n nh t gi a m t c p đ nh đ th khơng có chu trình tr ng s khơng âm 52 CH NG BÀI TỐN LU NG C C I TRONG M NG Bài toán lu ng c c đ i m ng m t s toán t i u đ th tìm đ c nh ng ng d ng r ng rãi th c t c ng nh nh ng ng d ng thú v lý thuy t t h p Bài toán đ c đ xu t vào đ u n m 1950, g n liên v i tên tu i c a hai nhà toán h c M Ford Fulkerson Trong ch ng chúng s trình bày thu t tốn Ford Fulkerson đ gi i toán đ t nêu m t sô ng d ng c a toán 7.1 M NG LU NG TRONG M NG BÀI TOÁN LU NG C C 7.1.1 I nh ngh a m ng, lu ng đ th nh ngh a Ta g i m ng đ th có h ng G=(V,E), nh t m t đ nh s khơng có cung vào g i đ nh phát, nh t m t đ nh t khơng có cung g i m thu m i cung e=(v,w) E đ c gán v i m t s không âm c(e) =c(v,w) g i kh n ng thông qua c a cung e thu n ti n cho vi c trình bày ta s qui thơng qua c(v,w) đ c gán b ng c r ng n u khơng có cung (v,w) kh n ng nh ngh a Gi s cho m ng G=(V,E) Ta g i m ng f m ng G=(V,E) ;là ánh x f: E R+ gán cho m i cung e=(v,w) E m t s th c không âm f(e)=f(v,w), g i lu ng cung e, tho mãn u ki n sau: Lu ng cung e E không v t kh n ng thông qua c a nó: ≤ f(e) ≤ c(e) i u ki n cân b ng lu ng m i đ nh c a m ng: T ng lu ng cung vào đ nh v b ng t ng lu ng cung kh i đ nh v, n u v#s, t: Div f (v) = ∑ f (w, v) - ∑ f (v, w) = w∈Γ − ( v ) w∈Γ + ( v ) Γ − (v ) - t p đ nh c a m ng mà t có cung đ n v, Γ + (v ) - t p đ nh c a m ng mà t v có cung đ n nó: Γ − (v ) = { w V : (w,v) E } , Γ + (v ) = { w V : (v,w) E } Giá tr c a lu ng f s Val(f) = ∑ f (s, w) = ∑ f (w, t ) w ∈Γ + ( s ) w∈Γ − ( t ) 7.1.2 Bài toán lu ng c c đ i Cho m ng G(V,E) Hãy tìm lu ng f* m ng v i giá tr lu ng val(f*) l n nh t Lu ng nh v y ta s g i lu ng c c đ i m ng Bài toán nh v y có th xu t hi n r t nhi u ng d ng th c t Ch ng h n c n xác đ nh c ng đ l n nh t c a dòng v n t i gi a hai nút c a m t b n đ giao thơng Trong ví d l i gi i c a toán lu ng c c đ i s ch cho ta đo n đ ng đông xe nh t chúng t o thành "ch h p" t ng ng v i dịng giao thơng xét theo hai nút đ c ch n M t ví d khác n u xét đ th t ng ng v i m t h th ng đ ng ng d n d u Trong ng t ng ng v i cung, m phát có th coi t u ch d u, m thu b ch a, nh ng m n i gi a ng nút c a đ th Kh n ng thông qua c a cung t ng ng v i ti t di n c a ng C n ph i tìm lu ng d u l n nh t có th b m t tàu ch d u vào b ch a 53 7.2 LÁT C T NG T NG LU NG NH LÝ FORD_FULKERSON 7.2.1 Lát c t nh ngh a Ta g i lát c t (X,X* ) m t cách phân ho ch t p đ nh V c a m ng thành hai t p X X* = V\X, s X, t X* Kh n ng thông qua c a lát c t (X,X* ) s : c(X,X* ) = c(v,w) v X w X* Lát c t v i kh n ng thông qua nh nh t đ c g i lát c t h p nh t B đ Giá tr c a lu ng f m ng nh h n ho c b ng kh n ng thông qua c a lát c t (X,X* ) b t k nó: Val(f) ≤ c(X,X* ) Ch ng minh C ng u ki n cân b ng lu ng Divf(v)=0 v i m i v có ∑( ∑ f(w, v) − v∈X w∈ − (v) X Khi ta ∑ f(v, w)) = − Val(f) v∈X w∈ + (v) T ng s g m s h ng d ng f(u,v) v i d u c ng ho c d u tr mà có nh t m t hai đ nh u,v ph i thu c t p X N u c hai đ nh u,v đ u t p X, f(u,v) xu t hi n v i d u c ng Divf(v) v i d u tr Divf(u), th , chúng tri t tiêu l n Do đó, sau gi n c s h ng nh v y v trái, ta thu đ c ∑ f(v, w) - ∑ f(v, w) = − Val(f) v∈X w∈X * v∈X * w∈X M t khác, t u ki n rõ ràng ∑ f(v, w) ≤ ∑ c(v, w) v∈X w∈X* v∈X* w∈X suy Val(f)≤c(X,X* ) B đ đ c ch ng minh H qu Giá tr lu ng c c đ i m ng không v h p nh t m ng t kh n ng thông qua c a lát c t Ford Fulkerson ch ng minh r ng giá tr lu ng c c đ i m ng b ng kh n ng thông qua c a lát c t h p nh t có th phát bi u ch ng minh k t qu chúng s c n thêm m t s khái ni m Gi s f m t lu ng m ng G = (V,E) T m ng G =(V,E) ta xây d ng đ th có tr ng s cung Gf = (V, Ef), v i t p cung Ef tr ng s cung đ c xác đ nh theo qui t c sau: N u e=(v,w) E v i f(v,w) =0, (v,w) 54 Ef v i tr ng s c(v,w); N u e=(v,w) N u e=(v,w) (v,w) (w,v) E v i f(v,w) =c(v,w), (w,v) Ef v i tr ng s f(v,w); E v i 0 s t ng ng v i cung (sa, v) (u, ta) v i kh n ng thông qua d(u,v) Gi m c(u,v) d(u,v) t c thay kh n ng thông qua c a cung (u,v) b i c(u,v) – d(u,v) c n d i c a đ t b ng Ngồi thêm vào cung (t,s) v i c(t,s) = 62 Hình M ng v i kh n ng thơng qua b ch n hai phía Hình 6(a) cho ví d m ng G v i kh n ng thông qua c a cung b ch n c hai phía th Ga t ng ng đ c cho hình 6(b) Ký hi u d* = ∑ d(u,v), d(u,v)>0 nh lý 1) N u lu ng l n nh t m ng Ga t sa đ n ta b ng d* t n t i lu ng t G ng thích 2) N u lu ng l n nh t m ng Ga t sa đ n ta khác d* khơng t n t i lu ng t ng thích G 63 BÀI T P CH NG Bài Vi t đo n ch ng trình tìm lu ng c c đ i đ th có tr ng s nguyên d m t đ nh phát m t đ nh thu Bài Vi t đo n ch ng trình tìm lu ng c c đ i đ th có tr ng s nguyên d nhi u đ nh phát, đ nh thu 64 ng, ng, ... ph n: Lý thuy t đ th Mã HP: 17205 a S tín ch : 03 TC BTL AMH b n v gi ng d y: B môn Khoa h c máy tính c Phân b th i gian: - T ng s (TS ): 45 ti t - Lý thuy t (LT ): 36 ti t - Th c hành (TH ): ti... thi; VH:={s} ; T:= ; d[s ]:= 0; near[s ]:= s For v V\VH Begin D[v ]:= c[s,v]; near[v ]:= s; End; (* buoc lap *) stop:=false; while not stop begin tim u V\VH thoa man: d[u] =min { d[v ]: u V\VH } ; VH:= VH... th c: Z = 0.3X + 0.7Y Trong đ? ?: • X: m q trình, b ng trung bình c ng c a X1 , X2 • Y: m ki m tra k t thúc h c ph n • Hình th c thi: tr c nghi m máy tính; th i gian: 60 phút Thang m đánh gi? ?: A+,

Ngày đăng: 02/08/2020, 12:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w