Constraint Propagation as the Core of Local Search Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications.

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Constraint Satisfaction Problems Russell and Norvig: Chapter
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) Oct, 5, 2012.
Constraint Satisfaction Problems Russell and Norvig: Parts of Chapter 5 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
Interactive Configuration
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
G53CLP Constraint Logic Programming Modeling CSPs – Case Study I Dr Rong Qu.
Constraint Processing and Programming Introductory Exemple Javier Larrosa.
Programming with Constraints Jia-Huai You. Subject of Study Constraint Programming (CP) studies the computational models, languages, and systems for solving.
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) February, 3, 2010.
4 Feb 2004CS Constraint Satisfaction1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Research Information Session Associate Professor John Thornton Gold Coast BIT Honours Degree Convenor and Research Higher Degree Convenor
Multi-agent Oriented Constraint Satisfaction Authors: Jiming Liu, Han Jing and Y.Y. Tang Speaker: Lin Xu CSCE 976, May 1st 2002.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) February, 4, 2009.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
Planning operation start times for the manufacture of capital products with uncertain processing times and resource constraints D.P. Song, Dr. C.Hicks.
Computational Thinking Related Efforts. CS Principles – Big Ideas  Computing is a creative human activity that engenders innovation and promotes exploration.
Using Constraint Solvers as Inference Engines to Validate and Execute Rules-Based Decision Models Jacob Feldman, Ph.D. Founder & CTO, OpenRules, Inc. JSR-331.
Constraint Satisfaction Problems
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Design Science Method By Temtim Assefa.
OHTO -99 SOFTWARE ENGINEERING LECTURE 5 Today: - An overview to OO Analysis and OO Design - Introduction of Assignment 2.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
CONSTRAINT PROGRAMMING Computer Science Seminar April 9 th, 2004 Kerem Kacel.
Exploiting Automatically Inferred Constraint-Models for Building Identification in Satellite Imagery Research funded by the AFSOR, grant numbers FA
COSC 4426 Topics in Computer Science II Discrete Optimization Good results with problems that are too big for people or computers to solve completely
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
© J. Christopher Beck Lecture 13: Modeling in Constraint Programming.
Constraint Satisfaction Problems Chapter 6. Review Agent, Environment, State Agent as search problem Uninformed search strategies Informed (heuristic.
November 21, 2005 Center for Hybrid and Embedded Software Systems Example To illustrate how changes in DB can be used to efficiently update a block diagram,
Chapter 5 Section 1 – 3 1.  Constraint Satisfaction Problems (CSP)  Backtracking search for CSPs  Local search for CSPs 2.
Common Set of Tools for Assimilation of Data COSTA Data Assimilation Summer School, Sibiu, 6 th August 2009 COSTA An Introduction Nils van Velzen
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Chapter 5: Constraint Satisfaction ICS 171 Fall 2006.
Edge and Boundary interpretation Consistent line drawing labeling via backtracking Presented by Guy Shtub.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Schreiber, Yevgeny. Value-Ordering Heuristics: Search Performance vs. Solution Diversity. In: D. Cohen (Ed.) CP 2010, LNCS 6308, pp Springer-
Chapter 5 Constraint Satisfaction Problems
Constraints and Search Toby Walsh Cork Constraint Computation Centre (4C) Logic & AR Summer School, 2002.
M. Wang, T. Xiao, J. Li, J. Zhang, C. Hong, & Z. Zhang (2014)
Methods of Software Development Karl Lieberherr Spring 2007.
CHAPTER 5 SECTION 1 – 3 4 Feb 2004 CS Constraint Satisfaction 1 Constraint Satisfaction Problems.
Written by Changhyun, SON Chapter 5. Introduction to Design Optimization - 1 PART II Design Optimization.
1. 2 Outline of Ch 4 Best-first search Greedy best-first search A * search Heuristics Functions Local search algorithms Hill-climbing search Simulated.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Company LOGO Network Architecture By Dr. Shadi Masadeh 1.
Evolutionary Computing Chapter 13. / 24 Chapter 13: Constraint Handling Motivation and the trouble What is a constrained problem? Evolutionary constraint.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Alternative Search Formulations and Applications
CSCI 5240 Combinatorial Search and Optimization with Constraints
Algorithms and Problem Solving
Chapter 1 The Systems Development Environment
CSCI 5240 Combinatorial Search and Optimization with Constraints
Chapter 1 The Systems Development Environment
Title: Suggestion Strategies for Constraint- Based Matchmaker Agents
Computer Science cpsc322, Lecture 14
Algorithms and Problem Solving
Network Architecture By Dr. Shadi Masadeh 1.
CS 8520: Artificial Intelligence
Chapter 1 The Systems Development Environment
Constraint Satisfaction Problems
Presentation transcript:

Constraint Propagation as the Core of Local Search Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications University of Athens Constraint Propagation as the Core of Local Search 1/20

Constraint Propagation as the Core of Local Search – Presentation Structure Introduction to Constraint Programming Constraint-Based Local Search Intermediate Variables Assignment Propagation Experiments Constraint Propagation as the Core of Local Search 2/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Introduction to Constraint Programming Constraint Programming (CP) is a popular paradigm for solving Constraint Satisfaction Problems (CSPs). Its power stems from the separation of the solving algorithms phase, from the CSP specification phase [Freuder, 1996]. Constraint Propagation as the Core of Local Search 3/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Constraint Programming Architecture A) CSP Description Phase We use the following triplet to state a CSP:  The variables of the problem.  The domains of the variables.  The constraints between the variables. B) Solution Phase We search for an assignment to the variables, that does not violate the constraints. Constraint Propagation as the Core of Local Search 4/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

