Foundations of Artificial Intelligence

Similar documents
Artificial Intelligence

Artificial Intelligence

Chapter 6 Constraint Satisfaction Problems

Constraint Satisfaction. AI Slides (5e) c Lin

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Constraint Satisfaction Problems. Chapter 6

Australia Western Australia Western Territory Northern Territory Northern Australia South Australia South Tasmania Queensland Tasmania Victoria

Lecture 6: Constraint Satisfaction Problems (CSPs)

Constraint Satisfaction

Solving Problems by Searching: Constraint Satisfaction Problems

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence,

Artificial Intelligence Constraint Satisfaction Problems

Constraints. CSC 411: AI Fall NC State University 1 / 53. Constraints

Constraint Satisfaction Problems. Chapter 6

Example: Map-Coloring. Constraint Satisfaction Problems Western Australia. Example: Map-Coloring contd. Outline. Constraint graph

Lecture 18. Questions? Monday, February 20 CS 430 Artificial Intelligence - Lecture 18 1

Constraint Satisfaction Problems Part 2

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 30 January, 2018

Constraint Satisfaction Problems. A Quick Overview (based on AIMA book slides)

Artificial Intelligence

10/11/2017. Constraint Satisfaction Problems II. Review: CSP Representations. Heuristic 1: Most constrained variable

Moving to a different formalism... SEND + MORE MONEY

Constraint Satisfaction Problems

Constraint Satisfaction Problems (CSPs)

CS 771 Artificial Intelligence. Constraint Satisfaction Problem

Outline. Best-first search

Reading: Chapter 6 (3 rd ed.); Chapter 5 (2 nd ed.) For next week: Thursday: Chapter 8

CSE 473: Artificial Intelligence

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems

CONSTRAINT SATISFACTION

Constraint Satisfaction Problems

CS 343: Artificial Intelligence

Constraint Satisfaction Problems

CS 188: Artificial Intelligence Fall 2011

CS 188: Artificial Intelligence. What is Search For? Constraint Satisfaction Problems. Constraint Satisfaction Problems

CS 188: Artificial Intelligence Fall 2011

CS 188: Artificial Intelligence Fall 2008

Announcements. CS 188: Artificial Intelligence Fall Large Scale: Problems with A* What is Search For? Example: N-Queens

Week 8: Constraint Satisfaction Problems

Announcements. Homework 1: Search. Project 1: Search. Midterm date and time has been set:

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm

What is Search For? CSE 473: Artificial Intelligence. Example: N-Queens. Example: N-Queens. Example: Map-Coloring 4/7/17

ARTIFICIAL INTELLIGENCE (CS 370D)

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

Artificial Intelligence

Announcements. CS 188: Artificial Intelligence Fall 2010

CS 4100 // artificial intelligence

Space of Search Strategies. CSE 573: Artificial Intelligence. Constraint Satisfaction. Recap: Search Problem. Example: Map-Coloring 11/30/2012

Foundations of Artificial Intelligence

Constraint Satisfaction Problems

Artificial Intelligence

Constraint Satisfaction Problems

Constraint satisfaction problems. CS171, Winter 2018 Introduction to Artificial Intelligence Prof. Richard Lathrop

Iterative improvement algorithms. Today. Example: Travelling Salesperson Problem. Example: n-queens

CS 188: Artificial Intelligence. Recap: Search

Constraint Satisfaction Problems

Announcements. Reminder: CSPs. Today. Example: N-Queens. Example: Map-Coloring. Introduction to Artificial Intelligence

Spezielle Themen der Künstlichen Intelligenz

Constraint Satisfaction Problems (CSPs) Introduction and Backtracking Search

CS W4701 Artificial Intelligence

Constraint Satisfaction Problems

Outline. Best-first search

CONSTRAINT SATISFACTION

CMU-Q Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro

CONSTRAINT SATISFACTION

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 6 February, 2018

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Material. Thought Question. Outline For Today. Example: Map-Coloring EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS

Games and Adversarial Search II Alpha-Beta Pruning (AIMA 5.3)

Example: Map coloring

Constraint Satisfaction Problems

AI Fundamentals: Constraints Satisfaction Problems. Maria Simi

Recap: Search Problem. CSE 473: Artificial Intelligence. Space of Search Strategies. Constraint Satisfaction. Example: N-Queens 4/9/2012

CS 188: Artificial Intelligence Spring Announcements

CS 4100/5100: Foundations of AI

What is Search For? CS 188: Artificial Intelligence. Example: Map Coloring. Example: N-Queens. Example: N-Queens. Constraint Satisfaction Problems

