可视化计算SAT公式不满足的最小解释;
MUStICCa: MUS Extraction with Interactive Choice of Candidates
Johannes Dellert, Christian Zielke, and Michael Kaufmann
University of T¨ubingen, Germany
Abstract
Existing algorithms for minimal unsatisfiable subset (MUS) The MUStICCa tool introduces a novel graphical user |
|
The tool is centered around an explicit visualization of the explored |
|
While inspecting the contents of any US, the user 译文:当检查任何US的内容时,用户可以选择候选子句来发起删除尝试。 |
|
The reduction |
|
MUStICCa |
|
For automatization, our tool includes a reduction agent mechanism into |
1 Introduction and Motivation
With a remarkable amount of recent work (e.g. [13,3,17]) on algorithms for computing 译文:最小不可满足子集(MUS)提取领域已经成为SAT社区的一个新兴研究领域,导致2011年SAT竞赛[16]引入了一个MUS轨道。 |
|
The algorithms for MUS extraction can be characterized as constructive, destructive |
|
We introduce a completely new approach to guiding the destructive MUS The central idea of destructive MUS extraction, The idea of interactive MUS extraction
This feature will not only help domain 译文:这一特性不仅有助于领域专家(他们通常对好的解释相关的条款有良好的直觉)找到不满足的有意义的解释,而且有助于研究人员和学生分析不满足的实例,评估不同启发式选择删除候选的效果。 |
|
By default, MUStICCa’s graphical user interface (see Figure 1) consists of |
|
|
|
The central view is a representation of the current |
|
Our tool automatically |
|
2 The Application |
|
2.1 The MUStICCa User Interface The interface is based on the open-source Kahina framework [7] for graphical debugging, which was chosen because it already provided the needed view comconents and native support for managing a database of computation steps as nodes in a graph structure. 译文:该接口基于开源的Kahina框架[7]进行图形化调试,之所以选择它,是因为它已经提供了所需的视图组件和本地支持,可以将计算步骤作为图结构中的节点来管理数据库。 Since deletion-based MUS extraction can be framed as a downward traversal of the powerset lattice for an unsatisfiable clause set F, the explored part of the search space is modeled by means of a reduction graph, which is a subsemilattice of the powerset lattice whose edges represent successful reduction attempts. 译文:由于基于删除的MUS提取可以构建为对不满足子句集F的幂集格的向下遍历,因此搜索空间的探索部分通过约简图来建模,该约简图是幂集格的子半格,其边表示成功的约简尝试. In the visualization of this reduction graph, the number on each node gives the size of the corresponding US, followed in brackets by the number of clauses of unknown criticality. 译文:在这个约简图的可视化中,每个节点上的数字给出了相应的US的大小,括号中是未知临界性的子句的数量。 MUSes are marked in red, dark green marks non-MUSes where all reduction options have been explored, and light green color marks USes where all clauses are known to be either critical or unnecessary, but some unexplored reduction options remain. 译文:MUSes被标记为红色,墨绿色标记为non-MUSes,所有的还原选项都被探索过; 浅绿色标记为使用,所有的子句都是已知的关键或不必要的,但仍有一些未探索的还原选项。 |
|
2.2 Automatization through Reduction Agents During a process of interactive extraction, a user will often want to quickly explore parts of the search space without having to manually execute hundreds of reduction attempts, especially in contexts where domain knowledge has not yet become relevant. For this purpose, MUStICCa includes an automated reduction mechanism in the form of reduction agents which in essence act like autonomous additional users who were given sets of simple instructions. In addition to predefined reduction agents which emulate standard deletion-based MUS extraction algorithms, user-defined reduction agents can be implemented as Java The most important option in the dialog for creating and starting new reduction agents serves to select one of the predefined heuristics from a drop-down menu. Each new agent is initialized with a random signal colour that can freelybe redefined. Model rotation and autarky pruning can be activated or deactivated. The new reduction agent starts at the US that is currently selected in the reduction graph, and runs until it has determined a MUS. The downward path of an agent through the powerset lattice is visualized in the form of an agent trace highlighted in its signal colour. |
|
2.3 Implementation details
The information is optimally exploited if we can quickly determine for any subset whether it is included in a set that is already known to be satisfiable as a result of failed reduction attempts. This leads to the concept of an upward wedge of satisfiable subsets or sat wedge through the powerset lattice which is created by every such attempt. The task of sharing criticality information now reduces to storing the sat wedges in a data structure that allows a quick check of sat wedge membership for any subset. The solution implemented in MUStICCa stores sat wedges as clauses over positive selector literals in an additional meta instance. Any subset can be expressed in terms of unit assumptions over selector literals. Solving the meta instance under these assumptions tells us whether the subset is implied to be satisfiable by sat wedge membership. The idea is very similar to the Map formula used for storing information about the search space in the recently proposed MARCO algorithm [10] for quick extraction of multiple MUSes. The meta instance allows us to quickly derive all the clauses implied to be critical in some subset Vi by merely propagating the corresponding selector assumptions. The resulting selector units correspond to the clauses which are implied to be critical in Vi. This allows us to quickly update the critical entries in the reduction table for any US. A formal description of this procedure, and a proof of its correctness, can be found in Chapter 4 of the mentioned thesis. |
|
3 Experimental Results |
|
Because of the general unavailability of MUS extraction instances that contain Since the motivation and context of this application can only
The application is based on a SAT encoding of context-free parsing, which is used to encode classical problems in the field of symbolic grammar engineering, a branch of computational linguistics which attempts to define formal models of natural languages. 译文:该应用程序基于上下文无关解析的SAT编码,该编码用于编码符号语法工程领域的经典问题,符号语法工程是计算语言学的一个分支,试图定义自然语言的形式模型。 Unfeasibilities in the resulting SAT instances represent inadequacies and bugs in these models, and MUSes can be interpreted as containing instructions for minimal repairs. 译文:结果SAT实例中的不可行性代表了这些模型中的不足和错误,muse可以被解释为包含最小修复的指令.
The number of different MUSes in the resulting instances turned out to be extremely high, making the enumeration of all MUSes by means of CAMUS [9] or similar tools entirely infeasible. 译文:在结果实例中,不同MUSes的数量非常高,使得通过CAMUS[9]或类似工具枚举所有MUSes完全不可行。 Given the variable symbols generated by the SAT conversion tool as guidance, the manual selection of reduction candidates made it possible to narrow down bugs in the grammar to very small MUSes which were interpretable as minimal repairs, whereas the results returned by a simple MUS extractor were generally much larger and harder to interpret. Moreover, MUS extraction proved to be extremely useful for finding bugs already during the development of the SAT encoding, since it gave the developer direct access to problematic interactions in flexibly definable constraint subsets.
Beyond this application, we have used MUStiCCa to explore the search spaces of other unsatisfiable benchmark instanced which are known to contain multiple MUSes, in particular the Daimler testset for automotive product configuration [15]. On these and similar test instances, MUStiCCa proved useful for comparing the performance of different deletion candidate heuristics, and for analyzing properties of MUS extraction search spaces. For larger industrial instances, the large size of the resulting MUSes and the long duration of each reduction attempt makes interactive MUS extraction a less attractive option. |
|
4 Summary |
|
We present our tool MUStICCa that was designed to provide the user with the possibility to guide the well-known deletion-based MUS extraction algorithm [11] through the powerset lattice towards different MUSes. MUStICCa reuses criticality information from other parts of the search space to avoid unnecessary execution steps.
译文:MUStICCa重用来自搜索空间其他部分的关键信息,以避免不必要的执行步骤。
The main features of our tool can be summarized as follows:
We are confident that MUStICCa will be helpful to domain experts in analysing inconsistencies in SAT formulae. Moreover, our tool can be used to create and evaluate new deletion candidate selection heuristics. We are looking forward to receiving feedback from experts in different application domains about their experience with the tool, and are grateful to our anonymous reviewers for their many suggestions about interface improvements and feature requests. 我们相信MUStICCa将有助于领域专家分析SAT公式中的不一致之处。此外,我们的工具可用于创建和评估新的删除候选选择启发式。 In the future, we plan to extend the concept to insertion-based and dichotomic MUS extraction by also representing satisfiable subsets in the reduction graph and allowing the user to work upwards in the powerset lattice. Furthermore, we are planning to provide support for the extraction of GMUSes as well as minimal unsatisfiable subformulae of propositional formulae in negation normal form. 译文:在未来,我们计划通过在约简图中表示可满足的子集并允许用户在幂集格中向上工作,将概念扩展到基于插入和二分类的MUS提取。此外,我们计划为GMUSes的提取以及命题公式的否定范式的最小不满足子公式提供支持。 |
|
The paper is organized as follows: Section 2 introduces the user interface, describes The tool can be downloaded from http://algo.inf.uni-tuebingen.de/?site=forschung/sat/MUStICCa. |
|
References
1. Bakker, R.R., Dikker, F., Tempelman, F., Wognum, P.: Diagnosing and Solving
Over-Determined Constraint Satisfaction Problems. In: Proceedings of IJCAI 1993,
pp. 276–281. Morgan Kaufmann (1993)
2. Belov, A., Ivrii, A., Matsliah, A., Marques-Silva, J.: On Efficient Computation of
Variable MUSes. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317,
pp. 298–311. SAT, Heidelberg (2012)
3. Belov, A., Lynce, I., Marques-Silva, J.: Towards efficient MUS extraction. AI Commun.
25(2), 97–116 (2012)
4. Chinneck, J.W., Dravnieks, E.W.: Locating Minimal Infeasible Constraint Sets in
Linear Programs. INFORMS Journal on Computing 3(2), 157–168 (1991)
5. Dellert, J.: Interactive Extraction of Minimal Unsatisfiable Cores Enhanced By
Meta Learning. Diplomarbeit, Universit¨at T¨ubingen (2013)
6. Desrosiers, C., Galinier, P., Hertz, A., Paroz, S.: Using heuristics to find minimal
unsatisfiable subformulas in satisfiability problems. J. Comb. Optim. 18(2), 124–
150 (2009)
7. Evang, K., Dellert, J.: Kahina - Trac. Web (2013), http://www.kahina.org/trac
8. Kullmann, O.: On the use of autarkies for satisfiability decision. Electronic Notes
in Discrete Mathematics 9, 231–253 (2001)
9. Liffiton, M.: Mark Liffiton - CAMUS. Web (2013),
http://sun.iwu.edu/~mliffito/camus (access date: January 22, 2013)
10. Liffiton, M.H., Malik, A.: Enumerating Infeasibility: Finding Multiple MUSes
Quickly. In: Gomes, C., Sellmann, M. (eds.) CPAIOR 2013. LNCS, vol. 7874, pp.
160–175. Springer, Heidelberg (2013)
11. Nadel, A.: Boosting minimal unsatisfiable core extraction. In: FMCAD, pp. 221–
229 (2010)
12. Oh, Y., Mneimneh, M.N., Andraus, Z.S., Sakallah, K.A., Markov, I.L.: AMUSE: a
minimally-unsatisfiable subformula extractor. In: DAC, pp. 518–523 (2004)
13. Ryvchin, V., Strichman, O.: Faster Extraction of High-Level Minimal Unsatisfiable
Cores. In: Sakallah, K.A., Simon, L. (eds.) SAT 2011. LNCS, vol. 6695, pp. 174–187.
Springer, Heidelberg (2011)
14. Silva, J.P.M.: Minimal Unsatisfiability: Models, Algorithms and Applications (Invited
Paper). In: ISMVL, pp. 9–14 (2010)
15. Sinz, C., Kaiser, A., K¨uchlin, W.: Formal Methods for the Validation of Automotive
Product Configuration Data. Artificial Intelligence for Engineering Design,
Analysis and Manufacturing 17(1), 75–97 (2003); special issue on configuration
16. The SAT association: The international SAT Competitions web page. Web (2011),
http://www.satcompetition.org/
17. Wieringa, S.: Understanding, Improving and Parallelizing MUS Finding Using
Model Rotation. In: Milano, M. (ed.) CP 2012. LNCS, vol. 7514, pp. 672–687.
Springer, Heidelberg (2012)