A) CSP Description Phase Take for example the 4-Queens CSP:  It includes four variables: X 1, X 2, X 3, X 4.  The domain of each variable is {1, 2, 3, 4}.  The constraints between the variables are summarized into the phrase “no X i attacks X j.” B) Solution Phase We can use several search methods to solve a CSP. Constraint Programming: An Example Constraint Propagation as the Core of Local Search 5/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation X3X3 X1X1 X4X4 X2X2

Constraint-Based Local Search “Constraint-Based Local Search (CBLS) is the idea of specifying local search algorithms as two components: 1. A high-level model describing the applications in terms of constraints, constraint combinators, and objective functions. 2. A clearly separated search procedure that implicitly takes advantage of the model in a general fashion.” [van Hentenryck, 2011] Constraint Propagation as the Core of Local Search 6/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

CBLS and Its Relation to Constraint Programming So, CBLS keeps intact the independent declaration phase, but employ local search procedures to seek a solution in the second phase. Constraint Propagation as the Core of Local Search 7/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Local Search Methods The central idea in local search is to assign values to all the variables and then to iteratively try to modify the assignment in order to make it a solution More specifically, local search methods (such as hill climbing, simulated annealing, etc.) exploit the conflict sets notion, i.e. the constraints that are violated due to an assignment. Constraint Propagation as the Core of Local Search 8/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

N AXOS S OLVER : Our CP+CBLS System Our contribution was to provide a CBLS framework, with a generic problem specification ability that is absolutely same to the non-local-search (i.e. constructive) CP systems [Pothitos, 2011]. In the solution phase, we focused on implementing a freely available platform to design existing and new local search methods, by providing to the user a simple way to access conflict sets. Constraint Propagation as the Core of Local Search 9/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Related Systems and Work Prominent CBLS systems include C OMET, E ASY L OCAL ++, H OT F RAME, etc. Existing systems cannot be integrated into constructive search CP systems, and usually do not provide efficient tools to design custom local search methods. Besides, the state-of-the-art of these systems are proprietary and/or unavailable, and it is difficult to figure out their internal mechanisms [K ANGAROO, 2011]. Constraint Propagation as the Core of Local Search 10/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Intermediate Variables Intermediate variables or invariants or dependent variables are practical for stating a CSP in a real CP system. E.g., in the N-Queens problem, it is pretty much theoretical to state the constraint: Constraint Propagation as the Core of Local Search 11/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation XiXi XjXj does not attack

Intermediate Variables in Practice But it is common in a real CP solver to state: Constraint Propagation as the Core of Local Search 12/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation XiXi XjXj ≠ ≠ ≠ X i ' := X i +i X i '' := X i -i X j ' := X j +j X j '' := X j -j Note that X i ', X j ', X i '', and X j '' are intermediate variables.

Issues when Local Search Adopts Intermediate Variables While intermediate variables come in handy when stating a problem (in a real programming language), in the solution phase we should get rid of them, because their assignments actually depend on the non-intermediate variables. Constraint Propagation as the Core of Local Search 13/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

When a value is assigned to a variable, the assignment is propagated to the constraint network. It should hold the property that: If a constrained variable Y is intermediate with regard to the variables X 1, X 2,..., X n, it holds that |D X1 |=1 ∧ |D X2 |=1 ∧ ··· ∧ |D Xn |=1 ⇒ |D Y |=1, where D X is the domain of X. Constraint Propagation as the Core of Local Search 14/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Updating Conflict Sets When an assignment of a variable is incompatible with another assignment, we add the tuple of the conflicting variables to the corresponding set. Proposition: If a constraint which involves the variables X 1,..., X n is violated, then it holds depend (X 1 ) ∪ ··· ∪ depend (X n ) ⊆ ConflictSet, where depend(X) is the set of non-intermediate variables that the intermediate X depends on. If X is not intermediate, then we suppose depend (X)={X}. Constraint Propagation as the Core of Local Search 15/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

The Propagation Algorithm Constraint Propagation as the Core of Local Search 16/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Experiments We have implemented several local search methods on top of this propagation/conflict-set engine, such as hill climbing, simulated annealing etc. Constraint Propagation as the Core of Local Search 17/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Hill Climbing and Simulated Annealing We also compared systematic search to local search. The latter scales far better, using the same CP solver and CSP specification. Constraint Propagation as the Core of Local Search 18/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

Conclusions and Future Work Our goal is to provide a flexible platform for both the specification of a problem and the design of local search methods. Beyond facilitating the compound constraints expression, intermediate variables were the key feature for propagating assignments. A future direction is to enrich the available methods, by adopting e.g. genetic algorithms. It will be also interesting and easy, to describe a methodology for exploiting N AXOS hybrid framework to mix direct and indirect methods. Constraint Propagation as the Core of Local Search 19/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation

References 1.Freuder, E.C.: In pursuit of the holy grail. ACM Computing Surveys 28(4es), 63 (1996) 2.Hakim Newton, M.A., Pham, D.N., Sattar, A., Maher, M.: K ANGAROO : An Efficient Constraint-Based Local Search System Using Lazy Propagation. In: Lee, J. (ed.) CP LNCS, vol. 6876, pp. 645–659. Springer, Heidelberg (2011) 3.Hoos, H.H., Tsang, E.: Local search methods. In: Rossi, et al. (eds.): Handbook of Constraint Programming, ch. 5, pp. 135–167. Elsevier Science, Amsterdam (2006) 4.Pothitos, N.: N AXOS S OLVER (2011), 5.Van Hentenryck, P.: C OMET : technology/constraint-based-local-search (2011) Constraint Propagation as the Core of Local Search 20/20 Intro to CPCBLSIntermediate VariablesExperimentsAssignment Propagation Thank You!