Generic SBDD using Computational Group Theory

Slides:



Advertisements
Similar presentations
Symmetry Definitions for Constraint Satisfaction Problems Dave Cohen, Peter Jeavons, Chris Jefferson, Karen Petrie and Barbara Smith.
Advertisements

Exploiting Symmetry in Planning Maria Fox Durham Planning Group University of Durham, UK.
Introduction to Symmetry Handbook of Constraint Programming, Chapter 10 Presentation by: Robert Woodward Advanced CP, Fall
Symmetry as a Prelude to Implied Constraints Alan Frisch, Ian Miguel, Toby Walsh University of York.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Constraint Satisfaction Problems
Recursion.
CGRASS A System for Transforming Constraint Satisfaction Problems Alan Frisch, Ian Miguel (York) Toby Walsh (Cork)
Chapter 5 Outline Formal definition of CSP CSP Examples
Global Constraints for Lexicographic Orderings Alan Frisch, Ian Miguel (University of York) Brahim Hnich, Toby Walsh (4C) Zeynep Kiziltan (Uppsala University)
Data Structures Introduction Phil Tayco Slide version 1.0 Jan 26, 2015.
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian.
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
1 Algebraic Structure in Almost-Symmetries Igor Markov, Univ. of Michigan Presented by Ian Gent, St. Andrews.
1 Chapter 1 Analysis Basics. 2 Chapter Outline What is analysis? What to count and consider Mathematical background Rates of growth Tournament method.
© J. Christopher Beck Lecture 13: Modeling in Constraint Programming.
Modelling for Constraint Programming Barbara Smith CP 2010 Doctoral Programme.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
CP Summer School Modelling for Constraint Programming Barbara Smith 4. Combining Viewpoints, Modelling Advice.
General Techniques for Symmetry Reduction in Model Checking Alastair Donaldson Alice Miller Department of Computing Science University of Glasgow.
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.
CP Summer School Modelling for Constraint Programming Barbara Smith 3. Symmetry, Viewpoints.
Maximum Density Still Life Symmetries and Lazy Clause Generation Geoffrey Chu, Maria Garcia de la Banda, Chris Mears, Peter J. Stuckey.
Searching Topics Sequential Search Binary Search.
10.3 Reformulation The Lex-Leader Method Shant Karakashian 1.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
CSG3F3/ Desain dan Analisis Algoritma
The NP class. NP-completeness
Lecture 7: Constrained Conditional Models
Programming paradigms
CSE341: Programming Languages Lecture 11 Type Inference
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Computer Science cpsc322, Lecture 13
GC211Data Structure Lecture2 Sara Alhajjam.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
UNIT 3 – LESSON 5 Creating Functions.
Constraint Satisfaction
Uninformed Search Strategies
Knowledge Representation
CS 188: Artificial Intelligence
Computer Science cpsc322, Lecture 14
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Unit# 9: Computer Program Development
Computer Science cpsc322, Lecture 13
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Analysis and design of algorithm
Unit-2 Divide and Conquer
CSE341: Programming Languages Lecture 11 Type Inference
Chapter 3: Finite Constraint Domains
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Cs212: Data Structures Computer Science Department Lecture 7: Queues.
CSE341: Programming Languages Lecture 11 Type Inference
Artificial Intelligence
Constraints and Search
Pruning 24-Feb-19.
Constraint satisfaction problems
Copyright © Cengage Learning. All rights reserved.
Artificial Intelligence
Data Structures Introduction
Data Structures & Algorithms
CSE341: Programming Languages Lecture 11 Type Inference
A Few Sample Reductions
Major Design Strategies
CSE341: Programming Languages Lecture 11 Type Inference
Minimax strategies, alpha beta pruning
Constraint satisfaction problems
Major Design Strategies
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
ADDITIONAL ANALYSIS TECHNIQUES
Presentation transcript:

Generic SBDD using Computational Group Theory Ian Gent St Andrews Warwick Harvey Imperial College Tom Kelsey St Andrews Steve Linton St Andrews

Conclusions Two key novelties Implementation provided in GAP-ECLiPSe Entirely generic implementation of SBDD user defines the group, does not write a dominance checker Algebraic algorithm for dominance checking searches given definition of an arbitrary group Implementation provided in GAP-ECLiPSe Groups up to size 1036 compared to 109 for SBDS in GAP/ECLiPSe Future work Exploit special features of commonly occurring groups Generic SBDD

Outline of Talk Conclusions Symmetry Breaking, SBDD, Dominance Checking Groups and GAP Generic Dominance Check Discussion Generic SBDD

Symmetry Breaking Many CSPs have symmetry n-queens, colouring, golfers’ problem, … Breaking symmetry reduces search avoids exploring equivalent states Three main approaches to symmetry breaking reformulate the problem add constraints before search adapt search algorithm to break symmetry SBDD takes the last of these approaches Generic SBDD

