Probabilistic Logical Inference on the Web

  • Marco Alberti
  • Giuseppe Cota
  • Fabrizio Riguzzi
  • Riccardo ZeseEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10037)


cplint on SWISH is a web application for probabilistic logic programming. It allows users to perform inference and learning using just a web browser, with the computation performed on the server. In this paper we report on recent advances in the system, namely the inclusion of algorithms for computing conditional probabilities with exact, rejection sampling and Metropolis-Hasting methods. Moreover, the system now allows hybrid programs, i.e., programs where some of the random variables are continuous. To perform inference on such programs likelihood weighting is used that makes it possible to also have evidence on continuous variables. cplint on SWISH offers also the possibility of sampling arguments of goals, a kind of inference rarely considered but useful especially when the arguments are continuous variables. Finally, cplint on SWISH offers the possibility of graphing the results, for example by drawing the distribution of the sampled continuous arguments of goals.


Probabilistic logic programming Probabilistic logical inference Hybrid program 



This work was supported by the “GNCS-INdAM”.


  1. 1.
    Pfeffer, A.: Practical Probabilistic Programming. Manning Publications, Cherry Hill (2016)Google Scholar
  2. 2.
    De Raedt, L., Kimmig, A.: Probabilistic (logic) programming concepts. Mach. Learn. 100(1), 5–47 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Riguzzi, F., Bellodi, E., Lamma, E., Zese, R., Cota, G.: Probabilistic logic programming on the web. Softw. Pract. Exper. 46, 1381–1396 (2015)CrossRefGoogle Scholar
  4. 4.
    Fierens, D., den Broeck, G.V., 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. Theoret. Pract. Log. Prog. 15(3), 358–401 (2015)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Sato, T.: A statistical learning method for logic programs with distribution semantics. In: 12th International Conference on Logic Programming, Tokyo Japan, pp. 715–729. MIT Press, Cambridge (1995)Google Scholar
  6. 6.
    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
  7. 7.
    Riguzzi, F.: The distribution semantics for normal programs with function symbols. Int. J. Approximate Reasoning 77, 1–19 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Gutmann, B., Thon, I., Kimmig, A., Bruynooghe, M., Raedt, L.D.: The magic of logical inference in probabilistic programming. Theoret. Pract. Log. Prog. 11(4–5), 663–680 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Islam, M.A., Ramakrishnan, C., Ramakrishnan, I.: Inference in probabilistic logic programs with continuous random variables. Theoret. Pract. Log. Prog. 12, 505–523 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Nitti, D., De Laet, T., De Raedt, L.: Probabilistic logic programming for hybrid relational domains. Mach. Learn. 103(3), 407–449 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    De Raedt, L., Kimmig, A., Toivonen, H.: ProbLog: A probabilistic Prolog and its application in link discovery. In: 20th International Joint Conference on Artificial Intelligence, (IJCAI 2005), Hyderabad, India, vol. 7, pp. 2462–2467. AAAI Press, Palo Alto, California USA (2007)Google Scholar
  12. 12.
    Darwiche, A., Marquis, P.: A knowledge compilation map. J. Artif. Intell. Res. 17, 229–264 (2002)MathSciNetzbMATHGoogle Scholar
  13. 13.
    Riguzzi, F., Swift, T.: The PITA system: tabling and answer subsumption for reasoning under uncertainty. Theoret. Pract. Log. Prog. 11(4–5), 433–449 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Kimmig, A., Demoen, B., De Raedt, L., Costa, V.S., Rocha, R.: On the implementation of the probabilistic logic programming language ProbLog. Theoret. Pract. Log. Prog. 11(2–3), 235–262 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Riguzzi, F.: MCINTYRE: a Monte Carlo system for probabilistic logic programming. Fundam. Inform. 124(4), 521–541 (2013)MathSciNetGoogle Scholar
  16. 16.
    Von Neumann, J.: Various techniques used in connection with random digits. Nat. Bureau Stand. Appl. Math. Ser. 12, 36–38 (1951)Google Scholar
  17. 17.
    Nampally, A., Ramakrishnan, C.: Adaptive MCMC-based inference in probabilistic logic programs. arXiv:1403.6036 (2014)
  18. 18.
    Wood, F., van de Meent, J.W., Mansinghka, V.: A new approach to probabilistic programming inference. In: Proceedings of the 17th International Conference on Artificial Intelligence and Statistics, pp. 1024–1032 (2014)Google Scholar
  19. 19.
    Muggleton, S.: Learning stochastic logic programs. Electron. Trans. Artif. Intell. 4(B), 141–153 (2000)MathSciNetGoogle Scholar
  20. 20.
    Riguzzi, F., Cota, G.: Probabilistic logic programming tutorial. Assoc. Logic Program. Newsl. 29(1), 1 (2016)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Marco Alberti
    • 1
  • Giuseppe Cota
    • 2
  • Fabrizio Riguzzi
    • 1
  • Riccardo Zese
    • 2
    Email author
  1. 1.Dipartimento di Matematica e InformaticaUniversity of FerraraFerraraItaly
  2. 2.Dipartimento di IngegneriaUniversity of FerraraFerraraItaly

Personalised recommendations