Giải thích của tôi về câu hỏi đó là hỏi về các khả năng trong thế giới tương đối hóa . Giả sử rằng trong một số thế giới tương đối hóa, P ≠ N P . Chúng ta có thể suy luận bất cứ điều gì không tầm thường về sự phức tạp thời gian của các vấn đề hoàn thành NP không? Các Baker-Gill-Solovay lập luận cho thấy rằng chúng ta có thể "ép buộc" một số vấn đề NP đòi hỏi thời gian mũ, do đó giới hạn trên được đưa ra trong câu hỏi là về cơ bản tối ưu.P≠NP
Về giới hạn dưới, chúng tôi phác thảo bên dưới một bằng chứng liên quan đến một số lời sấm, N P = T I M E ( 2 O ( log 2 n ) ) . Giả sử rằng bằng chứng phác thảo là chính xác, chúng ta cũng có thể áp dụng nó cho các hàm nhỏ hơn 2 O ( log 2 n ) và điều này cho thấy giới hạn dưới được đưa ra trong câu hỏi về cơ bản là chặt chẽ.NP=TIME(2O(log2n))2O(log2n)
Bằng chứng phác thảo. Chúng tôi xây dựng hai phép lạ O 1 , O 2 : đầu tiên hoạt động giống như một vấn đề hoàn chỉnh T I M E ( 2 O ( log 2 n ) ) và lần thứ hai thực hiện đường chéo Baker Baker Gill Muff Solovay. Thật đơn giản để đóng gói cả hai nhà tiên tri vào một nhà tiên tri duy nhất.O1,O2TIME(2O(log2n))
Nhà tiên tri O 1 bao gồm tất cả các cặp ⟨ M , x ⟩ mà M là một máy Turing oracle chấp nhận x trong thời gian chạy 2 2 √O1⟨M,x⟩Mxđăng nhập | x | khi được tiếp cận với các thầy moO1,O2hạn chế việc xâm nhập của chiều dài tối đa là2√22log|x|√O1,O2đăng nhập | x | . (Đây không phải là một định nghĩa tròn.)2log|x|√
Nhà tiên tri O 2 được định nghĩa trong cùng một cách mà nhà tiên tri được quy định tại Baker-Gill-Solovay: cho mỗi oracle tốc độ xử lý Turing máy M chạy trong thời gian T = 2O2M o ( log 2 n ) , chúng tôi tìm thấy một số chiều dài đầu vàonlà "không được chạm", chạyMtrên 1 n chocác bướcTvà với mỗi truy vấn tới O 2 có kích thướcn, chúng tôi đánh dấu rằng đầu vào này không nằm trong O 2 (đối với các truy vấn khác, chúng tôi cũng đánh dấu rằng đầu vào không có ở đó, trừ khi chúng tôi đã quyết định rằng nó ở OT=2o(log2n)nM1nTO2nO22 ). Các truy vấn đến O 1 được xử lý tương tự (như các truy vấn ngầm đối với O 1 , O 2 có kích thước nhỏ hơn, được xử lý đệ quy); thông báo rằng truy vấn như vậy không bao giờ đề cập đến chuỗi có độ dài n trong O 2 , vì 2 √O2O1O1,O2nO2đăng nhập T <n. Nếu máy chấp nhận, chúng tôi đánh dấu tất cả các chuỗi có độ dàintrongO2là thiếu, nếu không, chúng tôi chọn một số chuỗi có độ dàinvà đặt nó vàoO2.2logT√<nnO2nO2
Lớp P O 1 , O 2 bao gồm tất cả các chương trình đang chạy trong thời gian 2 2 O ( √PO1,O2log n ), làm cho các truy vấn đểO1,O2kích thước2O(√22O(logn√)O1,O2log n ). LớpNPO1,O2có dạngx↦∃| y| <nCφ(2O(logn√)NPO1,O2 x , y ) , nơi φ ∈ P O 1 , O 2 , và vì vậy nó được chứa trong lớp của tất cả các chương trình đang chạy trong thời gian 2 n C và làm cho các truy vấn oracle kích thước
2 O ( √x↦∃|y|<nCφ(x,y)φ∈PO1,O22nClog n ). Cái sau được chứa trongTIME(2log2nC)O1,O2, vì chúng ta có thể sử dụngO1để quyết định nó. Điều này cho thấyNPO2O(logn√)TIME(2log2nC)O1,O2O1 1 , O 2 ⊆TIME(2 O ( log 2 n ) ) O 1 , O 2 .NPO1,O2⊆TIME(2O(log2n))O1,O2
Đối với hướng khác, gọi L là ngôn ngữ bao gồm 1 n cho mỗi n sao cho O 2 chứa một số chuỗi có độ dài n . Bằng cách xây dựng O 2 , L ∉ T I M E ( 2 o ( logL1nnO2nO2 2 n ) ) O 1 , O 2 , trong khi rõ ràngL∈NP O 1 , O 2 . Điều này cho thấyNPL∉TIME(2o(log2n))O1,O2L∈NPO1,O2O 1 , O 2 =TIME(2 O ( log 2 n ) ) O 1 , O 2 .NPO1,O2=TIME(2O(log2n))O1,O2