CS 175 Project in AI. 2 Lectures: ICS 180 Tuesday, Thursday Hours: 9.30-10.50 am Discussion: DBH...
-
Upload
laurel-french -
Category
Documents
-
view
217 -
download
0
description
Transcript of CS 175 Project in AI. 2 Lectures: ICS 180 Tuesday, Thursday Hours: 9.30-10.50 am Discussion: DBH...
CS 175 Project in AI
2
Lectures: ICS 180Tuesday, ThursdayHours: 9.30-10.50 am
Discussion: DBH 1300WednesdayHours: 1.00-1.50 pm
Instructor: Natalia FlerovaDBH 4099e-mail: [email protected]
TA: TBA
Class website:www.ics.uci.edu/~nflerova/cs175/index.html
3
Grading
Project proposal: 5%Midterm report: 30%Demo-presentation: 30%Final report: 35%
4
Grading
Project proposal: due April 7thMidterm report: due May 5thDemo-presentation: during 10th and finals weeksFinal report: due June 11th
5
Project ideasConstraints:
Class scheduling
TA assignment
Sudoku
Bayesian networks:
Advising a first year student
Vision:
Image classification
Image recognition (e.g. handwritten digits recognition)
6
Project ideasGames:
Othello (Reversi)
Checkers
Go
Japanese crossword
Etc.
Other:
RoboSoccer simulation
Email management project
Estimating space explored by heuristic search
7
Project proposal
Single page report describing the 2 ideas for your project (indicate priorities). Be sure to address the following issues: What is the main purpose of your project? What tasks will your end product solve? What AI techniques and approaches are you planning to use (it's OK to provide only high level description) How are you planning to split the responsibilities between group members?
Constraint NetworksOverview
Suggested reading
Russell and Norvig. Artificial Intelligence: Modern Approach. Chapter 5.
10
Good source of advanced information
Rina Dechter,
Constraint Processing,Morgan Kaufmann
11
Outline CSP: Definition, and simple modeling examples Representing constraints Basic search strategy Improving search:
– Consistency algorithms– Look-ahead methods– Look-back methods
12
Outline CSP: Definition, and simple modeling examples Representing constraints Basic search strategy Improving search:
– Consistency algorithms– Look-ahead methods– Look-back methods
A Bred greenred blackgreen redgreen blackblack greenblack red
Constraint Satisfaction
Example: map coloring Variables - countries (A,B,C,etc.) Values - colors (e.g., red, green, black) Constraints: A ≠ B, A ≠ D , D ≠ E, etc .
C
A
B
DE
F
G
14
Constraint Network; DefinitionA constraint network is: R=(X,D,C)X variables
D domain
C constraints
R expresses allowed tuples over scopes
A solution is an assignment to all variables that satisfies all constraints (join of all relations).
Tasks: consistency?, one or all solutions, counting, optimization
X= { X 1 , .. . ,X n }D= {D1 , .. . ,Dn } ,Di= {v1 , . .. v k }
C= {C1 ,. ..C t },,,C i=( S i ,Ri )
Example The 4-queen problem
Q
Q QQ
Place 4 Queens on a chess board of 4x4 such that no two queens reside in the same row, column or diagonal.
Standard CSP formulation of the problem:• Variables: each row is a variable.
X 1
X 4
X 3
X 2
1 2 3 4
• Domains: D i= {1,2,3,4 } .
Example The 4-queen problem
Q
Q QQ
Place 4 Queens on a chess board of 4x4 such that no two queens reside in the same row, column or diagonal.
Standard CSP formulation of the problem:• Variables: each row is a variable.
X 1
X 4
X 3
X 2
1 2 3 4
• Domains: D i= {1,2,3,4 } .
• Constraints: There are = 6 constraints involved:42( )
R12= {(1,3 )(1,4 )(2,4 )(3,1)( 4,1) (4,2 )}R13= {(1,2 )(1,4)(2,1)( 2,3)(3,2 )(3,4 )( 4,1)( 4,3)}R14= {(1,2 )(1,3)( 2,1)( 2,3)( 2,4 )(3,1)(3,2 )(3,4 )(4,2 )( 4,3)}R23={(1,3 )(1,4 )(2,4 )(3,1 )(4,1 )(4,2 )}R24={(1,2)(1,4 )( 2,1)( 2,3)(3,2 )(3,4 )(4,1 )(4,3 )}R34={(1,3)(1,4 )(2,4 )(3,1 )(4,1 )(4,2 )}
• Constraint Graph :X 1
X 2 X 4
X 3
19
Outline CSP: Definition, and simple modeling examples Representing constraints Basic search strategy Improving search:
– Consistency algorithms– Look-ahead methods– Look-back methods
20
Constraint’s representations
Relation: allowed tuples
Algebraic expression:
Propositional formula:
Constraint graph
X+Y 2≤10 ,X ≠Y
(a∨b)→¬c
X Y Z1 3 22 1 3
21
Figure 1.8: Example of set operations intersection, union, and difference applied to relations.
22
Constraint Graphs: Primal, Dual and Hypergraphs
A (primal) constraint graph: a node per variablearcs connect constrained variables.A dual constraint graph: a node per
constraint’s scope, an arc connect nodes sharing variables =hypergraph
26
Outline CSP: Definition, and simple modeling examples Representing constraints Basic search strategy Improving search:
– Consistency algorithms– Look-ahead methods– Look-back methods
Search space
28
Backtracking search
Backtracking
The search space A tree of all partial solutions A partial solution: (a1,…,aj) satisfying all
relevant constraints The size of the underlying search space depends
on: Variable ordering Level of consistency possessed by the problem
Search space and the effect of ordering
Backtracking
Complexity of extending a partial solution: Complexity of consistent O(e log
t), t bounds tuples, e constraints Complexity of selectvalue O(e k
log t)
A coloring problem example
Backtracking search for a solution
Backtracking Search for a Solution
Backtracking Search for All Solutions
41
Outline CSP: Definition, and simple modeling examples Representing constraints Basic search strategy Improving search:
– Consistency algorithms– Look-ahead methods– Look-back methods
• Before search: (reducing the search space)– Arc-consistency, path-consistency, i-consistency– Variable ordering (fixed)
• During search:– Look-ahead schemes:
• Value ordering/pruning (choose a least restricting value), • Variable ordering (Choose the most constraining variable)
– Look-back schemes:• Backjumping• Constraint recording• Dependency-directed backtracking
Improving Backtracking
43
Consistency methods Constraint propagation – inferring new
constraints Can get such an explicit network that the search
will find the solution without dead-ends. Approximation of inference:
Arc, path and i-consistency Methods that transform the original network
into a tighter and tighter representations
44
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
45
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
46
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
47
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
48
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
49
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
50
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
51
Arc-consistency
32,1,
32,1, 32,1,
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
32,1,
=
- infer constraints based on pairs of variables
Insures that every legal value in the domain of a single variable hasa legal match In the domain of any other selected variable
52
1 X, Y, Z, T 3X YY = ZT ZX T
X Y
T Z
=
1 3
2 3
Arc-consistency
Arc-consistency algorithm domain of x domain of y
Arc is arc-consistent if for any value of there exist a matching value of
Algorithm Revise makes an arc consistentBegin
1. For each a in Di if there is no value b in Dj that matches a then delete a from the Dj.
End.Revise is , k is the number of value in each domain.
( X i ,X j ) X i X i
( X i ,X j )
O ( k 2 )
Algorithm AC-3• Begin
– 1. Q <--- put all arcs in the queue in both directions– 2. While Q is not empty do,– 3. Select and delete an arc from the queue Q
• 4. Revise• 5. If Revise cause a change then add to the queue all arcs
that touch Xi (namely (Xi,Xm) and (Xl,Xi)).– 6. end-while
• End• Complexity:
– Processing an arc requires O(k^2) steps– The number of times each arc can be processed is 2·k– Total complexity is
( X i ,X j )( X i ,X j )
O ( ek 3 )
55
Sudoku –Constraint Satisfaction
Each row, column and major block must be alldifferent“Well posed” if it has unique solution: 27 constraints
2 34 62
•Variables: empty slots
•Domains = {1,2,3,4,5,6,7,8,9}
•Constraints: 27 all-different
•Constraint •Propagation
•Inference
56
Path-consistency
57
I-consistency
The Effect of Consistency Level
• After arc-consistency z=5 and l=5 are removed
• After path-consistency– R’_zx– R’_zy– R’_zl– R’_xy– R’_xl– R’_yl
Tighter networks yield smaller search spaces
59
Outline CSP: Definition, and simple modeling examples Representing constraints Basic search strategy Improving search:
– Consistency algorithms– Look-ahead methods– Look-back methods
73
Outline CSP: Definition, and simple modeling examples Representing constraints Basic search strategy Improving search:
– Consistency algorithms– Look-ahead methods– Look-back methods
Look-back: Backjumping / Learning
• Backjumping: – In deadends, go back to the most recent culprit.
• Learning: – constraint-recording, no-good recording.– good-recording
Backjumping
• (X1=r,x2=b,x3=b,x4=b,x5=g,x6=r,x7={r,b})• (r,b,b,b,g,r) conflict set of x7• (r,-,b,b,g,-) c.s. of x7• (r,-,b,-,-,-,-) minimal conflict-set• Leaf deadend: (r,b,b,b,g,r)• Every conflict-set is a no-good
The cycle-cutset method• An instantiation can be viewed as blocking
cycles in the graph• Given an instantiation to a set of variables that
cut all cycles (a cycle-cutset) the rest of the problem can be solved in linear time by a tree algorithm.
• Complexity (n number of variables, k the domain size and C the cycle-cutset size):
O ( nkC k 2 )
Tree Decomposition
GSAT – local search for SAT(Selman, Levesque and Mitchell, 1992)
1. For i=1 to MaxTries2. Select a random assignment A3. For j=1 to MaxFlips4. if A satisfies all constraint, return A5. else flip a variable to maximize the score 6. (number of satisfied constraints; if no variable 7. assignment increases the score, flip at random)8. end9. end
Greatly improves hill-climbing by adding restarts and sideway moves
WalkSAT (Selman, Kautz and Cohen, 1994)
With probability p random walk – flip a variable in some unsatisfied constraintWith probability 1-p perform a hill-climbing step
Adds random walk to GSAT:
More Stochastic Search: Simulated Annealing, reweighting
• Simulated annealing:– A method for overcoming local minimas– Allows bad moves with some probability:
• With some probability related to a temperature parameter T the next move is picked randomly.
– Theoretically, with a slow enough cooling schedule, this algorithm will find the optimal solution. But so will searching randomly.
• Breakout method (Morris, 1990): adjust the weights of the violated constraints