A Programming Language for Probabilistic Computation
Abstract
As probabilistic computations play an increasing role in solving various problems, researchers have designed probabilistic languages to facilitate their modeling. Most of the existing probabilistic languages, however, focus only on discrete distributions, and there has been little effort to develop probabilistic languages whose expressive power is beyond discrete distributions. This dissertation presents a probabilistic language, called PTP (ProbabilisTic Programming), which supports all kinds of probability distributions. The key idea behind PTP is to use sampling functions, i.e., mappings from the unit interval (0.0, 1.0] to probability domains, to specify probability distributions. By using sampling functions as its mathematical basis, PTP provides a unified representation scheme for probability distributions, without drawing a syntactic or semantic distinction between different kinds of probability distributions. Independently of PTP, we develop a linguistic framework to account for computational effects in general. [The framework] extends a monadic language by applying the possible world interpretation of modal logic. A characteristic feature of [the framework] is the distinction between stateful computational effects, called world effects, and contextual computational effects, called control effects. PTP arises as an instance of [the framework] with a language construct for probabilistic choices. We use a sound and complete translator of PTP to embed it in Objective CAML. The use of PTP is demonstrated with three applications in robotics: robot localization, people tracking, and robotic mapping. Thus PTP serves as another example of high-level language applied to a problem domain where imperative languages have been traditionally dominant.
Document Details
- Document Type
- Technical Report
- Publication Date
- Aug 01, 2005
- Accession Number
- ADA457098
Entities
People
- Sungwoo Park
Organizations
- Carnegie Mellon University