Overview

VentureScript is a probabilistic programming language for the Venture platform that aims to be sufficiently simple, clear, concise, and expressive for general-purpose use. VentureScript programs specify sequences of modeling assumptions, observations, queries, and inference instructions. Data, queries, and other constraints can be added and removed incrementally, and these operations can be freely interleaved with inference. VentureScript is designed to make common modeling and inference tasks easy, whether or not they are typically formulated in a probabilistically coherent way.

Intuition

VentureScript programs have multiple meanings:

  • The declarative semantics is the full Bayesian posterior on executions of the program’s modeling instructions, conditioned on all observations being satisfied. Many distinct programs have the same declarative semantics, i.e. encode the same idealized Bayesian inference problem. This distribution will often be intractable to sample from.
  • The procedural semantics is the distribution over model execution histories the full program, including inference instructions, actually induces. This distribution is sampled from by running the program.
  • Various intermediate semantics, each defining equivalences between programs that ignore some execution details but retain others. Some correspond to standard non-Bayesian theories of inference, e.g. global joint density optimization semantics.

For a more extensive conceptual introduction to Venture, see the draft Venture paper or the VentureScript tutorial.

Table Of Contents

Previous topic

VentureScript Reference Manual

Next topic

Usage

This Page