Interpretasi saya atas pertanyaan ini adalah yang ditanyakan tentang kemungkinan-kemungkinan dalam dunia yang direlatifikasi . Misalkan di beberapa dunia menisbikan, P ≠ N P . Bisakah kita menyimpulkan sesuatu yang tidak sepele tentang kompleksitas waktu dari masalah NP-complete? The Baker-Gill-Solovay argumen menunjukkan bahwa kita dapat "memaksa" beberapa masalah NP membutuhkan waktu eksponensial, sehingga batas atas diberikan dalam pertanyaan dasarnya optimal.P≠NP
Mengenai batas bawah, kami membuat sketsa di bawah bukti yang relatif terhadap beberapa oracle, N P = T I M E ( 2 O ( log 2 n ) ) . Dengan asumsi bahwa bukti sketsa itu benar, kita juga dapat menerapkannya pada fungsi yang lebih kecil dari 2 O ( log 2 n ) , dan ini menunjukkan bahwa batas bawah yang diberikan dalam pertanyaan juga pada dasarnya ketat.NP=TIME(2O(log2n))2O(log2n)
Sketsa bukti. Kami membuat dua nubuat O 1 , O 2 : yang pertama berperilaku seperti T I M E ( 2 O ( log 2 n ) ) -lengkap masalah, dan yang kedua mengimplementasikan diagonalisasi Baker – Gill – Solovay. Sangat mudah untuk mengemas kedua oracle menjadi satu oracle tunggal.O1,O2TIME(2O(log2n))
Oracle O 1 terdiri dari semua pasangan ⟨ M , x ⟩ sehingga M adalah mesin oracle Turing yang menerima x dalam menjalankan waktu 2 2 √O1⟨M,x⟩Mxlog | x | ketika diberi akses ke oracleO1,O2terbatas pada input dengan panjang maksimal2√22log|x|√O1,O2log | x | . (Ini bukan definisi lingkaran.)2log|x|√
Oracle O 2 didefinisikan dengan cara yang sama seperti oracle didefinisikan dalam Baker-Gill-Solovay: untuk setiap oracle clocked mesin Turing M berjalan dalam waktu T = 2 o ( log 2 n ) , kami menemukan beberapa panjang input n yang merupakan "tak tersentuh", jalankan M pada 1 n untuk langkah T , dan untuk setiap kueri ke O 2 dengan ukuran n , kami menandai bahwa input ini tidak ada di O 2 (untuk kueri lain, kami juga menandai bahwa input tidak ada di sana, kecuali kami sudah memutuskan bahwa itu di OO2MT=2o(log2n)nM1nTO2nO22 ). Permintaan ke O 1 ditangani dengan cara yang sama (sebagai permintaan implisit ke O 1 , O 2 dengan ukuran yang lebih kecil, ditangani secara rekursif); perhatikan bahwa permintaan seperti itu tidak pernah menyebutkan string panjang n dalam O 2 , karena 2 √O2O1O1,O2nO2log T <n. Jika mesin menerima, kami menandai semua string panjangndiO2sebagai hilang, jika tidak kami memilih beberapa string dengan panjangndan memasukkannya ke dalamO2.2logT√<nnO2nO2
Kelas P O 1 , O 2 terdiri dari semua program yang berjalan dalam waktu 2 2 O ( √PO1,O2log n ), membuat kueri keO1,O2dari ukuran2O(√22O(logn√)O1,O2log n ). KelasNPO1,O2adalah dalam bentukx↦∃| y| <nCφ(x,y), di manaφ∈PO1,O2, dan itu terkandung dalam kelas semua program yang berjalan dalam waktu2nCdan membuat permintaan oracle ukuran
2O( √2O(logn√)NPO1,O2x↦∃|y|<nCφ(x,y)φ∈PO1,O22nClog n ). Yang terakhir terkandung dalamTIME(2log2nC)O1,O2, karena kita dapat menggunakanO1untuk memutuskannya. Ini menunjukkan bahwaNPO1,O2⊆TIME(2O(log2n))O1,O2.2O(logn√)TIME(2log2nC)O1,O2O1NPO1,O2⊆TIME(2O(log2n))O1,O2
Untuk arah yang lain, misalkan L menjadi bahasa yang terdiri dari 1 n untuk setiap n sehingga O 2 berisi beberapa string dengan panjang n . Dengan konstruksi O 2 , L ∉ T I M E ( 2 o ( log 2 n ) ) O 1 , O 2 , sementara jelas L ∈ N P O 1 , O 2 . Ini menunjukkan bahwa N PL1nnO2nO2L∉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