Constraint Programming. Master Parisien de Recherche en Informatique



Similar documents
Tutorial 8. NP-Complete Problems

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Lecture 7: NP-Complete Problems

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Introduction to Logic in Computer Science: Autumn 2006

NP-Completeness and Cook s Theorem

CSC 373: Algorithm Design and Analysis Lecture 16

CoNP and Function Problems

Master of Science in Computer Science

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

ML for the Working Programmer

Applied Algorithm Design Lecture 5

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

The Classes P and NP

Classification - Examples

Doctor of Philosophy in Computer Science

Rigorous Software Development CSCI-GA

Integrating Benders decomposition within Constraint Programming

Quantum and Non-deterministic computers facing NP-completeness

OHJ-2306 Introduction to Theoretical Computer Science, Fall

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Algorithm Design and Analysis

Updating Action Domain Descriptions

Limits and Continuity

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Computational Methods for Database Repair by Signed Formulae

A Working Knowledge of Computational Complexity for an Optimizer

System BV is NP-complete

Satisfiability Checking

CS510 Software Engineering

Ant Colony Optimization and Constraint Programming

Introduction to Algorithms. Part 3: P, NP Hard Problems

Vincent Cheval. Curriculum Vitae. Research

School of Computer Science

Theoretical Computer Science (Bridging Course) Complexity

Generating models of a matched formula with a polynomial delay

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Laboratoire d Informatique de Paris Nord, Institut Galilée, Université. 99 avenue Jean-Baptiste Clément, Villetaneuse, France.

The P versus NP Solution

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new

On the Relationship between Classes P and NP

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Resolution. Informatics 1 School of Informatics, University of Edinburgh

P versus NP, and More

Relations: their uses in programming and computational specifications

On the Unique Games Conjecture

A Modular Representation of a Business Process Planner

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Perron vector Optimization applied to search engines

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP

Welcome to... Problem Analysis and Complexity Theory , 3 VU

Fixed-Point Logics and Computation

Ian Stewart on Minesweeper


Chapter 1. NP Completeness I Introduction. By Sariel Har-Peled, December 30, Version: 1.05

How To Solve A Minimum Set Covering Problem (Mcp)

Exponential time algorithms for graph coloring

Tetris is Hard: An Introduction to P vs NP

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

COMPUTER SCIENCE TRIPOS

Repair Checking in Inconsistent Databases: Algorithms and Complexity

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Bounded-width QBF is PSPACE-complete

Constraint Programming (CP)

CNFSAT: Predictive Models, Dimensional Reduction, and Phase Transition

SPARQL: Un Lenguaje de Consulta para la Web

M.S. Computer Science Program

A Constraint Programming Application for Rotating Workforce Scheduling

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

GRE Prep: Precalculus

Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY

Schedule. Logic (master program) Literature & Online Material. gic. Time and Place. Literature. Exercises & Exam. Online Material

Automated Theorem Proving - summary of lecture 1

Near Optimal Solutions

Dimensioning an inbound call center using constraint programming

Probabilità e Nondeterminismo nella teoria dei domini

MATH. ALGEBRA I HONORS 9 th Grade ALGEBRA I HONORS

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Formal Verification of Software

Representation of functions as power series

Software Engineering

Notes on Complexity Theory Last updated: August, Lecture 1

Sudoku as a SAT Problem

Why Study NP- hardness. NP Hardness/Completeness Overview. P and NP. Scaling 9/3/13. Ron Parr CPS 570. NP hardness is not an AI topic

P vs NP problem in the field anthropology

Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP.

Transcription:

Constraint Programming Master Parisien de Recherche en Informatique 2008/2009 François Fages et Sylvain Soliman Project team Contraintes INRIA Paris-Rocquencourt http://contraintes.inria.fr/ fages Francois.Fages@inria.fr François Fages 1

Constraint Programming Machine Computation on partial information structures. Von Neuman machine memory of values assignment variables Constraints machine memory of constraints mathematical variables V1 Xi in [3,15] Xi = Xj+2 Vi write Vi := Vj+1 Xi + 2*Xj >= b X_I = V constraint posting Vj read card(1, [X>=Y+5, Y>=X+3]) constraint entailment Xi >= 5? François Fages 2

