Saya sudah mencoba untuk membungkus kepala saya di sekitar apa, mengapa dan bagaimana -kalkulus tapi saya tidak bisa memahami "mengapa itu bekerja"?
"Secara Intuitif" Saya mendapatkan model komputer Turing Machines (TM). Tapi -straksi ini membuat saya bingung.
Mari kita asumsikan, TM tidak ada - lalu bagaimana seseorang bisa "secara intuitif" diyakinkan tentang kemampuan -kalkulus untuk menangkap gagasan komputabilitas ini. Bagaimana memiliki banyak fungsi untuk segala sesuatu dan kemampuannya menyiratkan kemampuan komputasi? Apa yang kulewatkan di sini? Saya membaca makalah Alonzo Church tentang itu, tetapi saya masih bingung dan mencari pemahaman yang lebih "bodoh" tentang hal yang sama.
Jawaban:
Anda berada di perusahaan yang baik. Kurt Gödel mengkritik -kalkulus (dan juga teorinya sendiri tentang fungsi rekursif umum) karena tidak menjadi gagasan yang memuaskan tentang komputasi dengan alasan bahwa itu tidak intuitif, atau tidak cukup menjelaskan apa yang sedang terjadi. Sebaliknya, ia menemukan analisis Turing tentang komputabilitas dan gagasan tentang mesin yang benar-benar meyakinkan. Jadi, jangan khawatir.λ
Di sisi lain, untuk mendapatkan beberapa gagasan tentang bagaimana model komputabilitas bekerja, yang terbaik adalah menulis beberapa program di dalamnya. Tetapi Anda tidak harus melakukannya dalam -calculus murni , meskipun itu menyenangkan (dengan cara yang sama seperti firewalking). Anda dapat menggunakan turunan modern λ -calculus, seperti Haskell.λ λ
sumber
Anda memprogram di dalamnya! Lihatlah pengkodean gereja . Anda dapat melihat bagaimana hampir semua aritmatika dapat dilakukan yang mungkin harus meyakinkan Anda bahwa itu sangat kuat. Saya suka melihat operasi pada daftar. Anda dapat mendefinisikan sebagian besar struktur data apa pun dalam hal fungsi yang melakukan operasi paling penting di dalamnya.
Misalnya, penyandian daftar adalah fungsi lipatan yang terlipat di atasnya. Perhatikan ini bukan penyandian Gereja, tetapi yang saya dapatkan dari jenis dan bahasa pemrograman Percie. Pengkodean pasangan Gereja tidak memberi kita rekursi, kita harus menambahkannya kembali ke dalam diri kita sendiri dengan semacam kombinasi rekursi.
jadi daftar membutuhkan dua argumen, fungsi untuk melakukan pelipatan, dan nilai awal untuk dipasang ke flip pada beberapa titik.
sekarang kita dapat mendefinisikan penjumlahan yang diberi fungsi add (lihat pengkodean gereja dari atas)
kita bisa melakukan lebih banyak dan mendefinisikan fungsi peta
jika Anda masih tidak yakin bahwa ada perhitungan yang terjadi di sini dan ingin memastikan bahwa Anda dapat melakukan perhitungan apa pun maka periksa kombinator titik tetap . Ini agak menyakitkan kepala saya untuk berpikir tentang kadang-kadang namun jadi saya tidak yakin saya akan menyebutnya intuitif tetapi jika Anda secara manual mengevaluasinya dengan beberapa argumen Anda dapat melihat apa yang sedang terjadi.
sumber