Skip to main content

Probabilistic Logic Programming in Action

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 10344))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    http://cplint.ml.unife.it/example/inference/tile_map.swinb.

  2. 2.

    Tiles from https://github.com/silveira/openpixels.

  3. 3.

    http://cplint.ml.unife.it/example/inference/mln.swinb.

  4. 4.

    http://cplint.ml.unife.it/example/inference/truel.pl.

  5. 5.

    http://cplint.ml.unife.it/example/inference/coupon.swinb.

  6. 6.

    http://cplint.ml.unife.it/example/inference/random_walk.swinb.

  7. 7.

    http://cplint.ml.unife.it/example/inference/lda.swinb.

  8. 8.

    http://cplint.ml.unife.it/example/inference/indian_gpa.pl.

References

  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. 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)

    Article  MATH  Google Scholar 

  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. 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. Bellodi, E., Riguzzi, F.: Structure learning of probabilistic logic programs by searching the clause space. Theor. Pract. Log. Prog. 15(2), 169–212 (2015)

    Article  MATH  Google Scholar 

  6. Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Dirichlet allocation. J. Mach. Learn. Res. 3, 993–1022 (2003)

    MATH  Google Scholar 

  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. CEUR-WS.org (2016)

    Google Scholar 

  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

    Chapter  Google Scholar 

  9. Darwiche, A., Marquis, P.: A knowledge compilation map. J. Artif. Intell. Res. 17, 229–264 (2002)

    MATH  MathSciNet  Google Scholar 

  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

    Chapter  Google Scholar 

  11. De Raedt, L., Kimmig, A.: Probabilistic (logic) programming concepts. Mach. Learn. 100(1), 5–47 (2015)

    Article  MATH  MathSciNet  Google Scholar 

  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. Di Mauro, N., Bellodi, E., Riguzzi, F.: Bandit-based Monte-Carlo structure learning of probabilistic logic programs. Mach. Learn. 100(1), 127–156 (2015)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Article  MATH  MathSciNet  Google Scholar 

  17. Holzinger, A.: Introduction to machine learning and knowledge extraction (MAKE). Mach. Learn. Knowl. Extr. 1(1), 1–20 (2017)

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  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)

    Article  MATH  MathSciNet  Google Scholar 

  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

    Chapter  Google Scholar 

  22. Kilgour, D.M., Brams, S.J.: The truel. Math. Mag. 70(5), 315–326 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Article  MATH  MathSciNet  Google Scholar 

  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

    Chapter  Google Scholar 

  25. Muggleton, S.: Learning stochastic logic programs. Electron. Trans. Artif. Intell. 4(B), 141–153 (2000)

    MathSciNet  Google Scholar 

  26. Nampally, A., Ramakrishnan, C.: Adaptive MCMC-based inference in probabilistic logic programs. arXiv preprint arXiv:1403.6036 (2014)

  27. Ng, R.T., Subrahmanian, V.S.: Probabilistic logic programming. Inf. Comput. 101(2), 150–201 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  28. Nitti, D., De Laet, T., De Raedt, L.: Probabilistic logic programming for hybrid relational domains. Mach. Learn. 103(3), 407–449 (2016)

    Article  MATH  MathSciNet  Google Scholar 

  29. 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

  30. Pfeffer, A.: Practical Probabilistic Programming. Manning Publications, Cherry Hill (2016)

    Google Scholar 

  31. Poole, D.: The independent choice logic for modelling multiple agents under uncertainty. Artif. Intell. 94, 7–56 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  32. Poole, D.: Abducing through negation as failure: stable models within the independent choice logic. J. Logic Program. 44(1–3), 5–35 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  33. Poole, D.: Probabilistic horn abduction and Bayesian networks. Artif. Intell. 64(1), 81–129 (1993)

    Article  MATH  Google Scholar 

  34. Richardson, M., Domingos, P.: Markov logic networks. Mach. Learn. 62(1–2), 107–136 (2006)

    Article  Google Scholar 

  35. Riguzzi, F.: ALLPAD: approximate learning of logic programs with annotated disjunctions. Mach. Learn. 70(2–3), 207–223 (2008)

    Article  Google Scholar 

  36. Riguzzi, F.: MCINTYRE: a Monte Carlo system for probabilistic logic programming. Fund. Inform. 124(4), 521–541 (2013)

    MathSciNet  Google Scholar 

  37. Riguzzi, F.: Speeding up inference for probabilistic logic programs. Comput. J. 57(3), 347–363 (2014)

    Article  Google Scholar 

  38. Riguzzi, F.: The distribution semantics for normal programs with function symbols. Int. J. Approx. Reason. 77, 1–19 (2016)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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. 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)

    Article  MATH  MathSciNet  Google Scholar 

  42. Riguzzi, F., Cota, G.: Probabilistic logic programming tutorial. Assoc. Log. Program. Newslett. 29(1), 1–1 (2016)

    Google Scholar 

  43. Riguzzi, F., Di Mauro, N.: Applying the information bottleneck to statistical relational learning. Mach. Learn. 86(1), 89–114 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  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. 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)

    Article  MATH  MathSciNet  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  48. Sato, T., Meyer, P.: Infinite probability computation by cyclic explanation graphs. Theor. Pract. Log. Prog. 14, 909–937 (2014)

    Article  MATH  MathSciNet  Google Scholar 

  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. Sato, T., Kameya, Y.: PRISM: a language for symbolic-statistical modeling. In: IJCAI 1997, vol. 97, pp. 1330–1339 (1997)

    Google Scholar 

  51. Sato, T., Kubota, K.: Viterbi training in prism. Theor. Pract. Log. Prog. 15(02), 147–168 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  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. Valiant, L.G.: The complexity of enumeration and reliability problems. SIAM J. Comput. 8(3), 410–421 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    MATH  MathSciNet  Google Scholar 

  55. Vennekens, J., Verbaeten, S.: Logic programs with annotated disjunctions. Technical report CW386, KU Leuven (2003)

    Google Scholar 

  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

    Chapter  Google Scholar 

  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. Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-Prolog. Theor. Pract. Log. Prog. 12(1–2), 67–96 (2012)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arnaud Nguembang Fadja .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics