Constraint Programming: What is behind?. Roman Bart ák Charles University, Prague bartak@kti.mff.cuni.cz. Quotations.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Constraint Programming:What is behind?
Roman Barták
Charles University, Prague
bartak@kti.mff.cuni.cz
Eugene C. Freuder, Constraints, April 1997
Dick Pountain, BYTE, February 1995
+
+
+
+


+
+
+
+
Example:
Example:
exploring subspace
exploringindividual assignments
Z
Y
X
Systematic Search Methods
generate labelling
test satisfaction
Drawbacks: Improvements:
blind generatorsmart generator> local search
late discovery oftesting within generator
inconsistencies> backtracking
Systematic Search Methods
assign value to variable
check consistency
until all variables labelled
A
1
B
2
1
C
2
1
1
D
2
2
1
1
1
A = D, B D, A+C < 4
Systematic Search Methods
generate & test backtracking
A>5
A
A<C
AB
C
B
B=C
Consistency Techniques
a
b
c
a
b
c
a
b
c
Y
X
Z
Consistency Techniques
X
X
1 2
12
1 2
12
Y
Y
1 2
12
Z
Z
Consistency Techniques
X
12
12
Y
Z
12
Consistency Techniques
+ detects more inconsistencies than AC
 extensional representation of constraints
 changes in graph connectivity
V2
V4
V3
V5
V0
V1
???
Consistency Techniques
A
D
{1,2,3}
{1,2,3}
C
B
{1,2,3}
{1,2,3}
look back
look ahead
Labelling order
Constraint Propagation
jump here
a
conflict
b
b
b
still conflict
Constraint Propagation
instantiated variable
labelling order
Constraint Propagation
generate & test  7 stepsbacktracking  5 stepspropagation  2 steps
starts from random configuration
recomputes states using neighbouring cells
till stable configuration found (equilibrium)
learns violated constraints by strengthening weights
1
values
2
Z
X
Y
variables
Constraint Optimisation
OverConstrained Problems
shirt: {red, white}
footwear: {cordovans, sneakers}
trousers: {blue, denim, grey}
shirt x trousers: redgrey, whiteblue, whitedenim
footwear x trousers: sneakersdenim, cordovansgrey
shirt x footwear: whitecordovans
red white
shirt
blue denim grey
trousers
footwear
cordovans sneakers
OverConstrained Problems
white  denim  sneakers
shirt
red white
enlarged constraint’s domain
blue denim grey
footwear
trousers
cordovans sneakers
OverConstrained Problems
OverConstrained Problems
red  grey  cordovans
white  denim  sneakers
shirt
red white
blue denim grey
footwear
trousers
cordovans sneakers
OverConstrained Problems
levels Hi (H0  required constraints, H1  strongest non required …)