Announcements. CS 188: Artificial Intelligence Spring Today. A* Review. Consistency. A* Graph Search Gone Wrong

Introduction. 2D1380 Constraint Satisfaction Problems. Outline. Outline. Earlier lectures have considered search The goal is a final state

Announcements. CS 188: Artificial Intelligence Fall Reminder: CSPs. Today. Example: 3-SAT. Example: Boolean Satisfiability.

CS 188: Artificial Intelligence Fall 2008

What is Search For? CS 188: Ar)ficial Intelligence. Constraint Sa)sfac)on Problems Sep 14, 2015

CS 188: Artificial Intelligence Spring Announcements

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE

Constraint satisfaction search. Combinatorial optimization search.

Announcements. CS 188: Artificial Intelligence Spring Today. Example: Map-Coloring. Example: Cryptarithmetic.

Map Colouring. Constraint Satisfaction. Map Colouring. Constraint Satisfaction

CS 188: Artificial Intelligence

28.1 Decomposition Methods

Constraint satisfaction search

Mathematical Programming Formulations, Constraint Programming

General Methods and Search Algorithms

CS 188: Artificial Intelligence

Lecture 9 Arc Consistency

Constraint Satisfaction Problems (Backtracking Search)

05 - Constraints Programming

Discussion Section Week 1

Transcription:

Foundations of Artificial Intelligence 5. Constraint Satisfaction Problems CSPs as Search Problems, Solving CSPs, Problem Structure Wolfram Burgard, Bernhard Nebel, and Martin Riedmiller Albert-Ludwigs-Universität Freiburg Mai 11, 2012

Contents 1 What are CSPs? 2 Backtracking Search for CSPs 3 CSP Heuristics 4 Constraint Propagation 5 Problem Structure (University of Freiburg) Foundations of AI Mai 11, 2012 2 / 39

Constraint Satisfaction Problems A Constraint Satisfaction Problems (CSP) consists of a set of variables {X 1, X 2,..., X n } to which values {d 1, d 2,..., d k } can be assigned such that a set of constraints over the variables is respected A CSP is solved by a variable assignment that satisfies all given constraints. In CSPs, states are explicitly represented as variable assignments. CSP search algorithms take advantage of this structure. The main idea is to exploit the constraints to eliminate large portions of search space. Formal representation language with associated general inference algorithms (University of Freiburg) Foundations of AI Mai 11, 2012 3 / 39

Example: Map-Coloring Western Australia Northern Territory South Australia Queensland New South Wales Victoria Tasmania Variables: WA, NT, SA, Q, NSW, V, T Values: {red, green, blue} Constraints: adjacent regions must have different colors, e.g., NSW V (University of Freiburg) Foundations of AI Mai 11, 2012 4 / 39

Australian Capital Territory (ACT) and Canberra (inside NSW) View of the Australian National University and Telstra Tower (University of Freiburg) Foundations of AI Mai 11, 2012 5 / 39

One Solution Western Australia Northern Territory South Australia Queensland New South Wales Victoria Tasmania Solution assignment: {WA = red, NT = green, Q = red, NSW = green, V = red, SA = blue, T = green} Perhaps in addition ACT = blue (University of Freiburg) Foundations of AI Mai 11, 2012 6 / 39

Constraint Graph WA NT Q SA NSW V Victoria T a constraint graph can be used to visualize binary constraints for higher order constraints, hyper-graph representations might be used Nodes = variables, arcs = constraints Note: Our problem is 3-colorability for a planar graph (University of Freiburg) Foundations of AI Mai 11, 2012 7 / 39

Variations Binary, ternary, or even higher arity (e.g., ALL DIFFERENT) Finite domains (d values) d n possible variable assignments Infinite domains (reals, integers) linear constraints: solvable (in P if real) nonlinear constraints: unsolvable (University of Freiburg) Foundations of AI Mai 11, 2012 8 / 39

Applications Timetabling (classes, rooms, times) Configuration (hardware, cars,... ) Spreadsheets Scheduling Floor planning Frequency assignments Sudoku... (University of Freiburg) Foundations of AI Mai 11, 2012 9 / 39

Backtracking Search over Assignments Assign values to variables step by step (order does not matter) Consider only one variable per search node! DFS with single-variable assignments is called backtracking search Can solve n-queens for n 25 (University of Freiburg) Foundations of AI Mai 11, 2012 10 / 39

