Ada banyak masalah di mana kita mengetahui algoritma acak yang efisien, dan kita tidak tahu algoritma deterministik apa pun yang dapat kita buktikan efisien. Namun, ini mungkin mencerminkan kekurangan dalam kemampuan kita untuk membuktikan hal-hal tentang kompleksitas daripada perbedaan mendasar.
Berdasarkan komentar Anda , tampaknya Anda bermaksud bertanya apakah ada masalah di mana ada algoritma acak yang efisien, dan kami dapat membuktikan tidak ada algoritma deterministik efisiensi yang sebanding. Saya tidak tahu masalah seperti itu.
Memang, ada alasan yang masuk akal untuk mencurigai bahwa masalah seperti itu mungkin tidak ada. Secara heuristik, keberadaan masalah seperti itu kemungkinan akan berarti bahwa kriptografi yang aman adalah tidak mungkin. Itu sepertinya hasil yang agak tidak masuk akal.
Apa hubungannya, Anda bertanya? Nah, pertimbangkan algoritma acak yang memecahkan beberapa masalah secara efisien. Itu bergantung pada koin acak: bit acak yang diperoleh dari sumber yang benar-benar acak. Sekarang anggaplah kita mengambil generator pseudorandom berkualitas kriptografi, dan mengganti sumber true-random dengan output dari generator pseudorandom. Panggil algoritma yang dihasilkan . Perhatikan bahwa adalah algoritma deterministik dan waktu yang berjalan kira-kira sama dengan .A ′ A ′ AAA′A′A
Juga, jika PRNG kriptografi aman, heuristik kita harus mengharapkan menjadi algoritma yang baik jika adalah: AA′A
Misalnya, jika adalah algoritma Las Vegas (selalu menghasilkan jawaban yang benar, dan berakhir dengan cepat dengan probabilitas tinggi), maka akan menjadi algoritma deterministik yang cukup bagus (selalu menghasilkan jawaban yang benar, dan berakhir dengan cepat untuk sebagian besar input) .A ′AA′
Sebagai contoh lain, jika adalah algoritma Monte Carlo (waktu berjalan deterministik, dan mengeluarkan jawaban yang benar dengan probabilitas setidaknya ), maka akan menjadi algoritma deterministik yang cukup bagus (waktu berjalan deterministik, dan mengeluarkan yang benar jawaban pada fraksi dari semua input). 1 - ε A 1 - εA′1−εA1−ε
Oleh karena itu, jika PRNG kriptografi aman dan ada algoritma acak yang efisien, Anda mendapatkan algoritma deterministik yang cukup bagus. Sekarang ada banyak konstruksi PRNG kriptografi yang dijamin aman jika asumsi kriptografi tertentu berlaku. Dalam praktiknya, asumsi kriptografi tersebut diyakini secara luas: setidaknya, perdagangan aman dan transaksi bergantung pada anggapan mereka, jadi kami tampaknya bersedia bertaruh sejumlah besar uang dengan adanya kriptografi aman. Satu-satunya cara transformasi ini dapat gagal adalah jika PRNG kriptografi tidak ada, yang pada gilirannya menyiratkan kriptografi aman tidak mungkin. Meskipun kami tidak memiliki bukti bahwa ini bukan masalahnya, sepertinya ini hasil yang tidak mungkin.
Detail konstruksi: Inilah cara kerja . Pada input , berasal benih untuk PRNG kriptografi sebagai fungsi dari (misalnya, dengan hashing ), dan kemudian mensimulasikan , menggunakan output dari PRNG kriptografi sebagai koin untuk . Misalnya, instantiasi spesifik akan mengatur , kemudian gunakan sebagai seed untuk AES256 dalam mode penghitung, atau beberapa PRNG kriptografi lainnya. Kita dapat membuktikan pernyataan di atas dalam model oracle acak. x x x A ( x ) A k = SHA256 ( x ) kA′xxxA(x)Ak=SHA256(x)k
Jika Anda tidak puas dengan gagasan bahwa mungkin menampilkan hasil yang salah pada sebagian kecil input, yang dapat diatasi. Jika Anda mengulangi beberapa kali dan mengambil suara mayoritas, probabilitas kesalahan menurun secara eksponensial dalam jumlah iterasi. Jadi, dengan mengulangi jumlah yang konstan, Anda bisa mendapatkan probabilitas kesalahan bawah , yang berarti kemungkinan Anda menjalankan input mana algoritma menghasilkan jawaban yang salah semakin kecil (kurang dari kemungkinan tersambar petir beberapa kali berturut-turut). Selain itu, dengan konstruksi yang saya berikan di atas, kemungkinan bahwa musuh bahkan dapat menemukan inputA ' ε 1 / 2 256 x x A ' AA′A′ε1/2256xx mana memberikan jawaban yang salah dapat dibuat sangat kecil, karena itu akan membutuhkan melanggar keamanan hash SHA256. (Secara teknis, ini membutuhkan model oracle acak untuk membenarkan, jadi itu berarti bahwa harus dipilih untuk menjadi "independen" dari SHA256 dan bukan perhitungan hardcode di dalamnya yang terkait dengan SHA256, tetapi hampir semua algoritma dunia nyata akan memenuhi persyaratan itu) .)A′A
Jika Anda menginginkan dasar teoritis yang lebih kuat, Anda dapat mengulangi kali, dan mendapatkan probabilitas kesalahan di bawah , di mana adalah panjang input . Sekarang fraksi input bit di mana memberikan jawaban yang salah benar-benar kurang dari . Tetapi hanya ada input bit yang mungkin , dan pada masing-masing benar atau salah, sehingga tidak ada input di mana salah: benar pada semua input, dan ini berlaku tanpa syarat . JikaΘ ( n ) 1 / 2 n n x n A ' 1 / 2 n 2 n n A A ' A ' A t ( n ) A ' Θ ( n ⋅ t ( n ) ) A ' AA Θ(n)1/2nnxnA′1/2n2nnAA′A′Aberjalan dalam waktu , lalu berjalan dalam waktu , jadi sedikit lebih lambat dari tetapi tidak terlalu banyak lebih lambat. Ini adalah isi dari bukti Adleman bahwa BPP terkandung dalam P / poly. Untuk tujuan praktis ini mungkin berlebihan, tetapi jika Anda menyukai bukti bersih yang menghindari asumsi kriptografi atau jika Anda mendekati ini dari sudut pandang ahli teori maka Anda mungkin lebih menyukai versi ini.t(n)A′Θ(n⋅t(n))A′A
Untuk detail lebih lanjut tentang pertimbangan teoretis terakhir dan masalah tambahan di mana kami mengetahui algoritma acak yang efisien tetapi kami tidak tahu algoritma deterministik apa pun yang dapat kami buktikan efisien, lihat /cstheory//q/31195 / 5038
Singkatnya: Untuk masalah di mana kita tahu algoritma acak yang efisien, kita juga tahu algoritma deterministik yang tampaknya cenderung efisien dalam praktiknya - tetapi saat ini kita tidak tahu bagaimana membuktikan bahwa itu efisien. Salah satu interpretasi yang mungkin adalah bahwa kita hanya tidak pandai membuktikan hal-hal tentang algoritma.