But Shaun’s already proved P equals NP. Can’t we move onto quantified SAT? Woof!

Slides:



Advertisements
Similar presentations
1D Bin Packing (or “CP? Who cares?”)
Advertisements

A Constraint Programming Approach to the Hospitals / Residents Problem By David Manlove, Gregg O’Malley, Patrick Prosser and Chris Unsworth.
1 EE5900 Advanced Embedded System For Smart Infrastructure Advanced Theory.
Order encoding x i ↔ (X ≥ i)(X = 3) = [1,1,1,0,0] Problem (hard) Problem (hard) Solution CNF Encoding Finite Domain Problem Solving Model Constraint Model.
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta
1 Chapter 4 Experiments with Blocking Factors The Randomized Complete Block Design Nuisance factor: a design factor that probably has an effect.
Chapter 4 Randomized Blocks, Latin Squares, and Related Designs
Lecture 23. Subset Sum is NPC
Specialised N-ary Constraint for the Stable Marriage Problem By Chris Unsworth and Patrick Prosser.
What’s the problem? Something like stable marriage problem … but without sex.
Linear System of Equations MGT 4850 Spring 2008 University of Lethbridge.
Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York Extending the Reach of Constraint Technology through Reformulation.
Lecture 1Easy, Hard, Impossible!Handout Easy: Euclid Sequences Form a sequence of number pairs (integers) as follows: Begin with any two positive numbers.
Approximation Algorithms
Modeling the Covering Test Problem Brahim Hnich, Steven Prestwich, and Evgeny Selensky Cork Constraint Computation Center UCC Supported by SFI.
Linear Programming Applications
4-cycle Designs Hung-Lin Fu ( 傅恆霖 ) 國立交通大學應用數學系 Motivation The study of graph decomposition has been one of the most important topics in graph theory.
Global Constraints for Lexicographic Orderings Alan Frisch, Ian Miguel (University of York) Brahim Hnich, Toby Walsh (4C) Zeynep Kiziltan (Uppsala University)
Cardinality & Sorting Networks. Cardinality constraint Appears in many practical problems: scheduling, timetabling etc’. Also takes place in the Max-Sat.
Applied Combinatorics, 4th Ed. Alan Tucker
Matrices MSU CSE 260.
Arithmetic Operations on Matrices. 1. Definition of Matrix 2. Column, Row and Square Matrix 3. Addition and Subtraction of Matrices 4. Multiplying Row.
Theory of Computing Lecture 19 MAS 714 Hartmut Klauck.
Applied Discrete Mathematics Week 10: Equivalence Relations
MATRICES AND DETERMINANTS
Pelvic floor Specialised Constraints for Stable Matching Problems Contact details: 17 Lilybank Gardens Glasgow G12 8QQ The Problem.
Symmetry Breaking Ordering Constraints Zeynep Kiziltan Department of Information Science Uppsala University, Sweden A progress.
April 10, 2002Applied Discrete Mathematics Week 10: Relations 1 Counting Relations Example: How many different reflexive relations can be defined on a.
Set Domain Solvers. 2 ic_sets - the set constraint solver  Load the ic_sets library by using :- lib(ic_sets). at the beginning of your code, or type.
Matrices Addition & Subtraction Scalar Multiplication & Multiplication Determinants Inverses Solving Systems – 2x2 & 3x3 Cramer’s Rule.
Approximate XML Joins Huang-Chun Yu Li Xu. Introduction XML is widely used to integrate data from different sources. Perform join operation for XML documents:
Contents of Chapter 7 Chapter 7 Backtracking 7.1 The General method
Data Structures and Algorithms (AT70.02) Comp. Sc. and Inf. Mgmt. Asian Institute of Technology Instructor: Prof. Sumanta Guha Slide Sources: CLRS “Intro.
Specialised Binary Constraint for the Stable Marriage Problem with Ties and incomplete preference lists By Chris Unsworth and Patrick Prosser.
Matrices Matrices A matrix (say MAY-trix) is a rectan- gular array of objects (usually numbers). An m  n (“m by n”) matrix has exactly m horizontal.
2009/9 1 Matrices(§3.8)  A matrix is a rectangular array of objects (usually numbers).  An m  n (“m by n”) matrix has exactly m horizontal rows, and.
Language: Set of Strings
Surya Bhupatiraju MIT PRIMES May 20 th, 2012 On the Complexity of the Marginal Consistency Problem.
Module #9: Matrices Rosen 5 th ed., §2.7 Now we are moving on to matrices, section 7.
solve x + (-16) = -12 solve x + (-16) = X = 4.
Word : Let F be a field then the expression of the form a 1, a 2, …, a n where a i  F  i is called a word of length n over the field F. We denote the.
Meeting 18 Matrix Operations. Matrix If A is an m x n matrix - that is, a matrix with m rows and n columns – then the scalar entry in the i th row and.
Algorithm Analysis Chapter 5. Algorithm An algorithm is a clearly specified set of instructions which, when followed, solves a problem. –recipes –directions.
Latin squares Def: A Latin square of order n is a quadruple (R, C, S; L) where R, C and S are sets of cardinality n and L is a mapping L: R × C → S such.
Unit II Discrete Structures Relations and Functions SE (Comp.Engg.)
LIMITATIONS OF ALGORITHM POWER
Equivalence Relations
Chapter 8: Relations. 8.1 Relations and Their Properties Binary relations: Let A and B be any two sets. A binary relation R from A to B, written R : A.
Matrices and Determinants
Chapter 13 Backtracking Introduction The 3-coloring problem
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Car Sequencing Problem Assessed exercise 2 15% 26/11/2010.
Prabhas Chongstitvatana 1 Backtracking Eight queens problem 1 try all possible C 64 8 = 4,426,165,368 2 never put more than one queen on a given row, vector.
Compression for Fixed-Width Memories Ori Rottenstriech, Amit Berman, Yuval Cassuto and Isaac Keslassy Technion, Israel.
Two dimensional arrays A two dimensional m x n array A is a collection of m. n elements such that each element is specified by a pair of integers (such.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Polynomials Count! CS Lecture 9 X1 X1 X2 X2 + + X3 X3.
Counting III: Pigeonhole principal, Pascal’s Triangle and more Great Theoretical Ideas In Computer Science S. Rudich V. Adamchik CS Spring 2006.
Linear Programming Chap 2. The Geometry of LP  In the text, polyhedron is defined as P = { x  R n : Ax  b }. So some of our earlier results should.
3/16/20161 … and now for… Sequences. 3/16/20162 Sequences Sequences represent ordered lists of elements. A sequence is defined as a function from a subset.
Approximation Algorithms based on linear programming.
Section 2.4. Section Summary  Sequences. o Examples: Geometric Progression, Arithmetic Progression  Recurrence Relations o Example: Fibonacci Sequence.
A very brief introduction to Matrix (Section 2.7) Definitions Some properties Basic matrix operations Zero-One (Boolean) matrices.
REVIEW Linear Combinations Given vectors and given scalars
Copyright © 2014, 2010, 2007 Pearson Education, Inc.
Copyright © 2014, 2010, 2007 Pearson Education, Inc.
Lecture 20: Dataflow Analysis Frameworks 11 Mar 02
CSE 6408 Advanced Algorithms.
Properties of Relations
A Few Sample Reductions
Presentation transcript:

But Shaun’s already proved P equals NP. Can’t we move onto quantified SAT? Woof!

Set Variables using as an example Steiner Triples

Set Variables using as an example Steiner Triples SteinerKirkman

… and BIBD’s, 0/1 encoding, symmetry breaking See choco manual 1.4.2, page 14 and 15 CSPLib prob028 choco manual 6.3, pages 64 and 65 choco manual 8.56 lex (constraint)

Represented with two bounds kernel: intersection of all possible sets envelope: the union of all possible setsupper bound lower bound

We will do this by example, solving a problem

We are given a set S of size n. Produce n.(n-1)/6 triples (subsets of S of size 3) such that given any pair of triples their intersection is of size at most 1 Equivalently, every possible pair of elements in S occurs in only one of the n.(n-1)/6 triples

Given a set of size n, how many triples are we to produce? Equivalently, every possible pair of elements in S occurs in only one of the triples How many pairs are there? n.(n-1)/2 Every triple contains 3 pairs Therefore n.(n-1)/6 triples required

We are given a set S of size n. Produce n.(n-1)/6 triples (subsets of S of size 3) such that given any pair of triples their intersection is of size at most 1

A triple is also called a “block” and the entries of a block a “point” This is then a BIBD (balanced incomplete block design) Applications: design of experiments, testing, …

Modelling the Steiner Triple problem using Set Variables

Given a set of size n, how many triples are we to produce? Equivalently, every possible pair of elements in S occurs in only one of the triples How many pairs are there? n.(n-1)/2 Every triple contains 3 pairs Therefore n.(n-1)/6 triples required

Compile and Run

An alternative representation

0/1 Array m=7 block point Sum of a column = 3, intersection between two columns is at most

Compile & Run For both models try n=1, n=7, n=9 Show effect of symmetry breaking and search over only decision variable

How about we do the following: Generate all triples where 0 ≤ i < j < k < m and pick the ones we want Have a zero/one IntegerVariable for each triple, in an array A, such that A[i][j][k] is 1 iff we select triple Flatten the array A into a one-D vector, say v? Constrain v such that it sums to m.(m-1)/6 For every pair of triples that match on two indices make the sum of their corresponding constrained integer variables be at most 1 (i.e. select at most 1 of these triples) Is this dumb?

Fix i and j: Sum of A[i][j][*] ≤ 1 Fix i and k: Sum of A[i][*][k] ≤ 1 Fix j and k: Sum of A[*][j][k] ≤ 1 But we need to ensure that the sum of the above sums is also at most 1 For every pair of triples that match on two indices make the sum of their corresponding constrained integer variables be at most 1 (i.e. select at most 1 of these triples)

The age of stupid

Compile & Run

An array, m by m, where pair[i][j] is an integer pair[i][j] = k means that pair (i,j) is in kth block Proposed by Chris Unsworth Location, location, location pair[i][j] = k iff points i and j are in block[k] The number of points in a block is 3

Proposed by Chris Unsworth Location, location, location Constrain pair[i][j] = k iff block[k][i] = 1 and b[k][j] = 1 i and j are in the kth triple if and only if kth triple contains i and kth triple contains j

Compile & Run

More generally Steiner Triple is a BIBD

So? 1. Set variables 2. Steiner triples 3. Various models (four!) 4. Symmetry breaking with lex 5. Dare to be stupid