Dynamic Programming Baøi toaùn choïn hoaït ñoäng (activity selection problem) Cho Moät taäp caùc hoaït ñoäng S = {1, 2, , n} Moät taøi nguyeân chung maø taïi moïi thôøi ñieåm noù ñöôïc duøng bôûi nhie[.]
Bài toán chọn hoạt động (activity-selection problem) ° Cho – Một tập hoạt động S = {1, 2,…, n} – Một tài nguyên chung mà thời điểm dùng nhiều hoạt động – Hoạt động i có thời điểm bắt đầu si thời điểm chấm dứt fi – Nếu hoạt động i chọn i tiến hành thời gian [si , fi ) – Hai hoạt động i j tương thích (“compatible”) [si , fi ) [sj , fj ) không chạm ° Bài toán chọn hoạt động tìm tập hoạt động tương thích mà có số phần tử lớn 29.01.04 Giải thuật greedy cho toán chọn hoạt động ° Giải thuật – Giả sử: f1 f2 … fn GREEDY-ACTIVITY-SELECTOR(s, f) n length[s] A {1} j1 for i to n if si fj then A A {i} ji return A 29.01.04 Chaïy GREEDY-ACTIVITY-SELECTOR lên ví dụ i si fi 1 10 8 11 12 10 13 11 12 14 vòng lặp for với i = vòng lặp for với i = 4 4 1 1 29.01.04 10 8 11 11 10 11 12 13 14 Correctness giải thuật greedy cho toán chọn hoạt động ° ° Định lý Giải thuật GREEDY-ACTIVITY-SELECTOR tìm lời giải tối ưu cho toán chọn hoạt động Chứng minh – Gọi S = {1, 2,…, n} tập hợp hoạt động Các hoạt động xếp thứ tự theo thời điểm chấm dứt Do hoạt động có thời điểm chấm dứt sớm – Ta chứng minh có lời giải tối ưu bắt đầu hoạt động chọn lựa greedy, tức bắt đầu hoạt động 1: • Giả sữ A S lời giải tối ưu, ta xếp thứ tự hoạt động A theo thời điểm chấm dứt Giả sữ k hoạt động A • Nếu k = ta xong Nếu k 1, ta xét B = A {k} {1} Vì f1 fk, nên B lời giải tối ưu – Nếu A lời giải tối ưu cho toán nguyên thủy S, A’ = A {1} lời giải tối ưu cho toán S’ = {i S : si f1} 29.01.04 ... greedy cho toán chọn hoạt động ° ° Định lý Giải thuật GREEDY-ACTIVITY-SELECTOR tìm lời giải tối ưu cho toán chọn hoạt động Chứng minh – Gọi S = {1, 2,…, n} tập hợp hoạt động Các hoạt động xếp thứ... dứt Do hoạt động có thời điểm chấm dứt sớm – Ta chứng minh có lời giải tối ưu bắt đầu hoạt động chọn lựa greedy, tức bắt đầu hoạt động 1: • Giả sữ A S lời giải tối ưu, ta xếp thứ tự hoạt động. ..Giải thuật greedy cho toán chọn hoạt động ° Giải thuật – Giả sử: f1 f2 … fn GREEDY-ACTIVITY-SELECTOR(s, f) n length[s]