1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài giảng Phân tích thiết kế giải thuật - Chương 37: Giải thuật xấp xỉ

21 2 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 412,5 KB

Nội dung

Trong lĩnh vực Công Nghệ Thông Tin nói riêng, yêu cầu quan trọng nhất của người học đó chính là thực hành. Có thực hành thì người học mới có thể tự mình lĩnh hội và hiểu biết sâu sắc với lý thuyết. Với ngành mạng máy tính, nhu cầu thực hành được đặt lên hàng đầu. Tuy nhiên, trong điều kiện còn thiếu thốn về trang bị như hiện nay, người học đặc biệt là sinh viên ít có điều kiện thực hành. Đặc biệt là với các thiết bị đắt tiền như Router, Switch chuyên dụng

Giải Thuật Xấp Xỉ Chapter 37 Approximation Algorithms Tiếp cận toán NP-đầy đủ ° ° Nếu tốn NP-đầy đủ khơng ta tìm giải thuật thời gian đa thức để giải cách xác Tiếp cận tốn NP-đầy đủ 1) Nếu input có kích thước nhỏ giải thuật chạy thời gian số mũ thoả mãn yêu cầu 2) Thay tìm lời giải tối ưu, tìm lời giải gần tối ưu thời gian đa thức 21.5.2004 Chương 37 Approximation Algorithms Giải thuật xấp xỉ ° ° Một giải thuật xấp xỉ giải thuật trả lời giải gần tối ưu Giả sử: chi phí lời giải  Gọi C chi phí lời giải tối ưu Một giải thuật xấp xỉ cho toán tối ưu gọi có tỉ số xấp xỉ (n (approximation ratio, ratio bound) với input có kích thước n chi phí lời giải giải thuật xấp xỉ tìm thoả • max(CC , C C  r(n 21.5.2004 Chương 37 Approximation Algorithms Giải thuật xấp xỉ ° ° Chi phí lời giải giải thuật xấp xỉ tìm thỏa, với tỉ số xấp xỉ (n, • max(CC , C C  r(n – Bài toán tối đa:  C  C , max(CC , C C = C C  r(n Chi phí lời giải tối ưu  r(n lần chi phí lời giải gần – Bài toán tối thiểu:  C  C, max(CC , C C = CC  r(n Chi phí lời giải gần  (n lần chi phí lời giải tối ưu Một giải thuật xấp xỉ có tỉ số xấp xỉ (n gọi giải thuật (n-xấp xỉ 21.5.2004 Chương 37 Approximation Algorithms Bài toán che phủ đỉnh ° ° Nhắc lại Một che phủ đỉnh (vertex cover) đồ thị vô hướng G = (V, E) tập V’  V cho (u, v)  E u  V’ hay v  V’ (hoặc hai  V’) Kích thước che phủ đỉnh số phần tử Bài tốn che phủ đỉnh tìm che phủ đỉnh có kích thước nhỏ đồ thị vô hướng cho Bài toán dạng toán tối ưu ngôn ngữ NP-đầy đủ VERTEX-COVER  {G, k : đồ thị G có che phủ đỉnh có kích thước k} 21.5.2004 Chương 37 Approximation Algorithms Một giải thuật xấp xỉ cho toán che phủ đỉnh APPROX-VERTEX-COVER(G) 21.5.2004 C E’  E[G] while E’   xét (u, v) cạnh E’ C  C  {u, v} tách khỏi E’ tất cạnh liên thuộc u hay v return C Chương 37 Approximation Algorithms Thực thi APPROX-VERTEX-COVER b c d a e f b c d a e f b c d a e f 21.5.2004 g g g b c d a e f b c d a e f b c d a e f Chương 37 Approximation Algorithms g g g Phân tích APPROX-VERTEX-COVER Nhận xét: Thời gian chạy APPROX-VERTEX-COVER O(E) Định lý 37.1 APPROX-VERTEX-COVER giải thuật 2-xấp xỉ thời gian đa thức 21.5.2004 Chương 37 Approximation Algorithms Bài toán người bán hàng rong với bất đẳng thức tam giác ° ° Cho đồ thị đầy đủ vô hướng G = (V, E) với hàm chi phí c : E  Z+ Tìm chu trình hamilton (một tour) G với phí tổn nhỏ Đ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) chọn đỉnh r  VG làm đỉnh “gốc” nuôi lớn khung nhỏ T cho G từ gốc r dùng giải thuật MST-PRIM(G, c, r) gọi L danh sách đỉnh thăm viếng phép duyệt theo kiểu tiền thứ tự return chu trình hamilton H viếng đỉnh theo thứ tự L 21.5.2004 Chương 37 Approximation Algorithms Thực thi APPROX-TSP-TOUR lên ví dụ a d a d e f b c e g f b g c h h (a) (b) Cây khung nhỏ T tính MSTPRIM, đỉnh a đỉnh gốc 21.5.2004 Chương 37 Approximation Algorithms 10 Thực thi APPROX-TSP-TOUR lên ví dụ (tiếp) a d a d e f b e g c g c h h (c) (d) Duyệt T a Thứ tự đỉnh duyệt kiểu hoàn toàn là: a, b, c, b, h, b, a, d, e, f, e, g, e, d, a Thứ tự đỉnh duyệt kiểu tiền thứ tự là: a, b, c, h, d, e, f, g 21.5.2004 f b Tua H có từ kết duyệt theo kiểu tiền thứ tự mà APPROXTSP-TOUR tìm Chi phí tua H khoảng chừng 19,074 Chương 37 Approximation Algorithms 11 Thực thi APPROX-TSP-TOUR lên ví dụ (tiếp) a d e f b g c h (e) Tua tối ưu H , có chi phí 14,715 21.5.2004 Chương 37 Approximation Algorithms 12 Bài toán người bán hàng rong với bất đẳng thức tam giác • • • Định lý 37.2 APPROX-TSP-TOUR giải thuật 2-xấp xỉ thời gian đa thứccho toán người bán hàng rong với bất đẳng thức tam giác Chứng minh c( A)   c(u, v) Cho A  E, định nghĩa ( u , v ) A ° ° ° Gọi H tua tối ưu, gọi H tua mà APPROX-TSP-TOUR tìm Cần chứng minh: cH  2cH (*) Ta có cT  cH  e  cH xố cạnh e H khung, mà T lại khung nhỏ 21.5.2004 Chương 37 Approximation Algorithms 13 Bài toán người bán hàng rong với bất đẳng thức tam giác ° ° ° • Chứng minh (tiếp) cW = 2cT, với W kết duyệt hồn tồn T từ đỉnh r, cạnh T qua hai lần cW  2cH, từ vàvì (*) Nhưng W khơng phải tua đỉnh thăm hai lần, “tránh thăm đỉnh lần thứ hai” (= duyệt theo kiểu tiền thứ tự) để có tua H, chi phí khơng tăng bất đẳng thức tam giác, cH  cW  2cH 21.5.2004 Chương 37 Approximation Algorithms 14 Bài toán người bán hàng rong tổng quát • • • ° Định lý 37.3 Nếu P  NP   1, khơng tồn giải thuật xấp xỉ thời gian đa thức với tỉ số xấp xỉ  cho toán người bán hàng rong tổng quát Chứng minh Chứng minh phản chứng Giả sử có số nguyên   giải thuật -xấp xỉ thời gian đa thức A cho toán người bán hàng rong tổng quát Hướng chứng minh: Sẽ dùng A để giải toán chu trình Hamilton HAM-CYCLE thời gian đa thức Vì HAM-CYCLE NP-đầy đủ theo giả thiết P  NP nên A không chạy thời gian đa thức, mâu thuẩn! 21.5.2004 Chương 37 Approximation Algorithms 15 Bài toán người bán hàng rong tổng quát • ° • • • Chứng minh (tiếp) Gọi G = (V, E) thực thể (instance) tốn chu trình hamilton Từ G định nghĩa đồ thị G’ = (V, E’) đồ thị đầy đủ V, với hàm chi phí c(u, v) = (u, v)  E = |V + trường hợp khác Các biểu diển G’ c tính từ biểu diễn G thời gian đa thức theo V E 21.5.2004 Chương 37 Approximation Algorithms 16 Bài toán người bán hàng rong tổng quát ° • ° Chứng minh (tiếp) Gọi H tua tối ưu G’, gọi H tua mà A tìm được, ta có c(H )  rc(H) Phân biệt hai trường hợp: – Trường hợp c(H )  r|V  |V  c(H )  rc(H)  V  c(H) Vậy H phải chứa cạnh  E Suy G khơng có chu trình hamilton – Trường hợp c(H )  r|V • c(H )  |V  = chi phí cạnh  E Do H chứa cạnh G, từ suy H chu trình hamilton G Vậy ta dùng giải thuật A để giải tốn chu trình hamilton thời gian đa thức Mâu thuẫn với giả thiết P  NP! 21.5.2004 Chương 37 Approximation Algorithms 17 Bài toán che phủ tập ° Một thực thể (X, F ) toán che phủ tập gồm tập hữu hạn X họ F tập X cho X S S F Một tập C  F gọi che phủ X X  S S C ° Bài toán che phủ tập tìm tập C  F , với  C  nhỏ nhất, cho C che phủ X 21.5.2004 Chương 37 Approximation Algorithms 18 Dạng định toán che phủ tập ° ° Dạng toán định cho toán che phủ tập tìm che phủ cho kích thước  k, với k tham số thực thể toán định Bài toán định cho toán che phủ tập NP-đầy đủ 21.5.2004 Chương 37 Approximation Algorithms 19 Một giải thuật xấp xỉ cho toán che phủ tập ° Một giải thuật xấp xỉ cho toán che phủ tập – dùng phương pháp greedy GREEDY-SET-COVER(X, F ) 21.5.2004 UX C while U   chọn S  F cho  S  U  lớn UUS C  C  {S} return C Chương 37 Approximation Algorithms 20

Ngày đăng: 02/07/2023, 11:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN