Constraint Satisfaction Problems

Similar documents
Binary Encodings of Non-binary Constraint Satisfaction Problems: Algorithms and Experimental Results

Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming

Y. Xiang, Constraint Satisfaction Problems

Smart Graphics: Methoden 3 Suche, Constraints

Design of LDPC codes

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Small Maximal Independent Sets and Faster Exact Graph Coloring

On the Efficiency of Backtracking Algorithms for Binary Constraint Satisfaction Problems

Ant Colony Optimization and Constraint Programming

Constraint Optimization for Highly Constrained Logistic Problems

5.1 Bipartite Matching

Integrating Benders decomposition within Constraint Programming

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

A Constraint-Based Method for Project Scheduling with Time Windows

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Data Structure [Question Bank]

Satisfiability Checking

Chapter 13: Binary and Mixed-Integer Programming

Parametric Attack Graph Construction and Analysis

Lecture 16 : Relations and Functions DRAFT

CNFSAT: Predictive Models, Dimensional Reduction, and Phase Transition

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP

Data Integration: A Theoretical Perspective

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing. By: Chris Abbott

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, Connect Four

DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOB-SHOP SCHEDULING PROBLEMS WITH OPERATORS

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

Random Map Generator v1.0 User s Guide

Guessing Game: NP-Complete?

Compact Representations and Approximations for Compuation in Games

Integration of ACO in a Constraint Programming Language

Dynamic programming formulation

Optimizations. Optimization Safety. Optimization Safety. Control Flow Graphs. Code transformations to improve program

Learning Example. Machine learning and our focus. Another Example. An example: data (loan application) The data and the goal

How To Find Out What A Key Is In A Database Engine

3 Abstract Data Types and Search

Plan-Space Search. Searching for a Solution Plan in a Graph of Partial Plans

From Last Time: Remove (Delete) Operation

Nurse Rostering. Jonathan Johannsen CS 537. Scheduling Algorithms

The Basics of Graphical Models

Checking for Dimensional Correctness in Physics Equations

BIG DATA VISUALIZATION. Team Impossible Peter Vilim, Sruthi Mayuram Krithivasan, Matt Burrough, and Ismini Lourentzou

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Proposition of a new approach to adapt SIP protocol to Ad hoc Networks

Survey On: Nearest Neighbour Search With Keywords In Spatial Databases

Hunting Asynchronous CDC Violations in the Wild

Throughput constraint for Synchronous Data Flow Graphs

Graph Database Proof of Concept Report

Bandwidth Allocation in a Network Virtualization Environment

Data Warehousing und Data Mining

Max Flow, Min Cut, and Matchings (Solution)

Dynamic Programming. Lecture Overview Introduction

Scheduling Shop Scheduling. Tim Nieberg

Goal-Driven Adaptable Software Architecture for UAVs

University of Potsdam Faculty of Computer Science. Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

Automatic Configuration Generation for Service High Availability with Load Balancing

International journal of Engineering Research-Online A Peer Reviewed International Journal Articles available online

Improving Data Quality: Consistency and Accuracy

Sampling from repairs of conditional functional dependency violations

1 Introduction to Internet Content Distribution

Design of Relational Database Schemas

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems.

Data Structures Fibonacci Heaps, Amortized Analysis

EXPLORING & MODELING USING INTERACTIVE DECISION TREES IN SAS ENTERPRISE MINER. Copyr i g ht 2013, SAS Ins titut e Inc. All rights res er ve d.

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

Chapter 15: Dynamic Programming

Relational Calculus. Module 3, Lecture 2. Database Management Systems, R. Ramakrishnan 1

Analysis of Micromouse Maze Solving Algorithms

Driving Value From Big Data

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

On the Use of Logical Abduction in Software Engineering

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows:

DATA STRUCTURES USING C

Querying Past and Future in Web Applications

Dutch Belgian DataBase Day v2006. A Database Armada. Fabian.Groffen@cwi.nl

Solving WCSP by Extraction of Minimal Unsatisfiable Cores

Minesweeper as a Constraint Satisfaction Problem

Flexible meeting scheduling

CIS 631 Database Management Systems Sample Final Exam

Analysis of Algorithms I: Binary Search Trees

USING BACKTRACKING TO SOLVE THE SCRAMBLE SQUARES PUZZLE

4.2 Description of the Event operation Network (EON)

