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
Trang 1Giải Thuật Xấp Xỉ
Chapter 37
Approximation Algorithms
Trang 2Tiế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
Trang 3Giả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(CC, CC r(n
Trang 4max(CC, CC = CC 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
Trang 5Bà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}
Trang 6Một giải thuật xấp xỉ cho bài toán che phủ đỉnh
Trang 7Thực thi APPROX-VERTEX-COVER
c e a
c e a
c e a
c e a
c e a
c e a
Trang 8Phân tích APPROX-VERTEX-COVERNhận xét: Thời gian chạy của APPROX-VERTEX-COVER là O(E).
Định lý 37.1
thức
Trang 9Bà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
1 chọn một đỉnh r VG 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 return chu trình hamilton H viếng các đỉnh
theo thứ tự L
Trang 10Thực thi APPROX-TSP-TOUR lên một ví dụ
Trang 11Thực thi APPROX-TSP-TOUR lên một ví dụ (tiếp)
a
b c
Duyệt cây T bắt đầu từ a Thứ tự các đỉnh
khi 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ự các đỉnh khi duyệt
kiểu tiền thứ tự là: a, b, c, h, d, e, f, g.
Tua H có được từ kết quả duyệt cây
theo kiểu tiền thứ tự mà A PPROX TSP-T OUR tìm được Chi phí của tua
-H là khoảng chừng 19,074.
Trang 12Thực thi APPROX-TSP-TOUR lên một ví dụ (tiếp)
a
b c
d
e
h
Trang 13Bài toán người bán hàng rong với bất đẳng thức tam giác
• Định lý 37.2
bài toán người bán hàng rong với bất đẳng thức tam giác
v u c A
c
) , (
),()
(
Trang 14Bà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)
° cW = 2cT, 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.
° cW 2cH, 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 đó
• cH cW 2cH
Trang 15Bài toán người bán hàng rong tổng quát
° 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
HAM-CYCLE trong thời gian đa thức Vì HAM-CYCLE 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!
Trang 16Bài toán người bán hàng rong tổng quát
• 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
Trang 17Bà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 ) rc(H) Phân biệt hai trường hợp:
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!
Trang 18Bà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
Một tập con C F được gọi là che phủ X nếu
° 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.
Trang 19Dạ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 đủ
Trang 20Mộ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
Trang 21Phân tích GREEDY-SET-COVER
Gọi số điều hòa thứ d là H d :