Hoàn thành yếu và mạnh


7

Thuật toán giả đa thức cho chúng ta biết gì về vấn đề mà nó giải quyết? Tôi không thấy thời gian chạy cải thiện như thế nào nếu thuật toán theo cấp số nhân về độ dài đầu vào và đa thức trong giá trị đầu vào; vậy làm thế nào để chúng tôi giải thích sự thay đổi này từ cấp số nhân sang đa thức?


Bạn có ý nghĩa gì bởi "cải thiện"? Liên quan đến cái gì?
Raphael

@Raphael Phần đa thức đến từ đâu?
saadtaame

Câu trả lời:


6

Như đã nêu trong " Máy tính và Độ hấp dẫn: Hướng dẫn về Lý thuyết hoàn thành NP " Thuật toán giả thời gian đa thức sẽ chỉ hiển thị ' hành vi theo cấp số nhân ' khi đối mặt với các trường hợp chứa số ' lớn theo cấp số nhân ', có thể hiếm gặp các ứng dụng mà chúng ta quan tâm. Nếu vậy, loại thuật toán này có thể phục vụ các mục đích của chúng ta gần như cũng như một thuật toán thời gian đa thức.

Bạn có thể coi ba lô là một ví dụ điển hình cho vấn đề Np Complete yếu . Trong trường hợp này, độ phức tạp của giải pháp lập trình động là , trong hầu hết các trường hợp thực tế .O(nW)

Được biết, không có thuật toán thời gian giả đa thức cho các vấn đề NP-Complete mạnh (như Steiner Tree ) trừ khi P = NP.


Điều này có nghĩa là các thuật toán giả ngẫu nhiên hoạt động cho các vấn đề lấy đầu vào số (như ngụ ý từ câu trả lời của bạn)?
saadtaame 14/2/13

@saadtaame: Có, điểm mấu chốt là chúng là các vấn đề về số trong đó thời gian chạy liên quan đến dữ liệu đầu vào số.
Reza

1

Câu trả lời này liên quan đến các thuật toán quasipolynomial chứ không phải là các thuật toán giả .

Một thuật toán quasipolynomial cho chúng ta biết rằng vấn đề có lẽ không phải là NP-hard. Giả thuyết thời gian theo cấp số nhân (ETH) thường được tin là 3SAT trênn các biến đòi hỏi thời gian 2Ω(n). Vì 3SAT nằm trong NP, ETH ngụ ý rằng bất kỳ vấn đề hoàn thành NP nào cũng cần có thời gian2nΩ(1), phát triển nhanh hơn quasipolynomial (giả sử sau này có nghĩa là 2logO(1)n).


Nhưng có rất nhiều vấn đề NP-hard với thuật toán giả đa thức.
Raphael

Bạn có thể đưa ra một ví dụ không?
Yuval Filmus

1
giả đa thức không giả sử: 2logO(1)nnó có định nghĩa rất rõ ràng Ngoài ra tôi đã không thấy một giả định như vậy ở bất cứ đâu, bạn có thể cung cấp bất kỳ tài liệu tham khảo nào không? Ngoài ra Raphael cũng đúng, đối với tất cả các vấn đề thuộc về np-compelete yếu (có nghĩa là chúng cũng khó np) có thuật toán thời gian đa thức giả.

Pseudo-polynomial có nghĩa là những thứ khác nhau cho những người khác nhau. Theo giả thuyết thời gian theo cấp số nhân, google có khá nhiều tệp trên đó.
Yuval Filmus

1
Không, thực sự 2O(logn)=nO(1), 2logO(1)nlà quasipolynomial (ah - đó là thuật ngữ chính xác!). Lớp phức tạp2nO(1)thường được gọi là subexponential.
Yuval Filmus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.