Một lời tiên tri để tách NP khỏi coNP


12

Làm thế nào để chứng minh rằng ? Tôi chỉ tìm kiếm một TM M như vậy và một ngôn ngữ đệ quy L ( M ) = L mà cái này giữ.NPAcoNPAML(M)=L

Tôi biết các bằng chứng mà bạn thấy rằng có một lời sấm ví dụ mà P MộtN P A và một oracle Một ví dụ mà P Một = N P Một . Tôi có một gợi ý rằng tôi nên tìm ra lời tiên tri A bằng cách mở rộng bằng chứng về P AN P A nhưng bất cứ nơi nào tôi tìm kiếm và đọc, nó "rõ ràng" hoặc "đơn giản" ở mọi nơi nhưng tôi không thấy cách nào chứng minh điều đó .APANPAAPA=NPAAPANPA


6
Không rõ liệu bạn đã theo dõi gợi ý. Tôi ngạc nhiên khi biết rằng là hiển nhiên, nhưng bạn có thể tìm thấy những bằng chứng trong (ví dụ) tính toán phức tạp: Một cách tiếp cận hiện đại bởi Arora và Barak. PANPA

Câu trả lời:


9

Như Max cho biết việc sửa đổi không phải là khó khăn, tôi đề nghị rằng bạn không đọc phần còn lại của câu trả lời này và suy nghĩ về vấn đề này một chút cắn hơn, chỉ có một phần mà cần sửa đổi và ghi nhớ định nghĩa khi một máy chấp nhận sẽ giúp bạn sửa phần đó.coNP

Tôi sẽ giải thích các sửa đổi cần thiết dưới đây, nhưng trước tiên chúng ta hãy có một cái nhìn ngắn gọn về bằng chứng ban đầu.

Trong chứng cứ gốc được xây dựng trong các bước nơi ở bước i với đảm bảo rằng tôi thứ máy trong P , M i , không quyết định ngôn ngữ { x | y A | x | = | y | } chính xác. Lưu ý rằng các thiết lập là trong N P Một .A=nAniiPMi{xyA |x|=|y|}NPA

Chúng tôi đạt được điều này bằng cách mô phỏng bằng cách sử dụng phần A mà chúng tôi đã xây dựng trên 0 m trong đó m đủ lớn (chuỗi dài hơn chuỗi được xem xét trong các bước trước). M i chấp nhận, chúng tôi không thêm bất cứ điều gì, nếu nó từ chối, chúng tôi sẽ thêm một chuỗi có độ dài mM tôi không tạo truy vấn cho tập hợp (Một chuỗi như vậy tồn tại vì có nhiều chuỗi có độ dài m nhưng M i không thể hỏi về tất cả chúng trong thời gian đa thức). Chúng tôi sẽ không sửa đổi phần này của A trong các bước trong tương lai (nghĩa là các chuỗi có độ dài mMiA0mmMimMimMiAmhoặc ít hơn sẽ giữ nguyên). Điều này đảm bảo rằng sẽ không quyết định ngôn ngữ chính xác và hoàn thành bằng chứng.MiA

Bây giờ, giả sử rằng các máy là trong c o N P ở vị trí của P . Chúng tôi cần phải sửa đổi các bằng chứng để đảm bảo rằng M Một tôi sẽ không nhận ra L . Nếu nó chấp nhận, chúng tôi giữ A như trước và mọi thứ hoạt động tốt như trong bằng chứng ban đầu. Nếu nó từ chối, chúng ta cần thêm một chuỗi vào tập hợp để đảm bảo nó không trả lời đúng. Chúng ta vẫn có thể mô phỏng M i với phần A chúng ta có, vấn đề là M i có thể truy vấn tất cả các chuỗi có độ dài n . Đây là cách a c oMicoNPPMiALAMiAMin hoạt động trở nên quan trọng. Nó chấp nhận nếu và chỉ khitất cảcác đường dẫn tính toán chấp nhận. Vì nó đang từ chối trong trường hợp này, có một đường dẫn tính toán đang từ chối. Miễn là chúng ta giữ nguyên đường dẫn này, mọi thứ sẽ hoạt động, vì vậy chúng ta chỉ cần giữ câu trả lời cho các truy vấn trong đường dẫn đó như cũ. Số lượng truy vấn trong đường dẫn này là đa thức (vì máy chạy trong thời gian đa thức), do đó, có các chuỗi có độ dài m mà đường dẫn không truy vấn, chỉ cần thêm một trong số chúng vào A và phần còn lại của chứng minh hoạt động như trước.coNPmA

Các bước là thuật toán, do đó, tập hợp được đệ quy (phần thiết yếu của cấu trúc là có thể mô phỏng các máy có thể được thực hiện theo D S p a c e ( n ω ( 1 ) ) ).ADSpace(nω(1))


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.