The Paradigm of Constraint Logic Programming Program = Logical Formula Execution = Proof search Class of languages CLP(X ) parametrized by X : Axiomatization: Domain of discourse X, Model of the problem P Constraint satisfiability, Logical resolution principle Primitive Constraints over X U = R I Relations defined by logical formulae x, y path(x, y) edge(x, y) z(edge(x, z) path(z, y)) François Fages 3

Languages for defining new relations First-order logic predicate calculus x, y path(x, y) edge(x, y) z(edge(x, z) path(z, y)) Prolog/CLP(X ) clauses path(x,y):- edge(x,y). path(x,y):- edge(x,z), path(z,y). Concurrent constraint process languages CC(X ) Process A = c p(x) (A A) A + A ask(c) A xa path(x, Y ) :: edge(x, Y ) + Z(edge(X, Z) path(z, Y )) Constraint libraries in object-oriented/functional/imperative languages. François Fages 4

CLP(FD) N-queens Problem GNU-Prolog program: queens(n,l):- length(l,n), fd_domain(l,1,n), safe(l), fd_labeling(l,first_fail). safe([]). safe([x L]):- noattack(l,x,1), safe(l). noattack([],_,_). noattack([y L],X,I):- X#\=Y, X#\=Y+I, X+I#\=Y, I1 is I+1, noattack(l,x,i1). François Fages 5

Search space of all solutions François Fages 6

Successes in combinatorial search problems Job shop scheduling, resource allocation, graph coloring,... Decision Problems: existence of a solution (of given cost) in P: if algorithm of polynomial time complexity in NP: if non-deterministic algorithm of polynomial complexity. NP-complete if polynomial encoding of any other NP problem Optimisation Problems: computation of a solution of optimal cost NP-hard if the decision problem is NP-complete The size of the search space does not tell the complexity of the problem Sorting n elements in O(n log n), search space in!n... SAT over n Boolean in O(2 n ), search space in 2 n. François Fages 7

Hot Research Topics in Constraint Programming Combinatorial optimization problems Ressource allocation, scheduling, frequency allocation, geometrical placement problems,... Benchmarks (open shop 6x6, graph colouring, time tabling,...) New applications in Bioinformatics, Web, multimedia,... Algorithms Global constraints, hybridization of algorithms CP, MILP, local search Symmetry detection and breaking Search procedures, randomization, adaptive solving strategies Languages Modelling languages Extensible CP languages Automatic synthesis of constraint solvers François Fages 8

Panorama of CP Systems Prolog-based systems open source: CLP(H,FD) GNU-Prolog (Univ. Paris 5, INRIA) CC(H,FD) SWI-Prolog (CWI), Cia-Prolog (UPM),... LCC(H,FD) SiLCC (INRIA) commercial: CC(H,FD,Q,R) Sicstus-Prolog (SICS), Cosytec CHIP,... Java-based systems open source: Choco (EMN), CHR JCK toolkit (Univ. Ulm) commercial: JSolver, JConfigurator (ILOG), Koalog,... C++ based systems Ilog-Solver, Ilog-Scheduler, Cosytec Chip++ CAML-based system FaCiLe (Univ. Toulouse) François Fages 9

Workplan of the Lecture (1/2) 1. Introduction Constraint Programming Logical background 2. Constraint Solving Decidability of constraint languages and complete theories Constraint solving algorithms on H and R by rewriting Contraint propagation algorithms on FD Symmetry breaking 3. Constraint Logic Programs Operational semantics and examples CLP (FD) Fixed semantics and abstract interpretation Logical semantics, theorem proving and negation François Fages 10

Workplan of the Lecture (2/2) 4 Concurrent Constraint Languages Operational semantics and examples CC(FD) Denotational semantics of determinate and non-determinate CC programs Logical semantics in Linear Logic Phase model checking LL constraint systems and imperative features 17/11/2009 Small constraint programming project in GNU-Prolog 09/02/2010 Examination 16/02/2009 Start internships François Fages 11

Lecture notes http://contraintes.inria.fr/~fages/teaching Article Des contraintes au programme. Revue littraire Actes de Savoirs, PUF. 2007. Chapter Programmation logique et contraintes Encyclopdie Vuibert d Informatique. Slides of lectures 1-4 Lecture notes on Constraint Logic Programming http://contraintes.inria.fr/~soliman Slides of lectures 5-16 Krzysztof Apt, Principles of Constraint Programming, Cambridge University Press, 2003. François Fages 12