Raebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for Friendship
modeling.ppt
1. Constraint-based problem solving
Model problem
specify in terms of constraints on acceptable solutions
define variables (denotations) and domains
define constraints in some language
Solve model
define search space / choose algorithm
– incremental assignment / backtracking search
– complete assignments / stochastic search
design/choose heuristics
Verify and analyze solution
2. Model problem
specify in terms of constraints on acceptable solutions
define variables (denotations) and domains
define constraints in some language
Solve model
define search space / choose algorithm
– incremental assignment / backtracking search
– complete assignments / stochastic search
design/choose heuristics
Verify and analyze solution
Constraint-based problem solving
Constraint
Satisfaction
Problem
3. Constraint satisfaction problem
A CSP is defined by
a set of variables
a domain of values for each variable
a set of constraints between variables
A solution is
an assignment of a value to each variable that
satisfies the constraints
5. CSP, binary CSP, SAT, 3-SAT, ILP, ...
Model and solve in one of these languages
Model in one language, translate into
another to solve
Options
6. Article of faith
“Constraints arise naturally in most areas of human
endeavor. They are the natural medium of expression for
formalizing regularities that underlie the computational
and physical worlds and their mathematical abstractions.”
P. Van Hentenryck and V. Saraswat
Constraint Programming: Strategic Directions
8. CSP, binary CSP, SAT, 3-SAT, ILP, ...
Model and solve in one of these languages
Model in one language, translate into
another to solve
Options
9. Importance of the model
“In integer programming, formulating a ‘good’ model is of
crucial importance to solving the model.”
G. L. Nemhauser and L. A. Wolsey
Handbook in OR & MS, 1989
“Same for constraint programming.”
Folk Wisdom, CP practitioners
10. Measures for comparing models
How easy is it to
–write down,
–understand,
–modify, debug,
–communicate?
How computationally difficult is it to solve?
12. Abstractions
Capture commonly occurring constraints
special propagation algorithms
e.g. alldifferent,
cardinality,
cumulative, ...
User-defined constraints
full power of host language
13. CSP versus ILP
OO databases versus Relational databases
C++ versus C
C++ versus Fortran
C++ versus Assembly language
14. Computational difficulty?
What is a good model depends on algorithm
Choice of variables defines search space
Choice of constraints defines
how search space can be reduced
how search can be guided
15. Improving model efficiency
Given a model:
Add/remove variables, values, constraints
(keep the denotation of the variables)
Use/translate to a different representation
(change the denotation of the variables)
16. Adding redundant constraints
Improve computational efficiency of model
by adding “right” constraints
symmetries removed
dead-ends encountered earlier in search process
Three methods:
add hand-crafted constraints during modeling
apply a consistency algorithm before solving
learn constraints while solving
18. Adding redundant variables
Variables that are abstractions of other variables
e.g, decision variables
Suppose x has domain {1,…,10}
Add Boolean variable to represent decisions
(x < 5), (x 5)
Variables that represent constraints
19. Translations between models
Improve computational efficiency by
completely changing the model
change denotation of variables
– e.g, convert from non-binary to binary
aggregate variables
– e.g, timetabling multiple sections of a course
Not much as has been done on either the
theory or the practice side
20. Conversion to binary
Any CSP can be converted into one with only
binary constraints
Two techniques known
dual graph method (Dechter & Pearl, 1989)
hidden variable method (Peirce, 1933; Dechter 1990)
Translations are polynomial if constraints are
represented extensionally
31. Model of random non-binary CSP
n variables
each with domain size d
m constraints
each with k variables, chosen at random
each with t tuples, chosen at random
32. Order of magnitude curves
(number
of
constraints)
/
(number
of
variables)
(number of tuples in constraints) / (maximum tuples)
n = 20
d = 2
k = 3
n = 20
d = 10
k = 3
n = 20
d = 10
k = 5
n = 20
d = 2
k = 5
34. Given start state, goal state, and actions:
determine a plan (a sequence of actions)
Box1
Project: Planning
Box2
Box2
35. Contrasts
CP philosophy/methodology
emphasis on modeling, domain knowledge
general purpose search algorithm
– backtracking with constraint propagation
Successful
e.g., can solve practical scheduling problems
36. Contrasts
Planning philosophy/methodology
emphasis on minimal model
– just representation of actions
special-purpose search algorithms
Not as successful
has not solved many practical problems
37. Tradeoffs
Robust CSP model needed for each new domain
can require much intellectual effort
Less work needs to be done on algorithms
many general purpose constraint solvers available
38. CSP model of planning
State-based model
model each state by a collection of variables
constraints enforce valid transitions between states
Example: logistics world
variable for each package, truck, plane
domains of packages: all locations, trucks, planes
domains of trucks, planes: all locations
39. CSP model: constraints (I)
Action constraints
model the effects of actions
patterned after explanation closure axioms
State constraints
variables within a state must be consistent
41. CSP model: constraints (II)
Symmetric values constraints
break symmetries on values variables can be
assigned
Action choice constraints
break symmetries on equivalent permutations
of actions
42. CSP model: constraints (III)
Domain constraints
restrictions on original domains of variables
Capacity constraints
bounds on resources
Distance constraints
bounds on steps needed for a variable to change
from one value to another
43. Solving the CSP model
Given an instance of a planning problem
generate a model with one step in it
instantiate variables in the initial and goal states
search for a solution (GAC+CBJ)
repeat, incrementing number of steps,
until plan is found
Properties:
forwards, backwards, or middle out planner
sound, complete, guaranteed to terminate
44. Experiments
Five test domains from AIPS’98
Five planners:
CPlan
Blackbox (Kautz & Selman)
HSP (Bonet & Geffner)
IPP (Koehler & Nebel)
TLPlan (Bacchus & Kabanza)
Setup:
machines: 400MHz Pentium II’s
resources: 1 hour CPU time, 256 Mb memory
50. Related work
Planning as a CSP
satisfiability (Kautz & Selman)
ILP (e.g., Bockmayr & Dimopoulos)
Adding declarative knowledge to improve efficiency
hand-coded (e.g, Kautz & Selman, Bacchus & Kabanza)
automatically derived (e.g., Fox & Long, Nebel et al.)
51. Project: Resource-constrained
instruction scheduling (I)
Modern architectures (VLIW) allow
instruction level parallelism
multiple functional units
Compiler to generate code that takes
advantage of parallelism
resource-constrained scheduling task
a: j i + h
b: k i + g
c: l j + 1
1: a, b
2: c
52. Project: Resource-constrained
instruction scheduling (II)
Current methods:
heuristic
recent: integer linear programming approach
Project:
investigate constraint programming approach
GNU compiler, MERCED chip
53. Project: Theoretical analysis of
alternative models
Improve computational efficiency by
completely changing the model
change denotation of variables
– e.g, convert from non-binary to binary
aggregate variables
– e.g, timetabling multiple sections of a course
Not much as has been done on either the
theory or the practice side
54. Conclusions
Importance of the model
ease of modeling is important
form of model is important
Constraint programming advantages
succinctness, declarativeness of models
flexibility in specifying model
on some classes of problems: speed
55. Conclusions
Advantages shared with CSP-like approaches
expressiveness of modeling language
declarativeness of models
independence of model and solving algorithm
Advantages over other CSP-like approaches
succinctness of models
robustness: scales well, not as brittle
speed
56. Future Work
Approximate planning
heuristic CSP models
solve same CSP models using local search
Alternative CSP models
action-based models vs state-based models
finding the right model can be key to solving
difficult combinatorial problems