1. Trang chủ
  2. » Giáo án - Bài giảng

phân tích va thiết kế giải thuật dương tuấn anh chương 7 đầy đủ np day du sinhvienzone com

25 51 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 25
Dung lượng 534,33 KB

Nội dung

.C om Chương Vấn đề NP-đầy đủ nh Vi en Vấn đề NP-đầy đủ Zo ne Giải thuật thời gian đa thức tất định không tất định Định lý Cook Một số toán NP-đầy đủ Si Một số kỹ thuật để đối phó với NP-đầy đủ SinhVienZone.com https://fb.com/sinhvienzonevn 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 Si nh Vi en Zo ne C om • SinhVienZone.com https://fb.com/sinhvienzonevn 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 toán – thời gian hàm mũ Si nh Vi en Zo ne C om • SinhVienZone.com https://fb.com/sinhvienzonevn om Giải thuật thời gian đa thức tất định không tất định Zo ne C P: Tập hợp tất tốn giải giải thuật tất định thời gian đa thức Si nh Vi en “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 ) SinhVienZone.com https://fb.com/sinhvienzonevn Tính khơng tất định Si nh Vi en Zo ne C om 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ự SinhVienZone.com https://fb.com/sinhvienzonevn .C Hàm choice(1:n) có khả xác định vị trí tầm trị từ đến n Si nh Vi en Zo ne // 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; om Thí dụ giải thuật khơng tất định SinhVienZone.com https://fb.com/sinhvienzonevn Thí dụ giải thuật không tất định (tt.) Si nh Vi en Zo ne C om 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à SinhVienZone.com https://fb.com/sinhvienzonevn Giải thuật không tất định (tt.) Si nh Vi en Zo ne C om 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” SinhVienZone.com https://fb.com/sinhvienzonevn Giải thuật không tất định (tt.) Zo ne C om 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) Si nh Vi en 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 SinhVienZone.com https://fb.com/sinhvienzonevn om Bài toán thỏa mãn mạch logic (circuit satisfiability problem) nh Vi en Zo ne C 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 Si 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 SinhVienZone.com https://fb.com/sinhvienzonevn 10 om Vấn đề NP-đầy đủ nh Vi en Zo ne C 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) Si Những tốn NP lại có thêm tính chất là: “Nếu toán giải thời gian đa thức tất toán thuộc lớp NP giải thời gian đa thức máy tất định.” SinhVienZone.com https://fb.com/sinhvienzonevn 11 .C om Những toán gọi toán NP-đầy đủ (NP-complete) Zo ne Hình 6.1 nh Vi en NP-complete NP Si P SinhVienZone.com https://fb.com/sinhvienzonevn 12 .C Si • nh Vi en Zo • 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 tố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 toá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 ne • om Tính khả thu giảm đa thức (Polynomial reducibility) SinhVienZone.com https://fb.com/sinhvienzonevn 13 Tính khả thu giảm đa thức (tt.) ne C om Để chứng minh toán thuộc loại NP NP-đầy đủ, ta cần chứng tỏ toán NP-đầy đủ biết khả thu giảm đa thức tốn Si nh Vi en Zo Đị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 SinhVienZone.com https://fb.com/sinhvienzonevn 14 Tính khả thu giảm đa thức (tt.) Zo ne C om Để 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 Si nh Vi en 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 SinhVienZone.com https://fb.com/sinhvienzonevn 15 Tính khả thu giảm đa thức (tt.) Zo ne C om 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: nh Vi en  tạo thành phố toán TSP cách dùng tập đỉnh đồ thị; Si  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ị) SinhVienZone.com https://fb.com/sinhvienzonevn 16 Tính khả thu giảm đa thức (tt.) C om 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 Zo ne Sự thu giảm HCP TSP đơn giản hai tốn có nét tương tự nh Vi en 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 Si Thí dụ: Có thể thu giảm tốn thoả mãn mạch logic (CSP) toán HCP SinhVienZone.com https://fb.com/sinhvienzonevn 17 Định lý Cook nh Vi en Zo ne C om 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 tốn thỏa mãn mạch logic tất tốn lớp NP giải thời gian đa thức.” Si Chứng minh Cook phức tạp chủ yếu dựa vào máy Turing (Turing machine) tổng quát SinhVienZone.com https://fb.com/sinhvienzonevn 18 Một số toán NP-đầy đủ ne C om 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) tốn chu trình Hamilton Zo Một vài toán khác sau: nh Vi en - 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? Si - Bài toán qui hoạch ngun: Cho tốn qui hoạch tuyến tính, liệu có tồn lời giải tồn số ngun? SinhVienZone.com https://fb.com/sinhvienzonevn 19 Si nh Vi en Zo ne C om - 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 tố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 đồ SinhVienZone.com https://fb.com/sinhvienzonevn 20 P  NP ? C om Những toán nêu nhiều tốn liên quan có ứng dụng thực tế quan trọng nh Vi en Zo ne Sự kiện khơng có giải thuật tốt tìm thấy cho toán số toán nêu chứng mạnh mẽ P  NP Si Dù cho P có khác NP hay khơng, kiện thực tế khơng có giải thuật đảm bảo giải toán NP-đầy đủ cách hữu hiệu SinhVienZone.com https://fb.com/sinhvienzonevn 21 om Một số kỹ thuật để đối phó với toán NP-đầy đủ C Dùng “giải thuật xấp xỉ “(approximation algorithm) để tìm lời giải xấp xỉ tối ưu (near-optimal) nh Vi en Zo ne Dựa vào hiệu trường hợp trung bình để phát triển giải thuật mà tìm lời giải số trường hợp đó, khơng làm việc trường hợp Sử dụng giải thuật có độ phức tạp hàm mũ hữu hiệu, ví dụ giải thuật quay lui Si Đưa heuristic vào giải thuật để tăng thêm hiệu giải thuật Sử dụng metaheuristic SinhVienZone.com https://fb.com/sinhvienzonevn 22 Heuristic meta heuristic Si nh Vi en Zo ne C om  Heuristic tri thức toán cụ thể sử dụng để dẫn dắt trình tìm lời giải giải thuật Nhờ thêm vào heuristic mà giải thuật trở nên hữu hiệu  Meta heuristic loại heuristic tổng quát áp dụng cho nhiều lớp tóan  Gần meta heuristic lãnh vực nghiên cứu phát triển mạnh mẽ, với đời nhiều meta heuristic như: - giải thuật di truyền (genetic algorithm) - giải thuật mô luyện kim (simulated annealing) - tìm kiếm tabu (Tabu search) v.v… SinhVienZone.com https://fb.com/sinhvienzonevn 23 Đóng góp vấn đề NP-đầy đủ nh Vi en Zo ne C om Có nhiều tốn NP-đầy đủ lãnh vực  giải tích số (numerical analysis),  thứ tự tìm kiếm,  xử lý dòng ký tự (string processing),  Mơ hình hóa hình học (geometry modeling)  xử lý đồ thị (graph processing) Si Sự đóng góp quan trọng lý thuyết NP-đầy đủ là: cung cấp chế để xác định toán lãnh vực “dễ” hay “khó” SinhVienZone.com https://fb.com/sinhvienzonevn 24 Bốn lớp tốn phân theo độ khó om  Những toán bất khả (Undecidable problems): Đây ne C tốn chưa có giải thuật để giải Thí dụ: Bài tốn định xem chương trình có dừng máy Turing Zo Si  Những tốn khó giải (intractable) : tốn mà khơng tồn giải thuật thời gian đa thức để giải chúng Chỉ tồn giải thuật thời gian hàm mũ để giải chúng Những toán NP-đầy đủ Những toán NP-đầy đủ lớp đặc biệt lớp toán NP Những toán P nh Vi en   SinhVienZone.com https://fb.com/sinhvienzonevn 25 ... Bất giải thuật giải tốn thuộc loại NP dùng để giải tố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 toán giải thuật có để tìm lời giải, biến thể lời giải. .. lớp NP giải thời gian đa thức máy tất định.” SinhVienZone. com https://fb .com/ sinhvienzonevn 11 .C om Những toán gọi toán NP -đầy đủ (NP- complete) Zo ne Hình 6.1 nh Vi en NP- complete NP Si P SinhVienZone. com. .. SinhVienZone. com https://fb .com/ sinhvienzonevn 15 Tính khả thu giảm đa thức (tt.) Zo ne C om 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

Ngày đăng: 30/01/2020, 22:02

TỪ KHÓA LIÊN QUAN