Skip to main content Skip to main navigation


Sum-Product Loop Programming: From Probabilistic Circuits to Loop Programming

Viktor Pfanschilling; Hikaru Shindo; Devendra Singh Dhami; Kristian Kersting
In: Gabriele Kern-Isberner; Gerhard Lakemeyer; Thomas Meyer (Hrsg.). Proceedings of the 19th International Conference on Principles of Knowledge Representation and Reasoning. International Conference on Principles of Knowledge Representation and Reasoning (KR-2022), August 31-5, Haifa, Israel, IJCAI Organization, 2022.


Recently, Probabilistic Circuits such as Sum-Product Networks have received growing attention, as they can represent complex features but still provide tractable inference. Although quite successful, unfortunately, they lack the capability of handling control structures, such as for and while loops. In this work, we introduce Sum-Product Loop Language (SPLL), a novel programming language that is capable of tractable inference on complex probabilistic code that includes loops. SPLL has dual semantics: every program has generative semantics familiar to most programmers and probabilistic semantics that assign a probability to each possible result. This way, the programmer can describe how to generate samples almost like in any standard programming language. The language takes care of computing the probability values of all results for free at run time. We demonstrate that SPLL inherits the beneficial properties of PCs, namely tractability and differentiability, while generalizing to other distributions and programs, and retains substantial computational similarities.

Weitere Links