Algorithm Chapter 6. Constraint Satisfa function BACKTRACKING-SEARCH(csp) returns a solution, or failure return BACKTRACK({ }, csp) function BACKTRACK(assignment, csp) returns a solution, or failure if assignment is complete then return assignment var SELECT-UNASSIGNED-VARIABLE(csp) for each value in ORDER-DOMAIN-VALUES(var, assignment, csp) do if value is consistent with assignment then add {var = value} to assignment inferences INFERENCE(csp, var, value) if inferences failure then add inferences to assignment result BACKTRACK(assignment, csp) if result failure then return result remove {var = value} and inferences from assignment return failure Figure 6.5 A simple backtracking algorithm for constraint satisfaction problems. rithm is modeled on the recursive depth-first search of Chapter??. By varying th (University of Freiburg) Foundations of AI Mai 11, 2012 11 / 39

Example (1) (University of Freiburg) Foundations of AI Mai 11, 2012 12 / 39

Example (2) (University of Freiburg) Foundations of AI Mai 11, 2012 13 / 39

Example (3) (University of Freiburg) Foundations of AI Mai 11, 2012 14 / 39

Example (4) (University of Freiburg) Foundations of AI Mai 11, 2012 15 / 39

Improving Efficiency: CSP Heuristics & Pruning Techniques Variable ordering: Which one to assign first? Value ordering: Which value to try first? Try to detect failures early on Try to exploit problem structure Note: all this is not problem-specific! (University of Freiburg) Foundations of AI Mai 11, 2012 16 / 39

Variable Ordering: Most constrained first Most constrained variable: choose the variable with the fewest remaining legal values reduces branching factor! (University of Freiburg) Foundations of AI Mai 11, 2012 17 / 39

Variable Ordering: Most Constraining Variable First Break ties among variables with the same number of remaining legal values: choose variable with the most constraints on remaining unassigned variables reduces branching factor in the next steps (University of Freiburg) Foundations of AI Mai 11, 2012 18 / 39

Value Ordering: Least Constraining Value First Given a variable, choose first a value that rules out the fewest values in the remaining unassigned variables We want to find an assignment that satisfies the constraints (of course, does not help if unsat.) Allows 1 value for SA Allows 0 values for SA (University of Freiburg) Foundations of AI Mai 11, 2012 19 / 39

Rule out Failures early on: Forward Checking Whenever a value is assigned to a variable, values that are now illegal for other variables are removed Implements what the ordering heuristics implicitly compute WA = red, then NT cannot become red If all values are removed for one variable, we can stop! (University of Freiburg) Foundations of AI Mai 11, 2012 20 / 39

Forward Checking (1) Keep track of remaining values Stop if all have been removed WA NT Q NSW V SA T (University of Freiburg) Foundations of AI Mai 11, 2012 21 / 39

Forward Checking (2) Keep track of remaining values Stop if all have been removed WA NT Q NSW V SA T (University of Freiburg) Foundations of AI Mai 11, 2012 22 / 39

Forward Checking (3) Keep track of remaining values Stop if all have been removed WA NT Q NSW V SA T (University of Freiburg) Foundations of AI Mai 11, 2012 23 / 39

Forward Checking (4) Keep track of remaining values Stop if all have been removed WA NT Q NSW V SA T (University of Freiburg) Foundations of AI Mai 11, 2012 24 / 39

Forward Checking: Sometimes it Misses Something Forward Checking propagates information from assigned to unassigned variables However, there is no propagation between unassigned variables WA NT Q NSW V SA T (University of Freiburg) Foundations of AI Mai 11, 2012 25 / 39

Arc Consistency A directed arc X Y is consistent iff for every value x of X, there exists a value y of Y, such that (x, y) satisfies the constraint between X and Y Remove values from the domain of X to enforce arc-consistency Arc consistency detects failures earlier Can be used as preprocessing technique or as a propagation step during backtracking (University of Freiburg) Foundations of AI Mai 11, 2012 26 / 39

Arc Consistency Example WA NT Q NSW V SA T (University of Freiburg) Foundations of AI Mai 11, 2012 27 / 39

Figure 6.3 The arc-consistency algorithm AC-3. After applying AC-3, either every arc is (University consistent, of Freiburg) or some variable has an Foundations empty domain, of AI indicating that the CSP Mai 11, cannot 2012 be solved. 28 / 39 AC3 Algorithm function AC-3(csp) returns false if an inconsistency is found and true otherwise inputs: csp, a binary CSP with components (X, D, C) local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (X i, X j) REMOVE-FIRST(queue) if REVISE(csp, X i, X j) then if size of D i = 0 then return false for each X k in X i.neighbors - {X j} do add (X k, X i) to queue return true function REVISE(csp, X i, X j) returns true iff we revise the domain of X i revised false for each x in D i do if no value y in D j allows (x,y) to satisfy the constraint between X i and X j then delete x from D i revised true return revised

