Saucy3: Fast Symmetry Discovery in Graphs Hadi Katebi Karem A. Sakallah Igor L. Markov The University of Michigan.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Algorithms for computing Canonical labeling of Graphs and Sub-Graph Isomorphism.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
CPSC 502, Lecture 15Slide 1 Introduction to Artificial Intelligence (AI) Computer Science cpsc502, Lecture 15 Nov, 1, 2011 Slide credit: C. Conati, S.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
1 Partition Into Triangles on Bounded Degree Graphs Johan M. M. van Rooij Marcel E. van Kooten Niekerk Hans L. Bodlaender.
Automatic Tuning1/33 Boosting Verification by Automatic Tuning of Decision Procedures Domagoj Babić joint work with Frank Hutter, Holger H. Hoos, Alan.
1,2,3...QAP! Matteo Fischetti (joint work with Michele Monaci and Domenico Salvagnin) DEI University of Padova IPDU, Newcastle, July 2011.
Abhishek K. Shrivastava October 2 nd, 2009 Listing Unique Fractional Factorial Designs – II.
Abhishek K. Shrivastava September 25 th, 2009 Listing Unique Fractional Factorial Designs – I.
© 2002 Fadi A. Aloul, University of Michigan PBS: A Pseudo-Boolean Solver and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Markov, Karem A. Sakallah.
Genome-scale disk-based suffix tree indexing Benjarath Phoophakdee Mohammed J. Zaki Compiled by: Amit Mahajan Chaitra Venus.
The number of edge-disjoint transitive triples in a tournament.
Solving Difficult SAT Instances In The Presence of Symmetry Fadi A. Aloul, Arathi Ramani Igor L. Markov and Karem A. Sakallah University of Michigan.
Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan.
Recent Development on Elimination Ordering Group 1.
Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,
Structure discovery in PPI networks using pattern-based network decomposition Philip Bachman and Ying Liu BIOINFORMATICS System biology Vol.25 no
DARPA Scalable Simplification of Reversible Circuits Vivek Shende, Aditya Prasad, Igor Markov, and John Hayes The Univ. of Michigan, EECS.
SAT-Based Decision Procedures for Subsets of First-Order Logic
DAC Solving Difficult SAT Instances In The Presence of Symmetry Fadi A. Aloul, Arathi Ramani Igor L. Markov and Karem A. Sakallah University of Michigan.
Exploiting Structure in Symmetry Detection for CNF Paul T. Darga, Mark H. Liffiton, Karem A. Sakallah, and Igor L. Markov The University of Michigan.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Triple Patterning Aware Detailed Placement With Constrained Pattern Assignment Haitong Tian, Yuelin Du, Hongbo Zhang, Zigang Xiao, Martin D.F. Wong.
Computing with Finite Automata (part 2) 290N: The Unknown Component Problem Lecture 10.
Backtracking.
1 Message Passing and Local Heuristics as Decimation Strategies for Satisfiability Lukas Kroc, Ashish Sabharwal, Bart Selman (presented by Sebastian Brand)
CSE 589 Applied Algorithms Spring Colorability Branch and Bound.
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian.
1 Algebraic Structure in Almost-Symmetries Igor Markov, Univ. of Michigan Presented by Ian Gent, St. Andrews.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Gems of Algebra: The secret life of the symmetric group
Graph Coloring with Ants
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
Takeaki Uno Tatsuya Asai Yuzo Uchida Hiroki Arimura
Li Wang Haorui Wu University of South Carolina 04/02/2015 A* with Pattern Databases.
1 Frequent Subgraph Mining Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY June 12, 2010.
An Efficient Algorithm for Enumerating Pseudo Cliques Dec/18/2007 ISAAC, Sendai Takeaki Uno National Institute of Informatics & The Graduate University.
Tao Lin Chris Chu TPL-Aware Displacement- driven Detailed Placement Refinement with Coloring Constraints ISPD ‘15.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.
NP-Complete problems.
1 Constraint Symmetry and Solution Symmetry Presented by Beau M. Christ Symmetry in CSP’s Spring 2010 Presented by Beau M. Christ Symmetry in CSP’s Spring.
Data Structures and Algorithms in Parallel Computing Lecture 2.
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Ricochet Robots Mitch Powell Daniel Tilgner. Abstract Ricochet robots is a board game created in Germany in A player is given 30 seconds to find.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Faster Symmetry Discovery using Sparsity of Symmetries Paul T. Darga Karem A. Sakallah Igor L. Markov The University of Michigan.
10.3 Reformulation The Lex-Leader Method Shant Karakashian 1.
1 Alan Mishchenko Research Update June-September 2008.
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
Exploiting Structure in Symmetry Detection for CNF
Finding Heuristics Using Abstraction
Subtree Isomorphism in O(n2.5)
A Progressive Approach for Satisfiability Modulo Theories
Output Sensitive Enumeration
Big Data Analytics: Exploring Graphs with Optimized SQL Queries
Backtracking and Branch-and-Bound
Alan Kuhnle*, Victoria G. Crawford, and My T. Thai
Accelerating Regular Path Queries using FPGA
Presentation transcript:

