Abstract
Probabilistic Programming (PP) has recently emerged as an effective approach for building complex probabilistic models. Until recently PP was mostly focused on functional programming while now Probabilistic Logic Programming (PLP) forms a significant subfield. In this paper we aim at presenting a quick overview of the features of current languages and systems for PLP. We first present the basic semantics for probabilistic logic programs and then consider extensions for dealing with infinite structures and continuous random variables. To show the modeling features of PLP in action, we present several examples: a simple generator of random 2D tile maps, an encoding of Markov Logic Networks, the truel game, the coupon collector problem, the one-dimensional random walk, latent Dirichlet allocation and the Indian GPA problem. These examples show the maturity of PLP.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
Tiles from https://github.com/silveira/openpixels.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
References
Alberti, M., Bellodi, E., Cota, G., Riguzzi, F., Zese, R.: cplint on SWISH: probabilistic logical inference with a web browser. Intell. Artif. 11(1), 47–64 (2017)
Bellodi, E., Lamma, E., Riguzzi, F., Costa, V.S., Zese, R.: Lifted variable elimination for probabilistic logic programming. Theor. Pract. Log. Prog. 14(4–5), 681–695 (2014)
Bellodi, E., Riguzzi, F.: Experimentation of an expectation maximization algorithm for probabilistic logic programs. Intell. Artif. 8(1), 3–18 (2012)
Bellodi, E., Riguzzi, F.: Expectation maximization over binary decision diagrams for probabilistic logic programs. Intell. Data Anal. 17(2), 343–363 (2013)
Bellodi, E., Riguzzi, F.: Structure learning of probabilistic logic programs by searching the clause space. Theor. Pract. Log. Prog. 15(2), 169–212 (2015)
Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Dirichlet allocation. J. Mach. Learn. Res. 3, 993–1022 (2003)
Cozman, F.G., Mauá, D.D.: The structure and complexity of credal semantics. In: Hommersom, A., Abdallah, S.A. (eds.) PLP 2016, CEUR Workshop Proceedings, vol. 1661, pp. 3–14. CEUR-WS.org (2016)
Dantsin, E.: Probabilistic logic programs and their semantics. In: Voronkov, A. (ed.) RCLP -1990. LNCS, vol. 592, pp. 152–164. Springer, Heidelberg (1992). doi:10.1007/3-540-55460-2_11
Darwiche, A., Marquis, P.: A knowledge compilation map. J. Artif. Intell. Res. 17, 229–264 (2002)
Raedt, L., Kersting, K.: Probabilistic inductive logic programming. In: Ben-David, S., Case, J., Maruoka, A. (eds.) ALT 2004. LNCS (LNAI), vol. 3244, pp. 19–36. Springer, Heidelberg (2004). doi:10.1007/978-3-540-30215-5_3
De Raedt, L., Kimmig, A.: Probabilistic (logic) programming concepts. Mach. Learn. 100(1), 5–47 (2015)
De Raedt, L., Kimmig, A., Toivonen, H.: ProbLog: a probabilistic Prolog and its application in link discovery. In: Veloso, M.M. (ed.) IJCAI 2007, vol. 7, pp. 2462–2467. AAAI Press, Palo Alto (2007)
Di Mauro, N., Bellodi, E., Riguzzi, F.: Bandit-based Monte-Carlo structure learning of probabilistic logic programs. Mach. Learn. 100(1), 127–156 (2015)
Fierens, D., Van den Broeck, G., Renkens, J., Shterionov, D.S., Gutmann, B., Thon, I., Janssens, G., De Raedt, L.: Inference and learning in probabilistic logic programs using weighted boolean formulas. Theor. Pract. Log. Prog. 15(3), 358–401 (2015)
Gorlin, A., Ramakrishnan, C.R., Smolka, S.A.: Model checking with probabilistic tabled logic programming. Theor. Pract. Log. Prog. 12(4–5), 681–700 (2012)
Gutmann, B., Thon, I., Kimmig, A., Bruynooghe, M., De Raedt, L.: The magic of logical inference in probabilistic programming. Theor. Pract. Log. Prog. 11(4–5), 663–680 (2011)
Holzinger, A.: Introduction to machine learning and knowledge extraction (MAKE). Mach. Learn. Knowl. Extr. 1(1), 1–20 (2017)
Holzinger, A., Schantl, J., Schroettner, M., Seifert, C., Verspoor, K.: Biomedical text mining: state-of-the-art, open problems and future challenges. In: Holzinger, A., Jurisica, I. (eds.) Interactive Knowledge Discovery and Data Mining in Biomedical Informatics. LNCS, vol. 8401, pp. 271–300. Springer, Heidelberg (2014). doi:10.1007/978-3-662-43968-5_16
Hurd, J.: A formal approach to probabilistic termination. In: Carreño, V.A., Muñoz, C.A., Tahar, S. (eds.) TPHOLs 2002. LNCS, vol. 2410, pp. 230–245. Springer, Heidelberg (2002). doi:10.1007/3-540-45685-6_16
Islam, M.A., Ramakrishnan, C., Ramakrishnan, I.: Inference in probabilistic logic programs with continuous random variables. Theor. Pract. Log. Prog. 12, 505–523 (2012)
Kaminski, B.L., Katoen, J.-P., Matheja, C., Olmedo, F.: Weakest precondition reasoning for expected run–times of probabilistic programs. In: Thiemann, P. (ed.) ESOP 2016. LNCS, vol. 9632, pp. 364–389. Springer, Heidelberg (2016). doi:10.1007/978-3-662-49498-1_15
Kilgour, D.M., Brams, S.J.: The truel. Math. Mag. 70(5), 315–326 (1997)
Kimmig, A., Demoen, B., De Raedt, L., Costa, V.S., Rocha, R.: On the implementation of the probabilistic logic programming language ProbLog. Theor. Pract. Log. Prog. 11(2–3), 235–262 (2011)
Meert, W., Struyf, J., Blockeel, H.: CP-logic theory inference with contextual variable elimination and comparison to BDD based inference methods. In: Raedt, L. (ed.) ILP 2009. LNCS (LNAI), vol. 5989, pp. 96–109. Springer, Heidelberg (2010). doi:10.1007/978-3-642-13840-9_10
Muggleton, S.: Learning stochastic logic programs. Electron. Trans. Artif. Intell. 4(B), 141–153 (2000)
Nampally, A., Ramakrishnan, C.: Adaptive MCMC-based inference in probabilistic logic programs. arXiv preprint arXiv:1403.6036 (2014)
Ng, R.T., Subrahmanian, V.S.: Probabilistic logic programming. Inf. Comput. 101(2), 150–201 (1992)
Nitti, D., De Laet, T., De Raedt, L.: Probabilistic logic programming for hybrid relational domains. Mach. Learn. 103(3), 407–449 (2016)
Perov, Y., Paige, B., Wood, F.: The Indian GPA problem (2017). http://www.robots.ox.ac.uk/~fwood/anglican/examples/viewer/?worksheet=indian-gpa. Accessed 15 Apr 2017
Pfeffer, A.: Practical Probabilistic Programming. Manning Publications, Cherry Hill (2016)
Poole, D.: The independent choice logic for modelling multiple agents under uncertainty. Artif. Intell. 94, 7–56 (1997)
Poole, D.: Abducing through negation as failure: stable models within the independent choice logic. J. Logic Program. 44(1–3), 5–35 (2000)
Poole, D.: Probabilistic horn abduction and Bayesian networks. Artif. Intell. 64(1), 81–129 (1993)
Richardson, M., Domingos, P.: Markov logic networks. Mach. Learn. 62(1–2), 107–136 (2006)
Riguzzi, F.: ALLPAD: approximate learning of logic programs with annotated disjunctions. Mach. Learn. 70(2–3), 207–223 (2008)
Riguzzi, F.: MCINTYRE: a Monte Carlo system for probabilistic logic programming. Fund. Inform. 124(4), 521–541 (2013)
Riguzzi, F.: Speeding up inference for probabilistic logic programs. Comput. J. 57(3), 347–363 (2014)
Riguzzi, F.: The distribution semantics for normal programs with function symbols. Int. J. Approx. Reason. 77, 1–19 (2016)
Riguzzi, F., Bellodi, E., Lamma, E., Zese, R., Cota, G.: Probabilistic logic programming on the web. Softw. Pract. Exper. 46(10), 1381–1396 (2016)
Riguzzi, F., Bellodi, E., Zese, R., Cota, G., Lamma, E.: Scaling structure learning of probabilistic logic programs by mapreduce. In: Fox, M., Kaminka, G. (eds.) ECAI 2016, vol. 285, pp. 1602–1603. IOS Press, Prague (2016)
Riguzzi, F., Bellodi, E., Zese, R., Cota, G., Lamma, E.: A survey of lifted inference approaches for probabilistic logic programming under the distribution semantics. Int. J. Approx. Reason. 80, 313–333 (2017)
Riguzzi, F., Cota, G.: Probabilistic logic programming tutorial. Assoc. Log. Program. Newslett. 29(1), 1–1 (2016)
Riguzzi, F., Di Mauro, N.: Applying the information bottleneck to statistical relational learning. Mach. Learn. 86(1), 89–114 (2012)
Riguzzi, F., Lamma, E., Alberti, M., Bellodi, E., Zese, R., Cota, G.: Probabilistic logic programming for natural language processing. In: Chesani, F., Mello, P., Milano, M. (eds.) Workshop on Deep Understanding and Reasoning, URANIA 2016, CEUR Workshop Proceedings, vol. 1802, pp. 30–37 (2017)
Riguzzi, F., Swift, T.: The PITA system: tabling and answer subsumption for reasoning under uncertainty. Theor. Pract. Log. Prog. 11(4–5), 433–449 (2011)
Riguzzi, F., Swift, T.: Welldefinedness and efficient inference for probabilistic logic programming under the distribution semantics. Theor. Pract. Log. Prog. 13(Special Issue 02–25th Annual GULP Conference), 279–302 (2013)
Riguzzi, F., Zese, R., Cota, G.: Probabilistic inductive logic programming on the web. In: Ciancarini, P., Poggi, F., Horridge, M., Zhao, J., Groza, T., Suarez-Figueroa, M.C., d’Aquin, M., Presutti, V. (eds.) EKAW 2016. LNCS (LNAI), vol. 10180, pp. 172–175. Springer, Cham (2017). doi:10.1007/978-3-319-58694-6_25
Sato, T., Meyer, P.: Infinite probability computation by cyclic explanation graphs. Theor. Pract. Log. Prog. 14, 909–937 (2014)
Sato, T.: A statistical learning method for logic programs with distribution semantics. In: Sterling, L. (ed.) ICLP 1995, pp. 715–729. MIT Press, Cambridg (1995)
Sato, T., Kameya, Y.: PRISM: a language for symbolic-statistical modeling. In: IJCAI 1997, vol. 97, pp. 1330–1339 (1997)
Sato, T., Kubota, K.: Viterbi training in prism. Theor. Pract. Log. Prog. 15(02), 147–168 (2015)
Sato, T., Meyer, P.: Tabling for infinite probability computation. In: Dovier, A., Costa, V.S. (eds.) ICLP TC 2012. LIPIcs, vol. 17, pp. 348–358 (2012)
Valiant, L.G.: The complexity of enumeration and reliability problems. SIAM J. Comput. 8(3), 410–421 (1979)
Van Gelder, A., Ross, K.A., Schlipf, J.S.: The well-founded semantics for general logic programs. J. ACM 38(3), 620–650 (1991)
Vennekens, J., Verbaeten, S.: Logic programs with annotated disjunctions. Technical report CW386, KU Leuven (2003)
Vennekens, J., Verbaeten, S., Bruynooghe, M.: Logic programs with annotated disjunctions. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 431–445. Springer, Heidelberg (2004). doi:10.1007/978-3-540-27775-0_30
Von Neumann, J.: Various techniques used in connection with random digits. Nat. Bureau Stand. Appl. Math. Ser. 12, 36–38 (1951)
Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-Prolog. Theor. Pract. Log. Prog. 12(1–2), 67–96 (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Fadja, A.N., Riguzzi, F. (2017). Probabilistic Logic Programming in Action. In: Holzinger, A., Goebel, R., Ferri, M., Palade, V. (eds) Towards Integrative Machine Learning and Knowledge Extraction. Lecture Notes in Computer Science(), vol 10344. Springer, Cham. https://doi.org/10.1007/978-3-319-69775-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-69775-8_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-69774-1
Online ISBN: 978-3-319-69775-8
eBook Packages: Computer ScienceComputer Science (R0)