Learning Instance-Specific Predictive Models

Abstract Data Type. EECS 281: Data Structures and Algorithms. The Foundation: Data Structures and Abstract Data Types

Persistent Data Structures

A genetic algorithm for resource allocation in construction projects

A Domain Theory for Task Oriented Negotiation

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property

Scheduling Intermediate Storage Multipurpose Batch Plants Using the S-Graph

Transcription:

Constraint Satisfaction Problems Multi-dimensional Selection Problems Given a set of variables, each with a set of possible values (a domain), assign a value to each variable that either satisfies some set of constraints: satisfiability problems hard constraints minimizes some cost function, where each assignment of values to variables has some cost: optimization problems soft constraints Many problems are a mix of hard and soft constraints.

Relationship to Search The path to a goal isn t important, only the solution is. Many algorithms exploit the multi-dimensional nature of the problems. There are no predefined starting nodes. Often these problems are huge, with thousands of variables, so systematically searching the space is infeasible. For optimization problems, there are no well-defined goal nodes.

Posing a Constraint Satisfaction Problem A CSP is characterized by A set of variables V 1, V 2,...,V n. Each variable V i has an associated domain D Vi of possible values. For satisfiability problems, there are constraint relations on various subsets of the variables which give legal combinations of values for these variables. A solution to the CSP is an n-tuple of values for the that satisfies all the constraint relations. variables

Example: scheduling activities Variables: A, B, C, D, E that represent the starting times of various activities. Domains: D A ={1, 2, 3, 4}, D B ={1, 2, 3, 4}, D C ={1, 2, 3, 4}, D D ={1, 2, 3, 4}, D E ={1, 2, 3, 4} Constraints: (B 3) (C 2) (A B) (B C) (C < D) (A = D) (E < A) (E < B) (E < C) (E < D) (B D).

Generate-and-Test Algorithm Generate the assignment space D = D V1 D V2... D Vn. Test each assignment with the constraints. Example: D = D A D B D C D D D E = {1, 2, 3, 4} {1, 2, 3, 4} {1, 2, 3, 4} {1, 2, 3, 4} {1, 2, 3, 4} = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,..., 4, 4, 4, 4, 4 }. Generate-and-test is always exponential.

Backtracking Algorithms Systematically explore D by instantiating the variables in some order and evaluating each constraint predicate as soon as all its variables are bound. Any partial assignment that doesn t satisfy the constraint can be pruned. Example Assignment A = 1 B = 1 is inconsistent with constraint A B regardless of the value of the other variables.

CSP as Graph Searching A CSP can be seen as a graph-searching algorithm: Totally order the variables, V 1,...,V n. A node assigns values to the first j variables. The neighbors of node {V 1 /v 1,..., V j /v j } are the consistent nodes {V 1 /v 1,..., V j /v j, V j+1 /v j+1 } for each v j+1 D Vj+1. The start node is the empty assignment {}. A goal node is a total assignment that satisfies the constraints.

Consistency Algorithms Idea: prune the domains as much as possible before selecting values from them. A variable is domain consistent if no value of the domain of the node is ruled impossible by any of the constraints. Example: D B ={1, 2, 3, 4} isn t domain consistent as B = 3 violates the constraint B 3.

Arc Consistency A constraint network has nodes corresponding to variables with their associated domain. Each constraint relation P(X, Y) corresponds to arcs X, Y and Y, X. An arc X, Y is arc consistent if for each value of X in D X there is some value for Y in D Y such that P(X, Y) is satisfied. A network is arc consistent if all its arcs are arc consistent. If an arc X, Y is not arc consistent, all values of X in D X for which there is no corresponding value in D Y may be deleted from D X to make the arc X, Y consistent.

Example Constraint Network A A B {1,2,3,4} {1,2,4} B A = D B D B C D {1,2,3,4} {1,3,4} C < D E < A E < D E < C E < B E {1,2,3,4} C

Arc Consistency Algorithm The arcs can be considered in turn making each arc consistent. An arc X, Y needs to be revisited if the domain of Y is reduced. Three possible outcomes (when all arcs are arc consistent): One domain is empty no solution Each domain has a single value unique solution Some domains have more than one vallue may or may not be a solution

Finding solutions when AC finishes If some domains have more than one element search Split a domain, then recursively solve each half. We only need to revisit arcs affected by the split. It is often best to split a domain in half.