Skip to content

ntoronto/drbayes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dr. Bayes

This is a probabilistic programming language meant for Bayesian modeling, which carries out inference on any program with any positive-probability condition. It does not matter whether the output distribution can be defined by a density (e.g. discontinuities and variable dimension are fine), nor whether the condition meets the preconditions for using Bayes' law (e.g. is axis-aligned). Examples of atypical Bayesian inference that Dr. Bayes is capable of are stochastic ray tracing and probabilistic program verification.

This is of course possible using rejection sampling for exponential cost, but Dr. Bayes is usually much more efficient. In particular, the positive-probability conditions may have arbitrarily small probability without affecting running time. For more information, see

Neil Toronto. Trustworthy, Useful Languages for Probabilistic Modeling and Inference. Doctoral Dissertation, Brigham Young University, 2014 (to appear).

Dr. Bayes is currently just a core calculus. In the next few months, I intend to put a pretty face on it, make it faster, and turn this repository into an installable Racket package.

Directories:

  • direct: Direct implementations of the exact and approximating semantics from Chapter 8 (one of them is in Haskell)

  • private: Dr. Bayes implementation

  • tests: Various deterministic and randomized tests

Releases

No releases published

Packages

No packages published