Làm thế nào tôi có thể chỉ ra rằng định lý Cook-Levin không tương đối hóa?


7

Sau đây là một bài tập mà tôi bị mắc kẹt tại (nguồn: Sanjeev Arora và Boaz Barak; nó không phải là bài tập về nhà):

Chứng minh rằng có một oracle và một ngôn ngữ ví dụ rằng không phải là thời gian đa thức rút gọn về 3SAT ngay cả khi máy tính giảm được phép truy cập .AALNPALNPALLAA


Những gì tôi đã cố gắng là, hãy coi là tiên tri để tạm dừng vấn đề và để . Với nhiệm vụ này, tôi đảm bảo và không thể giảm đa thức thành 3SAT nếu oracle không được cung cấp cho máy thực hiện giảm. Mặc dù để ánh xạ một thể hiện tôi sẽ phải tìm kiếm trong suốt chuỗi ngay cả khi oracle được cung cấp cho máy rút gọn. Nhưng điều này dường như không phải là một bằng chứng cho sự vắng mặt của việc giảm đa thức trong trường hợp này.AAL={1n|M,ws.t.|M,w|=n and Turing machine M halts on w}L={1n|M,ws.t.|M,w|=n and Turing machine M halts on w}

LNPALNPALL1n1n2n2n

Có cách nào để chứng minh nó bằng cách sử dụng ví dụ tương tự không? Có một ví dụ đơn giản hơn?



Đây không phải là câu hỏi gần giống như Baker Gill Solovay 1975 ?
vzn

Câu trả lời:


8

Vui lòng tham khảo Định lý Cook Levin có tương đối không? .

Cũng tham khảo bài viết của Arora, Implagiazo và Vazirani: Kỹ thuật tương đối hóa so với không tương thích: Vai trò của kiểm tra cục bộ .

Trong bài báo của Baker, Gill và Solovay (BGS) về thuyết tương đối hóa của P =? Câu hỏi NP (Tạp chí SIAM về máy tính, 4 (4): 431 Chiếc442, tháng 12 năm 1975) họ đưa ra một ngôn ngữ và sao cho và , do đó chứng minh rằng có thầy mo mà .BBUBUBUBNPBUBNPBUBPBUBPBBBPBNPBPBNPB

Chúng tôi sẽ sửa đổi và thành và để chúng tôi có được một ngôn ngữ mới không thể giảm xuống 3SAT ngay cả khi có sẵn như một lời tiên tri.UBUBBBUBUBBBBB

Trước tiên, giả sử rằng chúng ta có thể đệm mọi boolean thành với một số biểu thức 3CNF giả khác sao cholà số lẻ và chúng tương đương nhau, nghĩa là là thỏa đáng iff là thỏa đáng. Chúng ta có thể làm điều đó trong thời gian và với phần đệm , nhưng ngay cả khi phải mất thời gian đa thức và phần đệm đa thức thêm thì cũng không thành vấn đề.3SAT3SATϕϕϕϕ|ϕ||ϕ|ϕϕϕϕn+O(1)n+O(1)O(1)O(1)

Bây giờ chúng ta cần kết hợp và với bằng cách nào đó để định lý BGS vẫn giữ nhưng thêm . Vì vậy, chúng tôi làm một cái gì đó như sau.BB3SAT3SATBB3SATPB3SATPB

UB={1n  |  xB,UB={1n  |  xB, sao cho và|x|=12n}|x|=12n}

B=Bconstructed {ϕ  |  ϕ3SATB=Bconstructed {ϕ  |  ϕ3SAT vàlà số lẻ .|ϕ||ϕ|}}

Bây giờ chúng ta sẽ xây dựng theo định lý sao cho nếu máy xác định cho đầu vào ( được xác định như trong định lý) sẽ hỏi nhà tiên tri một truy vấn có độ dài lẻ kiểm tra xem nó có trong và trả lời đúng nhưng nếu nó hỏi một truy vấn có độ dài bằng nhau, chúng tôi tiến hành xây dựng, nghĩa là trả lời đúng nếu nó đã có trong bảng, nếu không thì trả lời không phải lúc nào. Sau đó, vì chúng tôi đang chạy trong chúng tôi lật các câu trả lời ở độ dài để không quyết định .BconstructedBconstructedMBiMBi1n1nnnBB3SAT3SAT1n1n2n2nMBiMBiUBUB