Saucy3: Fast Symmetry Discovery in Graphs Hadi Katebi Karem A. Sakallah Igor L. Markov The University of Michigan

2 Outline Graph symmetry Graph symmetry Implicit representation of permutation sets: Ordered Partition Pairs (OPPs) Implicit representation of permutation sets: Ordered Partition Pairs (OPPs) Basic permutation search tree Basic permutation search tree Pruning via partition refinement: Pruning via partition refinement: –Non-isomorphic OPP pruning –Matching OPP pruning Group-theoretic pruning: Group-theoretic pruning: –Coset pruning –Orbit pruning Algorithm trace Algorithm trace Experimental results Experimental results Conclusions Conclusions

Graph Symmetry (1 4)(2 3) is a symmetry! The set of edges is unchanged. ( )(5 6) is not a symmetry! The set of edges is different.

4 Problem Statement Given a graph G Given a graph G –with n vertices –and a partition  of its vertices (colors), –with unknown set of symmetries Sym(G) , Find a set of symmetries S  Sym(G)  Find a set of symmetries S  Sym(G)  –such that S generates Sym(G)  –and |S| ≤ n - 1

5 Graph Symmetry Tools Nauty (McKay, ’81) Nauty (McKay, ’81) –Blazed the trail –Tuned to quickly find the symmetries of large sets of small graphs Saucy (Darga et al, DAC ’04) Saucy (Darga et al, DAC ’04) –Graph symmetry can be fast for large yet sparse graphs –> 1000x speedup over nauty for graphs with tens of thousands of vertices Bliss (Junttila & Kaski, ’07) Bliss (Junttila & Kaski, ’07) –Efficient canonical labeling of sparse graphs –Some improvements on Saucy Traces (Piperno, ’08) Traces (Piperno, ’08) Primarily canonical labeling tools; symmetries produced as a byproduct

6 Permutations Permutation: bijection from V to V Permutation: bijection from V to V –Tabular representation –Cycle notation Graph Symmetry: permutation that preserves edge relation Graph Symmetry: permutation that preserves edge relation Permutation Composition: Permutation Composition: Symmetric group on m-element set T: S m (T ) Symmetric group on m-element set T: S m (T ) –|S m (T )| = m !

7 Ordered Partitions Unit OP: m = 1 Unit OP: m = 1 Discrete OP: m = n Discrete OP: m = n

8 Ordered Partition Pair (OPP) Isomorphic OPP: m = k and Isomorphic OPP: m = k and Non-isomorphic OPP: m ≠ k or Non-isomorphic OPP: m ≠ k or Matching OPP: isomorphic and Matching OPP: isomorphic and Unit OPP: top and bottom ordered partitions are unit Unit OPP: top and bottom ordered partitions are unit Discrete OPP: top and bottom ordered partitions are discrete Discrete OPP: top and bottom ordered partitions are discrete

9 Implicit Representation of Permutations Sets using OPPs Discrete OPP (single permutation)

10 Implicit Representation of Permutations Sets using OPPs Unit OPP (m ! permutations)

11 Implicit Representation of Permutations Sets using OPPs Isomorphic OPP

12 Implicit Representation of Permutations Sets using OPPs Matching OPP

13 Implicit Representation of Permutations Sets using OPPs Non-isomorphic OPP

14 Basic Search for Symmetries 767 8888 868 X X 6666 787 77 868 767 X 777 X

