Bài giảng Phân tích thiết kế giải thuật - Chương 12: NP-Đầy Đủ

48 6 0
Bài giảng Phân tích thiết kế giải thuật - Chương 12: NP-Đầy Đủ

Đ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

Mời các bạn cùng tham khảo Bài giảng Phân tích thiết kế giải thuật - Chương 12: NP-Đầy Đủ để nắm bắt được những nội dung về khái niệm cơ bản NP-Đầy Đủ, hình thức hóa khái niệm bài toán, bài toán trừu tượng, bài toán quyết định, bài toán tối ưu, mã hóa.

NP-Đầy Đủ 13.11.2004 Ch 12: NP-Completeness Vài khái niệm ª Bài tốn – tham số – tính chất mà lời giải cần phải thỏa mãn ª Một thực thể (instance) toán tốn mà tham số có trị cụ thể 13.11.2004 Ch 12: NP-Completeness Hình thức hóa khái niệm tốn ª Ví dụ: tốn SHORTEST-PATH – “khơng hình thức”: tốn tìm đường ngắn hai đỉnh cho trước đồ thị vô hướng, khơng có trọng số G = (V, E) – “hình thức”: ° Một thực thể toán cặp ba gồm đồ thị cụ thể hai đỉnh cụ thể ° Một lời giải dãy đỉnh đồ thị ° Bài toán SHORTEST-PATH quan hệ kết hợp thực thể gồm đồ thị hai đỉnh với đường ngắn (nếu có) đồ thị nối hai đỉnh: SHORTEST-PATH ⊆ I × S 13.11.2004 Ch 12: NP-Completeness Bài tốn trừu tượng ª Định nghĩa: tốn trừu tượng Q quan hệ nhị phân tập I, gọi tập thực thể (instances) toán, tập S, gọi tập lời giải tốn: Q⊆ I× S 13.11.2004 Ch 12: NP-Completeness Bài tốn định ª Một toán định Q toán trừu tượng mà quan hệ nhị phân Q hàm từ I đến S = {0, 1}, tương ứng với “no”, tương ứng với “yes” ª Ví dụ: toán định PATH Cho đồ thị G = (V, E), hai đỉnh u, v ∈ V, số nguyên dương k Đặt i = 〈G, u, v, k〉, thực thể toán định PATH, – PATH(i) = (yes) tồn đường u v có chiều dài ≤ k – PATH(i) = (no) trường hợp khác 13.11.2004 Ch 12: NP-Completeness Bài toán tối ưu ª ª Một tốn tối ưu tốn ta cần xác định trị lớn hay trị nhỏ đại lượng Đối tượng lý thuyết NP-đầy đủ toán định, nên ta phải ép (recast) tốn tối ưu thành tốn định Ví dụ: ta ép toán tối ưu đường ngắn thành toán định PATH cách làm chận k thành tham số toán 13.11.2004 Ch 12: NP-Completeness Mã hố (encodings) ª ª Để chương trình máy tính giải tốn trừu tượng thực thể tốn cần biểu diễn cho chương trình máy tính đọc “hiểu” chúng Ta mã hóa (encode) thực thể toán trừu tượng để chương trình máy tính đọc chúng – Ví dụ: Mã hố tập N = {0, 1, 2, 3, 4, } thành tập chuỗi {0, 1, 10, 11, 100, } Trong mã hoá này, e(17) = 10001 – Mã hóa đối tượng đa hợp (chuỗi, tập, đồ thị, ) cách kết hợp mã hóa thành phần 13.11.2004 Ch 12: NP-Completeness Mã hố (tiếp) ª ª ª Một toán cụ thể toán mà tập thực thể tập chuỗi nhị phân Một giải thuật giải toán cụ thể thời gian O(T(n)) nếu, đưa thực thể i có độ dài n = | i | , cho lời giải thời gian O(T(n)) Một tốn cụ thể giải thời gian đa thức tồn giải thuật giải thời gian O(nk) với số k 13.11.2004 Ch 12: NP-Completeness Lớp P ª Định nghĩa: Lớp P (complexity class P) tập tốn định cụ thể giải thời gian đa thức 13.11.2004 Ch 12: NP-Completeness Bài toán trừu tượng toán cụ thể ª Ta dùng mã hố để ánh xạ toán trừu tượng đến toán cụ thể – Cho toán định trừu tượng Q, Q ánh xạ tập thực thể I đến {0, 1}, ta dùng mã hóa e : I → {0, 1}∗ để sinh toán định cụ thể tương ứng, ký hiệu e(Q) Mã hóa e phải thõa điều kiện ° Nếu Q(i) ∈ {0, 1} lời giải cho i ∈ I, lời giải cho thực thể e(i) ∈ {0, 1}∗ toán định cụ thể e(Q) Q(i) Q I {0, 1} e(Q) {0, 1}* 13.11.2004 Ch 12: NP-Completeness 10 Bài tốn thỏa mãn mạch ª Cổng logic x x y z Cổng NOT ª z Cổng AND x y z Cổng OR Mạch tổ hợp bool x1 x2 x5 x8 x6 x9 x3 13.11.2004 x10 x7 x4 Ch 12: NP-Completeness 34 Bài toán thỏa mãn mạch (tiếp) ª Tính chất thỏa mãn mạch – Một cách gán trị bool (truth assignment) cho mạch tổ hợp bool tập trị input bool – Một mạch tổ hợp bool với output thoả mãn (satisfiable) có cách gán thỏa mãn (satisfying assignment), tức cách gán trị bool khiến cho output mạch x1 x2 x3 13.11.2004 x5 x6 x7 x8 0 x9 x4 Ch 12: NP-Completeness 1 x10 35 Bài toán thỏa mãn mch (tip) ê ã ê ã ê ã ê ã Bài toán thỏa mãn mạch “Cho mạch tổ hợp bool tạo cổng AND, OR, NOT, thỏa mãn khơng?” CIRCUIT-SAT = { 〈C〉 : C mạch tổ hợp bool thỏa mãn được} Lemma 36.5 Bài toán thỏa mãn mạch thuộc lớp NP Lemma 36.6 Bài toán thỏa mãn mạch NP-khó Theorem 36.7 Bài tốn thỏa mãn mạch NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 36 Cách chng minh NP-y ê ã Lemma 36.8 Nu L ngôn ngữ cho L’ ≤ P L với L’ ∈ NPC, L NP-khó Thêm vào đó, L ∈ NP, L ∈ NPC 13.11.2004 Ch 12: NP-Completeness 37 Bài toán thỏa mãn biểu thc bool ê ê ã ê ã Biu thc bool φ = ((x1 → x2) ∨¬((¬x1 ↔ x3) ∨x4 )) ∧¬x2 – Một cách gán trị bool (truth assignment) cho biểu thức bool φ tập trị cho biến φ – Một cách gán thoả mãn (satisfying assignment) cách gán trị bool khiến cho biểu thức bool có trị – Một biểu thức bool có cách gán thỏa mãn gọi biểu thức thỏa mãn Bài toán thỏa mãn biểu thức bool SAT = {〈φ 〉 : φ biểu thức bool thỏa mãn được} Theorem 36.9 Bài toán thỏa mãn biểu thức bool NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 38 Bài tốn thỏa mãn biểu thức bool dạng 3-CNF ª ê ã ê ã Biu thc bool dng 3-CNF (3-conjunctive normal form) φ = (x1 ∨¬x1 ∨¬x2) ∧(x3 ∨x2 ∨x4) ∧(¬x1 ∨¬x3 ∨¬x4 ) Bài tốn thỏa mãn biểu thức bool dạng 3-CNF 3-CNF-SAT = {〈φ 〉 : φ biểu thức bool dạng 3-CNF thỏa mãn được} Theorem 36.9 Bài toán thỏa mãn biểu thức bool dạng 3-CNF NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 39 Bài tốn clique ª Các định nghĩa – Một clique đồ thị vô hướng G = (V, E) đồ thị đầy đủ G – Kích thước clique số đỉnh mà chứa 13.11.2004 Ch 12: NP-Completeness 40 Bài toán clique (tiếp) ª ª • ª • Bài tốn clique tốn tối ưu tìm clique có kích thước lớn đồ thị Bài toán định tương ứng với toán clique CLIQUE = { 〈G, k〉 : G đồ thị có clique có kích thước k} Theorem 36.11 Bài tốn clique NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 41 Bài toán che phủ đỉnh ª Các khái niệm – Một che phủ đỉnh (vertex cover) đồ thị vô hướng G = (V, E) tập V’ ⊆ V cho (u, v) ∈ E u ∈ V’ v ∈ V’ (hoặc hai) – Kích thước che phủ đỉnh số đỉnh 13.11.2004 Ch 12: NP-Completeness 42 Bài tốn che ph nh (tip) ê ê ã ê ã Bi toỏn che phủ đỉnh tìm che phủ đỉnh có kích thước nhỏ đồ thị cho trước Bài tốn định tương ứng dạng ngơn ngữ là: VERTEX-COVER = { 〈G, k〉 : đồ thị G có che phủ đỉnh có kích thước k} Theorem 36.12 Bài toán che phủ đỉnh NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 43 Bài toán tổng tập ê ê ê ã ê ã Cho mt hữu hạn S ⊂ N trị đích t ∈ N Bài toán tổng tập hỏi có tồn tập S’⊆ S cho tổng phần tử t hay khơng – Ví dụ: với S = {1, 3, 5, 7, 11, 13}, t = 12 tập S’ = {1, 11} lời giải Bài toán tổng tập dạng ngôn ngữ: SUBSET-SUM = { 〈S, t〉 : tồn tập S’⊆ S cho • t = ∑ s ∈ S’ s } Theorem 36.13 Bài toán tổng tập NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 44 Bài toán chu trỡnh Hamilton ê ã ê ã Bi toỏn chu trình Hamilton HAM-CYCLE = {〈G〉 : G đồ thị hamilton} Theorem 36.14 Bài tốn chu trình hamilton NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 45 Bài toán người bán hàng rong ª Các khái niệm – Cho đồ thị đầy đủ G Mỗi cạnh (i, j) nối hai đỉnh i j G có chi phí số nguyên c(i, j) – Ta định nghĩa tua (tour) chu trình hamilton G, chi phí tua tổng chi phí cạnh tua 13.11.2004 Ch 12: NP-Completeness 46 Bài toán người bán hàng rong (tiếp) ª ª • ª Bài tốn người bán hàng rong (TSP, travelling-salesperson problem) tìm tua có chi phí nhỏ Ngơn ngữ hình thức cho tốn định tương ứng TSP = { 〈G, c, k〉 : G = (V, E) đồ thị đầy , ã c l mt hm s V ì V → Z, • k ∈ Z, • G có tua với chi phí ≤ k} Theorem 36.15 Bài toán người bán hàng rong NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 47 P = NP? Bài toán mở quan trọng khoa học máy tính lý thuyết 13.11.2004 Ch 12: NP-Completeness 48 ... 13.11.2004 Ch 12: NP-Completeness 31 NP-đầy đủ ª Một ngôn ngữ L ⊆ {0, 1}* NP-đầy đủ (NP-complete) • L ∈ NP • L’ ≤ ª Một ngơn ngữ L ⊆ {0, 1}* NP-khó (NP-hard) tính chất thỏa (trong tính chất khơng thiết. .. nghĩa NPC lớp ngôn ngữ NP-đầy đủ “NPC lớp tốn khó NP” ª 13.11.2004 P L với L’ ∈ NP Ch 12: NP-Completeness 32 NP-đầy đủ (tip) ê ã nh lý 36.4 Nu cú bt kỳ tốn NP-đầy đủ giải thời gian đa thức,... Lemma 36.5 Bài tốn thỏa mãn mạch thuộc lớp NP Lemma 36.6 Bài tốn thỏa mãn mạch NP-khó Theorem 36.7 Bài tốn thỏa mãn mạch NP-đầy đủ 13.11.2004 Ch 12: NP-Completeness 36 Cỏch chng minh NP-y ê ã Lemma

Ngày đăng: 09/05/2021, 22:28

Mục lục

  • NP-Đầy Đủ

  • Vài khái niệm cơ bản

  • Hình thức hóa khái niệm bài toán

  • Bài toán trừu tượng

  • Bài toán quyết định

  • Bài toán tối ưu

  • Mã hoá (encodings)

  • Mã hoá (tiếp)

  • Lớp P

  • Bài toán trừu tượng và bài toán cụ thể

  • Các mã hoá

  • Liên quan giữa các mã hóa

  • Mã hóa chuẩn (standard encoding)

  • Mã hóa chuẩn (tiếp)

  • Một khung ngôn ngữ hình thức

  • Bài toán quyết định và ngôn ngữ tương ứng

  • Bài toán quyết định và ngôn ngữ tương ứng (tiếp)

  • Ngôn ngữ và giải thuật

  • Chấp nhận và quyết định ngôn ngử trong thời gian đa thức

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan