A Functional Account of Probabilistic Programming with Possible Worlds (Declarative Pearl)
While there has been much cross-fertilization between functional and logic programming—e.g., leading to functional models of many Prolog features—this appears to be much less the case regarding probabilistic programming, even though this is an area of mutual interest. Whereas functional programming often focuses on modeling probabilistic processes, logic programming typically focuses on modeling possible worlds. These worlds are made up of facts that each carry a probability and together give rise to a distribution semantics. The latter approach appears to be little-known in the functional programming community. This paper aims to remedy this situation by presenting a functional account of the distribution semantics of probabilistic logic programming that is based on possible worlds. We present a term monad for the monadic syntax of queries together with a natural interpretation in terms of boolean algebras. Then we explain that, because probabilities do not form a boolean algebra, they—and other interpretations in terms of commutative semirings—can only be computed after query normalisation to deterministic, decomposable negation normal form (d-DNNF). While computing the possible worlds readily gives such a normal form, it suffers from exponential blow-up. Using heuristic algorithms yields much better results in practice.
Thu 12 MayDisplayed time zone: Osaka, Sapporo, Tokyo change
20:40 - 21:30
|A Functional Account of Probabilistic Programming with Possible Worlds (Declarative Pearl)
|Translation Certification for Smart Contracts