15 Vertex Partition Refinement For each vertex v, compute a neighbor-count tuple For each vertex v, compute a neighbor-count tuple Partition the vertices based on these tuples Partition the vertices based on these tuples Repeat until the partition stabilizes Repeat until the partition stabilizes Try to distinguish vertices that are not symmetric Try to distinguish vertices that are not symmetric R (3)(3) (3)(3) (3)(3) (3)(3) (3)(3) (3)(3) (3)(3) (7)(7) 5 (2,1)(2,1) (2,1)(2,1) (2,1)(2,1) (2,1)(2,1) (2,1)(2,1) (2,1)(2,1) (2,1)(2,1)

16 Search-Tree Pruning via Vertex Refinement 77 87 R

17 Isomorphic Refinement 2121 2 R TopBottom

18 Non-Isomorphic Refinement 6161 6 R  TopBottom

19 Group Generators 8 vertices: 8! = permutations 8 vertices: 8! = permutations 48 symmetries 8 for square and 6 for triangle 48 symmetries 8 for square and 6 for triangle Basic enumeration is inefficient Basic enumeration is inefficient Fundamental concept: symmetry group can be represented implicitly by an exponentially smaller set of generators Fundamental concept: symmetry group can be represented implicitly by an exponentially smaller set of generators identity ( ) (1 4)(2 3) ( ) (1 2)(3 4) (1 3)(2 4) (1 4) (2 3) identity (6 7 8) (6 8 7) (6 7) (6 8) (7 8)

20 Group Generators Generators:  1 = (1 2)(3 4)  2 = (2 3)  3 = (6 7)  4 = (6 8) ( )(7 8) =  2  1  3  4  3 is a symmetry   4  3 = (6 8) ◦ (6 7) = (6 7 8)    3  4  3 = (6 7) ◦ (6 7 8) = (7 8)    1  3  4  3 = (1 2)(3 4) ◦ (7 8) = (1 2)(3 4)(7 8)  2  1  3  4  3 = (2 3) ◦ (1 2)(3 4)(7 8) = ( )(7 8)

21 Orbit Partition Initial partition: Initial partition:{{1,2,3,4,5,6,7,8}} Orbit partition: Orbit partition:{{1,2,3,4},{5},{6,7,8}} After degree refinement: After degree refinement:{{1,2,3,4,6,7,8},{5}} Symmetry group induces an equivalence relation on vertices: Symmetry group induces an equivalence relation on vertices: the orbit partition Refinement provides an approximation of the orbit partition Refinement provides an approximation of the orbit partition Orbit partition: Orbit partition: –Built up incrementally from discovered symmetries –Used to prune search for redundant symmetries

22 Cosets A subgroup H of a group G partitions it into cosets A subgroup H of a group G partitions it into cosets Each coset has the same number of elements as H Each coset has the same number of elements as H G can be generated by composing a single representative from each coset with H G can be generated by composing a single representative from each coset with H Used to prune search for redundant symmetries Used to prune search for redundant symmetries

23 Structure of Permutation Search Tree

24 Algorithm Outline Phase 1: Recursive subgroup decomposition Phase 1: Recursive subgroup decomposition Phase 2: Search for coset representatives … surprisingly like SAT solving! Phase 2: Search for coset representatives … surprisingly like SAT solving! Four pruning mechanisms: Four pruning mechanisms: –Group-theoretic Coset pruning: stop after coset representative is found Coset pruning: stop after coset representative is found Orbit pruning: avoid looking for coset representative Orbit pruning: avoid looking for coset representative –Algorithmic (due to OPP data structure): Matching OPP pruning: identify candidate permutation before reaching leaves Matching OPP pruning: identify candidate permutation before reaching leaves Non-isomorphic OPP pruning: detect absence of coset representative in current subtree Non-isomorphic OPP pruning: detect absence of coset representative in current subtree

25 Saucy 2.1 Search Tree ≈ {7,8} {6,7,8} {2,3}{6,7,8} {1,2,3,4}{6,7,8} Orbit Partition (7 8) id (6 7) // ≈ x (2 3) = (1 2)(3 4) = ≈ Coset pruning // Orbit Pruning = Matching OPP x Non-isomorphic OPP 1111 1212 13141314 1616 17181718 2222 2323 6666 6767 6868 2121 2424 7777 7878 7676 7878 R R R

