![](images/graphics/blank.gif)
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ỉ
lượt xem 7
download
![](https://tailieu.vn/static/b2013az/templates/version1/default/images/down16x21.png)
Nhằm giúp các bạn có thêm tài liệu phục vụ nhu cầu học tập và nghiên cứu về Công nghệ thông tin, mời các bạn cùng tham "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ỉ" dưới đây. Nội dung bài giảng cung cấp cho các bạn những kiến thức về cách tiếp cận một bài toán NP-đầy đủ, bài toán che phủ đỉnh, giải thuật xấp xỉ, ... Hy vọng đây là tài liệu tham khảo hữu ích cho các bạn.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: 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ỉ
- Giải Thuật Xấp Xỉ Chapter 37 Approximation Algorithms
- 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 2 Approximation Algorithms
- 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 r(n 21.5.2004 Chương 37 3 Approximation Algorithms
- 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 r(n – Bài toán tối đa: 0 C C , vậy max(C C , C C = C C r(n . Chi phí của lời giải tối ưu r(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 r(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 4 Approximation Algorithms
- 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 đủ VERTEXCOVER { G, k : đồ thị G có một che phủ đỉnh có kích thước k} . 21.5.2004 Chương 37 5 Approximation Algorithms
- Một giải thuật xấp xỉ cho bài toán che phủ đỉnh APPROXVERTEXCOVER(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 6 Approximation Algorithms
- Thực thi APPROXVERTEXCOVER b c d b c d a e f g a e f g b c d b c d a e f g a e f g b c d b c d a e f g a e f g 21.5.2004 Chương 37 7 Approximation Algorithms
- Phân tích APPROXVERTEXCOVER Nhận xét: Thời gian chạy của APPROXVERTEXCOVER là O(E). Định lý 37.1 APPROXVERTEXCOVER là một giải thuật 2xấp xỉ trong thời gian đa thức. 21.5.2004 Chương 37 8 Approximation Algorithms
- 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 . APPROXTSPTOUR(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 MSTPRIM(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 return chu trình hamilton H viếng các đỉnh theo thứ tự L 21.5.2004 Chương 37 9 Approximation Algorithms
- Thực thi APPROXTSPTOUR lên một ví dụ a d a d e e b f g b f g c c h h (a) (b) Cây khung nhỏ nhất T tính bởi MST PRIM, đỉnh a là đỉnh gốc. 21.5.2004 Chương 37 10 Approximation Algorithms
- Thực thi APPROXTSPTOUR lên một ví dụ (tiếp) a d a d e e b f g b f g c c h h (c) (d) Duyệt cây T bắt đầu từ a. Thứ tự các đỉnh Tua H có được từ kết quả duyệt khi duyệt kiểu hoàn toàn là: a, b, c, b, h, b, cây theo kiểu tiền thứ tự mà a, d, e, f, e, g, e, d, a. Thứ tự các đỉnh khi APPROXTSPTOUR tìm được. Chi duyệt kiểu tiền thứ tự là: a, b, c, h, d, e, f, phí của tua H là khoảng chừng g. 19,074. 21.5.2004 Chương 37 11 Approximation Algorithms
- Thực thi APPROXTSPTOUR lên một ví dụ (tiếp) a d e b f g c h (e) Tua tối ưu H , có chi phí là 14,715. 21.5.2004 Chương 37 12 Approximation Algorithms
- 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 • APPROXTSPTOUR là một giải thuật 2xấp xỉ thời gian đa thức cho bài toán người bán hàng rong với bất đẳng thức tam giác. • Chứng minh Cho A E, định nghĩa c( A) c(u, v) (u , v ) A ° Gọi H là một tua tối ưu, gọi H là tua mà APPROXTSPTOUR tìm được ° Cần chứng minh: c H 2c H . ° (*) Ta có c T c H e c H vì nếu xoá đi bất cứ cạnh e nào của H thì được một cây khung, mà T lại là cây khung nhỏ nhất. 21.5.2004 Chương 37 13 Approximation Algorithms
- 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 là kết quả một duyệt hoàn toàn cây T từ đỉnh r, vì mỗi cạnh của T được đi qua hai lần. ° c W 2c H , từ trên và vì (*). ° Nhưng W không phải là tua vì mỗi đỉnh được thăm hai lần, do đó “tránh thăm mọi đỉnh lần thứ hai” (= duyệt cây theo kiểu tiền thứ tự) để có được tua H, chi phí không tăng vì bất đẳng thức tam giác, do đó • c H c W 2c H 21.5.2004 Chương 37 14 Approximation Algorithms
- Bài toán người bán hàng rong tổng quát • Định lý 37.3 • Nếu P NP và 1, thì không tồn tại giải thuật xấp xỉ thời gian đa thức với tỉ số xấp xỉ cho bài toán người bán hàng rong tổng quát. • Chứng minh Chứng minh bằng phản chứng. ° Giả sử có một số nguyên 1 và một giải thuật xấp xỉ thời gian đa thức A cho bài toán người bán hàng rong tổng quát. Hướng chứng minh: Sẽ dùng A để giải bài toán chu trình Hamilton HAMCYCLE trong thời gian đa thức. Vì HAMCYCLE là NPđầy đủ và theo giả thiết P NP nên A không chạy trong thời gian đa thức, mâu thuẩn! 21.5.2004 Chương 37 15 Approximation Algorithms
- 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) là một thực thể (instance) của bài toán chu trình hamilton. Từ G định nghĩa đồ thị G’ = (V, E’) là đồ thị đầy đủ trên V, với hàm chi phí • c(u, v) = 1 nếu (u, v) E • = |V + 1 trong các trường hợp khác. • Các biểu diển của G’ và c có thể tính được từ một biểu diễn của G trong thời gian đa thức theo V và E . 21.5.2004 Chương 37 16 Approximation Algorithms
- Bài toán người bán hàng rong tổng quát Chứng minh (tiếp) ° Gọi H là tua tối ưu của G’, gọi H là 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 ít nhất một cạnh E. Suy ra G không có chu trình hamilton. – Trường hợp c(H ) r|V • c(H ) |V 1 = chi phí của một cạnh bất kỳ E. Do đó H chỉ chứa cạnh của G, từ đó suy ra H là một chu trình hamilton của G. ° Vậy ta có thể dùng giải thuật A để giải bài toán chu trình hamilton trong thời gian đa thức. Mâu thuẫn với giả thiết P NP! 21.5.2004 Chương 37 17 Approximation Algorithms
- Bài toán che phủ tập ° Một thực thể (X, F ) của bài toán che phủ tập gồm một tập hữu hạn X và một họ F các tập con của X sao cho X S. S F Một tập con C F được gọi là che phủ X nếu X S. S C ° Bài toán che phủ tập là tìm một tập con C F , với C là nhỏ nhất, sao cho C che phủ X. 21.5.2004 Chương 37 18 Approximation Algorithms
- Dạng quyết định của bài toán che phủ tập ° Dạng bài toán quyết định cho bài toán che phủ tập là tìm một che phủ sao cho kích thước của nó k, với k là một tham số của một thực thể của bài toán quyết định. ° Bài toán quyết định cho bài toán che phủ tập là NPđầy đủ. 21.5.2004 Chương 37 19 Approximation Algorithms
- Một giải thuật xấp xỉ cho bài toán che phủ tập ° Một giải thuật xấp xỉ cho bài toán che phủ tập – dùng phương pháp greedy. GREEDYSETCOVER(X, F ) 1 U X 2 C 3 while U 4 do chọn một S F sao cho S U là lớn nhất 5 U U S 6 C C {S} 7 return C 21.5.2004 Chương 37 20 Approximation Algorithms
![](images/graphics/blank.gif)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phân tích thiết kế hệ thống mạng - ThS. Lê Xuân Thành
52 p |
733 |
95
-
Bài giảng Phân tích thiết kế hệ thống: Bài giảng 5 - TS. Đào Nam Anh
87 p |
203 |
31
-
Bài giảng Phân tích thiết kế hệ thống: Bài giảng 3 - TS. Đào Nam Anh
60 p |
142 |
21
-
Bài giảng Phân tích thiết kế hệ thống: Bài giảng 6 - TS. Đào Nam Anh
22 p |
140 |
16
-
Bài giảng Phân tích thiết kế hệ thống: Bài giảng 1 - TS. Đào Nam Anh
78 p |
153 |
16
-
Bài giảng Phân tích thiết kế hệ thống: Bài giảng 2 - TS. Đào Nam Anh
28 p |
148 |
15
-
Bài giảng Phân tích thiết kế hệ thống: Bài giảng 4 - TS. Đào Nam Anh
12 p |
166 |
15
-
Bài giảng Phân tích thiết kế hệ thống: Bài giảng 7 - TS. Đào Nam Anh
39 p |
123 |
13
-
Bài giảng Phân tích thiết kế hướng đối tượng - ThS. Lê Trung Hiếu
85 p |
98 |
9
-
Bài giảng Phân tích thiết kế giải thuật: Chương 1 - Trịnh Huy Hoàng
72 p |
128 |
8
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 5 - Lê Thị Minh Nguyện
11 p |
110 |
8
-
Bài giảng Phân tích thiết kế hệ thống thông tin: Bài 11 - TS. Trần Mạnh Tuấn
29 p |
67 |
7
-
Bài giảng Phân tích thiết kế giải thuật: Chương 4 - Trịnh Huy Hoàng
90 p |
119 |
7
-
Bài giảng Phân tích thiết kế hệ thống thông tin: Bài 9 - TS. Trần Mạnh Tuấn
46 p |
79 |
6
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 4 - Lê Thị Minh Nguyện
14 p |
99 |
5
-
Bài giảng Phân tích thiết kế và giải thuật - Chương 1: Kỹ thuật phân tích giải thuật
59 p |
29 |
3
-
Bài giảng Phân tích thiết kế và giải thuật - Chương 2: Kỹ thuật thiết kế giải thuật
80 p |
70 |
2
![](images/icons/closefanbox.gif)
![](images/icons/closefanbox.gif)
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
![](https://tailieu.vn/static/b2013az/templates/version1/default/js/fancybox2/source/ajax_loader.gif)