Properties of AC3 AC3 runs in O(d 3 n 2 ) time, with n being the number of nodes and d being the maximal number of elements in a domain Of course, AC3 does not detect all inconsistencies (which is an NP-hard problem) (University of Freiburg) Foundations of AI Mai 11, 2012 29 / 39

Problem Structure (1) WA NT Q SA NSW V Victoria T CSP has two independent components Identifiable as connected components of constraint graph Can reduce the search space dramatically (University of Freiburg) Foundations of AI Mai 11, 2012 30 / 39

Problem Structure (2): Tree-structured CSPs A C B D E F If the CSP graph is a tree, then it can be solved in O(nd 2 ) General CSPs need in the worst case O(d n ) Idea: Pick root, order nodes, apply arc consistency from leaves to root, and assign values starting at root (University of Freiburg) Foundations of AI Mai 11, 2012 31 / 39

Problem Structure (2): Tree-structured CSPs A E B D A B C D E F C (a) F (b) Pick any variable as root; choose an ordering such that each variable appears after its parent in the tree. Apply arc-consistency to (X i, X k ), when X i is the parent of X k, for all k = n down to 2. (any tree with n nodes has n 1 arcs, per arc d 2 comparisons are needed: O(n d 2 )) Now one can start at X 1 assigning values from the remaining domains without creating any conflict in one sweep through the tree! Algorithm linear in n (University of Freiburg) Foundations of AI Mai 11, 2012 32 / 39

Problem Structure (3): Almost Tree-structured Idea: Reduce the graph structure to a tree by fixing values in a reasonably chosen subset WA NT Q WA NT Q SA NSW NSW V Victoria V Victoria T T Instantiate a variable and prune values in neighboring variables is called Conditioning (University of Freiburg) Foundations of AI Mai 11, 2012 33 / 39

Victoria NSW Victoria NSW Problem Structure (4): Almost Tree-structured Algorithm Cutset Conditioning: 1 Choose a subset S of the CSPs variables such that the constraint graph becomes a tree after removal of S. S is called a cycle cutset. 2 For each possible assignment of variables in S that satisfies all constraints on S 1 remove from the domains of the remaining variables any values that are inconsistent with the assignments for S, and 2 if the remaining CSP has a solution, return it together with the assignment for S NT Q NT Q WA WA SA V V T T Note: Finding the smallest cycle cutset is NP hard, but several efficient approximation algorithms are known. (University of Freiburg) Foundations of AI Mai 11, 2012 34 / 39

Another Method: Tree Decomposition (1) Decompose problem into a set of connected sub-problems, where two sub-problems are connected when they share a constraint Solve sub-problems independently and combine solutions NT Q WA NT SA SA SA Q NSW SA NSW V T (University of Freiburg) Foundations of AI Mai 11, 2012 35 / 39

Another Method: Tree Decomposition (2) A tree decomposition must satisfy the following conditions: Every variable of the original problem appears in at least one sub-problem Every constraint appears in at least one sub-problem If a variable appears in two sub-problems, it must appear in all sub-problems on the path between the two sub-problems The connections form a tree NT Q WA NT SA Q SA SA NSW SA NSW V T (University of Freiburg) Foundations of AI Mai 11, 2012 36 / 39

Another Method: Tree Decomposition (3) Consider sub-problems as new mega-variables, which have values defined by the solutions to the sub-problems Use technique for tree-structured CSP to find an overall solution (constraint is to have identical values for the same variable) (University of Freiburg) Foundations of AI Mai 11, 2012 37 / 39

Tree Width The aim is to make the subproblems as small as possible.tree width w of a tree decomposition is the size of largest sub-problem minus 1 Tree width of a graph is minimal tree width over all possible tree decompositions If a graph has tree width w and we know a tree decomposition with that width, we can solve the problem in O(nd w+1 ) Unfortunately, finding a tree decomposition with minimal tree width is NP-hard. However, there are heuristic methods that work well in practice. (University of Freiburg) Foundations of AI Mai 11, 2012 38 / 39

Summary & Outlook CSPs are a special kind of search problem: states are value assignments goal test is defined by constraints Backtracking = DFS with one variable assigned per node. Other intelligent backtracking techniques possible Variable/value ordering heuristics can help dramatically Constraint propagation prunes the search space Path-consistency is a constraint propagation technique for triples of variables Tree structure of CSP graph simplifies problem significantly Cutset conditioning and tree decomposition are two ways to transform part of the problem into a tree CSPs can also be solved using local search (University of Freiburg) Foundations of AI Mai 11, 2012 39 / 39