# 概率编程

## 概率编程语言

### 关系

PRM的开发通常具有一组算法，用于关注的分布的归约、推理和发现，它们被嵌入到对应的PRPL中。

## 概率编程语言列表

Analytica英语Analytica (software)[17] C++
bayesloop[18][19] Python Python
CuPPL[20] NOVA[21]
Venture[22] Scheme C++
Probabilistic-C[23] C C
Anglican[24] Clojure Clojure
IBAL[25] OCaml
BayesDB[26] SQLite, Python
PRISM[13] B-Prolog英语B-Prolog
Infer.NET英语Infer.NET[12] .NET Framework .NET Framework
dimple[10] MATLAB, Java
chimple[11] MATLAB, Java
BLOG[27] Java
delSAT[28] 回答集编程, SAT (DIMACS CNF)
PSQL[29] SQL
BUGS[14]
FACTORIE[30] Scala Scala
PMTK[31] MATLAB MATLAB
Alchemy[32] C++
Dyna[33] Prolog
Figaro[34] Scala Scala
Church[35] Scheme 各种: JavaScript, Scheme
ProbLog[36] Prolog Python, Jython
ProBT[37] C++, Python
Stan英语Stan (software)[15] C++
ProbCog[40] Java, Python
Gamble[41] Racket
PWhile[42] While Python
Tuffy[43] Java
PyMC3[44] Python, Theano Python
PyMC4[45] Python, TensorFlow Probability Python
Rainier[46][47] Scala Scala
greta[48] TensorFlow R
pomegranate[49] Python Python
Lea[50] Python Python
WebPPL[51] JavaScript JavaScript
Let's Chance[52] Scratch JavaScript
Picture[4] Julia Julia
Turing.jl[53] Julia Julia
Gen[54] Julia Julia

Troll[56] Moscow ML
Edward[57] TensorFlow Python
TensorFlow Probability[58] TensorFlow Python
Edward2[59] TensorFlow Probability Python
Pyro[60] PyTorch Python
Saul[61] Scala Scala
Stan[62] C++, Python, R
RankPL[63] Java
Birch[64] C++
PSI[65] D

## 注释

1. ^ Probabilistic programming does in 50 lines of code what used to take thousands. phys.org. April 13, 2015 [2015-04-13].
2. ^ Probabilistic Programming. probabilistic-programming.org. [December 24, 2013]. （原始内容存档于January 10, 2016）.
3. ^ Pfeffer, Avrom (2014), Practical Probabilistic Programming, Manning Publications. p.28. ISBN 978-1 6172-9233-0
4. Short probabilistic programming machine-learning code replaces complex programs for computer-vision tasks. KurzweilAI. April 13, 2015 [27 Nov 2017].
5. ^ Hardesty, Larry. Graphics in reverse. April 13, 2015.
6. ^
7. ^ MIT's Gen programming system flattens the learning curve for AI projects. VentureBeat. 2019-06-27 [2019-06-27] （美国英语）.
8. ^
9. ^ ∂P: A Differentiable Programming System to Bridge Machine Learning and Scientific Computing, 2019, arXiv:1907.07587
12. Infer.NET. microsoft.com. Microsoft.
13. PRISM: PRogramming In Statistical Modeling. rjida.meijo-u.ac.jp. [July 8, 2015]. （原始内容存档于March 1, 2015）.
14. The BUGS Project - MRC Biostatistics Unit. cam.ac.uk. [January 12, 2011]. （原始内容存档于March 14, 2014）.
15. Stan. mc-stan.org. （原始内容存档于2012-09-03）.
16. ^ The Algorithms Behind Probabilistic Programming. [2017-03-10].
17. ^ Analytica-- A Probabilistic Modeling Language. lumina.com.
18. ^
19. ^
20. ^ Probabilistic Programming with CuPPL. popl19.sigplan.org.
21. ^
22. ^ Venture -- a general-purpose probabilistic programming platform. mit.edu. [September 20, 2014]. （原始内容存档于January 25, 2016）.
23. ^ Probabilistic C. ox.ac.uk. [March 24, 2015]. （原始内容存档于January 4, 2016）.
24. ^
26. ^
27. ^ Bayesian Logic (BLOG). mit.edu. （原始内容存档于June 16, 2011）.
28. ^
29. ^ Dey, Debabrata; Sarkar, Sumit. PSQL: A query language for probabilistic relational data. Data & Knowledge Engineering. 1998, 28: 107–120. doi:10.1016/S0169-023X(98)00015-9.
30. ^
31. ^
32. ^ Alchemy - Open Source AI. washington.edu.
33. ^ Dyna. www.dyna.org. [January 12, 2011]. （原始内容存档于January 17, 2016）.
34. ^
35. ^ Church. mit.edu. [April 8, 2013]. （原始内容存档于January 14, 2016）.
36. ^ ProbLog: Probabilistic Programming. dtai.cs.kuleuven.be.
37. ^ ProbaYes. ProbaYes - Ensemble, nous valorisations vos données. probayes.com. [November 26, 2013]. （原始内容存档于March 5, 2016）.
40. ^ ProbCog. GitHub.
41. ^ Culpepper, Ryan. gamble: Probabilistic Programming. January 17, 2017 –通过GitHub.
42. ^ PWhile Compiler. GitHub.
43. ^ Tuffy: A Scalable Markov Logic Inference Engine. stanford.edu.
44. ^ PyMC devs. PyMC3. pymc-devs.github.io.
45. ^ Developers, PyMC. The Future of PyMC3, or: Theano is Dead, Long Live Theano. PyMC Developers. 2020-10-26 [2021-01-17]. PyMC4, which is based on TensorFlow, will not be developed further.
46. ^ stripe/rainier, Stripe, 2020-08-19 [2020-08-26]
47. ^ Rainier · Bayesian inference for Scala. samplerainier.com. [2020-08-26].
48. ^ greta: simple and scalable statistical modelling in R. GitHub. [2018-10-02].
49. ^ Home — pomegranate 0.10.0 documentation. pomegranate.readthedocs.io. [2018-10-02] （英语）.
52. ^ Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems. dl.acm.org. [2020-08-01]. doi:10.1145/3334480.3383071 （英语）.
53. ^
54. ^
55. ^
56. ^
57. ^ Edward – Home. edwardlib.org. [2017-01-17].
58. ^ TensorFlow. Introducing TensorFlow Probability. TensorFlow. 2018-04-11 [2018-10-02].
59. ^ 'Edward2' TensorFlow Probability module. GitHub. [2018-10-02] （英语）.
60. ^ Pyro. pyro.ai. [2018-02-09] （英语）.
61. ^
62. ^
63. ^ Rienstra, Tjitze, RankPL: A qualitative probabilistic programming language based on ranking theory, 2018-01-18 [2018-01-18]
64. ^ Probabilistic Programming in Birch. birch-lang.org. [2018-04-20].
65. ^ PSI Solver - Exact inference for probabilistic programs. psisolver.org. [2019-08-18].
66. ^ Gorinova, Maria I.; Sarkar, Advait; Blackwell, Alan F.; Syme, Don. A Live, Multiple-Representation Probabilistic Programming Environment for Novices. Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems. CHI '16 (New York, NY, USA: ACM). 2016-01-01: 2533–2537. ISBN 9781450333627. doi:10.1145/2858036.2858221.