Có phải


66

Hiện tại, việc giải quyết vấn đề -complete hoặc P S P A C E -complete là không khả thi trong trường hợp chung cho các đầu vào lớn. Tuy nhiên, cả hai đều có thể giải được trong thời gian theo cấp số nhân và không gian đa thức.NPPSPACE

Vì chúng tôi không thể xây dựng các máy tính không đặc biệt hoặc 'may mắn', điều đó có tạo nên sự khác biệt nào cho chúng tôi nếu sự cố là -complete hoặc P S P A C E -complete không?NPPSPACE

Câu trả lời:


82

NPPSPACE

PSPACENPQBFPSPACESATNPPSPACENP

Hãy để tôi trở thành một người ủng hộ của một ác quỷ, và cho bạn một ví dụ trong đó một vấn đề xảy ra là "khó khăn" hơn vấn đề khác, nhưng hóa ra cũng "dễ xử lý" hơn vấn đề khác.

F(x1,,xn)nn

Φ1=(x1)(x2)(xn1)(xn)F(x1,,xn)

Φ2=(x1)(x2)(xn1(xn)F(x1,,xn)

Φ2

Φ1Φ2

Φ1NPΦ2PSPACEΦ2Φ1F2nΦ2FO(2.793n)

Trực giác là việc thêm các bộ định lượng phổ quát thực sự hạn chế vấn đề , làm cho nó dễ giải quyết hơn thay vì khó hơn. Thuật toán tìm kiếm cây trò chơi phụ thuộc rất nhiều vào việc có các bộ định lượng xen kẽ và không thể xử lý các định lượng tùy ý. Tuy nhiên, vấn đề vẫn là các vấn đề đôi khi có thể trở nên "đơn giản" hơn theo một biện pháp phức tạp, mặc dù chúng có thể trông "khó khăn" hơn theo một biện pháp khác.


16
Câu trả lời hay, và một thú vị.
Suresh Venkat

Tôi nhận thấy rằng ở trên là một ví dụ khá hay về ý nghĩa của chúng tôi về "độ phức tạp hạt mịn" (một chương trình mùa thu 2015 tại Viện Simons). Một trong những ý tưởng quan trọng là lý thuyết phức tạp có thể trông khá khác biệt khi, thay vì cố gắng tìm ra cho mỗi vấn đề một mô hình tính toán (có khả năng kỳ quái) mà vấn đề đó là "hoàn thành", người ta chỉ tập trung vào tìm hiểu thời gian chạy tốt nhất có thể là gì số mũ cho vấn đề.
Ryan Williams

37

Nó không thành vấn đề, bởi vì có nhiều nguy cơ hơn là liệu chúng ta có thể tìm ra giải pháp hay không. Ngoài ra mối quan tâm là liệu chúng ta có thể xác minh các giải pháp. Sự khác biệt về chất lượng khác có thể được tạo ra giữa độ khó của các vấn đề, nhưng đối với NP so với các lớp phức tạp lớn hơn, đây sẽ là thứ tôi xác định là quan trọng nhất.

Đối với các vấn đề quyết định - các vấn đề mà mọi trường hợp đều có câu trả lời ' ' hoặc ' KHÔNG ' - NP chính xác là loại vấn đề mà chúng tôi có thể xác minh một cách hiệu quả một bằng chứng rõ ràng rằng một trường hợp cụ thể là một trường hợp ' ', một cách xác định, nếu chúng tôi được trình bày với một. Ví dụ: nếu bạn có một phép gán biến thỏa mãn cho một thể hiện của 3-SAT, phép gán đó cho phép bạn chứng minh một cách hiệu quả rằng thể hiện đó là thỏa đáng. Một nhiệm vụ thỏa mãn như vậy có thể khó tìm, nhưng một khi bạn có một, bạn có thể dễ dàng chứng minh cho người khác thấy rằng trường hợp đó là thỏa đáng chỉ bằng cách họ xác minh giải pháp bạn đã tìm thấy.

Tương tự, đối với coNP , tồn tại bằng chứng có thể kiểm tra hiệu quả đối với các trường hợp ' KHÔNG '; và đối với các sự cố trong NP  ∩  coNP , bạn có thể thực hiện cả hai. Nhưng đối với các vấn đề hoàn chỉnh của PSPACE , không có quy trình nào như vậy tồn tại - trừ khi bạn có thể chứng minh một số đẳng thức khá ngoạn mục của các lớp phức tạp.


Tôi nghĩ rằng câu hỏi là về phiên bản "tối ưu hóa" của các vấn đề NP-Complete và PSPACE-perfect. Chẳng hạn, có sự khác biệt nào (về mức độ phức tạp) giữa việc tìm giải pháp cho SAT và cho QBF không? Và nói chung, có một đặc điểm của các vấn đề tối ưu hóa của phiên bản quyết định nào là NP-Complete hoặc PSPACE-perfect?
Lamine

@Lamine: Tôi không phát hiện ra sự khác biệt mà bạn đang đưa ra trong câu hỏi (ít nhất, giữa quyết định đơn thuần và tối ưu hóa hoàn toàn). Có lẽ bạn có nghĩa là người hỏi chỉ quan tâm đến câu hỏi về các nguồn lực cần thiết để tìm ra câu trả lời đó và không quan tâm đến các biện pháp khó khăn khác của vấn đề, trong trường hợp đó tôi đồng ý rằng câu trả lời của tôi không trả lời điều này. Trong mọi trường hợp, trên đây là câu trả lời của tôi cho câu hỏi như nó đứng.
Niel de Beaudrap

5
Câu trả lời rất hay.
Dave Clarke

Khả năng xác minh hiệu quả không giúp ích gì trong việc tính toán một giải pháp (trừ khi P = NP). NP và co-NP cho phép tấn công vấn đề thông qua đoán và xác minh. Cách tiếp cận này dễ thực hiện và thậm chí có thể hiệu quả hơn, nhưng nó không giúp ích gì trong trường hợp xấu nhất.
András Salamon

@ András: đúng - do đó tôi nhấn mạnh rằng việc tìm giải pháp không phải là điều quan trọng duy nhất trong lời nói đầu cho câu trả lời của tôi.
Niel de Beaudrap

36

Chúng tôi không biết cách tạo các bài toán khó trong trường hợp trung bình từ các bài toán hoàn thành NP (trường hợp xấu nhất) nhưng chúng tôi có thể làm điều này cho PSPACE (xem Köbler & Schuler (1998) ) để tạo ra các vấn đề ngay cả trên bản phân phối thống nhất không thể có đã giải quyết trên hầu hết các đầu vào trừ khi tất cả PSPACE dễ tính toán.


20

Từ khía cạnh thực tế, điều quan trọng cần nhớ là NP-Complete không phải là rào cản đối với nhiều vấn đề trong thực tế. Các công cụ sinh đôi của bộ giải SAT và CPLEX (đối với lập trình tuyến tính số nguyên) đủ mạnh và được thiết kế tốt đến mức thường có thể giải quyết các trường hợp lớn của các vấn đề hoàn thành NP bằng cách đóng khung vấn đề như một ILP phù hợp hoặc bằng cách giảm xuống SAT.

Tôi không biết các bộ giải được thiết kế tốt tương tự cho các vấn đề trong PSPACE.



7

Bạn có thể nghĩ về nó theo cách này: một vấn đề toán học có một bằng chứng mà con người có thể đọc được hay nó vốn yêu cầu một "bằng chứng máy tính". Ví dụ: vị trí bắt đầu của người kiểm tra có được rút ra không? (Trả lời: có.) Vị trí bắt đầu của cờ vua có phải là chiến thắng cho màu trắng không? (Trả lời: chưa biết, nhưng hầu hết các học sinh tốt nghiệp nghĩ rằng đó là một trận hòa.)

Bằng chứng là vị trí bắt đầu của người kiểm tra là một kết quả cuối cùng đòi hỏi người ta phải chấp nhận rằng máy tính thực sự đã xác minh chính xác rất nhiều trường hợp đặc biệt. Nếu một bằng chứng về cờ vua từng tồn tại, có lẽ nó sẽ yêu cầu độc giả của con người chấp nhận rằng một máy tính được xác minh chính xác thậm chí nhiều trường hợp đặc biệt hơn. Và nó cũng có thể là không có phương pháp ngắn hơn để chứng minh những tuyên bố đó. Đó là những vấn đề trong PSPACE. Nếu một vấn đề là "chỉ" trong NP, thì (theo trực giác) một con người có thể giữ toàn bộ bằng chứng trong đầu. Con người đó có thể cần phải là một nhà toán học rất chuyên môn, tất nhiên.

n1000000


Người ta cũng có thể lập luận rằng các vấn đề hoàn thành coNP có vấn đề này (đôi khi) đòi hỏi phải có "bằng chứng máy tính?"
Philip White

@Philip White: Tôi không nghĩ nó giống nhau. Nói "cờ một trận hòa" là trong coNP. Nói không, tất cả những gì tôi phải làm là chứng minh một dòng cưỡng bức duy nhất có thể kiểm chứng dễ dàng. Tuy nhiên, chúng tôi hy vọng rằng, ngay cả khi một dòng như vậy tồn tại, có lẽ sẽ rất khó để chứng minh rằng nó thực sự là "cưỡng bức". Vì vậy, vấn đề không đảm bảo tính đơn giản nếu nó có thể giải quyết được theo một hướng cụ thể. "Cờ vua là một trận hòa" có lẽ vốn đã cần một máy tính để chứng minh, cho dù đó là đúng hay sai.
Aaron Sterling

5

Hơn nữa với nhận xét của Suresh, dường như có một sự khác biệt lớn trong thực tế. Có những heuristic quản lý để khai thác cấu trúc của các trường hợp SAT thực tế và có được hiệu suất tuyệt vời (tôi đề cập đến những người giải quyết điều khoản học tập theo xung đột ở đây). Các heuristic tương tự không tạo ra các cải tiến hiệu suất tương tự trong các bộ giải QBF.

Sự khác biệt giữa bằng chứng và xác minh cũng hiển thị. Một số người giải SAT (như MiniSAT 1.14 và một loạt người khác) đưa ra bằng chứng. Sản xuất bằng chứng trong các bộ giải QBF hiện tại là không tầm thường. (Tuyên bố tiếp theo là từ tin đồn) Có những trường hợp lớn trong cuộc thi QBF mà người giải quyết rõ ràng tạo ra kết quả khác nhau. Trong trường hợp không có người giải quyết tạo bằng chứng, chúng tôi không biết kết quả nào là đúng.


0

Nếu bạn nhìn vào hiệu suất thực tế trên SAT và cờ vua, thì có một sự khác biệt - các vấn đề hoàn thành NP dễ xử lý hơn các vấn đề hoàn thành PSPACE. Người giải SAT ngày nay có thể xử lý hơn một nghìn biến số, nhưng công cụ cờ vua tốt nhất, trong cùng một khoảng thời gian, chỉ có thể tính toán dưới 20 lần di chuyển.

Tôi đoán điều này là do cấu trúc của các vấn đề. Có, nếu bạn chỉ liệt kê các giải pháp, giải SAT là siêu chậm. Nhưng vì nó không có sự thay thế định lượng, mọi người khám phá các cấu trúc trong công thức và do đó tránh được nhiều liệt kê. Tôi nghĩ Ryan Williams đã bỏ qua điểm này.

Với xen kẽ định lượng, vâng, có những phương pháp cắt tỉa thông minh, nhưng cấu trúc vẫn không phong phú như công thức CNF.

Hãy để tôi dự đoán tương lai. Giải SAT sẽ làm cho P bằng cách kiểm tra công thức và về cơ bản tránh tìm kiếm, trong khi cờ vua sẽ làm cho P bằng cách tận dụng tìm kiếm trong cây trò chơi.

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.