斯科特的随机λ计算


19

最近,达娜·斯科特(Dana Scott)提出了随机Lambda演算,这是一种基于称为图模型的语义的将概率元素引入(无类型的)Lambda演算的尝试。您可以在此处在线找到他的幻灯片,并在Journal of Applied Logic(应用逻辑)第1卷中找到他的论文。12(2014)。

但是,通过在Web上进行快速搜索,我发现了类似的先前研究,例如,关于Hindley-Milner类型系统的研究。他们引入概率语义的方式类似于Scott的方式(在前者中,他们使用单子,而在后者中,Scott使用连续传递样式)。

在理论本身或可能的应用方面,斯科特的作品与现有的作品有何不同?


由于我花了一段时间才能找到它,这里有一个链接:sciencedirect.com/science/article/pii/S1570868314000238
Blaisorblade

Answers:


15

他的方法的一个明显优势是,它可以使高阶函数(即lambda项)成为可观察到的结果,而度量理论通常会非常棘手。(基本的问题是,测函数空间通常没有波雷尔代数的量,应用功能-有时被称为“EVAL” -是可测量的;参见前奏到纸张波雷尔结构为函数空间。)斯科特执行此使用Gödel编码从lambda项到自然数,并直接与编码项一起使用。该方法的一个弱点可能是编码可能难以使用实数作为程序值来扩展。(编辑:这不是弱点-请参阅下面的安德烈(Andrej)评论。)σ

使用CPS似乎主要是将总顺序强加于计算,将总顺序强加于对随机源的访问。该州的monad也应该这样做。

Scott的“随机变量”在操作语义上似乎与Park的“采样函数”相同。将标准均匀值转换为具有任何分布的值的技术被称为逆变换采样

我相信Ramsey和Scott的语义之间只有一个根本区别。Ramsey将程序解释为对程序输出进行度量的计算。斯科特(Scott's)假定对输入存在统一的度量,并将程序解释为这些输入的转换。(输出度量原则上可以使用原来计算。)Scott类似于在Haskell中使用Random monad。

在总体方法上,Scott的语义似乎与我在概率语言上的论文的后半部分最相似-除了我坚持使用一阶值而不是使用聪明的编码,使用无穷数的随机数代替流以及将程序解释为箭头计算。(其中一个箭头计算从固定概率空间到程序输出的转换;其他箭头计算原像和近似原像。)我的论文的第7章解释了为什么我认为将程序解释为固定概率空间的转换胜于将它们解释为计算的结果。建立一个措施。基本上可以归结为“度量的固定点非常复杂,但是我们对程序的固定点非常了解。”


3
λλλ

1
@Martin:我真的不能很快回答,因为我对过程结石了解不多,但是似乎值得研究。我很好奇,想知道转移后的过程计算属性是什么样子,以及转移后的属性是否可以以任何方式加以利用。
尼尔·多伦多

2
T0λ

@Andrej:那么用实数扩展编码应该不是问题吗?
尼尔·多伦多

1
λλ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.