Kalkulus lambda stokastik Scott

19

Baru-baru ini, Dana Scott mengusulkan kalkulus lambda stokastik, sebuah upaya untuk memasukkan unsur-unsur probabilistik ke dalam kalkulus lambda (tidak diketik) berdasarkan semantik yang disebut model grafik. Anda dapat menemukan slide-slide-nya secara online misalnya di sini dan makalahnya di Journal of Applied Logic , vol. 12 (2014).

Namun, dengan pencarian cepat di Web, saya menemukan penelitian sebelumnya yang serupa, misalnya, untuk sistem tipe Hindley-Milner . Cara mereka memperkenalkan semantik probabilistik mirip dengan Scott (di yang pertama, mereka menggunakan monad sedangkan di yang terakhir Scott menggunakan gaya kelanjutan-lewat).

Dalam hal apa karya Scott berbeda dari karya sebelumnya yang tersedia, dalam hal teori sendiri atau aplikasi yang mungkin?

Pteromys
sumber
Karena butuh beberapa saat untuk menemukannya, inilah tautannya: sciencedirect.com/science/article/pii/S1570868314000238
Blaisorblade

Jawaban:

15

Salah satu kekuatan nyata dari pendekatannya adalah bahwa ia memungkinkan fungsi-fungsi tingkat tinggi (yaitu istilah lambda) menjadi hasil yang dapat diamati, yang secara umum mengukur teori membuat cukup rumit. (Masalah dasarnya adalah bahwa ruang fungsi yang dapat diukur umumnya tidak memiliki Borel -gebra dimana fungsi aplikasi - kadang-kadang disebut "eval" - dapat diukur; lihat intro ke kertas struktur Borel untuk ruang fungsi .) Scott melakukan ini menggunakan Pengkodean Gödel dari istilah lambda ke bilangan asli, dan bekerja langsung dengan ketentuan yang dikodekan. Salah satu kelemahan dari pendekatan ini adalah bahwa pengkodean mungkin sulit untuk diperluas dengan bilangan real sebagai nilai program. (Sunting: Ini bukan kelemahan - lihat komentar Andrej di bawah ini.)σ

Menggunakan CPS tampaknya terutama untuk memaksakan urutan total pada perhitungan, untuk memaksakan urutan total pada akses ke sumber acak. State monad juga bisa melakukannya.

"Variabel acak" Scott tampaknya sama dengan "fungsi pengambilan sampel" Park dalam semantik operasionalnya . Teknik mengubah nilai seragam standar menjadi nilai dengan distribusi apa pun lebih dikenal sebagai invers transform sampling .

Saya percaya hanya ada satu perbedaan mendasar antara semantik Ramsey dan Scott. Program interpretasi Ramsey sebagai perhitungan yang membangun ukuran pada output program. Scott mengasumsikan ukuran seragam yang ada pada input , dan menafsirkan program sebagai transformasi dari input tersebut. (Ukuran output pada prinsipnya dapat dihitung dengan menggunakan preimage .) Scott's analog dengan menggunakan Random monad di Haskell.

Dalam pendekatan keseluruhannya, semantik Scott tampaknya paling mirip dengan paruh kedua disertasi saya tentang bahasa probabilistik - kecuali saya terjebak dengan nilai-nilai orde pertama alih-alih menggunakan pengkodean yang cerdas, menggunakan pohon tak terbatas dari angka acak alih-alih aliran, dan menafsirkan program sebagai perhitungan panah. (Salah satu panah menghitung transformasi dari ruang probabilitas tetap ke output program; yang lain menghitung preimage dan perkiraan preimage.) Bab 7 disertasi saya menjelaskan mengapa saya pikir menafsirkan program sebagai transformasi ruang probabilitas tetap lebih baik daripada menafsirkannya sebagai perhitungan yang membangun ukuran. Ini pada dasarnya bermuara pada "titik-titik perbaikan dari langkah-langkah itu rumit, tetapi kami memahami titik-titik perbaikan pada program dengan cukup baik."

Neil Toronto
sumber
3
λλλ
1
@ Martin: Saya benar-benar tidak bisa menjawab secepat itu karena saya tidak tahu banyak tentang proses kalkulus, tapi sepertinya itu akan layak untuk diteliti. Saya ingin tahu seperti apa sifat-sifat kalkulus proses setelah mentransfernya, dan apakah properti yang ditransfer dapat ditingkatkan dengan cara apa pun.
Neil Toronto
2
T0λ
@ Andrej: Jadi, memperpanjang pengkodean dengan bilangan real seharusnya tidak menjadi masalah, kalau begitu?
Neil Toronto
1
λλ