Exploiting hierarchy and structure to efficiently solve graph coloring as SAT

Many important EDA problems can be formulated as graph coloring, which is a class of the Constraint Satisfaction Problem (CSP). This paper makes three contributions First, we define new encodings for representing CSPs as equivalent Boolean Satisfiability (SAT) problems: (1) a generalization of the log encoding by using ITE trees to select the domain values of a CSP variable, so that only conflict clauses are required; and (2) a simplified direct encoding, derived from the direct encoding (Where each domain value of a CSP variable is indexed by a unique Boolean variable) by omitting one of the Boolean variables and the at-least-one clause. Second, we propose the use of hierarchical encodings that combine several simple encodings to index the domain values of CSP variables, in order to produce SAT formulas that depend on fewer Boolean variables and are easier to solve. Third, we study schemes for static ordering of the Boolean variables in a Conjunctive Normal Form (CNF) representation of a CSP, based on the structure of the CSP graph, such that the resulting variable order is used for the decisions made by a SAT solver when evaluating the CNF. We compare 12 previously known SAT encodings for CSP with the two new encodings, as well as with 10 hybrid encodings. With symmetry-breaking constraints enforced, static variable ordering produced up to 2 orders of magnitude speedup. Additionally exploiting hierarchical encodings resulted in another order of magnitude speedup.

[1]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[2]  John Cocke,et al.  A methodology for the real world , 1981 .

[3]  Gregory J. Chaitin,et al.  Register allocation & spilling via graph coloring , 1982, SIGPLAN '82.

[4]  John L. Hennessy,et al.  Register allocation by priority-based coloring , 1984, SIGPLAN '84.

[5]  Johan de Kleer,et al.  A Comparison of ATMS and CSP Techniques , 1989, IJCAI.

[6]  John L. Hennessy,et al.  The priority-based coloring approach to register allocation , 1990, TOPL.

[7]  Simon Kasif,et al.  On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks , 1990, Artif. Intell..

[8]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[9]  Hector J. Levesque,et al.  A New Method for Solving Hard Satisfiability Problems , 1992, AAAI.

[10]  Bart Selman,et al.  Planning as Satisfiability , 1992, ECAI.

[11]  Shuichi Miyazaki,et al.  SAT-Varible Complexity of Hard Combinatorial Problems , 1994, IFIP Congress.

[12]  Tommy R. Jensen,et al.  Graph Coloring Problems , 1994 .

[13]  Rina Dechter,et al.  Constraint Processing , 1995, Lecture Notes in Computer Science.

[14]  Bart Selman,et al.  Encoding Plans in Propositional Logic , 1996, KR.

[15]  Michael D. Ernst,et al.  Automatic SAT-Compilation of Planning Problems , 1997, IJCAI.

[16]  Olivier Coudert Exact coloring of real-life graphs is easy , 1997, DAC.

[17]  Majid Sarrafzadeh,et al.  Fast Approximation Algorithms on Maxcut, k-Coloring, and k-Color Ordering vor VLSI Applications , 1998, IEEE Trans. Computers.

[18]  Naveed A. Sherwani Algorithms for VLSI Physcial Design Automation , 1998 .

[19]  Miodrag Potkonjak,et al.  Efficient coloring of a large spectrum of graphs , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[20]  Michael Burns,et al.  Graph coloring algorithms for fast evaluation of Curtis decompositions , 1999, DAC '99.

[21]  Naveed A. Sherwani,et al.  Algorithms for VLSI Physical Design Automation , 1999, Springer US.

[22]  Malgorzata Marek-Sadowska,et al.  Circuit clustering using graph coloring , 1999, ISPD '99.

[23]  Bart Selman,et al.  Unifying SAT-based and Graph-based Planning , 1999, IJCAI.

[24]  Toby Walsh,et al.  Search in a Small World , 1999, IJCAI.

[25]  Holger H. Hoos SAT-Encodings, Search Space Structure, and Local Search Performance , 1999, IJCAI.