Chúng ta có thể chứng minh tương tự như trong định lý BGS rằng với và , chúng ta có và .BBUBUBUBNPBUBNPBUBPBUBPB

UBNPBUBNPB rất dễ chứng minh. Chúng tôi xây dựng một Máy Turing không xác định, cho đầu vào tạo ra các nhánh không xác định chạy trong bước để tạo chuỗi -thngthth khác nhau và sau đó hỏi orory nếu chuỗi -thngthth nằm trong , và nếu câu trả lời là có, nó chấp nhận nếu không nó sẽ từ chối . Cấu trúc này cho thấy .1n1n2n2n2n2nBB2n2nBB1n1n1n1nUBNPBUBNPB

UBPBUBPB có thể được chứng minh với sự trợ giúp của đối số đường chéo. Về cơ bản, nó khác với mọi cho mọi Máy Turing orory có là một nhà tiên tri. Điều này là do cách chúng tôi xây dựng .L(MBi)L(MBi)BBBconstructedBconstructed

Bây giờ chúng ta sẽ chứng minh bằng mâu thuẫn rằng không tồn tại sự giảm từ xuống ngay cả khi có sẵn .UBUB3SAT3SATBB

Giả sử có sự giảm bằng cách sử dụng oracle , tức là, .BBUBBP3SATUBBP3SAT

Điều đó có nghĩa là chúng ta có thể giảm một chuỗi có dạng xuống một thể hiện 3SAT bằng cách sử dụng máy xác định thời gian đa thức sử dụng làm tiên tri.1n1nϕϕBB

Bây giờ chúng ta có thể mô tả một TM xác định sẽ quyết định các chuỗi trong thời gian đa thức sử dụng như một lời tiên tri. Đầu tiên, máy này giảm đầu vào xuống còn 3SAT bằng cách sử dụng như một lời tiên tri. Điều này có thể được thực hiện bởi vì chúng tôi có giảm ở trên. Sau đó, nếu không phải là độ dài lẻ sẽ đệm nó để tạo là độ dài lẻ. Tiếp theo, nó sẽ đưa cho orory và nhận được câu trả lời có / không. Nó sẽ chấp nhận nếu câu trả lời là có và từ chối nếu câu trả lời là không.MBMBUBUBBB1n1nϕϕBBϕϕMBMBϕϕϕϕBB

Máy này là đa thức xác định và sử dụng orory .BB

Do đó, chúng tôi đã chứng minh rằng , một mâu thuẫn .UBPBUBPB

Do đó, .UBBP3SATUBBP3SAT


Làm thế nào là có thể? Tôi sẽ quyết định thành viên của trong thời gian đa thức và ánh xạ nó thành một công thức SAT nhỏ tùy thuộc vào thành viên của chuỗi. Tui bỏ lỡ điều gì vậy ? LPBLPBLL
sashas

Liên kết đầu tiên không đưa ra bằng chứng. Bạn có thể đưa ra bất kỳ gợi ý nào tại sao ngôn ngữ được đề cập trong Sanjeev Arora và Barak không thể rút ngắn thời gian đa thức thành 3SAT. Ngoài ra liên kết thứ hai không hoạt động. UB
sashas

Làm thế nào để ? Có phải mỗi nhánh của máy Turing không xác định chạy trong 2 ^ n không? UBNP
sashas

1
Lưu ý tôi đã xác định lại . Ngoài ra . Nó có thể không (không !!) thuộc về . UBUBNPBNP
Shreesh

1
Mỗi nhánh chạy trong bước để tạo chuỗi -thngthth khác nhau và sau đó hỏi orory nếu nó ở , và nếu câu trả lời là có, nó chấp nhận nếu không nó sẽ từ chối . 2n2nB1n
Shreesh
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.