The extensive deployment of probabilistic algorithms has radically changed our perspective on several well-established computational notions. Correctness is probably the most basic one. While a typical probabilistic program cannot be said to compute the correct result, we often have quite strong expectations about the frequency with which it should return certain outputs. In these cases, trust as a generalisation of correctness fares better. One way to understand it is to say that a probabilistic computational process is trustworthy if the frequency of its outputs is compliant with a probability distribution which models its expected behaviour. We present a formal computational framework that formalises this idea. In order to do so, we define a typed lambda-calculus that features operators for conducting experiments at runtime on probabilistic programs and for evaluating whether they compute outputs as determined by a target probability distribution. After proving some fundamental computational properties of the calculus, such as progress and termination, we define a static notion of confidence that allows to prove that our notion of trust behaves correctly with respect to the basic tenets of probability theory.
翻译:广泛运用概率算法从根本上改变了我们对几个公认的计算概念的看法。 正确性可能是最基本的。 虽然一个典型的概率性程序不能算出正确的结果, 但我们往往对它应该返回某些产出的频率抱有很高的期望。 在这些情况下, 信任作为正确性的概括性效果更好。 一种理解的方法是说, 概率性计算过程是可靠的, 如果其产出的频率符合一个概率分布, 而该概率分布是其预期行为的模型。 我们提出了一个正式的计算框架, 从而将这个概念正规化。 为了做到这一点, 我们定义了一种型式的羊羔- 计算法, 由操作者在运行时进行概率性程序实验, 并用来评价它们是否按照目标概率分布来计算产出。 在验证了微积分的某些基本计算特性, 如进度和终止后, 我们定义了一个静态的信任概念, 从而能够证明我们的信任概念在概率理论的基本原理上是正确的。