Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
What is probabilistic programming? (pl-enthusiast.net)
95 points by tianyicui on Oct 5, 2014 | hide | past | favorite | 9 comments


Just a wild guess, but I wonder if there could be a nice connection between probabilistic programming and logic languages like prolog, if only due to the fact that both Bayes graphs and unification both have this "run forwards and backwards" characteristic that is so unlike imperative programming


>run forwards and backwards

Half-serious: http://hackage.haskell.org/package/tardis-0.3.0.0/docs/Contr...

>probabilistic programming

https://hackage.haskell.org/package/probability

There are a number of articles about writing your own probability monad in Haskell. It's not hard.


The Probability monad allows for computing exact probabilities, as stated, but that more-or-less misses the point of newer probabilistic programming approaches: avoid the exponential blow-up in complexity of inference due to marginalization by generalizing from evaluation to sampling rather than from evaluation to probability assignment.


> There are a number of articles about writing your own probability monad in Haskell. It's not hard.

Could you provide some links? In a quick search I can only find one article, and that's just about using that package, writing one.


There have been various attempts to build logic languages that deal with uncertain information (eg http://www.is.informatik.uni-duisburg.de/bib/pdf/ir/Fuhr_99a...).


Also Church [http://projects.csail.mit.edu/church/wiki/Church], a Scheme derivative with probabilistic semantics.


Yes, logic programming and probabilistic programming are closely related. See http://okmij.org/ftp/kakuritu/logic-programming.html


In a way any Python program is probabilistic.


OT of course, but I think that's what our outsourcers did: keep adding monkeys then the probability of completing a programming task slowly converges on 1...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: