# Difference between revisions of "Probabilistic Functional Programming"

From HaskellWiki

(more links) |
(description from the Libraries/mathematics page) |
||

Line 1: | Line 1: | ||

Probabilistic functional programming is a library for discrete random variables in terms of their distribution. | Probabilistic functional programming is a library for discrete random variables in terms of their distribution. | ||

+ | A distribution represent the outcome of a probabilistic event as a collection of all possible values, tagged with their likelihood. | ||

+ | It turns out that random variables establish a monad, namely a list monad where all items are equipped with a probability. | ||

+ | A nice aspect of this system is that simulations can be specified independently from their method of execution. | ||

+ | That is, we can either fully simulate or randomize any simulation without altering the code which defines it. | ||

Examples include dice games, the Monty Hall paradoxon and others. | Examples include dice games, the Monty Hall paradoxon and others. | ||

## Revision as of 23:43, 14 February 2009

Probabilistic functional programming is a library for discrete random variables in terms of their distribution. A distribution represent the outcome of a probabilistic event as a collection of all possible values, tagged with their likelihood. It turns out that random variables establish a monad, namely a list monad where all items are equipped with a probability. A nice aspect of this system is that simulations can be specified independently from their method of execution. That is, we can either fully simulate or randomize any simulation without altering the code which defines it. Examples include dice games, the Monty Hall paradoxon and others.

- Erwig and Kollmansberger: Probabilistic Functional Programming
- http://eecs.oregonstate.edu/~erwig/pfp/

Version maintained by Henning Thielemann:

- http://hackage.haskell.org/cgi-bin/hackage-scripts/package/probability
`darcs get http://darcs.haskell.org/probability/`