# Probabilistic Programming Is a kind of programming that tries to solve the following problem: Given specific output of a certain black-box function f, determine the probabilistic distribution of the f input that yields the given output. It is used in decision making, whenever inference of f is not possible, or when too many factors go into f. For example, in order to maximize profits should I produce more hot dogs or burgers? Put another way: probabilistic programming deals with [[Monty Hall Problem|Monty Hall]]-like problems that are orders of magnitude more complex. Or, it's programming turned upside down: I give you the output of a calculation, you give me the input. Programming languages and libraries: - [mc-stan.org](http://mc-stan.org) - Infer .NET