BÀI TOÁN LUỒNG TRÊN MẠNG VÀ ỨNG DỤNG

75 344 0
BÀI TOÁN LUỒNG TRÊN MẠNG VÀ ỨNG DỤNG

Đ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

i ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NÔNG THỊ LÝ BÀI TOÁN LUỒNG TRÊN MẠNG VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái nguyên - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ ii LỜI CAM ĐOAN “ Bài toán Tôi luồng mạng ứng dụng” công trình nghiên cứu thực dƣới thân hƣớng dẫn khoa học Tiến sĩ Trƣơng Hà Hải,Trƣờng Đại học Công nghệ Thông tin Truyền thông- Đại học Thái Nguyên Tôi năm 2015 Nông Thị Lý Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ iii LỜI CẢM ƠN Để hoàn thành luận văn, t xin chân thành cảm ơn Trƣờng Đại học Công nghệ Thông tin Truyền thông–Đại học Thái Nguyên, Phòng Đào tạo, thầy, cô giáo giảng dạy lớp cao học Khoa học máy tính K12E quan tâm, tạo điều kiện thuận lợi, tận tình giảng dạy giúp đỡ thời gian theo học trƣờng Đặc biệt, t xin bày tỏ lòng biết ơn sâu sắc đến TS Trƣơng Hà Hải văn xin cảm ơn cán bộ, giảng viên đồng nghiệp Trƣờng Đại học Hùng Vƣơng Xin trân trọng cảm ơn 9năm 2015 Nông Thị Lý Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ iv MỤC LỤC LỜI CAM ĐOAN .II LỜI CẢM ƠN III MỤC LỤC IV DANH MỤC CÁC BẢNG VI DANH MỤC CÁC HÌNH VẼ VII MỞ ĐẦU CHƢƠNG MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA LÝ THUYẾT ĐỒ THỊ 1.1 1.1.1 Định nghĩa đồ thị 1.1.2 Các loại đồ thị 1.1.3 Các khái niệm liên quan 1.2 Biểu diễn đồ thị máy tính 10 1.2.1 Biểu diễn ma trận kề 10 1.2.2 Biểu diễn ma trận liên thuộc 11 1.2.3 Danh sách cạnh 12 1.2.4 Danh sách kề 13 1.2.5 Đồ thị trọng số 14 1.3 14 1.3.1 Các toán kinh điển 14 1.3.2 Các toán NP-khó 16 1.4 Kết luận chƣơng 20 CHƢƠNG 2: BÀI TOÁN LUỒNG CỰC ĐẠI TRÊN MẠNGVÀ CÁC THUẬT TOÁN 22 2.1 Phát biểu toán 22 2.1.1 Mạng luồng mạng 22 2.1.2 Bài toán luồng cực đại mạng 24 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ v 2.1.3 Lát cắt, định lý Ford – Fulkerson 24 2.2 Các thuật toán giải toán luồng mạng 25 2.2.1 Các thuật toán có 25 2.2.2 Thuật toán Ford – Fulkerson 26 2.2.3 Thuật toán Edmonds–Karp 32 2.2.4 Thuật toán Dinits 32 2.2.5 Các thuật toán khác 33 2.3 Một số ứng dụng thực tế toán 33 2.3.1 Bài toán tìm công suất bơm dầu 33 2.3.2 Bài toán xét ứng cử viên vô địch 34 2.3.3 Bài toán tìm luồng giao thông cực đại 35 2.4 Kết luận chƣơng 36 CHƢƠNG 3: 37 3.1 Vấn đề tính toán số lƣợt du khách thăm đền Hùng dịp lễ hội 37 3.2 39 3.3 M 40 3.4 Xây dựng chƣơng trình 50 3.4.1 Môi trƣờng cài đặt 50 3.4.2 Giao diện chƣơng trình 51 3.5 Kết thực nghiệm tính số lƣợt ngƣời thăm đền Hùng năm 2015 52 3.5.1 Thực nghiệm 1: Tính toán ngày thứ (06/03 âm lịch) 53 3.5.2 Thực nghiệm 2: Tính toán ngày thứ hai (10/03 âm lịch) 56 3.5.3 Tổng hợp kết thử nghiệm 59 3.6 Kết luận chƣơng 60 KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU 61 TÀI LIỆU THAM KHẢO 63 PHỤ LỤC Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ vi DANH MỤC CÁC BẢNG Bảng 2.1 Các thuật toán giải toán luồng cực đại 31 Bảng 3.1 Bảng số tỉnh thành đồ 46 Bảng 3.2 So sánh kết tính toán liệu thực tế 71 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ vii DANH MỤC CÁC HÌNH VẼ Hình 1.1 Bài toán bảy cầu Konigsberg .4 Hình 1.2 Các loại đồ thị .6 Hình 1.3 Các dạng đồ thị đặc biệt Hình 1.4 Minh họa khái niệm liên quan đến đồ thị .7 Hình 1.5 Minh họa đỉnh rẽ nhánh cầu .9 Hình 1.6 Minh họa đồ thị đồ thị đẳng cấu 10 Hình 1.7 Biểu diễn đồ thị ma trận kề 11 Hình 1.8 Biểu diễn đồ thị ma trận liên thuộc 12 Hình 1.9 Biểu diễn đồ thị danh sách cạnh 13 Hình 1.10 Biểu diễn đồ thị danh sách kề 14 Hình 2.1 Mạng luồng mạng 23 Hình 2.2 Luồng cực đại mạng 24 Hình 2.3 Lát cắt hẹp mạng 25 Hình 2.4 Mạng ban đầu 28 Hình 2.5 Khởi tạo luồng 28 Hình 2.6 Xây dựng mạng dƣ 29 Hình 2.7 Tăng luồng theo đƣờng 29 Hình 2.8 Tăng luồng theo đƣờng 30 Hình 2.9 Tăng luồng theo đƣờng 30 Hình 2.10 Tính toán luồng cực đại từ mạng tăng luồng cực đại 31 Hình 2.11 Bài toán tìm công suất bơm dầu 33 Hình 2.12 Bài toán loại bỏ ứng cử viên vô địch 34 Hình 2.13 Bài toán tìm luồng giao thông cực đại Hình 3.1 Bài toán tính số lƣợt du khách tới thăm Đền Hùng - Phú Thọ 40 Hình 3.2 Mạng liệu #1 42 Hình 3.3.Khởi tạo luồng liệu #1 43 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ viii Hình 3.4 Xây dựng mạng dƣ liệu #1 43 Hình 3.5.Tăng luồng theo đƣờng liệu #1 44 Hình 3.6 Tăng luồng theo đƣờng liệu #1 44 Hình 3.7 Tăng luồng theo đƣờng liệu #1 45 Hình 3.8 Tăng luồng theo đƣờng liệu #1 45 Hình 3.9 Tăng luồng theo đƣờng liệu #1 46 Hình3.10 Tăng luồng theo đƣờng liệu #1 46 Hình 3.11 Tăng luồng theo đƣờng liệu #1 47 Hình3.12 Luồng cực đại liệu #1 47 Hình 3.13 Giao diện chƣơng trình 49 Hình 3.14 Mô với liệu #1 chƣơng trình 52 Hình 3.15 Chạy chƣơng trình với liệu #1 53 Hình 3.16 Chạy chƣơng trình với liệu #2 56 Hình 3.17 Biểu đồ so sánh kết tính toán liệu thực tế 57 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ MỞ ĐẦU Để giải vấn đề phát sinh từ toán thực tế cần có đƣợc hợp tác chặt chẽ chuyên gia lĩnh vực chuyên môn, chuyên gia Toán, Toán ứng dụng chuyên gia Tin học, kỹ sƣ lập trình Điều đặc biệt cần thiết giải toán cho hệ thống lớn Việc thiết lập đƣợc mô hình hợp lý, phản ánh đƣợc chất toán thực tế đồng thời khả thi phƣơng diện tính toán điều đáng đƣợc quan tâm Trong số mô hình toán học đƣợc áp dụng có nhiều mô hình tối ƣu, nhiều toán qui hoạch tuyến tính qui toán làm cực tiểu cƣớc phí vận chuyển hàng mạng (gồm nút cung đƣờng) cho đảm bảo đƣợc nhu cầu số nút sau biết nguồn cung cấp số nút khác, đƣa toán xác định cƣờng độ dòng lớn dòng vận tải hai nút đồ giao thông, toán tìm luồng dầu lớn bơm từ tàu chở dầu vào bể chứa hệ thống đƣờng ống dẫn dầu, Các toán nhƣ đƣợc gọi toán luồng mạng hay toán chuyển vận (TransShipment Problem) Đây lớp toán quan trọng hay gặp qui hoạch toán học Lớp bao gồm toán quen thuộc thực tế nhƣ: Bài toán vận tải, toán mạng điện, toán mạng giao thông, toán quản lý, toán phân bổ vật tƣ, toán kế hoạch tài chính, toán đƣờng ngắn nhất, toán luồng lớn Vì toán qui hoạch tuyến tính nên toán luồng mạng giải đƣợc thuật toán giải đƣợc toán qui hoạch tuyến tính, chẳng hạn thuật toán cổ điển qui hoạch tuyến tính nhƣ thuật toán đơn hình Mặt khác, cách tận dụng cấu trúc đặc biệt toán luồng mạng thông qua việc mô hình hóa toán thành cấu trúc đồ thị (mô hình gồm đỉnh cạnh nối đỉnh đó) toán toán tìm luồng mạng đồ thị Vì ứng dụng thực tế ý nghĩa lớp toán này, với mạnh niềm yêu thích toán học, tin học, thuật toán, phạm vi luận văn, tập trung nghiên cứu lớp toán luồng mạng, phƣơng pháp giải toán luồng mạng lý thuyết đồ thị ứng dụng giải toán thực tế Luận văn đƣợc trình bày thành phần bao gồm: Phần mở đầu, phần nội dung phần kết luận Phần mở đầu: Giới thiệu khái quát đề tài, mục tiêu, đối tƣợng, phạm vi nghiên cứu, ý nghĩa khoa học xã hội mang lại thông qua việc giải vấn đề đƣợc nêu đề tài Phần nội dung: Chƣơng 1: :đ Chƣơng 2: rình bày khái niệm mạng, khái niệm luồng mạng, toán luồng cực đại mạng, phát biểu dạng toán luồng cực đại mạng, trình bày thuật toán giải toán luồng mạng Chƣơng Tìm hiểu thực tế lƣu lƣợng du khách thăm đền Hùng tỉnh Phú Thọ dịp lễ hội thuộc lớp toán luồng cực đại mạng, xây dựng chƣơng trình thử nghiệm mô tính toán số lƣợt du khách thăm đền Hùng tỉnh Phú Thọ dịp lễ hội năm 2015 Phần kết luận: Trình bày kết mà luận văn đạt đƣợc hƣớng phát triển cho mô hình mà luận văn đề xuất Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 53 3.5.1 Thực nghiệm 1: Tính toán ngày thứ (06/03 âm lịch) Khi chạy thực tế chƣơng trình, ta có đỉnh với khả vận chuyển hành khách nhƣ Hình 3.4 Các tỉnh minh họa ô tròn màu xanh nƣớc biển tỉnh Phú Thọ đƣợc minh họa ô tròn màu xanh với kích thƣớc lớn Chỉ số đỉnh hiển thị màu xanh nƣớc biển Băng thông khả vận chuyển đỉnh hiển thị màu xanh côban Khi cập nhật xong thông tin mạng, chƣơng trình tự động chạy thuật toán tìm luồng cực đại hiển thị nhƣ Hình 3.4 số lƣợng du khách muốn thăm đền Hùng hiển thị màu đỏ số khách thực tế thăm hiển thị màu xanh Rõ ràng, số lƣợt du khách thăm đền Hùng liệu 7+8+9+4=28 Trong ngày 06/03 âm lịch, địa phƣơng gửi thông tin nhu cầu đến thăm đền Hùng khả vận chuyển hành khác tỉnh số tỉnh lân cận Do đó, có liệu giả định #1 sau: Chỉ số Tỉnh Nhu cầu Tuyên Quang 15 Yên Bái Sơn La 10 Vĩnh Phúc 11 Thái Nguyên - 19 Hòa Bình Ngoài có khả vận tải hành khách tỉnh nhƣ sau: Đƣờng Tỉnh đầu Chỉ số Khả Chỉ số Tỉnh cuối thông qua Sơn La → Yên Bái 15 Sơn La → 19 Hòa Bình 13 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 54 Yên Bái → Tuyên Quang Tuyên Quang → 10 Vĩnh Phúc Tuyên Quang → 11 Thái Nguyên Thái Nguyên 11 → 10 Vĩnh Phúc Tuyên Quang → 26 Phú Thọ Yên Bái → 26 Phú Thọ Vĩnh Phúc 10 → 26 Phú Thọ Hòa Bình 19 → 26 Phú Thọ Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 55 Hình 3.14 Mô với liệu #1 chương trình Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 56 Hình 3.15 Chạy chương trình với liệu #1 3.5.2 Thực nghiệm 2: Tính toán ngày thứ hai (10/3 âm lịch) Trong ngày 10.3 âm lịch, địa phƣơng gửi thêm thông tin nhu cầu đến thăm đền Hùng khả vận chuyển hành khác tỉnh số tỉnh lân cận Do đó, có liệu giả định #2 sau: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 57 Chỉ số Tỉnh Nhu cầu Tuyên Quang 15 Yên Bái Sơn La 10 Vĩnh Phúc 11 Thái Nguyên 16 Bắc Giang 10 18 Sơn Tây 19 Hòa Bình Ngoài có khả vận tải hành khách tỉnh nhƣ sau: Đƣờng Tỉnh đầu Chỉ số Khả Chỉ số Tỉnh cuối thông qua Sơn La → Yên Bái 15 Sơn La → 19 Hòa Bình 13 Yên Bái → Tuyên Quang Tuyên Quang → 10 Vĩnh Phúc Tuyên Quang → 11 Thái Nguyên Thái Nguyên 11 → 10 Vĩnh Phúc Bắc Giang 16 → 11 Thái Nguyên Bắc Giang 16 → 18 Sơn Tây Sơn Tây 18 → 19 Hòa Bình 12 Tuyên Quang → 26 Phú Thọ Yên Bái → 26 Phú Thọ Vĩnh Phúc 10 → 26 Phú Thọ Sơn Tây 18 → 26 Phú Thọ Hòa Bình 19 → 26 Phú Thọ Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 58 Từ chƣơng trình chạy liệu #2 cho kết số lƣợt du khách thăm đền Hùng 4+6+7+8+9=34 Hình 3.16 Chạy chương trình với liệu #2 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 59 3.5.3 Tổng hợp kết thử nghiệm Tổng hợp kết thử nghiệm tính lƣợng du khách thăm Đền Hùng ngày lễ hội Đền Hùng năm 2015: từ ngày 06/03 đến 10/03 âm lịch đƣợc thể bảng sau: Bảng 3.2 So sánh kết tính toán liệu thực tế Ngày Lƣợng du khách tính toán (trăm nghìn ngƣời) Lƣợng du khách thực tế (trăm nghìn ngƣời) 06/03/2015 28 28 07/03/2015 28.5 28.9 08/03/2015 28.5 29 09/03/2015 29 30 10/03/2015 34 34.7 Biểu đồ so sánh 40 35 30 Số lượt khách 25 Số lượt du khách tính toán (trăm nghìn người) Số lượt du khách thực tế (trăm nghìn người) 20 15 10 06/03/2015 07/03/2015 08/03/2015 09/03/2015 10/03/2015 Ngày Hình 3.17 Biểu đồ so sánh kết tính toán liệu thực tế Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 60 Nhận xét kết thực nghiệm So sánh kết thực nghiệm chƣơng trình kết thực tế 10 ngày hội lễ hội Đền hùng năm 2015 thấy phần mềm đƣa kết tốt, tƣơng đối xác, có khả ứng dụng thực tế 3.6 Kết luận chƣơng Chƣơng xây dựng chƣơng trình ứng dụng sử dụng thuật toán FordFulkerson để thực toán tính toán số lƣợt du khách thăm Đền Hùng dịp lễ hội 2015; mô toán toán luồng cực đại mạng Kết thực nghiệm cho thấy chƣơng trình tính toán tƣơng đối xác, hợp lý, mang tính xác thực Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 61 KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU án chuyển vận (TransShipment Problem) lớp toán quan trọng hay gặp qui hoạch toán học Lớp bao gồm toán quen thuộc thực tế nhƣ: Bài toán vận tải, toán mạng điện, toán mạng giao thông, toán quản lý, toán phân bổ vật tƣ, toán kế hoạch tài chính, toán đƣờng ngắn nhất, toán luồng lớn Những kết đạt đƣợc Trình bày khái niệm mạng, khái niệm luồng mạng, điều kiện cân luồng giá trị luồng Đồng thời phát biểu toán luồng cực đại mạng, cách tiếp cận có để giải toán số ứng dụng thực tế toán tìm luồng cực đại , luận văn trình bày ứng dụng thuật toán Ford-Fullkerson để giải vấn đề mô tính toán số lƣợt du khách viếng thăm đền Hùng tỉnh Phú Thọ dịp lễ hội Từ vấn đề toán thực tế, tác giả mô hình toán đồ thị, du khách thăm Đền Hùng dịp lễ hội năm 2015 Bài toán biến thể mạng có nhiều đinh phát đỉnh thu nhằm tính toán đƣợc lƣợt khách thăm viếng đền Hùng dịp lễ hội Kết có vai trò to lớn giúp nhà quản lý chủ động xây dựng kế hoạch cho công tác chuẩn bị sở hạ tầng, dịch vụ du lịch, quản lý, đáp ứng nhu cầu phục vụ khách du lịch thập phƣơng dự lễ hội đền Hùng Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 62 Hạn chế Do thời gian nghiên cứu tƣơng đối hạn hẹp trình độ học viên hạn chế nên ứng dụng chƣơng trình phạm vi nhỏ Hƣớng nghiên cứu Xây dựng đƣợc chƣơng trình với quy mô, phạm vi lớn Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 63 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Nguyễn Đức Nghĩa, Nguyễn Tô Thành (2009), Toán rời rạc, Nxb Đại học Quốc gia Hà Nội Tiếng Anh: [2] Schwartz B L (1966) Possible winners in partially completed tournaments SIAM Review, 8(3), 302-308 [3] Ford L R & Fulkerson D R (1956) Maximal flow through a network Canadian journal of Mathematics, 8(3), 399-404 [4] Edmonds J & Karp R M (1972) Theoretical improvements in algorithmic efficiency for network flow problems Journal of the ACM (JACM), 19(2), 248-264 [5] Dinits E A (1970) Algorithm of solution to problem of maximum flow in network with power estimates Doklady Akademii Nauk SSSR, 194(4), 754 [6] Karzanov A V (1974) Determining the maximal flow in a network by the method of preflows [7] Cherkasky B V (1977) Algorithm of construction of maximal flow in networks with complexity of operations Mathematical Methods of Solution of Economical Problems, 7(0977), 117-125 [8] Sleator D D K (1981) An network flow algorithm for maximum [9] Galil Z (1980) An algorithm for the maximal flow problem Acta Informatica, 14(3), 221-242 [10] Galil Z & Naamad, A (1980) An algorithm for the maximal flow problem Journal of Computer and System Sciences, 21(2), 203-217 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 64 Trang web: [11] [12] http://luanvan.net.vn/luan-van/luan-van-bai-toan-luong-tren-mang-64172/ hhttp://voer.edu.vn/m/bai-toan-luong-cuc-dai-trong-mang/1ea96ed5 PHỤ LỤC Chƣơng trình gồm lớp: - Network: cài đặt mạng - DrawablePanel: thiết kế giao diện chƣơng trình - MainClass_HungTempleProblem: lớp để chạy chƣơng trình Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 65 Lớp Network Gồm thủ tục: Phƣơng thức Mô tả Network() Phƣơng thức khỏi tạo lớp setCapacityOfEdge(int, int, int): void Đặt băng thông cho cạnh Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 66 getCapacityOfEdge(int, int): int Lấy băng thông cạnh setDemandOfNode(int, int): void Đặt yêu cầu cho đỉnh getDemandOfNode(int): int Lấy yêu cầu đỉnh getMaxFlowValue(): int Lấy giá trị luồng cực đại mạng getMaxFlowOfEdge(int, int): int Lấy giá trị luồng cực đại cạnh getSizeOfNetwork(): int Lấy kích thƣớc (số đỉnh) mạng DFS(): int Tìm kiếm sâu calculateMaxFlow(): void Chạy thuật toán tìm luồng cực đại getSelectedFile(): File Lựa chọn file liệu readData(): void Đọc liệu từ file writeData(): void Viết liệu file Lớp DrawablePanel Phƣơng thức Mô tả DrawablePanel () Phƣơng thức khỏi tạo lớp paintComponent(Graphics): void Phƣơng thức vẽ đối tƣợng setNetwork(Network): void Phƣơng thức nhận thực thể Network để chạy chƣơng trình setIndex(): void Xác nhận hiển thị số đỉnh setDemand(): void Xác nhận hiển thị yêu cầu đỉnh setCapacity(): void Xác nhận hiển thị băng thông cạnh setFlow(): void Xác nhận hiển thị luồng cực đại cạnh showBackground(): void Xác nhận hiển thị hình Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 67 notShowBackground(): void Xác nhận không hiển thị hình showDemand(Graphics): void Hiển thị yêu cầu đỉnh showIndex(Graphics): void Hiển thị số đỉnh showCapacity(Graphics): void Hiển thị băng thông cạnh showFlow(Graphics): void Hiển thị luồng cực đại cạnh drawVector(Graphics, int, int, int, int): void Vẽ cạnh mạng drawThickLine(Graphics, int, int, int, int, int, Color): void Vẽ đƣờng thẳng Lớp MainClass_HungTempleProblem Gồm thủ tục: Phƣơng thức Mô tả MainClass_HungTempleProblem Phƣơng thức khỏi tạo lớp () main(Sting[1]): void Phƣơng thức main() Java initialize(): void Khởi tạo chƣơng trình chạy ButtonViewFile(): void Xử lý chức nút Xem liệu ButtonAddDemand(): void Xử lý chức nút Thêm yêu cầu ButtonAddRoute(): void Xử lý chức nút Thêm cạnh ButtonLoad(): void Xử lý chức nút Tải liệu ButtonSave(): void Xử lý chức nút Lƣu liệu ButtonAuthor(): void Xử lý chức nút Tác giả Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ [...]... bài toán kinh điển và các bài toán NP- khó Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 22 CHƢƠNG 2 BÀI TOÁN LUỒNG CỰC ĐẠI TRÊN MẠNG VÀ CÁC THUẬT TOÁN , điều kiện cân bằng luồng, giá trị của luồng N – – ng 3, p [2], [3], [4], [5], [6], [11], [12] 2.1 Phát biểu bài toán 2.1.1 Mạng và luồng trên mạng Trƣớc hết chúng ta đến với khái niệm về mạng và luồng Mạng (network) Mạng (network) là... bằng giá trị luồng cực đại ở trên 3/6 2 4 6/6 5/5 2/3 6 1 3/3 4/5 3/6 3 1/1 5 Hình 2.3 Lát cắt hẹp nhất mạng 2.2 Các thuật toán giải bài toán luồng trên mạng 2.2.1 Các thuật toán hiện có Hiện có rất nhiều thuật toán giải quyết bài toán luồng cực đại Bảng 2.1 dƣới đây liệt kê các thuật toán và độ phức tạp của chúng, chú ý và Bảng 2.1 Các thuật toán giải bài toán luồng cực đại Tên thuật toán Độ phức... bày một số thuật toán chính để giải bài toán luồng trên mạng 2.2.2 Thuật toán Ford – Fulkerson Thuật toán Ford-Fulkersonđƣợc giới thiệu năm 1956 dựa trên khái niệm về đƣờng tăng luồng Ta có các khái niệm sau: Mạng còn dƣ (residual network): Cho mạng G=(V, E) và luồng f Mạng còn dƣ là mạng với khả năng thông qua và Đƣờng tăng luồng: Cho mạng G=(V, E) và mạng còn dƣ Gf=(V, Ef) Đƣờng tăng luồng là một đƣờng... kiện cân bằng luồng: Ví dụ với đỉnh 4: - Khi đó, giá trị của luồng là: 2.1.2 Bài toán luồng cực đại trên mạng Bài toán luồng cực đại đƣợc phát biểu nhƣ sau Cho mạng G = (V, E) Trên G, hãy tìm luồngf có giá trị lớn nhất Ta có Hình 2.2 minh họa luồng cực đại trên mạng ở ví dụ trƣớc Giá trị của luồng cực đại này là 3/6 2 4 6/6 5/5 2/3 6 1 3/3 3/6 4/5 3 1/1 5 Hình 2.2 Luồng cực đại trên mạng 2.1.3 Lát... nhỏ nhất Hiện có hai thuật toán kinh điển giải quyết bài toán này: thuật toán Kruskal hữu hiệu với những đồ thị thƣa tức là: và thuật toán Prim hữu hiệu với những đồ thị dày Bài toán tìm đƣờng đi ngắn nhất Bài toán đặt ra ở đây là tìm đƣờng đi ngắn nhất, tức đƣờng đi có tổng trọng số nhỏ nhất, trên đồ thị có trọng số cho trƣớc Chúng ta có ba thuật toán kinh điển giải các bài toán này: Số hóa bởi Trung... đỉnh và con đƣờng nối giữa các địa điểm đó bằng cạnh Lý thuyết đồ thị có nhiều ứng dụng quan trọng trong cuộc sống, đƣợc phát triển trong khoảng 4 thế kỉ gần đây Có hai bài toán nổi tiếng đƣợc nhiều ngƣời biết đến nhƣ là các bài toán khai sinh ra lý thuyết đồ thị : chu Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 4 Hình 1.1 Bài toán bảy cây cầu ở Konigsberg Bài toán 1: Bài toán bảy... Output: luồng f trên G có giá trị cực đại Thuật toán: 1 Khởi tạo luồng bằng 0: 2 Xây dựng mạng còn dƣ Gf 3 Tăng luồng tối đa trên Gf bằng cách: While (điều kiện dừng chƣa đạt){ if(có đƣờng đi u1, u2, …, uk từ s=u1 đến t=uk trên Gf) {Chọn m= min (cf (ui, ui+1)}; for(i = 1; i

Ngày đăng: 25/02/2016, 15:16

Từ khóa liên quan

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

Tài liệu liên quan