Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
124 KB
Nội dung
Giaûi Thuaät Xaáp Xæ Chapter 37 Approximation Algorithms 21.5.2004 Chương 37 Approximation Algorithms 2 Tiếp cận một bài toán NP-đầy đủ ° Nếu một bài toán là NP-đầy đủ thì không chắc rằng ta sẽ tìm được một giải thuật thời gian đa thức để giải nó một cách chính xác. ° Tiếp cận một bài toán NP-đầy đủ 1) Nếu các input có kích thước nhỏ thì một giải thuật chạy trong thời gian số mũ vẫn có thể thoả mãn yêu cầu 2) Thay vì tìm các lời giải tối ưu, có thể tìm các lời giải gần tối ưu trong thời gian đa thức. 21.5.2004 Chương 37 Approximation Algorithms 3 Giải thuật xấp xỉ ° Một giải thuật xấp xỉ là một giải thuật trả về lời giải gần tối ưu. ° Giả sử: chi phí của lời giải > 0. Gọi C ∗ là chi phí của lời giải tối ưu. Một giải thuật xấp xỉ cho một bài toán tối ưu được gọi là có tỉ số xấp xỉ ρ(n) (approximation ratio, ratio bound) nếu với mọi input có kích thước n thì chi phí của lời giải do giải thuật xấp xỉ tìm được sẽ thoả • max(C/C ∗ , C ∗ /C) ≤ ρ(n) . 21.5.2004 Chương 37 Approximation Algorithms 4 Giải thuật xấp xỉ ° Chi phí của lời giải do giải thuật xấp xỉ tìm được thỏa, với tỉ số xấp xỉ ρ(n), • max(C/C ∗ , C ∗ /C) ≤ ρ(n) – Bài toán tối đa: 0 < C ≤ C ∗ , vậy max(C/C ∗ , C ∗ /C) = C ∗ /C ≤ ρ(n) . Chi phí của lời giải tối ưu ≤ ρ(n) lần chi phí của lời giải gần đúng. – Bài toán tối thiểu: 0 < C ∗ ≤ C, vậy max(C/C ∗ , C ∗ /C) = C/C ∗ ≤ ρ(n) . Chi phí của lời giải gần đúng ≤ ρ(n) lần chi phí của lời giải tối ưu. ° Một giải thuật xấp xỉ có tỉ số xấp xỉ ρ(n) được gọi là một giải thuật ρ(n)-xấp xỉ. 21.5.2004 Chương 37 Approximation Algorithms 5 Bài toán che phủ đỉnh Nhắc lại ° Một che phủ đỉnh (vertex cover) của một đồ thò vô hướng G = (V, E) là một tập con V’ ⊆ V sao cho nếu (u, v) ∈ E thì u ∈ V’ hay v ∈ V’ (hoặc cả hai ∈ V’). Kích thước của một che phủ đỉnh là số phần tử của nó. ° Bài toán che phủ đỉnh là tìm một che phủ đỉnh có kích thước nhỏ nhất trong một đồ thò vô hướng đã cho. Bài toán này là dạng bài toán tối ưu của ngôn ngữ NP-đầy đủ VERTEX-COVER = {〈G, k〉 : đồ thò G có một che phủ đỉnh có kích thước k} . 21.5.2004 Chương 37 Approximation Algorithms 6 Một giải thuật xấp xỉ cho bài toán che phủ đỉnh APPROX-VERTEX-COVER(G) 1 C ← ∅ 2 E’ ← E[G] 3 while E’ ≠ ∅ 4 do xét (u, v) là một cạnh bất kỳ của E’ 5 C ← C ∪ {u, v} 6 tách khỏi E’ tất cả các cạnh liên thuộc tại u hay v 7 return C 21.5.2004 Chöông 37 Approximation Algorithms 7 Thöïc thi APPROX-VERTEX-COVER c e a b d f g c e a b d f g c e a b d f g c e a b d f g c e a b d f g c e a b d f g 21.5.2004 Chương 37 Approximation Algorithms 8 Phân tích APPROX-VERTEX-COVER Nhận xét: Thời gian chạy của APPROX-VERTEX-COVER là O(E). Đònh lý 37.1 APPROX-VERTEX-COVER là một giải thuật 2-xấp xỉ trong thời gian đa thức. 21.5.2004 Chương 37 Approximation Algorithms 9 Bài toán người bán hàng rong với bất đẳng thức tam giác ° Cho một đồ thò đầy đủ vô hướng G = (V, E) cùng với một hàm chi phí c : E → Z + . Tìm một chu trình hamilton (một tour) của G với phí tổn nhỏ nhất. ° Điều kiện: Hàm chi phí c: E → Z + thỏa mãn bất đẳng thức tam giác c(u, w) ≤ c(u, v) + c(v, w), ∀u, v, w ∈ V . APPROX-TSP-TOUR(G, c) 1 chọn một đỉnh r ∈ V[G] làm một đỉnh “gốc” 2 nuôi lớn một cây khung nhỏ nhất T cho G từ gốc r dùng giải thuật MST-PRIM(G, c, r) 3 gọi L là danh sách các đỉnh được thăm viếng bởi phép duyệt cây theo kiểu tiền thứ tự 4 r etu rn chu trình hamilton H viếng các đỉnh theo thứ tự L 21.5.2004 Chương 37 Approximation Algorithms 10 Thực thi APPROX-TSP-TOUR lên một ví dụ a b c d e f g h a b c d e f g h (a) (b) Cây khung nhỏ nhất T tính bởi MST- PRIM, đỉnh a là đỉnh gốc. . Algorithms 3 Giải thuật xấp xỉ ° Một giải thuật xấp xỉ là một giải thuật trả về lời giải gần tối ưu. ° Giả sử: chi phí của lời giải > 0. Gọi C ∗ là chi phí của lời giải tối ưu. Một giải thuật xấp xỉ. , C ∗ /C) ≤ ρ(n) . 21.5.2004 Chương 37 Approximation Algorithms 4 Giải thuật xấp xỉ ° Chi phí của lời giải do giải thuật xấp xỉ tìm được thỏa, với tỉ số xấp xỉ ρ(n), • max(C/C ∗ , C ∗ . giải gần đúng ≤ ρ(n) lần chi phí của lời giải tối ưu. ° Một giải thuật xấp xỉ có tỉ số xấp xỉ ρ(n) được gọi là một giải thuật ρ(n) -xấp xỉ. 21.5.2004 Chương 37 Approximation Algorithms 5 Bài