Một số bài toán tối ưu tổ hợp trên đồ thị

67 4 0
Một số bài toán tối ưu tổ hợp trên đồ thị

Đ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 HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC ĐỒN NGỌC LÀNH MỘT SỐ BÀI TỐN TỐI ƯU TỔ HỢP TRÊN ĐỒ THỊ LUẬN VĂN THẠC SĨ TOÁN HỌC Thái Nguyên - 2012 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC ĐOÀN NGỌC LÀNH MỘT SỐ BÀI TOÁN TỐI ƯU TỔ HỢP TRÊN ĐỒ THỊ Chuyên ngành: TOÁN ỨNG DỤNG Mã số : 60.46.36 LUẬN VĂN THẠC SĨ TOÁN HỌC Người hướng dẫn khoa học: TS VŨ MẠNH XUÂN Thái Nguyên - 2012 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Mục lục Mở đầu Tối ưu tổ hợp 1.1 Thuật toán độ phức tạp thuật toán 1.1.1 Thuật toán 1.1.2 Độ phức tạp thuật toán 1.1.3 Đánh giá thời gian tốt nhất, tồi thuật toán 1.2 Tối ưu tổ hợp 1.2.1 Bài toán tối ưu tổ hợp 1.2.2 Một số toán cụ thể 1.2.3 Bài toán lớp P lớp N P trung bình Một số toán tối ưu tổ hợp đồ thị 2.1 Một số khái niệm 2.1.1 Đồ thị vô hướng 2.1.2 Đồ thị có hướng 2.1.3 Đường đi, chu trình Đồ thị liên thơng 2.2 Thuật tốn tìm kiếm đồ thị 2.2.1 Thuật tốn tìm kiếm theo chiều sâu đồ thị 2.2.2 Tìm kiếm theo chiều rộng đồ thị 2.3 Bài toán đường ngắn 2.3.1 Đường ngắn xuất phát từ đỉnh đến đỉnh cịn lại_Thuật tốn Dijkstra 2.3.2 Đường ngắn tất cặp đỉnh_Thuật toán Floyd 2.4 Bài toán luồng cực đại mạng ứng dụng 2.4.1 Mạng Luồng mạng Bài tốn luồng cực đại Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 5 10 13 13 14 16 18 18 18 19 20 22 22 25 29 31 37 41 41 2.4.2 2.4.3 2.4.4 2.4.5 Lát cắt Đường tăng luồng Định lí Ford - Fulkerson Thuật tốn tìm luồng cực đại mạng Một số toán luồng tổng quát Một số ứng dụng tổ hợp từ toán luồng 43 46 54 57 Kết luận 64 Tài liệu tham khảo 65 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Mở đầu Lý thuyết đồ thị lĩnh vực nghiên cứu có ý nghĩa thực tiễn cao lâu Tuy nhiên, việc tính tốn đồ thị thường cần khối lượng tính tốn khơng gian nhớ lớn, gần với phát triển mạnh mẽ kỹ thuật máy tính điện tử, toán tối ưu đồ thị ngày quan tâm đạt nhiều kết khả quan Đáng ý, việc chứng minh giả thuyết bốn màu xem minh chứng rõ nét việc chứng minh toán nhờ máy tính điện tử Mặc dù có ý nghĩa thực tiễn cao lý thuyết đồ thị đưa vào chương trình giảng dạy nói chung cịn sơ sài Đề tài đặt vấn đề nghiên cứu vấn đề thuật toán, độ phức tạp thuật toán, m ột số toán tối ưu cụ thể đồ thị trình bày thuật tốn kết tính tốn với tốn cụ thể Nội dung Luận văn gồm chương Chương trình bày khái qt thuật tốn, độ phức tạp thuật toán, nêu số tốn có độ phức tạp đa thức khơng đa thức Chương trình bày số thuật tốn giải lớp toán: duyệt đồ thị, toán tìm đường ngắn nhất, tốn luồng cực đại minh họa ví dụ cụ thể Dù cố gắng, chắn nội dung trình bày luận văn khơng tránh khỏi thiếu sót định, em mong nhận góp ý thầy cô giáo bạn Luận văn hoàn thành bảo hướng dẫn tận tình TS Vũ Mạnh Xuân Thầy dành nhiều thời gian hướng dẫn giải đáp thắc mắc tơi suốt q trình làm luận văn Em xin bày tỏ lòng biết ơn sâu sắc đến Thầy Tôi xin cảm ơn Sở Nội vụ, Sở Giáo dục Đào tạo Tuyên Quang, trường THPT Xuân Vân, Tổ Toán trường THPT Xuân Vân giúp đỡ tạo điều kiện cho tơi hồn thành khóa học Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Em xin gửi tới thầy khoa Tốn, phịng đào tạo sau đại học Trường Đại học Khoa Học, Đại học Thái Nguyên Thầy tham gia giảng dạy khóa cao học 2010 - 2012, lời cảm ơn sâu sắc cơng lao dạy dỗ suốt q trình giáo dục, đào tạo Nhà trường Thái Nguyên, ngày 15 tháng năm 2012 Người thực Đoàn Ngọc Lành Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chương Tối ưu tổ hợp Chương trình bày lớp tốn tối ưu tổ hợp, thuật tốn mơ tả thuật tốn ngôn ngữ tựa Passcal, đánh giá độ phức tạp thuật toán Nêu số toán cụ thể thuộc lớp tốn tối ưu tổ hợp, từ đưa khái niệm toán lớp P lớp NP 1.1 1.1.1 Thuật toán độ phức tạp thuật toán Thuật toán Khái niệm thuật toán thuật ngữ “Algorithm” (thuật toán) tên nhà toán học Arập: Aba Ja’fa Mohamedibn Musaal Khowarizmi, người viết sách chữ số Hindu - sở kí hiệu số thập phân đại Ban đầu từ algorism dùng để quy tắc thực phép tính số học với số viết hệ thập phân Sau đó, Algorism chuyển thành Algorithm vào kỷ XIX Với quan tâm ngày tăng máy tính, khái niệm thuật tốn định nghĩa cách hình thức xác thơng qua máy Turing Tuy nhiên Luận văn khái niệm thuật toán hiểu trực quan sau Định nghĩa 1.1.1 Thuật toán để giải toán (P) thủ tục xác định, chia thành phép toán bản, biến đổi dãy dấu hiệu diễn tả liệu, khơng quan trọng chỗ thuộc chất toán (P) thành dãy dấu hiệu đặc trưng cho kết (P) Thuật tốn có đặc trưng sau: • Đầu vào (Input): Một thuật toán nhận giá trị đầu vào từ tập hợp rõ (tập xác định) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn • Đầu (Output): Từ tập có giá trị đầu vào, thuật tốn tạo giá trị đầu tương ứng Các giá trị đầu nghiệm (lời giải) tốn • Tính xác (Precision): Các bước thuật tốn phải mơ tả xác Ở bước, thao tác phải rõ ràng, không gây nên nhập nhằng, lộn xộn, tùy tiện, đa định nghĩa Nói rõ hơn, điều kiện hai xử lý thực bước thuật tốn phải cho kết • Tính hữu hạn hay tính dừng (Finiteness): Sau số hữu hạn bước thuật toán phải cho kết với đầu vào • Tính đơn trị (Uniqueness): Các kết trung gian bước thực thuật toán xác định cách đơn trị, phụ thuộc đầu vào kết bước trước Với hai liệu giống cho trước làm input, thuật toán đơn định thi hành mã lệnh giống cho kết giống nhau, thuật tốn ngẫu nhiên thực theo mã lệnh khác cho kết khác • Tính tổng qt (Generality): Thuật tốn giải toán lớp toán xét Với thuật tốn có đầu vào liệu khác miền xác định vận dụng thuật tốn • Tính hiệu (The effectiveness): Hiệu thời gian: Thuật toán phải thực thời gian cho phép, điều khác với lời giải toán (chỉ cần chứng minh kết thúc sau hữu hạn bước) Tính hiệu nhớ: Kích thước thuật tốn phải đủ nhỏ để phù hợp với khả lưu trữ Mơ tả thuật tốn: Có nhiều cách trình bày thuật tốn, dùng ngơn ngữ tự nhiên, ngơn ngữ lưu đồ (sơ đồ khối), ngơn ngữ lập trình, ngơn ngữ trình Trong đề tài thuật tốn trình bày ngơn ngữ tựa Pascal, cho phép vừa mơ tả thuật tốn ngơn ngữ thơng thường, vừa sử dụng cấu trúc lệnh tương tự ngơn ngữ lập trình Pascal Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Ví dụ 1.1.2 Mơ tả thuật tốn tìm phần tử lớn dãy hữu hạn số nguyên a) Dùng ngôn ngữ tự nhiên để mô tả bước cần thực Đặt giá trị cực đại tạm thời số nguyên dãy (Cực đại tạm thời số nguyên lớn kiểm tra giai đoạn thủ tục.) So sánh số nguyên tiếp sau với giá trị cực đại tạm thời, lớn giá trị cực đại tạm thời đặt cực đại tạm thời số nguyên Lặp lại bước trước số nguyên dãy Dừng khơng cịn số ngun dãy Cực đại tạm thời điểm số ngun lớn dãy b) Thuật tốn mơ tả tựa Passcal Input: Dãy gồm n số nguyên a1 , a2 , , an Output: Max số lớn dãy Procedure Max(a1 , a2 , , an : integer); Begin Max:= a1 ; for i:= to n (* Nếu lớn Max gán lại Max *) if M ax < then M ax := ; End; Thuật toán trước hết gán số hạng a1 dãy cho biến M ax Vòng lặp for dùng để kiểm tra số hạng dãy Nếu số hạng lớn giá trị thời M ax gán làm giá trị M ax 1.1.2 Độ phức tạp thuật toán Để đánh giá khả ứng dụng chương trình ta cần phân tích tính hiệu thuật tốn Phân tích thuật tốn q trình tìm đánh giá thời gian tính dung lượng nhớ cần thiết để thực thuật tốn Để đo tính hiệu thuật toán cho, ta thiết lập mối quan hệ thời gian tiến hành thuật toán, diễn tả số phép toán với kích thước tốn xét, diễn tả số dấu hiệu cần thiết để mã hóa liệu tốn Có ba câu hỏi đặt đánh giá thuật toán: Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1) Những phép toán nói đến phép tốn nào? 2) Bộ mã hóa liệu cho phép ta đo kích thước tốn? 3) Những hàm liên kết kích thước với số phép tốn mà giúp ta nói thuật tốn hiệu quả? Có thể cho việc trả lời câu hỏi thứ ba cho phép ta trả lời hai câu hỏi đầu Thước đo hiệu thuật tốn thời gian mà máy tính sử dụng để giải toán theo thuật toán xét, giá trị đầu vào có kích thước xác định Một thước đo thứ hai dung lượng nhớ địi hỏi để thực thuật tốn giá trị đầu vào có kích thước xác định Các vấn đề liên quan đến độ phức tạp tính tốn thuật tốn Định nghĩa 1.1.3 Độ phức tạp tính tốn thuật tốn lượng thời gian nhớ cần thiết để thực thuật tốn (ta gọi thời gian tính thuật tốn) Vì việc xem xét độ phức tạp khơng gian gắn liền với cấu trúc liệu đặc biệt dùng để thực thuật toán nên ta tập trung xem xét độ phức tạp thời gian tính thuật tốn Chúng ta quan tâm đến: • Thời gian tính tốt thuật tốn với đầu vào kích thức n, thời gian tối thiểu cần thiết để thực thuật tốn • Thời gian tính tồi thuật tốn với đầu vào kích thước n, thời gian nhiều cần thiết để thực thuật tốn • Thời gian tính trung bình thuật tốn, thời gian trung bình cần thiết để thực thuật toán, tập hữu hạn đầu vào kích thước n Để tính tốn thời gian tính thuật tốn ta đếm số câu lệnh mà phải thực hiện, số trường hợp cụ thể đếm số phép tính số học, so sánh, gán, mà thuật tốn địi hỏi thực Đây tiêu chuẩn khách quan để đánh giá tính hiệu thuật tốn Ví dụ 1.1.4 Kiểm tra số nguyên dương n có phải nguyên tố khơng? Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn cách gán nhãn cho luồng zero Hình 2.16 Hình 2.16: Hình 2.17: Mạng G với luồng ban đầu Bước lặp 1: s → a → b → t, δ1 = Tương tự ta có Bước lặp 2: s → a → b → t, δ2 = Bước lặp 3: s → c → e → t, δ3 = Bước lặp 4: s → d → e → t, δ4 = Bước lặp 5: s → c → d → e → t, δ5 = Bước lặp 6: Khơng cịn đường tăng luồng, V al(f ) = + + = 16 Đồ thị tăng luồng hình 2.18 51 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Vậy giá trị luồng cực đại f = 16 Lát cắt hẹp Hình 2.18: Đồ thị tăng luồng tương ứng VΓ = {a, b, t}, V\VΓ = {s, c, d, e} Giả sử khả thông qua tất cung đồ thị số nguyên Khi sau lần tăng luồng, giá trị luồng tăng lên Từ suy thuật tốn Ford - Fulkerson dừng khơng q val(f ∗ ) lần tăng luồng cho ta luồng cực đại mạng Rõ ràng f ∗ (u, v) số nguyên cung (u, v) ∈ E Từ ta có kết sau Định lý 2.4.12 (Định lí tính nguyên) Nếu tất khả thơng qua số ngun ln tìm luồng cực đại với luồng cung số nguyên Nhận xét 2.4.13 Nếu khả thơng qua số lớn giá trị luồng cực đại lớn thuật tốn mơ tả địi hỏi nhiều bước tăng luồng Thí dụ hình 2.19 minh họa cho điều Hình 2.19 (a) mô tả mạng cần xét với khả thông qua cung Hình 2.19 (b) mơ tả luồng cung (số thứ hai bên cạnh cung) sau thực tăng luồng dọc theo đường tăng luồng (s, a, b, t) Hình 2.24 (c) mơ tả luồng cung sau thực tăng luồng dọc theo đường tăng luồng (s, b, a, t) Rõ ràng, sau 2.106 lần tăng luồng theo đường (s, b, a, t) (s, b, a, t) cách luân phiên ta thu luồng cực đại 52 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 2.19: Ví dụ tồi tệ với thuật tốn Ford - Fulkerson Hơn khả thông qua số vơ tỷ, người ta cịn xây dựng ví dụ thuật tốn khơng dừng, tệ dãy giá trị luồng xây dựng theo thuật tốn hội tụ cịn khơng hội tụ đến giá trị luồng cực đại Như vậy, muốn thuật toán làm việc hiệu quả, việc lựa chọn đường tăng luồng cần tiến hành cẩn thận Độ phức tạp thuật toán: Edmonds Karp đường tăng luồng chọn đường ngắn từ s đến t đồ thị Gf Điều thực hiện, ta dùng thủ tục tìm đường tăng luồng M ax_F low, danh sách VΓ tổ chức dạng QUEUE (nghĩa ta thực tìm đường tăng thủ tục |E|.|V| tìm kiếm theo chiều rộng) thuật tốn kết thúc sau không lần sử dụng đường tăng luồng Nếu để ý rằng, tìm kiếm theo chiều rộng đồ thị đòi hỏi thời gian O(|E| + |V|), thuật tốn thu có độ phức tạp tính tốn O(|V|.|E|2 ) Nhờ cách tổ chức tìm đường tăng khéo léo hơn, người ta xây dựng thuật tốn với độ phức tạp tính tốn tốt như: O(n2 m)(Dinic, 1970), O(n3 ) (Karzanov, 1974), O(n2 m1/2 ) (Cherkasky, 1977), O(nmlogn) (Sleator - Tarjan, 1980) với m = |V|, n = |E| Trong phương pháp Ford - Fulkerson, dùng đường ngắn (qua cạnh nhất) từ đỉnh phát tới đỉnh thu đồ thị tăng luồng cần 53 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn n.m lần chọn đường để tìm luồng cực đại Edmonds Karp chứng minh tính chất đề nghị phương pháp cải tiến: Tại bước, ta nên tìm đường tăng luồng cho giá trị tăng luồng gia tăng nhiều Nói chung thuật tốn Ford - Fulkerson, đánh giá lý thuyết bị lệch nhiều so với thực tế, với phân tích trường hợp xấu, chi phí thời gian thực thuật tốn lớn Nhưng thực tế thuật toán hoạt động nhanh hiệu 2.4.4 Một số toán luồng tổng quát Trong phần ta nêu số dạng toán luồng tổng quát mà việc giải chúng dẫn tốn luồng cực đại trình bày Bài toán 2.4.14 Mạng với nhiều điểm phát điểm thu Xét mạng G với p điểm phát s1 , s2 , , sp q điểm thu t1 , t2 , , tq Giả sử luồng từ điểm phát đến tất điểm thu Bài tốn tìm luồng cực đại từ điểm phát đến điểm thu đưa toán với điểm phát điểm thu cách đưa vào điểm phát giả s điểm thu giả t, cạnh nối s với tất điểm phát cạnh nối điểm thu với t Hình 2.20 minh họa cho cách đưa mạng với nhiều điểm phát nhiều Hình 2.20: Mạng với nhiều điểm phát nhiều điểm thu điểm thu mạng có điểm phát điểm thu Khả thông qua cung nối s với điểm phát sk +∞ hạn chế lượng phát điểm phát sk , lượng phát sk bị hạn chế bk cung (s, sk ) có khả thông qua bk Cũng vậy, 54 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn cung nối tk với điểm thu t, giả sử khả thông qua (tk , t) giới hạn không giới hạn tùy theo lượng thu điểm thu có bị giới hạn hay không Trường hợp số điểm thu nhận "hàng" từ số điểm phát ta có toán nhiều luồng toán phức tạp nhiều so với toán luồng cực đại điểm phát s điểm thu t Bài toán 2.4.15 Bài tốn với khả thơng qua cung đỉnh Giả sử đồ thị G, ngồi khả thơng qua cung c(u, v), đỉnh v ∈ V cịn có khả thơng qua đỉnh d(v), địi hỏi tổng luồng vào đỉnh v không vượt d(v), tức f (v, w) ≤ d(v) w∈V Cần tìm luồng cực đại s t mạng Xây dựng Hình 2.21: Mạng G với khả thông qua cung đỉnh mạng G cho: đỉnh v G tương ứng với đỉnh v + , v − G , cung (u, v) G ứng với cung (u− , v + ) G , cung (v, e) G ứng với cung (v − , w+ ) G Ngoài ra, cung (v + , v − ) G có khả thơng qua d(v), tức khả thông qua đỉnh v G Do luồng vào đỉnh v + phải qua cung (v + , v − ) với khả thông qua d(v), nên luồng cực đại G luồng cực đại G với khả thông qua cung đỉnh Bài tốn 2.4.16 Mạng khả thơng qua cung bị chặn hai phía 55 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 2.22: Mạng G tương ứng có khả thơng qua cung Xét mạng G mà cung (u, v) có khả thông qua (cận luồng cung) c(u, v) cận luồng d(u, v) Bài tốn đặt có tồn luồng tương thích từ s đến t, tức luồng {f (u, v) : u, v ∈ V} thoả mãn thêm ràng buộc d(u, v) ≤ f (u, v) ≤ c(u, v), ∀(u, v) ∈ E, hay khơng? Hình 2.23: Mạng G với khả thông qua cung bị chặn hai phía Đưa vào mạng G đỉnh phát giả sa đỉnh thu giả ta xây dựng mạng Ga theo quy tắc: Mỗi cung (u, v) mà d(u, v) = tương ứng với cung (sa , v) (u, ta ) với khả thông qua d(u, v) Giảm c(u,v) d(u,v), tức thay khả thông qua cung (u,v) c(u, v) − d(u, v) cịn cận 56 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn đặt Ngồi thêm vào cung (t,s) với c(t, s) = ∞ Hình 2.23 (a) cho ví dụ mạng G với khả thơng qua cung bị chặn hai phía Đồ thị Ga tương ứng cho hình 2.23 (b) Ký hiệu: d∗ = d(u, v) d(u,v)=0 Từ ta có kết sau Định lý 2.4.17 1) Nếu luồng lớn mạng Ga từ sa đến ta d∗ tồn luồng tương thích G 2) Nếu luồng lớn mạng Ga từ sa đến ta khác d∗ khơng tồn luồng tương thích G 2.4.5 Một số ứng dụng tổ hợp từ tốn luồng Bài tốn luồng cực đại có nhiều ứng dụng việc giải lớp toán tối ưu tổ hợp Khó khăn phải xây dựng tương ứng cho việc tìm luồng cực đại tương đương với việc giải toán đặt Mục giới thiệu số toán Bài toán 2.4.18 Đám cưới vùng quê: Có m chàng trai làng quê Đối với chàng trai ta biết cô gái mà vừa ý Hỏi tổ chức đám cưới chàng trai sánh dun với gái mà vừa ý Ta xây dựng đồ thị với đỉnh biểu thị chàng trai cô gái, cung biểu thị vừa ý chàng trai gái Khi ta thu đồ thị hai phía Ví dụ 2.4.19 Có chàng trai {T1 , T2 , T3 , T4 } cô gái {G1 , G2 , G3 , G4 , G5 } Sự vừa ý cho bảng sau Chàng trai Các cô gái mà chàng trai ưng ý T1 G1 , G4 , G5 T2 G2 T3 G2 , G3 , G5 T4 G2 , G4 Đồ thị tương ứng cho hình 2.24 Đưa vào điểm phát s điểm thu t Nối s với tất đỉnh biểu thị chàng trai, nối t với tất đỉnh biểu thị cô gái Cung (Gi , Tj ) 57 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 2.24: Mạng tương ứng với Bài tốn đám cưới vùng q đồ thị có khả thông qua Bắt đầu từ luồng 0, ta tìm luồng cực đại mạng xây dựng theo thuật toán Ford_Fulkerson Bước 1: s → T1 → G1 → t; Bước 2: s → T2 → G2 → t; 1 1 Bước 3: s → T3 → G3 → t; 1 1 Bước 4: s → T4 → G5 → t 1 1 Giá trị luồng cực đại: f = Luồng cực đại có là: xsT1 = 1, xsT2 = 1, xsT3 = 1, xsT4 = 1, xT1 G1 = 1, xT2 G2 = 1, xT3 G3 = 1, xT4 G5 = 1, xG1 t = 1, xG2 t = 1, xG3 t = 1, xG5 t = Vậy tổ chức đám cưới thỏa mãn điều kiện đặt với giá trị luồng cực đại f = Tức tổ chức đám cưới với cặp sau T1 với G1 ; T2 với G2 ; T3 với G3 ; T4 với G5 Từ định lý tính nguyên, luồng cung số Rõ ràng luồng cực đại đồ thị có giá trị Vmax = m, tốn có lời giải, cung với luồng cách tổ chức đám cưới thoả mãn điều kiện đặt Ngược lại, tốn có lời giải Vmax = m tốn đám cưới vùng quê trường hợp riêng tốn cặp ghép đồ thị hai phía mà để giải xây dựng thuật tốn hiệu Bài tốn 2.4.20 Bài tốn phân nhóm sinh hoạt: Có m sinh viên n nhóm sinh hoạt chuyên đề Với sinh viên i, biết: * aij = 1, sinh viên có i nguyện vọng tham gia vào nhóm j, * aij = 0, ngược lại, 58 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn * pi số lượng nhóm chuyên đề mà sinh viên i phải tham dự, i = 1, m; j = 1, n Trong số cách phân sinh viên vào nhóm chuyên đề mà họ có nguyện vọng tham gia đảm bảo sinh viên i phải tham gia pi nhóm, tìm cách phân phối với số người nhóm có nhiều sinh viên tham gia nhỏ Phân tích: Đưa vào biến số xij = 1, sinh viên i tham gia vào nhóm j, xij = 0, ngược lại, i = 1, m; j = 1, n dễ thấy mơ hình tốn học cho tốn đặt toán tối ưu rời rạc sau n xij → min; f (x1 , x2 , , xn ) = max 1≤i≤m (2.1) j=1 với điều kiện n aij xij = pi , i = 1, m; (2.2) j=1 xij = xij = 1, 1, n; (2.3) aij ∈ {0, 1}, i = 1, m; j = 1, n, pi ∈ N Bài giải: Giả sử có m sinh viên SV1 , SV2 , , SVm n nhóm sinh hoạt N1 , N2 , , Nn Gọi A = (aij ), i = 1, m, j = 1, n, ma trận đăng ký sinh hoạt theo nguyện vọng sinh viên N1 N2 Nn 1 A= 1 SV1 SV2 , SVm với aij = SVi đăng ký nhóm Nj , aij = ngược lại Gọi P = (pi ), i = 1, m ma trận chứa số lượng chuyên đề mà SVi 59 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn phải tham gia pi , i = 1, m chuyên đề p1 p2 P = pm SV1 SV2 , pi ∈ N∗ SVm Bài toán đặt xác định ma trận B = (bij ), i = 1, m, j = 1, n Với bij = SVi đăng ký Nj , bij = ngược lại Sao cho: m n bij = pi , i = 1, m bij → min, j = 1, n i=1 j=1 • Rõ ràng, ma trận A với tổng phần tử hàng i khả thông qua đỉnh i • Khả thơng qua cung (i, j) nghĩa SVi có đăng ký nguyện vọng sinh hoạt nhóm Nj Giá trị luồng cung (SVi khơng sinh hoạt nhóm Nj ) • Điều kiện tối ưu tốn tìm cách phân phối số người nhóm có nhiều sinh viên tham gia nhỏ khả thơng qua cung vào đỉnh t • Để giải này, ta tìm luồng cực đại mạng G(k) tương ứng với số nguyên k = 1, m Ví dụ 2.4.21 Xét toán với m = 3(SV) n = nhóm sinh hoạt Ma 1 trận đăng ký sinh hoạt A = 1 1 1 Ma trận tiêu đăng ký chuyên đề P = Hình 2.25 mạng với luồng cực đại biểu diễn phân nhóm sinh hoạt Trong khả thơng qua đỉnh SVi khả thơng qua cung (S, SVi ) : aij với i = 1, j=1 Khả thông qua cung (Ni , t) là: k ∈ {1, 3} , i = 1, Khả thông qua cung (SVi , Nj ) 1, (i = 1, 3, j = 1, 4) 60 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 2.25: Mạng với luồng cực đại biểu diễn phân cơng sinh hoạt chun đề Khi ma trận kết phân nhóm B= tối 1 ưu 0 1 1 Vậy cách phân phối số người nhóm có nhiều sinh viên tham gia nhỏ khả thơng qua cung vào đỉnh t sinh viên nhóm: Nhóm có sinh viên (SV1 , SV2 ); Nhóm có sinh viên (SV2 , SV3 ); Nhóm có sinh viên (SV1 , SV3 ); Nhóm có sinh viên (SV2 , SV3 ) Bài toán 2.4.22 Bài toán lập lịch cho hội nghị Một hội nghị có m tiểu ban, tiểu ban cần sinh hoạt ngày phịng họp phù hợp với Có n phịng họp dành cho việc sinh hoạt tiểu ban Biết * aij = 1, phịng họp i thích hợp với tiểu ban j, * aij = 0, ngược lại, * i = 1, m; j = 1, n Hãy bố trí phịng họp cho hội nghị kết thúc sau ngày làm việc Phân tích: Đưa vào biến số xij = 1, bố trí tiểu ban i làm việc phịng j, xij = 0, ngược lại, i = 1, m, j = 1, n, dễ thấy mơ hình tốn học cho tốn đặt tốn tối ưu rời rạc (2.1) đến (2.3) 61 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Bài giải: Giả sử có m tiểu ban T B1 , T B2 , , T Bm n phòng họp P1 , P2 , , Pn Gọi A = (aij ), i = 1, m, j = 1, n ma trận đăng ký phòng họp theo nguyện vọng tiểu ban P1 A= P2 Pn 1 0 T B1 T B2 T Bm với aij = T Bi đăng ký nhóm Pj , aij = ngược lại Gọi P = (Pi ), i = 1, m ma trận chứa số lượng buổi họp mà T Bi phải tham gia Pi , i = 1, m phòng họp P1 P2 p= Pm T B1 T B2 , Pi ∈ N ∗ T Bm Bài toán đặt xác định ma trận B = (bij ), i = 1, m, j = 1, n với bij = T Bi đăng ký Pj , bij = ngược lại Sao cho: n m bij → min, j = 1, n bij = Pi , i = 1, m j=1 i=1 • Rõ ràng, ma trận A với tổng phần tử hàng i khả thông qua đỉnh i • Khả thơng qua cung (i,j) nghĩa T Bi có đăng ký nguyện vọng họp phòng Pj Giá trị luồng cung (T Bi khơng họp phịng Pj ) • Điều kiện tối ưu tốn tìm cách bố trí phòng họp cho tiểu ban cho hội nghị kết thúc sau ngày khả thơng qua cung vào đỉnh t • Để giải tốn, ta tìm luồng cực đại mạng G(k) tương ứng với số nguyên k = 1, m Ví dụ 2.4.23 Với m=4 (tiểu ban) n=5 (phịng họp) 62 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn  1 Ma trận đăng kí họp tiểu ban A =   3 Ma trận tiêu đăng kí phịng họp p =  1  1 1 1  1    bij = pi , i = 1, thỏa mãn Bài toán đặt tìm ma trận B cho j=1 bij đạt với j = 1, i=1 Vận dụng thuật tốn Ford - Fullkerson tìm luồng cực đại cho mạng lập từ hai ma trận Ta có ma trận kết phân phòng họp tối ưu là:   1 1 1 B =  1  1 0 Cách phân phòng họp sau Tiểu ban họp phòng 4; Tiểu ban họp phòng 1, 5; Tiểu ban họp phòng 2, 5; Tiểu ban họp phòng Khả cung vào đỉnh t 2, nên tiểu ban họp nhiều ngày Vậy hội nghị kết thúc sau ngày làm việc Kết luận chương Với mục tiêu đề nêu thuật toán đánh giá độ phức tạp thuật tốn, từ giải lớp toán tối ưu tổ hợp ứng dụng lý thuyết đồ thị với hai tốn Tìm đường ngắn Luồng cực đai mạng Ta thấy ứng dụng tối ưu tổ hợp mơ hình hóa đồ thị Nhờ diễn tả mạch lạc đồ thị toán thực tế, nên toán tối ưu mạng đồ thị giải cách dễ dàng 63 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Kết luận Luận văn đạt mục tiêu đề là: Trình bầy tốn tối ưu tổ hợp, nêu thuật toán đánh giá độ phức tạp thuật toán để giải số toán cụ thể Bước đầu nghiên cứu lớp toán tối ưu tổ hợp ứng dụng lý thuyết đồ thị Trình bày hai tốn tối ưu tổ hợp đồ thị: Tìm đường ngắn nhất; Luồng cực đại mạng toán ứng dụng cụ thể Hướng phát triển: Nghiên cứu tiếp lý thuyết tối ưu tổ hợp ứng dụng Tìm giải toán đối ngẫu toán đường ngắn cặp đỉnh Phương pháp giảm kích thước toán để tăng hiệu thuật toán Mặc dù có cố gắng nỗ lực xong hẳn đề tài không tránh khỏi hạn chế, thiếu sót Tác giả mong nhận ý kiến đóng góp thầy giáo đồng nghiệp để đề tài hoàn thiện Xin trân trọng cảm ơn! 64 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Tài liệu tham khảo [1] Nguyễn Tơ Thành, Nguyễn Đức Nghĩa, 1997, Giáo trình Tốn rời rạc NXB, Trường Đại học Bách Khoa Hà Nội [2] Ngô Đắc Tân, Năm 2003, Lý thuyết tổ hợp đồ thị NXB Đại Học Quốc Gia Hà Nội [3] Bùi Minh Trí, năm 2001, Quy hoạch tốn học NXB Khoa Học Kĩ Thuật 65 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ... thuật toán số toán toán tối ưu tổ hợp thực tế, từ nêu khái qt tốn lớp P lớp N P 17 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chương Một số toán tối ưu tổ hợp đồ thị. .. dụng cụ thể lớp toán tối ưu tổ hợp đồ thị nhiệm vụ luận văn Chương trình bày số khái niệm số thuật toán đồ thị 2.1 2.1.1 Một số khái niệm Đồ thị vô hướng Định nghĩa 2.1.1 Đồ thị vô hướng G =... Một số toán tối ưu tổ hợp đồ thị 2.1 Một số khái niệm 2.1.1 Đồ thị vô hướng 2.1.2 Đồ thị có hướng 2.1.3 Đường đi, chu trình Đồ thị

Ngày đăng: 26/03/2021, 07:44

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

  • Đang cập nhật ...

Tài liệu liên quan