The pywmi Framework and Toolbox for Probabilistic Inference
using Weighted Model Integration?
Abstract
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 stateof-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