1. Trang chủ
  2. » Công Nghệ Thông Tin

Chap7New 110820045951 phpapp01

25 1 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

NP COMPLETE PROBLEMS 1 Chương 7 Vấn đề NP đầy đủ 1 Giải thuật thời gian đa thức tất định và không tất định 2 Vấn đề NP đầy đủ 3 Định lý Cook 4 Một số bài toán NP đầy đủ 5 Một số kỹ thuật để đối phó vớ[.]

Chương Vấn đề NP-đầy đủ Giải thuật thời gian đa thức tất định không tất định Vấn đề NP-đầy đủ Định lý Cook Một số toán NP-đầy đủ Một số kỹ thuật để đối phó với NP-đầy đủ tốn Tồn hay không tồn giải thuật hữu hiệu • Đối với nhiều tốn có giải thuật hữu hiệu để giải • Tuy nhiên, có nhiều tốn khác khơng có giải thuật hữu hiệu để giải • Và lớp lớn tốn vậy, khơng thể nói có tồn giải thuật hữu hiệu để giải hay khơng Những tốn khó toán dễ Nhiều nghiên cứu thực có chế để phân loại tốn “khó bằng” số tốn cũ biết • Tuy nhiên, đơi ranh giới tốn “khó” tốn “dễ” tế nhị Thí dụ:  Dễ: Có tồn lối từ x đến y mà số nhỏ M?  KHó: Có tồn lối từ x đến y mà trọng số ≥M? Bài tốn - BFS – thời gian tuyến tính Bài tốn – thời gian hàm mũ • Giải thuật thời gian đa thức tất định không tất định P: Tập hợp tất tốn giải giải thuật tất định thời gian đa thức “Tất định” (Deterministic) : giải thuật làm gì, có việc thực (whatever the algorithm is doing, there is only one thing it could next) Thí dụ: Xếp thứ tự phương pháp chèn thuộc lớp P có độ phức tạp đa thức O(N2 ) Tính khơng tất định Một cách để mở rộng quyền máy tính cho có lực làm việc khơng tất định (non-determinism) Không tất định: giải thuật gặp lựa chọn nhiều khả năng, có quyền “tiên đóan” để biết chọn khả thích đáng Giải thuật khơng tất định (nondeterministic algorithm) Thí dụ: Cho A mảng số nguyên Một giải thuật không tất định NSORT(A, n) thứ tự số theo thứ tự tăng xuất chúng theo thứ tự Thí dụ giải thuật không tất định // An array B is used as temporary array procedure NSORT(A,n) // sort n positive integers // begin for i:= to n B[i]:= 0; // guessing stage for i:= to n begin j := choice(1:n); if B[j] then failure else B[j]:= A[i] end // verification stage for i:= to n-1 if B[i] > B[i-1] then failure; print(B); success end; Hàm choice(1:n) có khả xác định vị trí tầm trị từ đến n Thí dụ giải thuật không tất định (tt.) Sự phân giải giải thuật khơng tất định thực song song hóa khơng hạn chế (unbounded parallelism) Mỗi lần có bước lựa chọn phải thực hiện, giải thuật tạo nhiều (copies of itself) Mỗi thực cho khả lựa chọn Như nhiều khả thực lúc - Bản kết thúc thành cơng làm kết thúc tất q trình tính tóan khác - Nếu kết thúc thất bại kết thúc mà Giải thuật khơng tất định (tt.) Thật ra, máy tính khơng tất định không tạo giải thuật phải thực lựa chọn Mà, có quyền chọn yếu tố “đúng” từ tập khả lựa chọn phải thực lựa chọn Một yếu tố “đúng” định nghĩa chuỗi ngắn lựa chọn (shortest sequence of choices) mà dẫn đến kết thúc thành công Trong trường hợp không tồn chuỗi lựa chọn mà dẫn đến kết thúc thành công ta giả định giải thuật dừng in thơng báo “tính tốn khơng thành cơng” Giải thuật không tất định (tt.) Ghi chú:  Các thông báo success failure tương đương với phát biểu stop giải thuật tất định  Độ phức tạp tính tốn NSORT O(n) NP: tập hợp tất tốn mà giải giải thuật không tất định thời gian đa thức Thí dụ : Bài tốn có tồn lối dài từ đỉnh x đến đỉnh y thuộc lớp NP Bài toán thỏa mãn mạch logic (circuit satisfiability problem) Cho cơng thức logic có dạng (x1 + x3 + x5)*(x1+ ~x2 + x4)*(~x3 + x4 +x5)* (x2 + ~x3 + x5) với biến xi biến logic (true or false), “+” diễn tả OR, “*” diễn tả AND, ~ diễn tả NOT Bài tốn CSP xác định xem có tồn phép gán trị logic vào biến logic cho tồn cơng thức trở thành true CSP toán NP Ghi chú: Lớp P tập lớp NP 10 Vấn đề NP-đầy đủ Có danh sách tốn mà biết thuộc lớp NP không rõ thuộc lớp P hay khơng (Tức là, ta giải chúng dễ dàng máy không tất định chưa tìm thấy giải thuật hữu hiệu chạy máy tính thơng thường để giải toán chúng) Những tốn NP lại có thêm tính chất là: “Nếu tốn giải thời gian đa thức tất tốn thuộc lớp NP giải thời gian đa thức máy tất định.” 11 Những toán gọi tốn NP-đầy đủ (NP-complete) Hình 6.1 NP-complete NP P 12 Tính khả thu giảm đa thức (Polynomial reducibility) • • • Lớp NP-đầy đủ lớp tốn khó lớp NP Cơng cụ để chứng minh tốn thuộc loại NPđầy đủ ý tưởng tính khả thu giảm đa thức (polynomial reducibility) Bất giải thuật giải tốn thuộc loại NP dùng để giải toán NP-đầy đủ biết cách sau: biến thể thể toán NP-đầy đủ biết thành thể toán mới, giải tốn giải thuật có để tìm lời giải, biến thể lời giải trở thành lời giải toán NP-đầy đủ biết 13 Tính khả thu giảm đa thức (tt.) Để chứng minh toán thuộc loại NP NP-đầy đủ, ta cần chứng tỏ tốn NP-đầy đủ biết khả thu giảm đa thức toán Định nghĩa: (Thu giảm về) Ta bảo toán L1 thu giảm (reduces to) toán L2, ký hiệu L1 α L2 giải thuật giải L2 dùng để giải L1 14 Tính khả thu giảm đa thức (tt.) Để chứng minh toán L NP-đầy đủ, cần chứng minh: Bài toán L thuộc lớp NP Một toán NP-đầy đủ biết thu giảm L Thí dụ: Cho hai tốn  Bài toán người thương gia du hành (TSP): cho tập thành phố khoảng cách cặp thành phố, tìm lộ trình qua tất thành phố cho tổng khoảng cách lộ trình nhỏ M  Bài tốn chu trình Hamilton (HCP): Cho đồ thị, tìm chu trình đơn mà qua tất đỉnh 15 Tính khả thu giảm đa thức (tt.) Giả sử ta biết HCP NP-đầy đủ muốn xác định xem TSP NP-đầy đủ hay không Bất kỳ giải thuật dùng để giải tốn TSP dùng để giải tốn HCP, thông qua thu giảm sau: Cho thể toán HCP (một đồ thị), tạo thể toán TSP tương ứng sau: • tạo thành phố tốn TSP cách dùng tập đỉnh đồ thị; • khoảng cách hai cặp thành phố ta gán giá trị có tồn cạnh hai đỉnh tương ứng đồ thị giá trị khơng có cạnh Rồi dùng giải thuật giải TSP để tìm lộ trình ≤ N (N số đỉnh đồ thị) 16 Tính khả thu giảm đa thức (tt.) Nghĩa HCP thu giảm TSP, tính chất NP-đầy đủ HCP hàm ý tính chất tính chất NP-đầy đủ TSP Sự thu giảm HCP TSP đơn giản hai tốn có nét tương tự Sự thu giảm thời gian đa thức phức tạp liên kết toán mà tương đối khác Thí dụ: Có thể thu giảm toán thoả mãn mạch logic (CSP) toán HCP 17 Định lý Cook Nhưng: Bài toán toán NP-đầy đủ đầu tiên? S.A Cook (1971) đề xuất chứng minh trực tiếp toán thỏa mãn mạch logic (CSP) toán NP-đầy đủ “Nếu tồn giải thuật thời gian đa thức để giải toán thỏa mãn mạch logic tất tốn lớp NP giải thời gian đa thức.” Chứng minh Cook phức tạp chủ yếu dựa vào máy Turing (Turing machine) tổng quát 18 Một số tốn NP-đầy đủ Hàng nghìn tốn khác biết NP-đầy đủ Danh sách bắt đầu toán thoả mãn mạch logic, toán người thương gia du hành (TSP) toán chu trình Hamilton Một vài tốn khác sau: - Bài toán phân hoạch số: Cho tập số nguyên, phân hoạch chúng thành hai tập mà có tổng trị số nhau? - Bài toán qui hoạch nguyên: Cho toán qui hoạch tuyến tính, liệu có tồn lời giải tồn số nguyên? 19 - Xếp lịch công việc đa xử lý ( multiprocessor scheduling): Cho kỳ hạn (deadline) tập cơng tác có chiều dài thời gian khác phải thực thi hai xử lý Vấn đề xếp để thực thi tất cơng tác cho thỏa mãn kỳ hạn khơng? - Bài tốn phủ đỉnh (VERTEX COVER): Cho đồ thị số nguyên N, kiếm tập nhỏ N đỉnh mà chạm hết cạnh đồ thị ? - Bài toán xếp thùng (BIN PACKING): cho n đồ mà phải đặt vào thùng có sức chứa L Món đồ i địi hỏi li đơn vị sức chứa thùng Mục đích xác định số thùng cần để chứa tất n đồ 20

Ngày đăng: 11/04/2023, 20:11

Xem thêm:

w