论文标题
DPO:混合约束的动态编程优化
DPO: Dynamic-Programming Optimization on Hybrid Constraints
论文作者
论文摘要
在贝叶斯推论中,最可能的解释(MPE)问题要求有一些证据,具有最高概率的可变实例化。由于可以将贝叶斯网络编码为字面加权的CNF公式$φ$,因此我们研究布尔MPE,一个更一般的问题,要求$τ$的$τ$ $φ$具有最高权重,其中$τ$的重量是满足$τ$的字面意义的产物。众所周知,布尔MPE可以通过还原到(加权部分)maxsat求解。最近的工作提出了DPMC,这是一种动态编程模型计数器,利用图形分解技术来构建项目加入树。项目加入树是一个执行计划,它指定了如何连接条款和投影变量。我们在DPMC上构建,并引入DPO,这是一个动态编程优化器,可以完全解决布尔MPE。通过使用代数决策图(ADDS)来表示伪树(PB)函数,DPO能够处理分离的子句以及XOR子句。 (基数约束和PB约束也可以由Adds紧凑,因此可以进一步扩展DPO对混合输入的支持。)为了测试DPO的竞争力,我们生成了随机的XOR-CNF公式。在这些混合基准测试中,DPO明显优于MaxH,Uwrmaxsat和Gaussmaxhs,它们是MaxSat的最新精确求解器。
In Bayesian inference, the most probable explanation (MPE) problem requests a variable instantiation with the highest probability given some evidence. Since a Bayesian network can be encoded as a literal-weighted CNF formula $φ$, we study Boolean MPE, a more general problem that requests a model $τ$ of $φ$ with the highest weight, where the weight of $τ$ is the product of weights of literals satisfied by $τ$. It is known that Boolean MPE can be solved via reduction to (weighted partial) MaxSAT. Recent work proposed DPMC, a dynamic-programming model counter that leverages graph-decomposition techniques to construct project-join trees. A project-join tree is an execution plan that specifies how to conjoin clauses and project out variables. We build on DPMC and introduce DPO, a dynamic-programming optimizer that exactly solves Boolean MPE. By using algebraic decision diagrams (ADDs) to represent pseudo-Boolean (PB) functions, DPO is able to handle disjunctive clauses as well as XOR clauses. (Cardinality constraints and PB constraints may also be compactly represented by ADDs, so one can further extend DPO's support for hybrid inputs.) To test the competitiveness of DPO, we generate random XOR-CNF formulas. On these hybrid benchmarks, DPO significantly outperforms MaxHS, UWrMaxSat, and GaussMaxHS, which are state-of-the-art exact solvers for MaxSAT.