We build on a recently proposed method for explaining solutions of constraint satisfaction problems. An explanation here is a sequence of simple inference steps, where the simplicity of an inference step is measured by the number and types of constraints and facts used, and where the sequence explains all logical consequences of the problem. We build on these formal foundations and tackle two emerging questions, namely how to generate explanations that are provably optimal (with respect to the given cost metric) and how to generate them efficiently. To answer these questions, we develop 1) an implicit hitting set algorithm for finding optimal unsatisfiable subsets; 2) a method to reduce multiple calls for (optimal) unsatisfiable subsets to a single call that takes constraints on the subset into account, and 3) a method for re-using relevant information over multiple calls to these algorithms. The method is also applicable to other problems that require finding cost-optimal unsatiable subsets. We specifically show that this approach can be used to effectively find sequences of optimal explanation steps for constraint satisfaction problems like logic grid puzzles.
翻译:我们以最近提出的解释制约性满意度问题解决办法的方法为基础。这里的解释是一系列简单的推论步骤,根据所使用制约和事实的数量和类型来衡量推论步骤的简单性,而顺序则解释问题的所有逻辑后果。我们以这些正式基础为基础,解决两个正在出现的问题,即如何作出可认为最佳的解释(相对于特定成本衡量标准)和如何有效地产生这些解释。为了回答这些问题,我们开发了1)一个隐含的打击组合算法,以找到最佳的无法满足子集;2)一种将(最佳)无法满足的子集的多次调用量减少到一个考虑到子集限制的单一调用量的方法,以及3)一种在多重调用这些算法时重新使用相关信息的方法。这种方法也适用于需要找到成本-最佳的无法满足性子集的其他问题。我们具体地表明,这一方法可以用来有效地找到制约性满意度问题的最佳解释步骤的序列,例如逻辑格拼图。