Dalam pengantar dan penjelasan kompleksitas P dan NP sering diberikan melalui mesin Turing. Salah satu model perhitungan adalah lambda-calculus. Saya mengerti, bahwa semua model perhitungan adalah setara (dan jika kita dapat memperkenalkan apa pun dalam istilah mesin Turing, kita dapat memperkenalkan ini dalam istilah model komputasi apa pun), tetapi saya tidak pernah melihat ide penjelasan kelas kompleksitas P dan NP melalui lambda-calculus . Adakah yang bisa menjelaskan pengertian kelas kompleksitas P dan NP tanpa mesin Turing dan hanya dengan kalkulus lambda sebagai model perhitungan.
36
Jawaban:
Turing- Machines danλ -calculus hanya setara dengan fungsi N→N dapat mereka tentukan.
Dari sudut pandang kompleksitas komputasi mereka tampaknya berperilaku berbeda. Alasan utama orang menggunakan mesin Turing dan bukanλ -kalkulus untuk alasan kompleksitas adalah bahwa menggunakan λ -kalkulus secara naif mengarah pada langkah-langkah kompleksitas yang tidak realistis, karena Anda dapat menyalin istilah (ukuran sewenang-wenang) secara bebas dalam langkah-langkah pengurangan β tunggal , misalnya (λx.xxx)M→MMM. Dengan kata lain, langkah reduksi tunggal dalam λ -kalkulus adalah model biaya yang buruk. Sebaliknya, langkah-langkah pengurangan mesin Turing tunggal bekerja sangat baik (dalam arti menjadi prediktor yang baik untuk menjalankan-waktu program dunia nyata).
Tidak diketahui bagaimana sepenuhnya memulihkan teori kompleksitas berbasis mesin Turing konvensional dalamλ -kalkulus. Dalam terobosan baru - baru ini (2014), Accattoli dan Dal Lago
berhasil menunjukkan bahwa kelas besar kompleksitas waktu seperti P , NP dan EXP dapat diberikan formulasi λ kalkulus alami . Tetapi kelas yang lebih kecil seperti O(n2) atau O(nlogn) tidak dapat disajikan dengan menggunakan teknik Accattoli / Dal Lago.
Bagaimana memulihkan kompleksitas ruang konvensional menggunakanλ -calculus tidak diketahui.
sumber
Saya menempelkan sebagian jawaban yang saya tulis untuk pertanyaan lain :
Ada ada penokohan (setidaknya) dengan menggunakan λ- kalkulus.FP λ
sumber
Beberapa penokohan lebih lanjut dari kelas kompleksitas komputasi dalam hal kompleksitas algoritmik (Kolmogorov-Solomonov) dapat ditemukan (misalnya) di sini dan di sini .
sumber