The pywmi Framework and Toolbox for Probabilistic Inference using Weighted Model Integration

The pywmi Framework and Toolbox for Probabilistic Inference using Weighted Model Integration

Samuel Kolb, Paolo Morettin, Pedro Zuidberg Dos Martires, Francesco Sommavilla, Andrea Passerini, Roberto Sebastiani, Luc De Raedt

Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence

Weighted Model Integration (WMI) is a popular technique for probabilistic inference that extends Weighted Model Counting (WMC) -- the standard inference technique for inference in discrete domains -- to domains with both discrete and continuous variables.  However, existing WMI solvers each have different interfaces and use different formats for representing WMI problems.  Therefore, we introduce pywmi (http://pywmi.org), an open source framework and toolbox for probabilistic inference using WMI, to address these shortcomings.  Crucially, pywmi fixes a common internal format for WMI problems and introduces a common interface for WMI solvers.  To assist users in modeling WMI problems, pywmi introduces modeling languages based on SMT-LIB.v2 or MiniZinc and parsers for both.  To assist users in comparing WMI solvers, pywmi includes implementations of several state-of-the-art solvers, a fast approximate WMI solver, and a command-line interface to solve WMI problems.  Finally, to assist developers in implementing new solvers, pywmi provides Python implementations of commonly used subroutines.
Keywords:
AI: Knowledge Representation and Reasoning
AI: Uncertainty in AI