Probabilistic Logic Programming in Action

  • Arnaud Nguembang Fadja
  • Fabrizio Riguzzi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10344)


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.


Probabilistic Logic Programming Probabilistic logical inference Hybrid program 


  1. 1.
    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)Google Scholar
  2. 2.
    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)CrossRefzbMATHGoogle Scholar
  3. 3.
    Bellodi, E., Riguzzi, F.: Experimentation of an expectation maximization algorithm for probabilistic logic programs. Intell. Artif. 8(1), 3–18 (2012)Google Scholar
  4. 4.
    Bellodi, E., Riguzzi, F.: Expectation maximization over binary decision diagrams for probabilistic logic programs. Intell. Data Anal. 17(2), 343–363 (2013)Google Scholar
  5. 5.
    Bellodi, E., Riguzzi, F.: Structure learning of probabilistic logic programs by searching the clause space. Theor. Pract. Log. Prog. 15(2), 169–212 (2015)CrossRefzbMATHGoogle Scholar
  6. 6.
    Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Dirichlet allocation. J. Mach. Learn. Res. 3, 993–1022 (2003)zbMATHGoogle Scholar
  7. 7.
    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. (2016)Google Scholar
  8. 8.
    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 CrossRefGoogle Scholar
  9. 9.
    Darwiche, A., Marquis, P.: A knowledge compilation map. J. Artif. Intell. Res. 17, 229–264 (2002)zbMATHMathSciNetGoogle Scholar
  10. 10.
    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 CrossRefGoogle Scholar
  11. 11.
    De Raedt, L., Kimmig, A.: Probabilistic (logic) programming concepts. Mach. Learn. 100(1), 5–47 (2015)CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    Di Mauro, N., Bellodi, E., Riguzzi, F.: Bandit-based Monte-Carlo structure learning of probabilistic logic programs. Mach. Learn. 100(1), 127–156 (2015)CrossRefzbMATHMathSciNetGoogle Scholar
  14. 14.
    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)CrossRefMathSciNetzbMATHGoogle Scholar
  15. 15.
    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)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    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)CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Holzinger, A.: Introduction to machine learning and knowledge extraction (MAKE). Mach. Learn. Knowl. Extr. 1(1), 1–20 (2017)CrossRefGoogle Scholar
  18. 18.
    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 CrossRefGoogle Scholar
  19. 19.
    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 CrossRefGoogle Scholar
  20. 20.
    Islam, M.A., Ramakrishnan, C., Ramakrishnan, I.: Inference in probabilistic logic programs with continuous random variables. Theor. Pract. Log. Prog. 12, 505–523 (2012)CrossRefzbMATHMathSciNetGoogle Scholar
  21. 21.
    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 CrossRefGoogle Scholar
  22. 22.
    Kilgour, D.M., Brams, S.J.: The truel. Math. Mag. 70(5), 315–326 (1997)CrossRefzbMATHMathSciNetGoogle Scholar
  23. 23.
    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)CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    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 CrossRefGoogle Scholar
  25. 25.
    Muggleton, S.: Learning stochastic logic programs. Electron. Trans. Artif. Intell. 4(B), 141–153 (2000)MathSciNetGoogle Scholar
  26. 26.
    Nampally, A., Ramakrishnan, C.: Adaptive MCMC-based inference in probabilistic logic programs. arXiv preprint arXiv:1403.6036 (2014)
  27. 27.
    Ng, R.T., Subrahmanian, V.S.: Probabilistic logic programming. Inf. Comput. 101(2), 150–201 (1992)CrossRefzbMATHMathSciNetGoogle Scholar
  28. 28.
    Nitti, D., De Laet, T., De Raedt, L.: Probabilistic logic programming for hybrid relational domains. Mach. Learn. 103(3), 407–449 (2016)CrossRefzbMATHMathSciNetGoogle Scholar
  29. 29.
    Perov, Y., Paige, B., Wood, F.: The Indian GPA problem (2017). Accessed 15 Apr 2017
  30. 30.
    Pfeffer, A.: Practical Probabilistic Programming. Manning Publications, Cherry Hill (2016)Google Scholar
  31. 31.
    Poole, D.: The independent choice logic for modelling multiple agents under uncertainty. Artif. Intell. 94, 7–56 (1997)CrossRefzbMATHMathSciNetGoogle Scholar
  32. 32.
    Poole, D.: Abducing through negation as failure: stable models within the independent choice logic. J. Logic Program. 44(1–3), 5–35 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  33. 33.
    Poole, D.: Probabilistic horn abduction and Bayesian networks. Artif. Intell. 64(1), 81–129 (1993)CrossRefzbMATHGoogle Scholar
  34. 34.
    Richardson, M., Domingos, P.: Markov logic networks. Mach. Learn. 62(1–2), 107–136 (2006)CrossRefGoogle Scholar
  35. 35.
    Riguzzi, F.: ALLPAD: approximate learning of logic programs with annotated disjunctions. Mach. Learn. 70(2–3), 207–223 (2008)CrossRefGoogle Scholar
  36. 36.
    Riguzzi, F.: MCINTYRE: a Monte Carlo system for probabilistic logic programming. Fund. Inform. 124(4), 521–541 (2013)MathSciNetGoogle Scholar
  37. 37.
    Riguzzi, F.: Speeding up inference for probabilistic logic programs. Comput. J. 57(3), 347–363 (2014)CrossRefGoogle Scholar
  38. 38.
    Riguzzi, F.: The distribution semantics for normal programs with function symbols. Int. J. Approx. Reason. 77, 1–19 (2016)CrossRefzbMATHMathSciNetGoogle Scholar
  39. 39.
    Riguzzi, F., Bellodi, E., Lamma, E., Zese, R., Cota, G.: Probabilistic logic programming on the web. Softw. Pract. Exper. 46(10), 1381–1396 (2016)CrossRefzbMATHGoogle Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    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)CrossRefzbMATHMathSciNetGoogle Scholar
  42. 42.
    Riguzzi, F., Cota, G.: Probabilistic logic programming tutorial. Assoc. Log. Program. Newslett. 29(1), 1–1 (2016)Google Scholar
  43. 43.
    Riguzzi, F., Di Mauro, N.: Applying the information bottleneck to statistical relational learning. Mach. Learn. 86(1), 89–114 (2012)CrossRefzbMATHMathSciNetGoogle Scholar
  44. 44.
    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)Google Scholar
  45. 45.
    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)CrossRefzbMATHMathSciNetGoogle Scholar
  46. 46.
    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)Google Scholar
  47. 47.
    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 CrossRefGoogle Scholar
  48. 48.
    Sato, T., Meyer, P.: Infinite probability computation by cyclic explanation graphs. Theor. Pract. Log. Prog. 14, 909–937 (2014)CrossRefzbMATHMathSciNetGoogle Scholar
  49. 49.
    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)Google Scholar
  50. 50.
    Sato, T., Kameya, Y.: PRISM: a language for symbolic-statistical modeling. In: IJCAI 1997, vol. 97, pp. 1330–1339 (1997)Google Scholar
  51. 51.
    Sato, T., Kubota, K.: Viterbi training in prism. Theor. Pract. Log. Prog. 15(02), 147–168 (2015)CrossRefMathSciNetzbMATHGoogle Scholar
  52. 52.
    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)Google Scholar
  53. 53.
    Valiant, L.G.: The complexity of enumeration and reliability problems. SIAM J. Comput. 8(3), 410–421 (1979)CrossRefzbMATHMathSciNetGoogle Scholar
  54. 54.
    Van Gelder, A., Ross, K.A., Schlipf, J.S.: The well-founded semantics for general logic programs. J. ACM 38(3), 620–650 (1991)zbMATHMathSciNetGoogle Scholar
  55. 55.
    Vennekens, J., Verbaeten, S.: Logic programs with annotated disjunctions. Technical report CW386, KU Leuven (2003)Google Scholar
  56. 56.
    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 CrossRefGoogle Scholar
  57. 57.
    Von Neumann, J.: Various techniques used in connection with random digits. Nat. Bureau Stand. Appl. Math. Ser. 12, 36–38 (1951)Google Scholar
  58. 58.
    Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-Prolog. Theor. Pract. Log. Prog. 12(1–2), 67–96 (2012)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Dipartimento di IngegneriaUniversity of FerraraFerraraItaly
  2. 2.Dipartimento di Matematica e InformaticaUniversity of FerraraFerraraItaly

Personalised recommendations