Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
609 KB
Nội dung
BÀI TẬP TOÁN RỜI RẠC ---&0&-- CHƯƠNG 4: MỘT SỐBÀIMỘTSỐBÀITOÁNTỐIƯUTOÁNTỐIƯUTRÊNĐỒTHỊTRÊNĐỒTHỊ Giảng viên : Nguyễn Mậu Hân Sinh viên thực hiện : Nguyễn Thị Diệu Hằng Lớp : Tin K30D * Bài 1: Dùng thuật toán Dijkstra tìm đường đi ngắn nhất từ đỉnh a đến các đỉnh khác trong đồthị sau: Lời giải: L(a) L(b) L(c) L(d) L(e) L(g) L(h) L(k) 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ a - 4 ∞ ∞ ∞ 11 2 ∞ b - 4 ∞ 7 ∞ 9 - 3 c - 4 5 7 15 9 - - d - - 5 7 15 9 - - e - - - 7 15 8 - - g - - - - 14 8 - - h - - - - 13 - - - k b a k h c e g d 4 3 2 4 2 1 11 5 7 12 2 7 3 4 5 * Bài 2: Dùng thuật toán Dijkstra tìm đường đi ngắn nhất từ đỉnh a đến các đỉnh trong đồthị sau: Lời giải: L(a) L(b) L(c) L(d) L(e) L(f) L(g) L(h) L(i) L(k) 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ a - 1 10 6 3 ∞ ∞ ∞ ∞ ∞ b - - 10 6 3 5 ∞ ∞ ∞ ∞ c - - 10 5 - 5 ∞ 9 11 ∞ d - - 9 - - 5 ∞ 8 11 ∞ e - - 6 - - - 7 7 11 10 f - - 6 - - - - 7 11 9 g - - 6 - - - - - 11 9 h - - - - - - - - 10 9 i 10 - k a c b g d i f h e k 1 10 6 3 2 4 10 4 1 4 1 3 6 8 5 3 2 5 2 8 5 * Bài 3: Cho đồthị có trọng số như hình dưới đây.Hãy tìm đường đi ngắn nhất từ đỉnh A đến đỉnh N. Lời giải: L(A) L(B) L(C) L(D) L(E) L(F) L(G) L(H) L(I) L(J) L(K) L(L) L(M) L(N) 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ A - 7 ∞ ∞ ∞ 4 ∞ ∞ ∞ 1 ∞ ∞ ∞ ∞ B - 7 ∞ ∞ ∞ 3 ∞ ∞ ∞ - 3 ∞ ∞ ∞ C - 6 ∞ ∞ ∞ - ∞ ∞ ∞ - 3 ∞ ∞ ∞ D - 6 ∞ ∞ ∞ - 7 ∞ ∞ - - 12 ∞ ∞ E - - 9 ∞ ∞ - 7 ∞ ∞ - - 12 ∞ ∞ F - - 9 ∞ ∞ - - ∞ ∞ - - 12 ∞ ∞ G - - - 17 ∞ - - 15 ∞ - - 11 ∞ ∞ H - - - 17 ∞ - - 14 ∞ - - - 16 ∞ I - - - 16 ∞ - - - ∞ - - - 16 ∞ J - - - - 19 - - - 18 - - - 16 K - - - - 19 - - - 18 - - - - 23 L - - - - 19 - - - - - - - - 20 M - - - - - - - - - - - - - 20 N * Bài 4: A F J G H I K B L C M D N E 7 3 8 3 2 9 5 7 1 4 2 2 3 4 3 2 2 5 2 2 5 2 3 4 5 3 4 3 2 Tìm đường đi ngắn nhất từ B đến các đỉnh khác của đồthị có ma trận trọng số là: A B C D E F G A 3 6 B 3 2 4 C 6 2 1 4 2 D 4 1 2 4 E 4 2 2 1 F 2 2 4 G 4 1 4 Lời giải: Từ ma trận trọng số trên, ta có thể vẽ ra đồthị tương ứng như sau: Ta có thể giải bàitoán theo 2 cách: • Cách 1: (Dùng thuật toán Dijkstra) L(A) L(B) L(C) L(D) L(E) L(F) L(G) ∞ 0 ∞ ∞ ∞ ∞ ∞ A 3 - 2 4 ∞ ∞ ∞ B 3 - - 3 6 4 ∞ C - - - 3 6 4 ∞ D - - - - 5 4 6 E - - - - 5 - 6 F - - - - - - 6 G • Cách 2: (Dùng thuật toán Floyd) Ta có ma trận trọng số của đồ thị: B A a D F G EC 6 3 2 4 1 4 2 2 1 4 4 A B C D E F G A 3 6 B 3 2 4 C 6 2 1 4 2 D 4 1 2 4 E 4 2 2 1 F 2 2 4 G 4 1 4 W=W 0 Áp dụng thuật toán Floyd ta có: A B C D E F G A 3 6 B 3 6 2 4 C 6 2 12 1 4 2 D 4 1 2 4 E 4 2 2 1 F 2 2 4 G 4 1 4 W 1 A B C D E F G A 6 3 5 7 B 3 6 2 4 C 5 2 4 1 4 2 D 7 4 1 8 2 4 E 4 2 2 1 F 2 2 4 G 4 1 4 W 2 A B C D E F G A 6 3 5 6 9 7 B 3 4 2 3 6 4 C 5 2 4 1 4 2 D 6 3 1 2 2 3 4 E 9 6 4 2 8 2 1 F 7 4 2 3 2 4 4 G 4 1 4 W 3 A B C D E F G A 6 3 5 6 8 7 10 B 3 4 2 3 5 4 7 C 5 2 2 1 3 2 5 D 6 3 1 2 2 3 4 E 8 5 3 2 4 2 1 F 7 4 2 3 2 4 4 G 10 7 7 4 1 4 8 W 4 A B C D E F G A 6 3 5 6 8 7 9 B 3 4 2 3 5 4 6 C 5 2 2 1 3 2 4 D 6 3 1 2 2 3 3 E 8 5 3 2 4 2 1 F 7 4 2 3 2 4 3 G 9 6 4 3 1 3 2 W 5 =W 6 A B C D E F G A 6 3 5 6 8 7 9 B 3 4 2 3 5 4 6 C 5 2 2 1 3 2 4 D 6 3 1 2 2 3 3 E 8 5 3 2 2 2 1 F 7 4 2 3 2 4 3 G 9 6 4 3 1 3 2 W 7 =W * * Bài 5: Tìm W * bằng cách áp dụng thuật toán Floyd vào đồthị sau: Lời giải: Ta có ma trận trọng số của đồthịtrên là: (những ô trống là ∞) A B C D E F A 3 1 20 B 8 2 C 6 8 D E 4 3 F 5 13 W Áp dụng thuật toán Floyd ta có: A B C D E F A 3 1 20 B 8 2 C 6 8 D E 4 3 F 5 13 W 0 =W 1 =W A E F B C D 3 1 2 0 8 6 13 43 5 8 2 A B C D E F A 3 11 1 5 B 8 2 C 6 8 D E 4 3 F 5 13 W 2 A B C D E F A 3 11 17 1 5 B 8 14 16 2 C 6 8 D E 4 3 F 5 11 13 W 3 A B C D E F A 3 11 5 1 4 B 8 14 16 2 C 6 8 11 D E 4 3 F 5 11 13 14 W 4 =W 5 A B C D E F A 3 9 5 1 4 B 7 13 15 2 C 16 6 8 11 D E 8 4 16 3 F 5 11 13 14 W 6 =W * * Bài 6: Giải bàitoán mạng vận tải sau bằng thuật toán Ford-Fulkerson với luồng vận tải khởi đầu bằng 0: φ ( Khả năng thông qua của các cung là các số màu xanh) Lời giải: Luồng φ có đường đi (V 0 , V 1 ), (V 1 , V 5 ), (V 5 , V 7 ) gồm các cung chưa bão hòa. Nâng luồng φ lên 4 đơn vị để có luồng φ 1 : φ 1 Xét xích α=(V 0 , V 1 , V 4 , V 2 , V 6 , V 7 ). Nâng luồng φ 1 lên 2 đơn vị ta có được luồng φ 2 : V 3 V 4 V 0 V 2 V 6 V 7 V 1 V 5 8 4 2 6 2 4 4 6 8 2 4 3 4 V 3 V 4 V 0 V 2 V 6 V 7 V 5 8 4 2 6 2 4 4 6 8 2 4 3 4 V 1 +0 +1 +5 4 4 4 0 [...]... dấu V 0 nên quá trình nâmg luồng kết thúc và ta có giá trị luồng cực đại là: φ3=27+2+7+4=40 * Bài 8: Hãy giải bàitoán người du lịch với 6 thành phố có sốliệu cho trong ma trận trọng số sau: ∞ 9 22 23 14 25 25 ∞ 11 14 44 3 45 16 ∞ 27 29 4 14 2 33 ∞ 46 7 32 34 7 20 ∞ 8 24 23 0 21 3 ∞ Lời giải: Ma trận trọng số M: ∞ 25 9 ∞ 22 11 23 14 14 44 25 3 * Ma trận rút gọn M’: 45 16 ∞ 27 29 4 32 34 7 20 ∞ 8 24... và ta được giá trị của luồng cực đại là: φ5=8+4+2=14 * Bài 7: Giải bài toán mạng vận tải sau bằng thuật toán Ford-Fulkerson với luồng vận tải khởi đầu được cho kèm theo: 6 V 8 10 1 8 V 0 V 15 2 20 V 3 16 6 16 V 4 10 6 2 10 2 0 8 28 4 8 6 0 3 8 5 V 5 0 2 15 V 0 15 6 10 8 12 25 10 V 7 7 0 6 V 8 30 3 V 0 0 1 2 4 7 V10 2 0 9 (giá trị thông qua là các số màu đỏ) 20 2 2 V11 Lời giải: Luồng φ có đường đi (V0,... dưới=76 4 ∞ 0 Hành trình không chứa (2,1) 0 ∞ * Ma trận rút gọn M''''': Tổng hằng số rút gọn s'''''=0 1 1 4 ∞ 0 0 ∞ Hai cạnh còn lại của chu trình không phải chọn nữa mà được đưa vào chu trình Ở đây ta có các cạnh (6,3), (5,6), (4,5), (3,2), (1,4), (2,1) Vậy ta được chu trình: 6, 3, 2, 1, 4, 5, 6 với chi phí 61 là tối ưu 2 ... (5,6) Cận dưới=51 Hành trình chứa (1,4) Hành trình không chứa (1,4) Cận dưới=61 1 1 2 3 2 4 ∞ 0 4 11 ∞ 0 Cận dưới=73 0 0 ∞ * Ma trận rút gọn M'''': 1 1 2 3 2 4 ∞ 0 4 11 ∞ 0 0 0 ∞ Trong ma trận trên có: Tổng hằng số rút gọn s''''=0 m''''21=m''''32 =m''''14 =m''''24 =0 θ21=4 θ14=11 θ24=0 θ32=15 Ta thấy θ32=15 là lớn nhất nên ta chọn ô (3,2) để tiếp tục phân nhánh.Cận dưới của nhánh chứa (3,2) là 61 Xóa... Hành trình chứa (5,6) Hành trình không chứa (5,6) Cận dưới=51 Cận dưới =62 1 1 2 3 4 2 4 5 ∞ 0 13 2 11 ∞ 9 0 0 0 31 ∞ 13 27 ∞ 1 * Ma trận rút gọn M''': Tổng hằng số rút gọn s'''=10 1 1 2 4 5 ∞ 11 0 12 2 0 ∞ 0 26 3 4 0 22 ∞ 4 2 0 ∞ 0 Trong ma trận trên có m'''14=m'''21=m'''24=m'''42=0 θ14=11 θ21=2 θ24=0 θ42=0 θ32=4 θ45=12 Ta thấy θ45=12 là lớn nhất Vậy chọn ô (4,5) để phân nhánh.Cận dưới của nhánh chứa... dưới=61 1 1 2 3 4 5 2 4 5 6 ∞ 0 15 2 4 11 ∞ 11 0 41 0 0 33 ∞ 43 13 27 2 1 ∞ 10 21 ∞ 7 0 * Ma trận rút gọn M'': 1 2 3 4 5 4 5 6 ∞ 0 13 2 4 1 2 11 ∞ 9 0 41 0 0 31 ∞ 43 13 27 0 1 ∞ 10 21 ∞ 7 0 Tổng hằng số rút gọn s''=2 m''14=m''21=m''24=m''35=m''42=m''56=0 θ14=10 θ21=2 θ24=0 θ35=10 θ42=10 θ56=11 Ta thấy θ56=11 là lớn nhất Vậy chọn ô (5,6) để phân nhánh.Cận dưới của nhánh chứa (5,6) là 49+2=51.Cận dưới... Ma trận rút gọn M’: 45 16 ∞ 27 29 4 32 34 7 20 ∞ 8 24 23 0 21 3 ∞ 2 1 14 2 33 ∞ 46 7 3 4 5 6 1 ∞ 11 30 0 13 10 0 ∞ 13 0 27 21 3 15 11 ∞ 33 2 0 4 2 0 12 ∞ 1 7 5 4 41 25 43 ∞ 0 6 15 0 0 4 0 ∞ Tổng hằng số rút gọn s=49 Trong M’ có m’14=m’21=m’24=m’36=m’42=m’56=m’62=m’63=m’65=0 θ14=10 θ21=2 θ24=0 θ36=2 θ42=1 θ56=4 θ62=0 θ63=12 θ65=1 Ta thấy θ63=12là lớn nhất Vậy chọn ô (6,3) để phân nhánh Cận dưới của . BÀI TẬP TOÁN RỜI RẠC ---&0&-- CHƯƠNG 4: MỘT SỐ BÀI MỘT SỐ BÀI TOÁN TỐI ƯU TOÁN TỐI ƯU TRÊN ĐỒ THỊ TRÊN ĐỒ THỊ Giảng viên : Nguyễn. 4 3 1 3 2 W 7 =W * * Bài 5: Tìm W * bằng cách áp dụng thuật toán Floyd vào đồ thị sau: Lời giải: Ta có ma trận trọng số của đồ thị trên là: (những ô trống