26 Experimental Evaluation 1183 SAT 2009 competition benchmarks 1183 SAT 2009 competition benchmarks –Application –Crafted –Random Saucy on all 1183 Saucy on all 1183 Shatter on 47 most difficult benchmarks Shatter on 47 most difficult benchmarks Experiments on SUN workstation Experiments on SUN workstation –3GHz Intel Dual-Core CPU –6MB cache –8GB RAM –64-bit Redhat Linux

27 Saucy Time vs. Graph Vertices

28 Saucy Time vs. Graph Vertices Time out = 500 sec. Time out = 500 sec. Sacuy finished on all but 18 Sacuy finished on all but 18 –connum: 6 (solved by varying branching heuristics) –equilarge: 3 –mod2-rand3bip: 9 Crafted category is the most challenging Crafted category is the most challenging Weak trend towards larger run times for larger graphs Weak trend towards larger run times for larger graphs Saucy is really fast (runtime < 1 sec.) on 93% (1101) of all benchmarks Saucy is really fast (runtime < 1 sec.) on 93% (1101) of all benchmarks

29 Saucy Group Order vs. Testcase

30 Saucy Group Order vs. Testcase 323 benchmarks exhibited non-trivial symmetries 323 benchmarks exhibited non-trivial symmetries Random category: Random category: –606 had no symmetry –4 had one symmetry Crafted category: Crafted category: –175 out of 263 (66%) had symmetry –18 timed out Application category: Application category: –144 out of 292 (50%) had symmetry

31 Saucy Group Order vs. #generators

32 Saucy Group Order vs. #generators Guarantee to produce no more than n - 1 generators for n-vertex graph Guarantee to produce no more than n - 1 generators for n-vertex graph The number of reported generators is significantly less than n - 1 The number of reported generators is significantly less than n - 1

33 Shatter +SBP Variables

34 Shatter +SBP Clauses

35 Shatter Variables and Clauses Shatter on 47 benchmarks Shatter on 47 benchmarks –Unsolved benchmarks or benchmarks with run time > 1000 sec. Application: 13 Application: 13 Crafted: 34 Crafted: 34 # added SBP clauses # added SBP clauses –Less than 4% for 29 benchmarks –Ranged from 25% to 133% for 18 benchmarks # added SBP variables # added SBP variables –Less than 1% for 23 benchmarks –Ranged from 9% to an order of magnitude for 24 benchmarks

36 Shatter (Symmetry-Breaking) Flow Use shatter to generate SBPs Use shatter to generate SBPs Add SBPs to the original CNF formula Add SBPs to the original CNF formula Pass the augmented CNF formula to the SAT solver Pass the augmented CNF formula to the SAT solver Statistical data: Statistical data: –We used a re-ordering script to Reorder variables Reorder variables Reorder clauses Reorder clauses –20 re-ordered versions of each benchmark 10 for the original benchmarks 10 for the original benchmarks 10 for the SBP augmented benchmarks 10 for the SBP augmented benchmarks Time-outs Time-outs –Crafted: 5000 sec. –Application: sec.

37 SAT Solver Run Time 13 out of 47 benchmarked finished within time-outs 13 out of 47 benchmarked finished within time-outs

38 SAT Solver Run Time SBP augmented versions led to fewer time-outs SBP augmented versions led to fewer time-outs All but 3 benchmarks were solved faster All but 3 benchmarks were solved faster Four benchmarks which were reported to be unsolvable in SAT 2009 competition were solved with the addition of SBPs Four benchmarks which were reported to be unsolvable in SAT 2009 competition were solved with the addition of SBPs

39 Conclusions and Future Work For SAT: symmetry discovery is practically free For SAT: symmetry discovery is practically free Static symmetry breaking Static symmetry breaking –Many CNF instances possess no or little symmetry –CNF instances with a lot of symmetry may or may not benefit from static symmetry breaking Future work: Future work: –SAT-inspired algorithmic enhancements: Branching heuristics Branching heuristics Learning Learning –Dynamic symmetry breaking: Integrating symmetry breaking within the SAT solver Integrating symmetry breaking within the SAT solver Uncovering hidden/conditional symmetries Uncovering hidden/conditional symmetries