228 research outputs found

    Boolean Satisfiability in Electronic Design Automation

    No full text
    Boolean Satisfiability (SAT) is often used as the underlying model for a significant and increasing number of applications in Electronic Design Automation (EDA) as well as in many other fields of Computer Science and Engineering. In recent years, new and efficient algorithms for SAT have been developed, allowing much larger problem instances to be solved. SAT “packages” are currently expected to have an impact on EDA applications similar to that of BDD packages since their introduction more than a decade ago. This tutorial paper is aimed at introducing the EDA professional to the Boolean satisfiability problem. Specifically, we highlight the use of SAT models to formulate a number of EDA problems in such diverse areas as test pattern generation, circuit delay computation, logic optimization, combinational equivalence checking, bounded model checking and functional test vector generation, among others. In addition, we provide an overview of the algorithmic techniques commonly used for solving SAT, including those that have seen widespread use in specific EDA applications. We categorize these algorithmic techniques, indicating which have been shown to be best suited for which tasks

    Breaking Instance-Independent Symmetries In Exact Graph Coloring

    Full text link
    Code optimization and high level synthesis can be posed as constraint satisfaction and optimization problems, such as graph coloring used in register allocation. Graph coloring is also used to model more traditional CSPs relevant to AI, such as planning, time-tabling and scheduling. Provably optimal solutions may be desirable for commercial and defense applications. Additionally, for applications such as register allocation and code optimization, naturally-occurring instances of graph coloring are often small and can be solved optimally. A recent wave of improvements in algorithms for Boolean satisfiability (SAT) and 0-1 Integer Linear Programming (ILP) suggests generic problem-reduction methods, rather than problem-specific heuristics, because (1) heuristics may be upset by new constraints, (2) heuristics tend to ignore structure, and (3) many relevant problems are provably inapproximable. Problem reductions often lead to highly symmetric SAT instances, and symmetries are known to slow down SAT solvers. In this work, we compare several avenues for symmetry breaking, in particular when certain kinds of symmetry are present in all generated instances. Our focus on reducing CSPs to SAT allows us to leverage recent dramatic improvement in SAT solvers and automatically benefit from future progress. We can use a variety of black-box SAT solvers without modifying their source code because our symmetry-breaking techniques are static, i.e., we detect symmetries and add symmetry breaking predicates (SBPs) during pre-processing. An important result of our work is that among the types of instance-independent SBPs we studied and their combinations, the simplest and least complete constructions are the most effective. Our experiments also clearly indicate that instance-independent symmetries should mostly be processed together with instance-specific symmetries rather than at the specification level, contrary to what has been suggested in the literature

    Boolean satisfiability in electronic design automation

    Full text link

    Amélioration de l'apprentissage des clauses par symétrie dans les solveurs SAT

    No full text
    National audienceLe problĂšme de satisfiabilitĂ© (SAT) est le premier problĂšme de dĂ©cision Ă  avoir Ă©tĂ© montrĂ© NP-complet. Il est central en thĂ©orie de la complexitĂ©. Une for- mule mise sous forme CNF contient un nombre intĂ©- ressant de symĂ©tries. En d'autres termes, la formule reste invariante si l'on permute quelques variables. De telles permutations sont les symĂ©tries de la formule et leurs Ă©liminations peuvent conduire Ă  une preuve plus courte pour la satisfiabilitĂ©. D'autre part, de nom- breuses amĂ©liorations ont Ă©tĂ© apportĂ©es dans les sol- veurs actuels. Les solveurs de type CDCL sont aujour- d'hui capables de rĂ©soudre de maniĂšre efficace des problĂšmes industriels de trĂšs grande taille (en nombre de variables et de clauses). Ces derniers utilisent des structures de donnĂ©es paresseuses, des politiques de redĂ©marrage et apprennent de nouvelles clauses Ă  chaque Ă©chec au cours de la recherche. Bien que l'uti- lisation des symĂ©tries et l'apprentissage de clauses s'avĂšrent ĂȘtre des principes puissants, la combinai- son des deux n'a encore jamais Ă©tĂ© exploitĂ©e. Dans cet article, nous allons montrer comment la symĂ©trie peut ĂȘtre utilisĂ©e afin d'amĂ©liorer l'apprentissage dans des solveurs de type CDCL. Nous avons mis en ap- plication l'apprentissage par symĂ©tries dans MiniSat et nous l'avons expĂ©rimentĂ© sur diffĂ©rents problĂšmes. Nous avons comparĂ© MiniSat avec et sans apprentis- sage par symĂ©tries. Les rĂ©sultats obtenus sont trĂšs en- courageants et montrent que l'utilisation des symĂ©tries dans l'apprentissage est profitable pour des solveurs Ă  base de CDCL

    Effective Auxiliary Variables via Structured Reencoding

    Get PDF
    Extended resolution shows that auxiliary variables are very powerful in theory. However, attempts to exploit this potential in practice have had limited success. One reasonably effective method in this regard is bounded variable addition (BVA), which automatically reencodes formulas by introducing new variables and eliminating clauses, often significantly reducing formula size. We find motivating examples suggesting that the performance improvement caused by BVA stems not only from this size reduction but also from the introduction of effective auxiliary variables. Analyzing specific packing-coloring instances, we discover that BVA is fragile with respect to formula randomization, relying on variable order to break ties. With this understanding, we augment BVA with a heuristic for breaking ties in a structured way. We evaluate our new preprocessing technique, Structured BVA (SBVA), on more than 29 000 formulas from previous SAT competitions and show that it is robust to randomization. In a simulated competition setting, our implementation outperforms BVA on both randomized and original formulas, and appears to be well-suited for certain families of formulas

    SAT-Solving in Practice, with a Tutorial Example from Supervisory Control

    Get PDF
    Satisfiability solving, the problem of deciding whether the variables of a propositional formula can be assigned in such a way that the formula evaluates to true, is one of the classic problems in computer science. It is of theoretical interest because it is the canonical NP-complete problem. It is of practical interest because modern SAT-solvers can be used to solve many important and practical problems. In this tutorial paper, we show briefly how such SAT-solvers are implemented, and point to some typical applications of them. Our aim is to provide sufficient information (much of it through the reference list) to kick-start researchers from new fields wishing to apply SAT-solvers to their problems. Supervisory control theory originated within the control community and is a framework for reasoning about a plant to be controlled and a specification that the closed-loop system must fulfil. This paper aims to bridge the gap between the computer science community and the control community by illustrating how SAT-based techniques can be used to solve some supervisory control related problems
    • 

    corecore