可视化计算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)
extraction are defined independently of any symbolic information, and
in current implementations domain experts mostly do not have a chance
to influence the extraction process based on their knowledge about the
encoded problem. 译文:在目前的实现中,领域专家大多没有机会影响提取过程。

The MUStICCa tool introduces a novel graphical user
interface for interactive deletion-based MUS finding, allowing the user to
inspect and influence the structure of extracted MUSes.

 

The tool is centered around an explicit visualization of the explored
part of the search space, representing unsatisfiable subsets (USes) as
selectable states.

译文:该工具以搜索空间中已探索部分的显式可视化为中心,将不可满足的子集(use)表示为可选择的状态。
 

While inspecting the contents of any US, the user
can select candidate clauses to initiate deletion attempts.

译文:当检查任何US的内容时,用户可以选择候选子句来发起删除尝试。

 

The reduction
steps can be enhanced by a range of state-of-the-art techniques such
as clause-set refinement, model rotation, and autarky reduction.

译文:简化步骤可以通过一系列最先进的技术来增强,例如子句集细化、模型旋转和自给自足的简化。
 

MUStICCa
compactly represents the criticality information derived for the
different USes in a shared data structure, which leads to significant savings
in the number of solver calls when multiple MUSes are explored.

译文:MUStICCa简洁地表示共享数据结构中不同用途派生的关键信息,这可以在探索多个MUSes时显著节省求解器调用的数量
 

For automatization, our tool includes a reduction agent mechanism into
which arbitrary user-implemented deletion heuristics can be plugged. 

译文:对于自动化,我们的工具包括一个还原代理机制,可以将任意用户实现的删除启发式插入其中。

1 Introduction and Motivation

 

With a remarkable amount of recent work (e.g. [13,3,17]) on algorithms for computing
minimal explanations of SAT formula unsatisfiability and a broad range
of applications (e.g. [15,12]), the field of minimal unsatisfiable subset (MUS) extraction
has become an emerging research field in the SAT community, leading
to the introduction of a MUS track in the SAT competition 2011 [16].

译文:最小不可满足子集(MUS)提取领域已经成为SAT社区的一个新兴研究领域,导致2011年SAT竞赛[16]引入了一个MUS轨道。

 

The algorithms for MUS extraction can be characterized as constructive, destructive
or dichotomic [6,14], but they all focus solely on the amount of clauses
or clause sets (called groups) [2] present in the minimal explanation.

译文:MUS提取的算法可以被描述为构造的、破坏的或二分的[6,14],但它们都只关注最小解释中出现的子句或子句集(称为组)[2]的数量
 

We introduce a completely new approach to guiding the destructive MUS
extraction algorithm by Nadel [11]. 译文:我们介绍了一种全新的方法来指导nadel[11]的破坏性MUS提取算法

The central idea of destructive MUS extraction,
which was first proposed more than 20 years ago [4,1], is to perform
a series of reduction steps, moving into smaller unsatisfiable subsets F until all subsets F ⊂ F are satisfiable.

The idea of interactive MUS extraction
is to give a user full control over the individual reduction steps, providing an
interface for interactively focusing on or eliminating parts of the search space. 译文:交互式MUS提取的思想是让用户完全控制单个缩减步骤,提供一个界面,以交互方式关注或消除部分搜索空间。


Within our MUStICCa tool, this is done by reverting to intermediate results, the
non-minimal unsatisfiable subsets, and exploring new parts of the search space
by choosing alternative deletion candidates. 译文:这是通过恢复中间结果,即非最小不可满足子集,并通过选择替代删除候选来探索搜索空间的新部分来实现的。

This feature will not only help domain
experts (who usually have good intuitions about the clauses relevant for
good explanations) to find meaningful explanations of unsatisfiability, but also
researchers and students in analysing unsatisfiable instances and evaluating the
effects of different heuristics for selecting deletion candidates.

译文:这一特性不仅有助于领域专家(他们通常对好的解释相关的条款有良好的直觉)找到不满足的有意义的解释,而且有助于研究人员和学生分析不满足的实例,评估不同启发式选择删除候选的效果。

   
 

By default, MUStICCa’s graphical user interface (see Figure 1) consists of
three main view components.

   

 

   
 

The central view is a representation of the current
knowledge about the search space. Explored USes are inspected in a separate US
view which also provides the interface for starting reduction steps. The third view
is responsible for administering automated reduction agents.

译文:中心视图是关于搜索空间的当前知识的表示。已探索的用途在单独的美国视图中进行检查,这也提供了开始减少步骤的界面。第三个视图负责管理自动裁减代理。
   
 

Our tool automatically
avoids unnecessary deletion tests by efficiently representing and reusing all
the clause criticality information that was gained anywhere in the search space.

 译文:我们的工具通过有效地表示和重用在搜索空间中获得的所有子句临界性信息,自动避免了不必要的删除测试。
   
 

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
classes by inheriting from a plug-in interface for custom deletion heuristics. This interface is defined in Section 4.3 of the user’s guide.

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
semantic information, we have only been able to evaluate MUStICCa as a tool for
semantically guided MUS extraction in a single application from the first author’s
area of knowledge.

Since the motivation and context of this application can only
be outlined here due to space constraints, the interested reader is referred to the
discussion in Chapter 6 of the thesis.

 

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:
– interactive execution of the deletion-based MUS extraction algorithm        交互式执行基于删除的MUS提取算法
– exploration of the search space starting at any already encountered US   从任何已经遇到的US开始探索搜索空间
– global reuse of clause criticality information  子句临界信息的全局重用
– well-structured graphical user interface
– automatized extraction of MUSes via reduction agents       通过还原剂自动提取muse

 

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 main features, and gives some pointers to interesting implementation
details. Section 3 describes some of our practical experiences with using the tool
for an application.We conclude with a short summary in Section 4.

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)

 

posted on 2021-11-18 11:05  海阔凭鱼跃越  阅读(90)  评论(0编辑  收藏  举报