Lecture 7 of 42 Lecture Outline - KDD

advertisement
Lecture 7 of 42
Constraint Satisfaction Problems (CSP)
Discussion: PS1 issues
Friday, 08 September 2006
William H. Hsu
Department of Computing and Information Sciences, KSU
KSOL course page: http://snipurl.com/v9v3
Course web site: http://www.kddresearch.org/Courses/Fall-2006/CIS730
Instructor home page: http://www.cis.ksu.edu/~bhsu
Reading for Next Class:
Sections 5.4 – 5.5, historical notes, p. 151 - 158, Russell & Norvig 2nd edition
Section 6.1, p. 161 – 162, Russell & Norvig 2nd edition
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Lecture Outline
z Reading for Next Class: Sections 5.4 – 5.5, 6.1 R&N 2e
z Today: Intro to CSP (Chapter 5)
’ Constraint Satisfaction Problems (CSP)
’ State space search: graph vs. constraint representations
’ Search and games (look ahead to Chapter 6)
z This Week: Search – Heuristic, Constraint, Game Tree
’ Relation among types of search: state space, evaluation functions
’ Role of heuristics
’ Constraints vs. quantitative heuristics
’ Optimization vs. satisfaction
’ Later: role of learning
z Next Monday: Chapter 5 concluded, Intro to Game Theory
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
1
Outline
z Constraint Satisfaction Problems (CSP)
z Backtracking search for CSPs
z Local search for CSPs
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Constraint satisfaction problems (CSPs)
z Standard search problem:
’ state is a "black box“ – any data structure that supports successor function, heuristic
function, and goal test
z CSP:
’ state is defined by variables Xi with values from domain Di
’ goal test is a set of constraints specifying allowable combinations of values for subsets of
variables
z Simple example of a formal representation language
z Allows useful general-purpose algorithms with more power than standard search
algorithms
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
2
Example: Map-Coloring
z
z
z
z
Variables WA, NT, Q, NSW, V, SA, T
Domains Di = {red,green,blue}
Constraints: adjacent regions must have different colors
e.g., WA ≠ NT, or (WA,NT) in {(red,green),(red,blue),(green,red),
(green,blue),(blue,red),(blue,green)}
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Example: Map-Coloring
z Solutions are complete and consistent assignments, e.g., WA = red, NT
= green,Q = red,NSW = green,V = red,SA = blue,T = green
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
3
Constraint graph
z Binary CSP: each constraint relates two variables
z Constraint graph: nodes are variables, arcs are constraints
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Varieties of CSPs
z Discrete variables
’ finite domains:
Ö n variables, domain size d Æ O(dn) complete assignments
Ö e.g., Boolean CSPs, incl.~Boolean satisfiability (NP-complete)
’ infinite domains:
Ö integers, strings, etc.
Ö e.g., job scheduling, variables are start/end days for each job
Ö need a constraint language, e.g., StartJob1 + 5 ≤ StartJob3
z Continuous variables
’ e.g., start/end times for Hubble Space Telescope observations
’ linear constraints solvable in polynomial time by linear programming
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
4
Varieties of constraints
z Unary constraints involve a single variable,
’ e.g., SA ≠ green
z Binary constraints involve pairs of variables,
’ e.g., SA ≠ WA
z Higher-order constraints involve 3 or more variables,
’ e.g., cryptarithmetic column constraints
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Example: Cryptarithmetic
z Variables: F T U W
R O X1 X2 X3
z Domains: {0,1,2,3,4,5,6,7,8,9}
z Constraints: Alldiff (F,T,U,W,R,O)
’
’
’
’
O + O = R + 10 · X1
X1 + W + W = U + 10 · X2
X2 + T + T = O + 10 · X3
X3 = F, T ≠ 0, F ≠ 0
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
5
Real-world CSPs
z Assignment problems
’ e.g., who teaches what class
z Timetabling problems
’ e.g., which class is offered when and where?
z Transportation scheduling
z Factory scheduling
z Notice that many real-world problems involve real-valued variables
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Standard search formulation (incremental)
Let's start with the straightforward approach, then fix it
States are defined by the values assigned so far
z
z
Initial state: the empty assignment { }
Successor function: assign a value to an unassigned variable that does not conflict with
current assignment
z
Goal test: the current assignment is complete
1.
2.
This is the same for all CSPs
Every solution appears at depth n with n variables
Æ use depth-first search
Path is irrelevant, so can also use complete-state formulation
b = (n - l )d at depth l, hence n! · dn leaves
Æ fail if no legal assignments
3.
4.
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
6
Backtracking search
z Variable assignments are commutative}, i.e.,
[ WA = red then NT = green ] same as [ NT = green then WA = red ]
z
Only need to consider assignments to a single variable at each node
Æ b = d and there are $d^n$ leaves
z
Depth-first search for CSPs with single-variable assignments is called backtracking search
z
Backtracking search is the basic uninformed algorithm for CSPs
z
Can solve n-queens for n ≈ 25
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Backtracking search
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
7
Backtracking example
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Backtracking example
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
8
Backtracking example
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Backtracking example
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
9
Improving backtracking efficiency
z General-purpose methods can give huge gains in speed:
’ Which variable should be assigned next?
’ In what order should its values be tried?
’ Can we detect inevitable failure early?
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Most constrained variable
z Most constrained variable:
choose the variable with the fewest legal values
z a.k.a. minimum remaining values (MRV) heuristic
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
10
Most constraining variable
z Tie-breaker among most constrained variables
z Most constraining variable:
’ choose the variable with the most constraints on remaining
variables
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Least constraining value
z Given a variable, choose the least constraining value:
’ the one that rules out the fewest values in the remaining variables
z Combining these heuristics makes 1000 queens feasible
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
11
Forward checking
z Idea:
’ Keep track of remaining legal values for unassigned variables
’ Terminate search when any variable has no legal values
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Forward checking
z Idea:
’ Keep track of remaining legal values for unassigned variables
’ Terminate search when any variable has no legal values
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
12
Forward checking
z Idea:
’ Keep track of remaining legal values for unassigned variables
’ Terminate search when any variable has no legal values
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Forward checking
z Idea:
’ Keep track of remaining legal values for unassigned variables
’ Terminate search when any variable has no legal values
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
13
Constraint propagation
z Forward checking propagates information from assigned to unassigned variables,
but doesn't provide early detection for all failures:
z NT and SA cannot both be blue!
z Constraint propagation repeatedly enforces constraints locally
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Arc consistency
z Simplest form of propagation makes each arc consistent
z X ÆY is consistent iff
for every value x of X there is some allowed y
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
14
Arc consistency
z Simplest form of propagation makes each arc consistent
z X ÆY is consistent iff
for every value x of X there is some allowed y
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Arc consistency
z Simplest form of propagation makes each arc consistent
z X ÆY is consistent iff
for every value x of X there is some allowed y
z If X loses a value, neighbors of X need to be rechecked
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
15
Arc consistency
z Simplest form of propagation makes each arc consistent
z X ÆY is consistent iff
for every value x of X there is some allowed y
z If X loses a value, neighbors of X need to be rechecked
z Arc consistency detects failure earlier than forward checking
z Can be run as a preprocessor or after each assignment
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Arc consistency algorithm AC-3
z Time complexity: O(n2d3)
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
16
Local search for CSPs
z Hill-climbing, simulated annealing typically work with "complete" states, i.e., all
variables assigned
z To apply to CSPs:
’ allow states with unsatisfied constraints
’ operators reassign variable values
z Variable selection: randomly select any conflicted variable
z Value selection by min-conflicts heuristic:
’ choose value that violates the fewest constraints
’ i.e., hill-climb with h(n) = total number of violated constraints
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
17
18
Example: 4-Queens
z
z
z
z
States: 4 queens in 4 columns (44 = 256 states)
Actions: move queen in column
Goal test: no attacks
Evaluation: h(n) = number of attacks
z Given random initial state, can solve n-queens in almost constant time for arbitrary
n with high probability (e.g., n = 10,000,000)
© 2004 S. J. Russell
From: http://aima.eecs.berkeley.edu/slides-ppt/
Reused with permission.
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
Terminology
z Constraint Satisfaction Problems (CSP)
’ Definition of CSP
’ Domain
’ Constraint
z Backtracking
z Heuristics
’ Variable Ordering
’ Value Selection
z Forward Checking
z Constraint Propagation aka Arc Consistency
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
19
Summary Points
z CSPs: Special kind of problem
’ states defined by values of a fixed set of variables
’ goal test defined by constraints on variable values
z Backtracking = depth-first search with one variable assigned per
node
z Variable ordering and value selection heuristics help
significantly
z Forward checking prevents assignments that guarantee later
failure
z Constraint propagation (e.g., arc consistency) does additional
work to constrain values and detect inconsistencies
z Iterative min-conflicts is usually effective in practice
Adapted from slide © 2004 S. J. Russell
CIS 490 / 730: Artificial Intelligence
Friday, 08 Sep 2006
Computing & Information Sciences
Kansas State University
20
Download