1 finite constraint domains. 2 u constraint satisfaction problems (csp) u a backtracking solver u...
TRANSCRIPT
![Page 1: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/1.jpg)
1
Finite Constraint DomainsFinite Constraint Domains
![Page 2: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/2.jpg)
2
Finite Constraint DomainsFinite Constraint Domains
Constraint satisfaction problems (CSP) A backtracking solver Node and arc consistency Bounds consistency Generalized consistency Optimization for arithmetic CSPs
![Page 3: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/3.jpg)
3
Finite Constraint DomainsFinite Constraint Domains
An important class of constraint domains Use to model constraint problems involving
choice: e.G. Scheduling, routing and timetabling
The greatest industrial impact of constraint programming has been on these problems
![Page 4: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/4.jpg)
4
Constraint Satisfaction Constraint Satisfaction ProblemsProblems
A constraint satisfaction problem (CSP) consists of: A constraint C over variables x1,..., Xn A domain D which maps each variable xi to a
set of possible values d(xi) It is understood as the constraint
C x D x xn D xn 1 1( ) ( )
![Page 5: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/5.jpg)
5
Map ColouringMap Colouring
A classic CSP is the problem of coloring a map so that no adjacent regions have the same color
WA
NT
SA
Q
NSW
V
T
Can the map of Australia be colored with 3 colors ?
WA NT WA SA NT SA
NT Q SA Q SA NSW
SA V Q NSW NSW V
D WA D NT D SA D Q
D NSW D V D T
red yellow blue
( ) ( ) ( ) ( )
( ) ( ) ( )
{ , , }
![Page 6: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/6.jpg)
6
4-queens4-queens
Place 4 queens on a 4 x 4 chessboard so that none can take another.
Q1 Q2 Q3 Q4
1
2
3
4
Four variables Q1, Q2, Q3, Q4 representing the row of the queen in each column. Domain of each variable is {1,2,3,4}
One solution! -->
![Page 7: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/7.jpg)
7
4-queens4-queens
The constraints:
Q Q Q Q Q Q
Q Q Q Q Q Q
Q Q Q Q Q Q
Q Q Q Q Q Q
Q Q Q Q Q Q
Q Q Q Q Q Q
1 2 1 3 1 4
2 3 2 4 3 4
1 2 1 1 3 2 1 4 3
2 3 1 2 4 2 3 4 1
1 2 1 1 3 2 1 4 3
2 3 1 2 4 2 3 4 1
Not on the same row
Not diagonally up
Not diagonally down
![Page 8: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/8.jpg)
8
Smugglers KnapsackSmugglers Knapsack
Smuggler with knapsack with capacity 9, who needs to choose items to smuggle to make profit at least 30
object profit size
whiskey
perfume
cigarretes
15 4
10 3
7 2
4 3 2 9 15 10 7 30W P C W P C
What should be the domains of the variables?
![Page 9: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/9.jpg)
9
Systematic Search MethodsSystematic Search Methods
exploring the solution space complete and sound efficiency issues
Backtracking (BT) Generate & Test (GT)
exploringindividual assignments
exploring subspace
X
Z
Y
![Page 10: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/10.jpg)
10
Generate & TestGenerate & Test probably the most general problem solving method Algorithm:
generate labelling
test satisfaction
Drawbacks: Improvements:blind generator smart generator
--> local search
late discovery of testing within generatorinconsistencies --> backtracking
![Page 11: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/11.jpg)
11
Backtracking (BT)Backtracking (BT)
incrementally extends a partial solution towards a complete solution
Algorithm:
assign value to variable
check consistency
until all variables labelled Drawbacks:
thrashing redundant work late detection of conflict
A
C
B
1
1
1
1
2
2
A = D, B D, A+C < 4
1
2
D21
1
![Page 12: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/12.jpg)
12
GT & BT - ExampleGT & BT - Example
Problem:X::{1,2}, Y::{1,2}, Z::{1,2}
X = Y, X Z, Y > Z
generate & test backtracking
X Y Z test1 1 1 fail1 1 2 fail1 2 1 fail1 2 2 fail2 1 1 fail2 1 2 fail2 2 1 passed
X Y Z test1 1 1 fail
2 fail2 fail
2 1 fail2 1 passed
![Page 13: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/13.jpg)
13
Simple Backtracking SolverSimple Backtracking Solver
The simplest way to solve CSPs is to enumerate the possible solutions
The backtracking solver: Enumerates values for one variable at a time Checks that no prim. Constraint is false at each stage
Assume satisfiable(c) returns false when primitive constraint c with no variables is unsatisfiable
![Page 14: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/14.jpg)
14
Partial SatisfiablePartial Satisfiable
Check whether a constraint is unsatisfiable because of a prim. Constraint with no vars
Partial_satisfiablePartial_satisfiable(c) For each primitive constraint c in C
If vars(c) is empty If satisfiable(c) = false return false
Return true
![Page 15: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/15.jpg)
15
Backtrack SolveBacktrack Solve
Back_solveBack_solve(c,d) If vars(c) is empty return partial_satisfiablepartial_satisfiable(c) Choose x in vars(c) For each value d in d(x)
Let C1 be C with x replaced by d If partial_satisfiable(partial_satisfiable(c1) then
If back_solveback_solve(c1,d) then return true Return false
![Page 16: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/16.jpg)
16
Backtracking SolveBacktracking SolveX Y Y Z D X D Y D Z ( ) ( ) ( ) { , }1 2
X Y Y Z
Choose var X domain {1,2}
X 1
1 Y Y ZChoose var Y domain {1,2}
Y 1
1 1 1 Z
partial_satisfiablepartial_satisfiable false
Y 2
1 2 2 Z
Choose var Z domain {1,2}
Z 1
1 2 2 1 No variables, and false
Z 2
1 2 2 2
No variables, and false
Variable X domain {1,2}
X 2
2 Y Y ZChoose var Y domain {1,2}
2 1 1 Z 2 2 2 Z
![Page 17: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/17.jpg)
17
Consistency TechniquesConsistency Techniques
removing inconsistent values from variables’ domains graph representation of the CSP
binary and unary constraints only (no problem!) nodes = variables edges = constraints
node consistency (NC) arc consistency (AC) path consistency (PC) (strong) k-consistency
A
B
C
A>5
AB
A<C
B=C
![Page 18: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/18.jpg)
18
Node and Arc ConsistencyNode and Arc Consistency
Basic idea: find an equivalent CSP to the original one with smaller domains of vars
Key: examine 1 prim.Constraint c at a time Node consistency: (vars(c)={x}) remove any
values from domain of x that falsify c Arc consistency: (vars(c)={x,y}) remove
any values from d(x) for which there is no value in d(y) that satisfies c and vice versa
![Page 19: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/19.jpg)
19
Node ConsistencyNode Consistency
Primitive constraint c is node consistent with domain D if |vars(c)| /=1 or If vars(c) = {x} then for each d in d(x) X assigned d is a solution of c
A CSP is node consistent if each prim. Constraint in it is node consistent
![Page 20: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/20.jpg)
20
Node Consistency ExamplesNode Consistency Examples
Example CSP is not node consistent (see Z)X Y Y Z Z
D X D Y D Z
2
1 2 3 4( ) ( ) ( ) { , , , }
This CSP is node consistent
X Y Y Z Z
D X D Y D Z
2
1 2 3 4 1 2( ) ( ) { , , , }, ( ) { , }
The map coloring and 4-queens CSPs are node consistent. Why?
![Page 21: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/21.jpg)
21
Achieving Node ConsistencyAchieving Node Consistency
Node_consistentNode_consistent(c,d) For each prim. Constraint c in C
D := node_consistent_primitivenode_consistent_primitive(c, D) Return D
Node_consistent_primitiveNode_consistent_primitive(c, D) If |vars(c)| =1 then
Let {x} = vars(c)
Return DD x d D x x d c( ): { ( )|{ } } is a solution of
![Page 22: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/22.jpg)
22
Arc ConsistencyArc Consistency
A primitive constraint c is arc consistent with domain D if |vars{c}| != 2 or Vars(c) = {x,y} and for each d in d(x) there
exists e in d(y) such that
And similarly for y A CSP is arc consistent if each prim.
Constraint in it is arc consistent
{ , }x d y e c is a solution of
![Page 23: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/23.jpg)
23
Arc Consistency ExamplesArc Consistency Examples
This CSP is node consistent but not arc consistent X Y Y Z Z
D X D Y D Z
2
1 2 3 4 1 2( ) ( ) { , , , }, ( ) { , }
For example the value 4 for X and X < Y.
The following equivalent CSP is arc consistent
X Y Y Z Z
D X D Y D Z
2
( ) ( ) ( )
The map coloring and 4-queens CSPs are also arc consistent.
![Page 24: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/24.jpg)
24
Achieving Arc ConsistencyAchieving Arc Consistency
Arc_consistent_primitiveArc_consistent_primitive(c, D) If |vars(c)| = 2 then
Return D Removes values which are not arc consistent with
c
D x d D x e D y
x d y e c
( ): { ( )| ( ),
{ , } }
exists
is a soln of
D y e D y d D x
x d y e c
( ): { ( )| ( ),
{ , } }
exists
is a soln of
![Page 25: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/25.jpg)
25
Achieving Arc ConsistencyAchieving Arc Consistency
Arc_consistentArc_consistent(c,d) Repeat
W := d For each prim. Constraint c in C
D := arc_consistent_primitivearc_consistent_primitive(c,d) Until W = D Return D
A very naive version (there are much better)
![Page 26: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/26.jpg)
26
Using Node and Arc Cons.Using Node and Arc Cons.
We can build constraint solvers using the consistency methods
Two important kinds of domain False domain: some variable has empty
domain Valuation domain: each variable has a
singleton domain Extend satisfiable to CSP with val. Domain
![Page 27: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/27.jpg)
27
Node and Arc Cons. SolverNode and Arc Cons. Solver
D := node_consistentnode_consistent(C,D) D := arc_consistentarc_consistent(C,D) if D is a false domain
return false if D is a valuation domain
return satisfiable(C,D) return unknown
![Page 28: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/28.jpg)
28
Node and Arc Solver ExampleNode and Arc Solver ExampleColouring Australia: with constraints
WA NT WA SA NT SA
NT Q SA Q SA NSW
SA V Q NSW NSW V
WA red NT yellow
WA NT SA Q NSW V T
Node consistency
![Page 29: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/29.jpg)
29
Node and Arc Solver ExampleNode and Arc Solver ExampleColouring Australia: with constraints
WA NT WA SA NT SA
NT Q SA Q SA NSW
SA V Q NSW NSW V
WA red NT yellow
WA NT SA Q NSW V T
Arc consistency
![Page 30: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/30.jpg)
30
Node and Arc Solver ExampleNode and Arc Solver ExampleColouring Australia: with constraints
WA NT WA SA NT SA
NT Q SA Q SA NSW
SA V Q NSW NSW V
WA red NT yellow
WA NT SA Q NSW V T
Arc consistency
![Page 31: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/31.jpg)
31
Node and Arc Solver ExampleNode and Arc Solver ExampleColouring Australia: with constraints
WA NT WA SA NT SA
NT Q SA Q SA NSW
SA V Q NSW NSW V
WA red NT yellow
WA NT SA Q NSW V T
Arc consistency
Answer:
unknown
![Page 32: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/32.jpg)
32
Backtracking Cons. SolverBacktracking Cons. Solver
We can combine consistency with the backtracking solver
Apply node and arc consistency before starting the backtracking solver and after each variable is given a value
![Page 33: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/33.jpg)
33
Back. Cons Solver ExampleBack. Cons Solver Example
There is no possible value for
variable Q3!
Q1 Q2 Q3 Q4
1
2
3
4
No value can be
assigned toQ3 in this
case!
Therefore,we need to
choose another value
for Q2.
![Page 34: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/34.jpg)
34
Back. Cons Solver ExampleBack. Cons Solver ExampleQ1 Q2 Q3 Q4
1
2
3
4
We cannot find any
possible valuefor Q4 inthis case!
Backtracking…
Find another value for Q3?
No!
backtracking,
Find anothervalue of Q2?
No!
backtracking,
Find anothervalue of Q1?
Yes, Q1 = 2
![Page 35: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/35.jpg)
35
Back. Cons Solver ExampleBack. Cons Solver ExampleQ1 Q2 Q3 Q4
1
2
3
4
![Page 36: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/36.jpg)
36
Back. Cons Solver ExampleBack. Cons Solver ExampleQ1 Q2 Q3 Q4
1
2
3
4
![Page 37: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/37.jpg)
37
Node and Arc Solver ExampleNode and Arc Solver ExampleColouring Australia: with constraints
WA red NT yellow
WA NT SA Q NSW V T
Backtracking enumeration
Select a variable with domain of more than 1, T
Add constraint T red Apply consistency
Answer: true
![Page 38: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/38.jpg)
38
Is AC enough?Is AC enough?
empty domain => no solution cardinality of all domains is 1 => solution Problem:
X::{1,2}, Y::{1,2}, Z::{1,2} X Y, X Z, Y Z
1 2
1 2
1 2
X
YZ
![Page 39: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/39.jpg)
39
Path Consistency (PC)Path Consistency (PC)
Path (V0 … Vn) is path consistent iff for each pair of compatible values x in D(V0) and y in D(Vn) there exists an instantiation of the variables V1 ..Vn-1 such that all the constraint (Vi,Vi+1) are satisfied
CSP is path consistent iff each path is path consistent
consistency along the path only
V0 V1
V3
V2 V4 V5
???
![Page 40: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/40.jpg)
40
Path Consistency (PC)Path Consistency (PC)
checking paths of length 2 is enough Plus/Minus
+ detects more inconsistencies than AC
- extensional representation of constraints (01 matrix), huge memory consumption
- changes in graph connectivity
V0 V1
V3
V2 V4 V5
???
![Page 41: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/41.jpg)
41
K -consistencyK -consistency
K-consistency consistent valuation o (K-1) variables can be
extended to K-th variable strong K-consistency
J-consistency for each JK
![Page 42: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/42.jpg)
42
Is k-consistency enough ?Is k-consistency enough ?
If all the domains have cardinality 1=> solution If any domain is empty => no solution Otherwise ?
strongly k-consistent constraint graph with k nodes => completeness
for some special kind of graphs weaker forms of consistency are enough
![Page 43: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/43.jpg)
43
Consistency CompletenessConsistency Completeness strongly N-consistent constraint graph with N nodes
=> solution strongly K-consistent constraint graph with N nodes
(K<N) => ???
path consistentbut no solution
Special graph structures tree structured graph => (D)AC is enough
A
B C
D
{1,2,3}
{1,2,3}
{1,2,3}
{1,2,3}
![Page 44: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/44.jpg)
44
hyper-arc consistencyhyper-arc consistency
A primitive constraint c is hyper-arc consistent with domain D if
for each variable x in c and for each d in d(x) the valuation x-->d can be extended to a solution of c
A CSP is hyper-arc consistent if each prim. Constraint in it is hyper-arc consistent
NC hyper-arc consistency for constraint with 1 var AC hyper-arc consistency for constraint with 2 var
![Page 45: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/45.jpg)
45
Non binary constraints Non binary constraints
What about prim. constraints with more than 2 variables?
Each CSP can be transformed into an equivalent binary CSP (dual encoding)
k-consitncy hyper-arc consistency
![Page 46: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/46.jpg)
46
Dual encodingDual encoding
Each CSP can be transformed into an equivalent binary CSP by ``dual encoding’’:
k-ary constraint c is converted to a dual variable vc with the domain consisting of compatible tuples
for each pair of constraint c,c’ sharing some variable there is a binary constraint between vc and vc’ restricting the dual variables to tuples in which the original shared variables take the same value
![Page 47: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/47.jpg)
47
Hyper-arc consistencyHyper-arc consistency
hyper-arc consistency: extending arc consistency to arbitrary number of variables
(better than binary representation) Unfortunately determining hyper-arc
consistency is NP-hard (as expensive as determinining if a CSP is satisfiable).
Solution?
![Page 48: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/48.jpg)
48
Bounds ConsistencyBounds Consistency
arithmetic CSP: domains = integers range: [l..u] represents the set of integers {l,
l+1, ..., u} idea use real number consistency and only
examine the endpoints (upper and lower bounds) of the domain of each variable
Define min(D,x) as minimum element in domain of x, similarly for max(D,x)
![Page 49: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/49.jpg)
49
Bounds ConsistencyBounds Consistency
A prim. constraint c is bounds consistent with domain D if for each var x in vars(c) exist real numbers d1, ..., dk for remaining vars
x1, ..., xk such that min(D,xj),= dj<= max(D,xj) and is a solution of c
and similarly for An arithmetic CSP is bounds consistent if all
its primitive constraints are
{ min( , ), , }x D x x d xk dk 1 1
{ max( , )}x D x
![Page 50: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/50.jpg)
50
Bounds Consistency ExamplesBounds Consistency Examples
X Y Z
D X D Y D Z
3 5
2 7 0 2 1 2( ) [ .. ], ( ) [ .. ], ( ) [ .. ]
Not bounds consistent, consider Z=2, then X-3Y=10
But the domain below is bounds consistent
D X D Y D Z( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 2 7 0 2 0 1
Compare with the hyper-arc consistent domain
D X D Y D Z( ) { , , }, ( ) { , , }, ( ) { , } 3 5 6 0 1 2 0 1
![Page 51: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/51.jpg)
51
Achieving Bounds Achieving Bounds ConsistencyConsistency
Given a current domain D we wish to modify the endpoints of domains so the result is bounds consistent
propagation rules do this
![Page 52: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/52.jpg)
52
Achieving Bounds Achieving Bounds ConsistencyConsistency
Consider the primitive constraint X = Y + Z which is equivalent to the three forms
X Y Z Y X Z Z X Y
Reasoning about minimum and maximum values:X D Y D Z X D Y D Z
Y D X D Z Y D X D Z
Z D X D Y Z D X D Y
min( , ) min( , ) max( , ) max( , )
min( , ) max( , ) max( , ) min( , )
min( , ) max( , ) max( , ) min( , )
Propagation rules for the constraint X = Y + Z
![Page 53: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/53.jpg)
53
Achieving Bounds Achieving Bounds ConsistencyConsistency
X Y Z
D X D Y D Z
( ) [ .. ], ( ) [ .. ], ( ) [ .. ]4 8 0 3 2 2
The propagation rules determine that:
( ) ( )
( ) ( )
( ) ( )
0 2 2 5 3 2
4 2 2 6 8 2
4 3 1 8 8 0
X
Y
Z
Hence the domains can be reduced to
D X D Y D Z( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 4 5 2 3 2 2
![Page 54: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/54.jpg)
54
More propagation rulesMore propagation rules4 3 2 9
9
4
3
4
2
49
3
4
3
2
39
2
4
2
3
2
W P C
W D P D C
P D W D C
C D W D P
min( , ) min( , )
min( , ) min( , )
min( , ) min( , )
Given initial domain:D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 9 0 9 0 9
We determine that
new domain:
W P C 9
4
9
3
9
2, ,
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 2 0 3 0 4
![Page 55: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/55.jpg)
55
Disequations Disequations
Disequations give weak propagation rules, only when one side takes a fixed value that equals the minimum or maximum of the other is there propagation
Y Z
D Y D Z
D Y D Z
D Y D Z D Y D Z
( ) [ .. ], ( ) [ .. ]
( ) [ .. ], ( ) [ .. ]
( ) [ .. ], ( ) [ .. ] ( ) [ .. ], ( ) [ .. ]
2 4 2 3
2 4 3 3
2 4 2 2 3 4 2 2
no propagation
no propagation
prop
![Page 56: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/56.jpg)
56
MultiplicationMultiplication X Y Z
If all variables are positive its simple enoughX D Y D Z X D Y D Z
Y D X D Z Y D X D Z
Z D X D Y Z D X D Y
min( , ) min( , ) max( , ) max( , )
min( , ) / max( , ) max( , ) / min( , )
min( , ) / max( , ) max( , ) / min( , )
But what if variables can be 0 or negative?
Example:
becomes:
D X D Y D Z( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 4 8 1 2 1 3
D X D Y D Z( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 4 6 2 2 2 3
![Page 57: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/57.jpg)
57
MultiplicationMultiplication X Y Z
Calculate X bounds by examining extreme values
X D Y D Z D Y D Z
D Y D Z D Y D Z
minimum{min( , ) min( , ), min( , ) max( , )
max( , ) min( , ), max( , ) max( , )}
Similarly for upper bound on X using maximum
BUT this does not work for Y and Z? As long as min(D,Z) <0 and max(D,Z)>0 there is no bounds restriction on Y
X Y Z X Y d Z d { , , / } 4 4
Recall we are using real numbers (e.g. 4/d)
![Page 58: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/58.jpg)
58
MultiplicationMultiplication X Y Z
We can wait until the range of Z is non-negative or non-positive and then use rules like
Y D X D Z D X D Z
D X D Z D X D Z
minimum{min( , ) / min( , ), min( , ) / max( , )
max( , ) / min( , ), max( , ) / max( , )}
division by 0:
ve ve
0 0
0
0
![Page 59: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/59.jpg)
59
Bounds Consistency AlgmBounds Consistency Algm
Repeatedly apply the propagation rules for each primitive constraint until there is no change in the domain
We do not need to examine a primitive constraint until the domains of the variables involve are modified
![Page 60: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/60.jpg)
60
Bounds Consistency ExampleBounds Consistency Example
Smugglers knapsack problem (no whiskey available)
capacity profit
W P C W P C4 3 2 9 15 10 7 30
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 0 9 0 9
W P C 102 15 12 10 60 7/ / /W P C 9 4 9 3 9 2/ / /
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 0 3 0 4
W P C 28 15 2 10 0 7/ / /
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 3 0 4
Continuing there is no further change
Note how we had to reexamine the profit constraint
![Page 61: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/61.jpg)
61
Bounds consistency solverBounds consistency solver
D := bounds_consistentbounds_consistent(C,D) if D is a false domain
return false if D is a valuation domain
return satisfiable(C,D) return unknown
![Page 62: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/62.jpg)
62
Back. Bounds Cons. SolverBack. Bounds Cons. Solver
Apply bounds consistency before starting the backtracking solver and after each variable is given a value
![Page 63: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/63.jpg)
63
Back. Bounds Solver ExampleBack. Bounds Solver Example
Smugglers knapsack problem (whiskey available)capacity profit
W P C W P C4 3 2 9 15 10 7 30
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 9 0 9 0 9Current domain:
Initial bounds consistency
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 2 0 3 0 4
W = 0
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 3 0 4
P = 1
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 1 3 3
(0,1,3)
Solution Found: return true
![Page 64: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/64.jpg)
64
Back. Bounds Solver ExampleBack. Bounds Solver Example
Smugglers knapsack problem (whiskey available)capacity profit
W P C W P C4 3 2 9 15 10 7 30 Current domain:
Initial bounds consistencyBacktrack
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 3 0 4
P = 2
D W D P D C( ) , ( ) , ( )
false
Backtrack
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 3 0 4
P = 3
D W D P D C( ) { }, ( ) { }, ( ) { } 0 3 0
W = 0
P = 1
(0,1,3) (0,3,0)
W = 1
(1,1,1)
W = 2
(2,0,0)
No more solutions
![Page 65: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/65.jpg)
65
Generalized ConsistencyGeneralized Consistency
Can use any consistency method with any other communicating through the domain, node consistency : prim constraints with 1 var arc consistency: prim constraints with 2 vars bounds consistency: other prim. constraints
Sometimes we can get more information by using complex constraints and special consistency methods
![Page 66: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/66.jpg)
66
AlldifferentAlldifferent
alldifferent({V1,...,Vn}) holds when each variable V1,..,Vn takes a different value alldifferent({X, Y, Z}) is equivalent to
Arc consistent with domain
BUT there is no solution! specialized consistency for alldifferent can find it
X Y X Z Y Z
D X D Y D Z( ) { , }, ( ) { , }, ( ) { , } 1 2 1 2 1 2
![Page 67: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/67.jpg)
67
Alldifferent ConsistencyAlldifferent Consistency
let c be of the form alldifferent(V) while exists v in V where D(v) = {d}
V := V - {v} for each v’ in V
D(v’) := D(v’) - {d} DV := union of all D(v) for v in V if |DV| < |V| then return false domain return D
![Page 68: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/68.jpg)
68
Alldifferent ExamplesAlldifferent Examplesalldifferent X Y Z
D X D Y D Z
({ , , })
( ) { , }, ( ) { , }, ( ) { , } 1 2 1 2 1 2
DV = {1,2}, V={X,Y,Z} hence detect unsatisfiabilityalldifferent X Y Z T
D X D Y D Z D T
({ , , , })
( ) { , }, ( ) { , }, ( ) { , }, ( ) { , , , } 1 2 1 2 1 2 2 3 4 5
DV = {1,2,3,4,5}, V={X,Y,Z,T} don’t detect unsat. Maximal matching based consistency could
X Y Z T
1 2 3 4 5
![Page 69: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/69.jpg)
69
Other Complex ConstraintsOther Complex Constraints
schedule n tasks with start times Si and durations Di needing resources Ri where L resources are available at each moment
array access if I = i, then X = Vi and if X != Vi then I != i
cumulative S S D D R R Ln n n([ , , ],[ , , ],[ , , ], )1 1 1
element I V V Xn( ,[ , , ], )1
![Page 70: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/70.jpg)
70
Optimization for CSPsOptimization for CSPs
Because domains are finite can use a solver to build a straightforward optimizer
retry_int_optretry_int_opt(C, D, f, best) D2 := int_solvint_solv(C,D) if D2 is a false domain then return best let sol be the solution corresponding to D2 return retry_int_optretry_int_opt(C /\ f < sol(f), D, f, sol)
![Page 71: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/71.jpg)
71
Retry Optimization ExampleRetry Optimization Example
Smugglers knapsack problem (optimize profit)minimize subject to
15 10 7
4 3 2 9 15 10 7 30
0 9 0 9 0 9
W P Ccapacity profit
W P C W P C
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ]
First solution found: D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 1 3 3
Corresponding solution sol W P C{ , , } 0 1 3
sol f( ) 31
minimize subject to
15 10 7
4 3 2 9 15 10 7 30
15 10 7 31
0 9 0 9 0 9
W P Ccapacity profit
W P C W P C
W P C
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ]
Next solution found: D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 1 1 1 1 1 1
sol W P C{ , , } 1 1 1
sol f( ) 32
minimize subject to
15 10 7
4 3 2 9 15 10 7 30
15 10 7 31 15 10 7 32
0 9 0 9 0 9
W P Ccapacity profit
W P C W P C
W P C W P C
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ]
No next solution!
Return best solution
![Page 72: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/72.jpg)
72
Backtracking OptimizationBacktracking Optimization
Since the solver may use backtrack search anyway combine it with the optimization
At each step in backtracking search, if best is the best solution so far add the constraint f < best(f)
![Page 73: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/73.jpg)
73
Back. Optimization ExampleBack. Optimization Example
Smugglers knapsack problem (whiskey available)capacity profit
W P C W P C4 3 2 9 15 10 7 30
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 9 0 9 0 9Current domain:
Initial bounds consistency
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 2 0 3 0 4
W = 0
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 3 0 4
P = 1
D W D P D C( ) [ .. ], ( ) [ .. ], ( ) [ .. ] 0 0 1 1 3 3
(0,1,3)
Solution Found: add constraint
Smugglers knapsack problem (whiskey available)capacity profit
W P C W P C
W P C
4 3 2 9 15 10 7 30
15 10 7 31
![Page 74: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/74.jpg)
74
Back. Optimization ExampleBack. Optimization Example
Initial bounds consistency
capacity profit
W P C W P C
W P C
4 3 2 9 15 10 7 30
15 10 7 31
P = 2
false
P = 3
false
W = 1
(1,1,1)
Modify constraint
capacity profit
W P C W P C
W P C
4 3 2 9 15 10 7 30
15 10 7 32
W = 0
P = 1
(0,1,3)
Smugglers knapsack problem (whiskey available)
W = 2
false
Return last sol (1,1,1)
![Page 75: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/75.jpg)
75
Branch and Bound Opt.Branch and Bound Opt.
The previous methods,unlike simplex don't use the objective function to direct search
branch and bound optimization for (C,f) use simplex to find a real optimal, if solution is integer stop otherwise choose a var x with non-integer opt value
d and examine the problems
use the current best solution to constrain prob. ( , ) ( , )C x d f C x d f
![Page 76: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/76.jpg)
76
Branch and Bound ExampleBranch and Bound ExampleSmugglers knapsack problem
{ / , , }W P C 11 4 0 0W 2 W 3
{ , / , }W P C 2 1 3 0P 0 P 1
{ , , / }W P C 2 0 1 2C 0 C 1
{ , , }W P C 2 0 0Solution (2,0,0) = 30
{ / , , }W P C 7 4 0 1W 1 W 2
{ , , / }W P C 1 0 5 2C 2 C 3
false { / , , }W P C 3 4 0 3W 0 W 1
false false
false
{ / , , }W P C 6 4 1 0W 1 W 2
{ , / , }W P C 1 5 3 0P 1 P 2
{ , , }W P C 1 1 1Solution (1,1,1) = 32
Worse than best sol
false
false
![Page 77: 1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized](https://reader035.vdocuments.mx/reader035/viewer/2022062515/56649c775503460f9492ccae/html5/thumbnails/77.jpg)
77
Finite Constraint Domains Finite Constraint Domains SummarySummary
CSPs form an important class of problems Solving of CSPs is essentially based on
backtracking search Reduce the search using consistency methods
node, arc, bound, generalized Optimization is based on repeated solving or
using a real optimizer to guide the search