SBDD Symmetry Breaking by Dominance Detection Fahle, Schamberger, Sellmann, 2001 Foccaci, Milano, 2001 prefigured by Brown, Finkelstein, Purdom, 1988 Do not search a node if you have searched its equivalent before check before entering a node Generic SBDD

Dominance Check 1. Deduce consequences of X≠a, Y=b, Z≠c, W ≠d 2. Is X=a equivalent to anything deduced? 3. Is Y=b, Z=c equivalent to anything deduced? 4. Is Y=b, W=d equivalent to anything deduced? Generic SBDD

Generic Dominance Check Two existing approaches to dominance checking hand code checking procedure express check as a constraint problem Dominance check works only for a family of instances e.g. golfers’ problems, BIBD instances We have written a generic dominance checker works for any constraint problem user has only to define the group acting on the CSP Generic SBDD

Generators and Groups Consider simple problem A3 + B3 + C3 + D3 = E3 + F3 + G3 A…G :: 1..50 Given any solution, we can permute the values of ABCD and of EFG, independently. (A B C D) is permutation cycling A through D (A D) swaps A and D (E F G) cycles E through G (E G) swaps E and G These four permutations generate the group of different ways to construct one solution from another. there are 4!3! = 144 group elements Generic SBDD

GAP and GAP-ECLiPSe GAP is world leading computational algebra package accepts generators and computes using the whole group e.g. we pass four elements (A B C D), (A D), (E F G), (E G) GAP computes with full group of size 144 144 is unusually small number of generators is at worst logarithmic in size of group GAP-ECLiPSe define generating elements and pass to GAP constraint problem searched in ECLiPSe dominance check written in GAP could be done in any pair of Algebra/Constraint packages Generic SBDD

Generic Dominance Check failsets sets of decisions at failed nodes {X=a}, {Y=b,Z=c}, {Y=b,W=d} pointset set of assigned variables at current node {Y=b,X=b,V=c} includes propagated values assume X=b, V=c set by inference It is a heuristic choice to have failsets as small as possible, pointset as big as possible. Generic SBDD

Dominance Check as Search Dominance check is an algebraic search Aside: anyone who has written a dominance check has written a computational algebra program! Seek group element g and failset S s.t. S g  Pointset Search process is essentially straightforward but we omit most algebraic details here critical to performance by several orders of magnitude Generic SBDD

Dominance Check as Search Recursive backtracking search work through failset find ways of mapping first element of failset to elements of pointset: try these in turn recurse for second element, fixing the mapping of the first element GAP allows us to make computation efficient work in stabilizers, subgroups fixing work done so far use transversals, the places that elements can map to use Schreier vectors for efficiency Generic SBDD

Dominance Check as Search is there g, S with S g  Pointset ? S in failsets: {X=a}, {Y=b,Z=c}, {Y=b,W=d} Pointset: {Y=b,X=b,V=c} Use the fact that Y=b shared between second two failsets Can we map X=a into Pointset? no! Can we map Y=b into Pointset? Yes! Y=b  Y=b Use Stabilizer of Y=b Can we map Z=c into {X=b,V=c}? Can we map W=d into {X=b, V=c}? {Y=b,W=d}  {Y=b, V=c} Dominance detected so backtrack Generic SBDD

Inference from Dominance Dominance can deduce domain removals Where a domain value would make dominance succeed, it can be removed Already known (Fahle et al, Brown et al) Again generically implemented Work heuristically i.e. only report removals we find easily Petrie [SymCon03] shows this can increase search compared to SBDS, which finds all removals Generic SBDD

Overview of Results Can solve problems with very large groups in very generic manner Main data on BIBD’s solve up to <7,21,6,2,1>, group 1021 in few secs solve up to <13,26,6,3,1>, group 1036 in few hrs count number of symmetrically distinct solutions compare with generic SBDS in GAP-ECLiPSe only practical for <6,10,5,3,2>, group 109 Competitive CSP method for solving BIBD’s special purpose BIBD methods much faster Hits a limit at moderate sized groups such as 1036 Generic SBDD

Problems? Solutions? GAP search can be prohibitive e.g. in <13,26,6,3,1> BIBD, group size 1036 2053 dominance checks take 59,000 cpu secs Should be able to exploit structure of group in general ways to reduce this in many cases Constraint programmers don’t know groups We have supplied macros to express groups easily Harvey, Kelsey, Petrie (SymCon03) McDonald (SymCon03) Generic SBDD

Conclusions Two key novelties Implementation provided in GAP-ECLiPSe Entirely generic implementation of SBDD user defines the group, does not write a dominance checker Algebraic algorithm for dominance checking searches given definition of an arbitrary group Implementation provided in GAP-ECLiPSe Groups up to size 1036 compared to 109 for SBDS in GAP/Eclipse Future work Exploit special features of commonly occurring groups Generic SBDD