Apakah ada cara mudah untuk melihat mengapa NP ada di EXPTIME? Menurut saya apriori dapat dibayangkan bahwa mungkin ada masalah yang membutuhkan waktu super-eksponensial untuk diselesaikan, tetapi solusinya dapat diverifikasi dalam waktu polinomial.
11
Jawaban:
Setiap masalah dalam NP ada di EXPTIME karena Anda dapat menggunakan waktu eksponensial untuk mencoba semua sertifikat yang mungkin atau untuk menyebutkan semua kemungkinan jalur komputasi dari mesin nondeterministic.
Secara lebih formal, ada dua definisi utama NP . Salah satunya adalah bahwa bahasa dalam NP jika ada hubungan R sedemikian rupaL. R
Jadi, jika kita memiliki waktu yang eksponensial dan kita ingin tahu apakah , kita bisa mencoba semua | Σ | p ( n ) nilai yang mungkin untuk ~ y dan lihat apakah ( x , y ) ∈ R untuk semua itu. Itu membutuhkan waktu 2 O ( p ( n ) ) , jadi L ∈x ∈ L |Σ|p(n) y (x,y)∈R 2O(p(n)) L∈ KECUALI .
Atau, kita dapat mendefinisikan NP sebagai set bahasa yang diputuskan oleh mesin Turing nondeterministic waktu polinomial. Dalam hal ini, anggaplah bahwa ditentukan oleh mesin M dalam waktu p ( n ) untuk beberapa polinomial p , untuk input panjang n . Kemudian M membuat paling p ( | x | ) pilihan nondeterministic sementara menentukan apakah x ∈ L . Dengan memeriksa fungsi transisi M , kita dapat menemukan konstanta k sedemikian rupa sehingga M memiliki paling banyakL M p(n) p n M p(|x|) x∈L M k M pilihan nondeterministic pada setiap langkah dari perhitungan (independen dari input), sehingga memiliki paling banyak k p ( | x | ) = 2 O ( p ( | x | ) ) urutan yang berbeda dari pilihan nondeterministic saat membaca masukan x . Dengan waktu yang eksponensial, kami dapat mensimulasikan setiap kemungkinan ini satu demi satu dan melihat apakah ada di antara mereka yang menerimanya.k kp(|x|)=2O(p(|x|)) x
sumber