[26]  Toby Walsh,et al.  SAT v CSP , 2000, CP.

[27]  M. Moskewicz,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[28]  Seda Ogrenci Memik,et al.  Accelerated SAT-based scheduling of control/data flow graphs , 2002, Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[29]  Rolf Drechsler,et al.  On the relation between SAT and BDDs for equivalence checking , 2002, Proceedings International Symposium on Quality Electronic Design.

[30]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[31]  Ian P. Gent Arc Consistency in SAT , 2002, ECAI.

[32]  Toby Walsh,et al.  Automatically Reformulating SAT-Encoded CSPs , 2002 .

[33]  Andrew A. Kennings,et al.  Board-level multiterminal net assignment for the partial cross-bar architecture , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[34]  sub-SAT: a formulation for relaxed Boolean satisfiability with applications in routing , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[35]  Toby Walsh,et al.  Local Consistencies in SAT , 2003, SAT.

[36]  Christian Haubelt,et al.  SAT-based techniques in system synthesis , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[37]  Henry A. Kautz,et al.  Understanding the power of clause learning , 2003, IJCAI 2003.

[38]  Henry A. Kautz,et al.  Using Problem Structure for Efficient Clause Learning , 2003, SAT.

[39]  Steven David Prestwich,et al.  Local Search on SAT-encoded Colouring Problems , 2003, SAT.

[40]  Efficient translation of boolean formulas to CNF in formal verification of microprocessors , 2004 .

[41]  Lawrence Ryan Efficient algorithms for clause-learning SAT solvers , 2004 .

[42]  Igor L. Markov,et al.  Breaking instance-independent symmetries in exact graph coloring , 2004 .

[43]  Steven David Prestwich Full Dynamic Substitutability by SAT Encoding , 2004, CP.

[44]  Michael D. Smith,et al.  A generalized algorithm for graph-coloring register allocation , 2004, PLDI '04.

[45]  Igor L. Markov,et al.  Breaking instance-independent symmetries in exact graph coloring , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[46]  Ken Kennedy,et al.  RETROSPECTIVE: Coloring Heuristics for Register Allocation , 2022 .

[47]  Guowu Yang,et al.  Routability checking for three-dimensional architectures , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[48]  Rob A. Rutenbar,et al.  A comparative study of two Boolean formulations of FPGA detailed routing constraints , 2001, IEEE Transactions on Computers.

[49]  Xiaoyu Song,et al.  Segmented channel routability via satisfiability , 2004, TODE.

[50]  Miroslav N. Velev,et al.  Exploiting signal unobservability for efficient translation to CNF in formal verification of microprocessors , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[51]  Miroslav N. Velev Comparative study of strategies for formal verification of high-level processors , 2004, IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings..

[52]  Priyank Kalla,et al.  Guiding CNF-SAT search via efficient constraint partitioning , 2004, ICCAD 2004.

[53]  M. Velev Comparison of schemes for encoding unobservability in translation to SAT , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[54]  Alan M. Frisch,et al.  Solving Non-Boolean Satisfiability Problems with Stochastic Local Search: A Comparison of Encodings , 2001, Journal of Automated Reasoning.

[55]  Jussi Rintanen,et al.  Satisfiability Planning with Constraints on the Number of Actions , 2005, ICAPS.

[56]  Priyank Kalla,et al.  Variable Ordering for Efficient SAT Search by Analyzing Constraint-Variable Dependencies , 2005, SAT.

[57]  Eyal Amir,et al.  Compact Propositional Encodings of First-Order Theories , 2005, IJCAI.

[58]  Sheila A. McIlraith,et al.  Partition-based logical reasoning for first-order and propositional theories , 2005, Artif. Intell..

[59]  Ilkka Niemelä,et al.  Planning as satisfiability: parallel plans and algorithms for plan search , 2006, Artif. Intell..

[60]  Allen Van Gelder,et al.  Another look at graph coloring via propositional satisfiability , 2008, Discret. Appl. Math..