CHƯƠNG 5 - CÁC CHIẾN LƯỢC THIẾT KẾ GIẢI THUẬT pdf

77 1.2K 3
CHƯƠNG 5 - CÁC CHIẾN LƯỢC THIẾT KẾ GIẢI THUẬT pdf

Đ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

CÁC CHIẾN LƯỢC THIẾT KẾ GIẢI THUẬT 1 CHƯƠNG 5 Nội dung  Qui hoạch động  Giải thuật tham lam  Giải thuật quay lui (backtracking)  Giải thuật nhánh và cận 2  Giải thuật tham lam (Greedy Algorithm)  Ý tưởng phương pháp  Lược đồ giải thuật  Các ví dụ Ý tưởng phương pháp tham lam  Các giải thuật tối ưu hóa thường đi qua một số bước với một tập các khả năng lựa chọn tại mỗi bước. Một giải thuật tham lam thường chọn một khả năng mà xem như tốt nhất tại lúc đó.  Tức là, giải thuật chọn một khả năng tối ưu cục bộ với hy vọng sẽ dẫn đến một lời giải tối ưu toàn cục.  Vài thí dụ của giải thuật tham lam: - Giải thuật Prim để tính cây bao trùm tối thiểu - Giải thuật Dijkstra để giải bài tóan những lối đi ngắn nhất từ một đỉnh nguồn (single-source shortest paths problem). Ý tưởng phương pháp tham lam Lưu ý  Phương pháp tham lam thường được áp dụng rộng rãi trong các bài toán tối ưu  Trong một số trường hợp, không tìm được nghiệm đúng bài toán mà chỉ là nghiệm “tốt”.  Việc giải bài toán theo phương pháp tham lam tránh được bùng nổ tổ hợp và khá hiệu quả Sơ đồ chung của giải thuật tham lam Dạng các bài toán giải bằng giải thuật Tham Lam  Giả sử ta phải chọn một tập con R của các phần tử của một tập S = (s 1 , s 2 , ,s n ) sao cho :  Tập R thỏa mãn một điều kiện ràng buộc W(R) nào đó;  Một hàm mục tiêu Z(R) đạt giá trị tối ưu (cực đại hoặc cực tiểu). Sơ đồ Bước 1: Chọn một phần tử s có lợi nhất cho lời giải trong bước đó sao cho phần tử này cùng với lời giải tối ưu của bài toán với tập con S−{s} với ràng buộc W(R−{s }) và hàm mục tiêu Z(R−{s}) là lời giải tối ưu của bài toán. Bước 2: Tiếp tục tìm phần tử tiếp theo có lợi nhất với tập con S = S−{s} với ràng buộc W=W(R−{s}) và hàm mục tiêu Z = Z(R−{s}). Cho đến khi không thể tìm được phần tử như vậy hoặc tập S = φ. Lược đồ giải thuật –bỏ Greedy(A, S) // A is the candidate set, S is the solution begin S: = ∅; while A ≠∅do begin x: = select(A); A: = A-{x}; if S U {x} accepted then S: = S U {x}; end; end; Các ví dụ:Bài toán lựa chọn công việc  Bài toán:  Giả sử rằng ta có một tập S = { 1,2, n} của n công việc sử dụng cùng một tài nguyên, ví dụ như một phòng họp, tại một thời điểm chỉ có một công việc được tiến hành. Các công việc i được bắt đầu tại thời điểm s i và kết thúc tại thời điểm f i với s i ≤ f i . Nếu được chọn, công việc i sẽ chiếm khoảng thời gian là [s i , f i )  Hãy lựa chọn các công việc không mâu thuẫn nhau (nghĩa là hoạt động i và j là tương thích nếu khoảng thời gian [s i ,f i ] và [s j , f j ] không phủ lấp lên nhau(tức là i và j là tương thích nếu s i >= f j hay s j >= f i ) sao cho số các công việc được chọn là nhiều nhất.  INPUT: Thời gian khởi đầu s[1 n]; Thời gian kết thúc f[1 n] Tính chất lời giải Giả sử dãy công việc sắp xếp tăng dần theo thời điểm kết thúc : f 1 ≤ f 2 ≤ ≤ f n 1. Luôn tồn tại một lời giải tối ưu chứa công việc thứ nhất 2. Nếu A ⊂ S là lời giải tối của bài toán có chứa việc 1 thì A – {1} là lời giải tối ưu của bài toán với tập S’ gồm các công việc bắt đầu từ thời điểm f 1 trở đi. [...]... 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Xây dựng Thuật giải Greedy Thủ tục Greedy-activity-selector • Hoạt động được chọn bởi thủ tục GREEDY-ACTIVITYSELECTER thường là hoạt động với thời điểm kết thúc sớm nhất mà có thể được xếp lịch một cách hợp... đầu và kết thúc của mội công việc • Các hoạt động tương thích tối đa mà có thể hoàn thành là: • {a3, a9, a11} chứa các hoạt động tương thích với nhau nhưng chưa phải là tập con tối đa • {a1, a4, a8’ a11} là tập con tối đa nhưng không phải duy nhất 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Các. .. hợp lệ Hoạt động được chọn theo cách “tham lam” theo nghĩa nó sẽ để lại cơ hội để xếp lịch cho được nhiều hoạt động khác • Giải thuật tham lam không nhất thiết đem lại lời giải tối ưu Tuy nhiên thủ tục GREEDY-ACTIVITY-SELECTOR thường tìm được một lời giải tối ưu cho một thể hiện của bài toán xếp lịch các hoạt động Bư ớ c 3: Chứ ng minh tính tố i ư u • Chứng minh giải thuật sử dụng hai thuộc tính sau:... lời giải tối ưu cho bài toán từ những lời giải tối ưu của các bài toán con  Gọi Sij là tập con của các hoạt động trong S có thể bắt đầu sau khi hoạt động ai kết thúc và trước khi hoạt động aj bắt đầu  Sij chứa các hoạt động tương thích với ai và aj và cũng tương thích với tất cả các hoạt động kết thúc không muộn hơn và bắt đầu không sớm hơn bắt đầu của aj Bước 1: Xây dựng cấu trúc tối ưu  Giả sử các. .. tối ưu (optimal structure) • Thuật giải thỏa mãn thuộc tính chọn tham lam (greedy-choice) Chứng minh bài toán có 2 thuộc tính này , có thể dùng giải thuật tham lam đẻ giải quyết Optimal Substructures  Một bài toán thể hiện cấu trúc tối ưu ( optimal substructure) nếu lời giải tối ưu của bài toán lớn luôn chứa trong nó những lời giải tối ưu của bài toán con  Nếu A ⊂ S là lời giải tối của bài toán có chứa... hoạt động ak) Khi đó các lời giải aik của tập Sik và akj của tập Skj mà được dùng cho lời giải tối ưu cho tập Sij Bước 2: Lời Giải Đệ Qui    Tìm các tập con kích cỡ tối đa Aik và Akj chứa các hoạt động tương thích nhau cho mỗi bài toán con Tạo tập kích cỡ tối đa Aij chứa các hoạt động tương thích Aij = Aik U {ak} U Akj Đặt c[i,j] là số hoạt động của 1 tập con kích cỡ tối đa chứa các hoạt động tương... thời gian kết thúc của các hoạt động  Để tìm cấu trúc con cho bài toán xếp lịch, khảo sát các bài toán con Sij khác rỗng và giả thuyết lời giải Sij chứa một số hoạt động ak sao cho fi . CÁC CHIẾN LƯỢC THIẾT KẾ GIẢI THUẬT 1 CHƯƠNG 5 Nội dung  Qui hoạch động  Giải thuật tham lam  Giải thuật quay lui (backtracking)  Giải thuật nhánh và cận 2  Giải thuật tham lam. phương pháp  Lược đồ giải thuật  Các ví dụ Ý tưởng phương pháp tham lam  Các giải thuật tối ưu hóa thường đi qua một số bước với một tập các khả năng lựa chọn tại mỗi bước. Một giải thuật tham. giải thuật chọn một khả năng tối ưu cục bộ với hy vọng sẽ dẫn đến một lời giải tối ưu toàn cục.  Vài thí dụ của giải thuật tham lam: - Giải thuật Prim để tính cây bao trùm tối thiểu - Giải

Ngày đăng: 25/07/2014, 16:20

Từ khóa liên quan

Mục lục

  • CÁC CHIẾN LƯỢC THIẾT KẾ GIẢI THUẬT

  • Nội dung

  • Giải thuật tham lam (Greedy Algorithm)

  • Ý tưởng phương pháp tham lam

  • Slide 5

  • Sơ đồ chung của giải thuật tham lam

  • Sơ đồ

  • Lược đồ giải thuật –bỏ

  • Các ví dụ:Bài toán lựa chọn công việc

  • Tính chất lời giải

  • Bài toán xếp lịch hoạt động

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Các bước của thuật giải tham lam

  • Bước 1: Xây dựng cấu trúc tối ưu

  • Slide 18

  • Bước 2: Lời Giải Đệ Qui

  • Slide 20

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

Tài liệu liên quan