Стохастичні лямбда-кальку Скотта


19

Нещодавно Дана Скотт запропонувала стохастичне обчислення лямбда, спроба ввести ймовірнісні елементи в (нетипізовані) обчислення лямбда на основі семантики, що називається графічною моделлю. Ви можете знайти його слайди в Інтернеті, наприклад, тут, а також його статтю в Journal of Applied Logic , vol. 12 (2014).

Однак швидким пошуком в Інтернеті я виявив подібні попередні дослідження, наприклад, для системи типу Hindley-Milner . Те, як вони вводять імовірнісну семантику, схоже на Скотт (у першому вони використовують монади, а в другому Скотт використовує стиль продовження проходження).

Чим доступна робота Скотта від попередньої роботи, з точки зору самих теорій чи можливих застосувань?


Так що мені потрібно якийсь час , щоб знайти його, ось посилання: sciencedirect.com/science/article/pii/S1570868314000238
Blaisorblade

Відповіді:


15

σ

Здається, використання CPS полягає в основному для нав'язування загального порядку для обчислень, для накладення загального порядку на доступ до випадкового джерела. Державна монада повинна зробити так само добре.

"Випадкові змінні" Скотта, схоже, такі ж, як "функції вибірки" Парка в його оперативній семантиці . Техніка перетворення стандартно-рівномірних значень у величини з будь-яким розподілом більш широко відома як вибіркове зворотне перетворення .

Я вважаю, що між семантикою Рамзі та Скотта є лише одна принципова різниця. Рамзі трактує програми як обчислення, які будують міру на результатах програми. Скотт передбачає існуючу єдину міру щодо входів і інтерпретує програми як перетворення цих даних. (Вихідний показник в принципі можна обчислити за допомогою зображень .) Скотт аналогічний використанню випадкової монади в Haskell.

У загальному підході семантика Скотта здається найбільш схожою на другу половину моєї дисертації з імовірнісних мов - за винятком того, що я дотримувався значень першого порядку замість розумного кодування, використовував нескінченні дерева випадкових чисел замість потоків та інтерпретував програми як обчислення стрілок. (Одна зі стрілок обчислює перетворення з фіксованого простору ймовірності в програмні виходи; інші обчислюють прийоми та приблизні зображення.) Розділ 7 моєї дисертації пояснює, чому я вважаю, що інтерпретувати програми як перетворення фіксованого простору ймовірностей краще, ніж інтерпретувати їх як обчислення які будують міру. Це, в основному, зводиться до того, що "точки визначення заходів є досить складними, але ми добре розуміємо точки виправлення програм".


3
λλλ

1
@Martin: Я дійсно не можу відповісти на це швидко, тому що я не знаю багато про обчислення процесів, але, здається, це варто було б вивчити. Мені буде цікаво дізнатись, як виглядають властивості обчислень процесу після їх перенесення та чи можна переданими властивостями користуватися будь-яким чином.
Ніл Торонто

2
T0λ

@Andrej: Тож розширення кодування реальними числами не повинно бути проблемою?
Ніл Торонто

1
λλ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.