Constraint Solving and Constraint Satisfaction Search - PowerPoint PPT Presentation

About This Presentation
Title:

Constraint Solving and Constraint Satisfaction Search

Description:

chimney. roof. doors. tiles. windows. Generic Building Model GM: Building a House. Doors ... Chimney. 3 days. Stage D. Stage E. Tiles. 3 days. Roof. 2 days ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 52
Provided by: jacque4
Category:

less

Transcript and Presenter's Notes

Title: Constraint Solving and Constraint Satisfaction Search


1
Constraint Solving andConstraint Satisfaction
Search
  • Jacques Robin

2
Outline
  • What is constraint solving?
  • Constraint domains
  • Constraint solving inference services
  • Constraint solvers properties
  • Practical applications of CSP
  • Finite domain Constraint Solving Problem (CSP)
    solving through search
  • CSP search algorithms

3
What is Constraint Solving?
  • A versatile paradigm for symbolic, numerical and
    hybrid symbolico-numerical automated reasoning
  • Relies on hybrid logical-numerical knowledge
    representation formalism
  • Relies on AI search, term rewriting, operation
    research and mathematical inference algorithms
  • Allows reasoning with incomplete information
  • Takes as input intentional and extensional
    knowledge
  • When input knowledge is consistent and complete,
    returns as output extensional knowledge
  • When input knowledge is consistent but
    incomplete, returns as output intentional and
    extensional knowledge that is more concise and
    easy to understand than the input
  • Identifies inconsistent input knowledge
  • Most other automated reasoning paradigms
    (monotonic deduction, belief revision, belief
    update, abduction, planning, optimization) can be
    reformulated as one form of constraint solving

4
Constraint Solving Problems (CSP)
  • Input
  • Set of variables, each one associated with an
    associated domain of possible values (constants)
  • Set of functions defining mapping between these
    domains
  • Set of relations (called primitive constraints),
    including equations and inequations, over these
    domains
  • A logical conjunction of such relations (called
    a compound constraints)
  • Output
  • Composed of same elements as input
  • If the input is just rightly constrained, the
    output is one complete consistent variable
    valuation, i.e., a logical conjunction of
    equations of the form ltvariablegt ltconstant
    valuegt.
  • If the input is underconstrained, the output is
    a simplification of the input, i.e., a logically
    equivalent conjunction of primitive constraints
    containing fewer constraints and/or functions
    and/or variables.
  • If the input is overconstrained, the output is
    fail for there exists no variable valuation
    that simultaneously satisfy all constraints.

5
CSP Example Analog Circuit Modeling
  • Particular circuit instance data sets
  • PD1 ( V 10 ? R1 10 ? R2 5 ),
    extensional
  • PD2 ( V 10 ? R2 10 ? I1 5 ),
    extensional
  • PD3 ( R1 10 ? R2 5 ), extensional
  • PD4 ( V 10 ? R1 5 ? I 1 ? 0 ? R2
    ), intensional
  • Solving particular circuit instance
    model PM1 GM ? PD1 yields extensional
    consistent solution
  • V 10 ? V1 10 ? V2 10 ? R1 10 ? R2
    5 ?
  • I 6 ? I1 5 ? I2 1
  • Solving particular circuit instance model PM2
    GM ? PD2yields extensional consistent solution
  • V 10 ? V1 10 ? V2 10 ? R1 2 ? R2 10 ?
  • I 6 ? I1 5 ? I2 1
  • Solving particular circuit instance model PM2
    GM ? PD2yields intentional consistent
    solutionV x 3 I x 10
  • Solving particular circuit instance model PM4
    GM ? PD4
  • yields fail (inconsistent input)

6
CSP Example Building Scheduling
  • Particular query Q1
  • TS 0 ? Tm min(TE)
  • Solution to particular problem GM ? Q1
  • TS 0 ? TA 7 ?
  • TB 11 ? TC 10 ?
  • TD 12 ? TE 15 ?
  • Tm 15
  • Particular query Q2
  • TE ? 14
  • Solution to particular problem GM ? Q2 fail

7
CSP Example Map Coloring
  • Generic Australia map coloring model AMCM
  • WT ? SO ? WT ? NT ?NT ? SO ? NT ? Q ?
  • Q ? SO ? Q ? NSW ?
  • NSW ? SO ? NSW ? V ? V ? SO
  • Color set instance BGR
  • WT ? blue, green, red ? SO ? blue, green, red
    ?
  • NT ? blue, green, red ? Q ? blue, green, red
    ?
  • NSW ? blue, green, red ? V ? blue, green, red
    ?
  • T ? blue, green, red
  • Solving specific Australian map coloring
    problemAMCM ? BGR yields complete consistent
    solutionSO blue ? WA red ? NT green ? Q
    red ?NSW green ? V red ? T green
  • Solving specific Australian map coloring problem
    with any set instance with two-color domains for
    all variables yields fail

8
The Language of CSP MOF Metamodel
FOL Formula
9
CSP Domains MOF Metamodel
Constraint Domain (CD)
, ?, true, false
?, ?
10
CSP Solving Services
  • Substitution
  • Satisfaction
  • Absolute Implication
  • Absolute Equivalence
  • Normalization
  • Absolute Simplification
  • Projection
  • Relative Implication
  • Relative Equivalence
  • Relative Simplification
  • Local Propagation
  • Optimization
  • Labeling

11
CSP Solving Services Substitution
  • Substitute(?Valuation, CCompoundConstraint)Comp
    oundConstraint
  • returns result of substituting in C the
    variables in ? by their value in ?.
  • Examples
  • C B P I x P ? B2 B I x B
  • ?1 B 1200 ? P 1000 ? I 20/100 ? B2
    1440
  • ?1(C) 1200 1000 20/100 x 1000 ? 1440
    1200 20/100 x 1200
  • ?2 B 1 ? I 1
  • ?2(C) 1 P 1 x P ? B2 1 1 x 1
  • ?3 B 1 ? P 0 ? I 1 ? B2 1
  • ?3(C) 1 0 1 x 0 ? 1 1 1 x 1

12
CSP Solving Services Satisfaction
  • Satisfiable(CCompoundConstraint)Boolean
  • result true iff ??Valuation Substitute(?,
    C) holds
  • if result true, also returns ?.
  • Examples
  • C1 B P I x P ? B2 B I x B
  • Satisfiable(C1) true,
  • since ??1 (B 1200 ? P 1000 ? I
    20/100 ? B2 1440)
  • ?1(C1) (1200 1000 20/100 x 1000 ? 1440
    1200 20/100 x 1200) ? (1200 1000 20000/100
    ? 1440 1200 24000/100) ? (1200 1000
    200 ? 1440 1200 240) ? (1200 1200 ?
    1440 1440) ? (true ? true) ? true
  • C2 X Y 1 ? Y X 1
  • Satisfiable(C2) false, since
  • C2 ? (X X 1 1 ? Y X 1) ? (X X 2
    ? Y X 1) ? (0 2 ? Y X 1) ?
    (false ? Y X 1) ? false

13
CSP Solving Services Absolute Implication and
Equivalence
  • Implies(C1CompoundConstraint, C2CompoundConstrai
    nt)Boolean
  • result true iff ??Valuation, ?(C1)
    satisfiable ? ?(C2) satisfiable
  • Examples
  • C1 (TS ? 0 ? TA ? TS 7 ? TB ? TA 4 ?
    TC ? TA 3 ? TD ? TC 2 ? TE ? TB 2
    ? TE ? TC 3 ? TE ? TD 3)
  • C2 TB ? TC
  • Implies(C1,C2) false
  • Since ? (TS 0 ? TA 7 ? TB 11 ? TC
    12 ? TD 14 ? TE 17) satisfies C1 but
    not C2
  • C3 C1 ? TE 15
  • Implies(C3,C2) true
  • Since C3 ? 12 ? TD ? 10 ? TC ? TA ? 7 ?
    TB ? 11
  • Equivalent(C1CompoundConstraint,
    C2CompoundConstraint) Boolean
  • result true iff ??Valuation, ?(C1)
    satisfiable ? ?(C2) satisfiable
  • C1 ? C2 iff (C1 ? C2) and (C2 ? C1)

14
CSP Solving Services Normalization
  • Solved form compound constraint
  • X1 e1 ? ... ? XN eN such that
  • none of the variables X1 ... XN occur in any of
    the expressions e1 ... eN.
  • Normalize(CCompoundConstraint)CompoundConstraint
  • result S is in solved form and verifies S ? C
    ? C
  • Examples
  • C (X 2 Y ? 2Y X T Z ? X Y 4
    ? Z T 5)
  • S Normalize(C) (X 3 ? Y 1 ? Z 5
    T)
  • C ? (X 2 Y ? 2Y 2 Y T Z ? 2 Y
    Y 4 ? Z 5 - T)
  • ? (X 2 Y ? 3Y 2 T 5 - T ?
    2Y 4 - 2 ? Z 5 - T)
  • ? (X 2 Y ? 3Y 2 5 ? Y 1 ?
    Z 5 - T)
  • ? (X 2 1 ? 31 2 5 ? Y 1 ?
    Z 5 - T)
  • ? (X 3 ? 5 5 ? Y 1 ? Z 5 - T)
  • ? (X 3 ? true ? Y 1 ? Z 5 - T)
  • ? (X 3 ? Y 1 ? Z 5 - T) S

15
CSP Solving ServicesAbsolute Simplification
  • Simplify(CCompoundConstraint)CompoundConstraint
  • result S is equivalent, simpler constraint,
    i.e.,
  • S ? C and
  • S has fewer primitive constraints than C and/or
  • S has more constraints in solved form than C
    and/or
  • S has fewer function symbols than C and/or
  • S has fewer variables than C ??
  • Examples
  • C (X ? Y Z ? U V ? X V ? U Z Y
    ? V V 0 ?
  • U,V,X,Y,Z ? N)
  • S (X Y Z ? U Z Y ? V 0 ?
    U,V,X,Y,Z ? N)
  • Since
  • C ? (X ? Y Z ? U V ? X V ? U Z Y
    ? V 0 ? U,V,X,Y,Z ? N)
  • ? (X ? Y Z ? 0 U ? X 0 ? U Z
    Y ? U,V,X,Y,Z ? N ? V 0)
  • ? (X ? Y Z ? U ? X ? U Z Y ?
    U,V,X,Y,Z ? N ? V 0)
  • ? (X ? Y Z ? Z Y ? X ? U Z Y
    ? V 0 ? U,X,Y,Z ? N)
  • ? S

16
CSP Solving Services Projection
  • Valuation extension
  • Given a valuation ?B of the form (X1 v1 ?...?
    XB vB)
  • Any valuation ?E of the form (X1 v1 ?...? XB
    vB ? XB1 vB1 ?...? XE vE )is an extension
    of ?B.
  • Partial solution
  • A valuation ?P is a partial solution of a
    constraint C iff??F Valuation, ?F extends ?P
    and ?P is a solution of C
  • Notation vars(C) set of variables occurring in
    constraint C
  • Project(CCompoundConstraint,VsVariableSet)Compo
    undConstraint
  • precondition Vs ? vars(C)
  • result P verifies
  • vars(P) ? Vs
  • C ? P
  • ??P Valuation over Vs, ?P solution of P ? ?P
    partial solution of C

17
Projection Examples
  • C1 (X ? Y ? Y ? Z ? Z ? T ? T ? 0)
  • Project(C1,X) X ? 0
  • C2 (f(Y,Y) f(X,Z) ? s(Z) s(T))
  • Project(C1,X,Z) (X Z)
  • C3 (X Y ? 1 ? X - Y ? 1 ? - X Y ? 1 ?
    - X - Y ? 1)
  • Project(C1,X) (- 1 ? X ? X ? 1)
  • Counter-example C1 (X f(Y,Z))
  • Project(C1,X) fail
  • there is no primitive constraint in C1that
    either do not contain X or can be simplified

18
CSP Solving ServicesRelative Implication and
Equivalence
  • Implies(C1CompoundConstraint, C2CompoundConstrai
    nt VsVariableSet)Boolean
  • result true iff ??F1 (X1 v1 ? ... ? XN vN
    ? ...),
  • ?F1 solution of C1 ? ?P1 (X1 v1 ? ... ?
    XN vN) partial solution of C2
  • Equivalent(C1CompoundConstraint,
    C2CompoundConstraint
    VsVariableSet)Boolean
  • Equivalent(C1,C2,Vs) true iffImplies(C1,C2,Vs)
    and Implies(C2,C1,Vs)
  • Example
  • C1 (Z f(g(U),g(U)) ? X g(U) ? Y g(U)
    ? T U)
  • C2 (Y g(T))
  • Equivalent(C1,C2,Y,T)

19
CSP Solving ServicesRelative Simplification
  • Simplify(CCompoundConstraint,VsVariableSet)Comp
    oundConstraint
  • result S verifies
  • Equivalent(C,S,Vs) true
  • S has fewer primitive constraints than C and/or
  • S has more constraints in solved form than C
    and/or
  • S has fewer function symbols than C and/or
  • S has fewer variables than C

20
CSP Solving Services Local Propagation
  • Determined solved form of compound constraint
  • X1 v1 ? ... ? XN vN where X1 ... XN are
    variables and v1 ... vN are constants
  • Propagate(CdCompoundConstraint,
    CCompoundConstraint)CompoundConstraint
  • preconditions
  • Cd sub-conjunction of C
  • Cd in determined solved form
  • result Propagate(Cd(C),choose(Cd,determines(Cd
    ,C))), i.e.,
  • apply Cd as valuation substitution on C
  • find which other sub-conjunctions of C become
    determined by this substitution --
    determines(Cd,C)
  • choose one of them Cd
  • recursively propagate Cd on Cd(C)
  • stop when propagation fails to determine new
    member of C

21
Local Propagation Example
  • C (V V1 ? V V2 ? V1 I1 x R1 ? V2 I2 x
    R2 ? I I1 I2)
  • Cd (V 10 ? R1 5 ? R2 10)
  • Propagate(Cd,C) (V 10 ? V1 10 ? V2 10 ?
    I1 2 ? I2 3 ? I 3)
  • Since
  • Cd(C) (10 V1 ? 10 V2 ? V1 I1 x 5 ? V2
    I2 x 10 ? I I1 I2)
  • Cd (V1 10 ? V2 10)
  • Cd(Cd(C)) (10 10 ? 10 10 ? 10 I1 x 5 ?
    10 I2 x 10 ? I I1 I2)
  • Cd (I1 2 ? I2 1)
  • Cd(Cd(Cd(C))) (10 V1 ? 10 V2 ? 10 2 x
    5 ? 10 1 x 10 ? I 2 1)

22
CSP Solving Services Optimization
  • Optimize(CCompoundConstraint, FCostFunction)Val
    uation
  • if C overconstrained result fail
  • if C just rightly constrained result unique ?u
    such that ?u(C) satisfiable
  • if C underconstrained result one of the
    lower-cost solution, i.e., ?o such that ?o(C)
    satisfiable and ?? such that
    ?(C) satisfiable, F(?o) ? F(?)
  • if there is no such lower-cost solution, result
    none
  • Examples
  • C1 (X Y ? 4)
  • F(X,Y) X2 Y2
  • Optimize(C1,F) (X 2 ? Y 3)
  • G(X,Y) X Y
  • Optimize(C1,F) any solution to C2 (X Y
    4)
  • C3 X ? 0
  • H(X) X
  • Optimize(C3,H) none

23
CSP Solving Services Labeling
  • Label(CCompoundConstraint)ValuationSet
  • precondition C over finite domain
  • result ?Valuation ?(C) satisfiable
  • Example
  • C1 (WT ? SO ? WT ? NT ? NT ? SO ? NT ? Q
    ? Q ? SO ? Q ? NSW ? NSW ? SO ?
    NSW ? V ? V ? SO)
  • C2 (WT ? blue, green, red ? SO ? blue,
    green, red ? NT ? blue, green, red
    ? Q ? blue, green, red ? NSW ? blue,
    green, red ? V ? blue, green, red ?
    T ? blue, green, red)
  • Label(C1 ? C2) (SO blue ? WA red ? NT
    green ? Q red
    ? NSW green ? V red ? T green)

24
Constraint Solvers
  • Constraint solver software providing one CSP
    service
  • Many CSP services can be implemented through
    judicious assembly and reuse of other CSP
    services
  • Properties
  • Correct
  • Complete
  • Normalizing
  • Set-based
  • Variable name independent
  • Monotonic (falsity preserving)
  • Projecting
  • Weakly projecting

25
Constraint Solvers Properties
  • Correct guaranteed to return only correct
    solutions
  • Complete guaranteed to return all existing
    solutions
  • Possible only for small instances of CSP over
    specific domains
  • Most CSP are NP-Hard, some are semi-decidable or
    even undecidable
  • Satisfiable service returns unknown when it
    can neither conclude that the input constraint is
    satisfiable nor that it is unsatisfiable
  • Normalizing return results in solved form
  • Directly legible, usable result
  • No need for simplification or projection
    post-processing
  • Set-based returns same solution for two
    equivalent compound constraints differing only in
    primitive constraint order and/or repetitions
  • Variable-name independent returns same solution
    for two equivalent compound constraints different
    only in terms of variable names
  • Monotonic ?C1,C2 satisfies(C1) false ?
    satisfies(C1 ? C2) false

26
Constraint Simplifiers Properties
  • Projecting returns solutions with fewer
    variables than input
  • vars(simplify(CConstraint,VVariableSet)) ? V
  • Weakly projecting returns solutions with minimum
    number of variables to insure satisfaction
  • ?C1,C2 Constraint, VVariableSet
    equivalent(C1,C2,V) ? size(vars(simplify(C1Const
    raint, VVariableSet)) \ V) ?
    size(vars(C2Constraint) \ V)
  • Canonical form simplifier returns same solution
    for equivalent constraints
  • ?C1,C2 Constraint, VVariableSet
    equivalent(C1,C2,V) ? simplify(C1,V)
    simplify(C2,V)
  • Canonical form constraint simplification of
    constraint with respect to its variables using a
    canonical form simplifier
  • CanonicalForm(CConstraint)Constraint returns
    s(C,vars(C)) where s is a canonical form
    simplifier for the domain of C.

27
Soft Constraints
  • Define preference order over valuations
    consistent with hard constraints
  • Hard constraint example a professor cannot teach
    two courses with overlapping time slots
  • Soft constraint example a professor prefers its
    undergraduate and graduate course to be scheduled
    on the same day
  • Most satisfiability problems with hard and soft
    constraints can be transformed into optimization
    problems
  • The preference defined by the soft constraints
    is captured by the cost function to optimize

28
Primitive Constraint Arity
  • Arity primitive constraint argument number
  • Zero-ary true, false
  • Unary boolean negation, , ?, ?, ?, ?, ? with
    one variable and one constant
  • Binary , ?, ?, ?, ?, ? with two variables
  • Primitive high-order FD constraints
  • Alldiff(V1 ?D, ... , Vn ?D), no pair of
    variables from V1, ... , Vn can share the same
    value in finite domain D
  • Atmost(T?D,V1 ?D, ... , Vn ?D), T ? V1 , ... ,
    Vn
  • Element(I ?1, ... ,n, V1, ... , Vn, X), if I
    i, then X Vi
  • Any primitive high-order FD constraints can be
    converted to an equivalent conjunction of binary
    primitive FD constraints by the introduction of
    additional, auxiliary variables
  • But, special-purpose propagation techniques
    handle primitive high-order FD constraints far
    more efficiently than general purpose propagation
    techniques can handle their conversion as a
    conjunction of binary constraints

29
CSP Domainsand Algorithms
  • Chronological Backtracking (CBT)
  • Simple, w/ Forward Checking
  • Conflict-Directed Backjunping (CDBJ)
  • Simple, w/ Forward Checking
  • k-Consistency Propagation
  • CBT w/ k-Consistency Propagation
  • CDBJ w/ k-Consistency Propagation
  • Min-Conflict

Constraint Domain (CD)
Local Propagation
Symbolic CD
Numeric CD
Finite CD
Infinite CD
Real Equations Inequalities
Integer FD Linear Equations Inequalities
Symbolic FD
  • Bounds Consistency Propagation (BCP)
  • CBT w/ BCP
  • CDBJ w/ BCP

Real Polynomial Equations Inequalities
Gauss-Jordan Elimination
Simplex Optimization
Interval FD
Real Linear Equations
Real Linear Equations Inequalities
Ordinal FD
String CD
Rational Trees CD
Real Linear Inequalities
Nominal FD
Fourier Elimination
Integer Linear Equations Inequalities
Infinite Symbolic CD
Boolean CD
Unification
30
FD Constraint Satisfaction as Search
  • FD CSP D v1, ... , vm ? X1 ? D ? ... ? Xn ?
    D ? Cswhere Cs c1(Xi1,Xj1) ? ... ? cp(Xip,Xjp)
  • Finite domain allows solving by enumeration of
    possible valuations (search)
  • Formulation as incremental search
  • Initial state no variable assigned, i.e., X1 ?
    D ? ... ? Xn ? D ? Cs
  • Successor function add Xi vj to current
    valuation Xk vl ? ... ? Xq vr such that Xk
    vl ? ... ? Xq vr ? Xi vj ? Cs satisfiable
  • Goal test X1 vi1 ? ... ? Xn vin ? Cs
    satisfiable
  • Path cost 1 per step
  • Formulation as complete-state search
  • Initial state all variables randomly assigned,
    i.e., X1 vi1 ? ... ? Xk
    vik ? ... ? Xn vin
  • Successor function change assignment of one
    variable in current valuation resulting in X1
    vi1 ? ... ? Xk vil ? X1 vi1 ? ... ? Xn
    vinwhere vil ? vik.
  • Goal test same as incremental search

31
General Problem-Solving Searchvs. FD CSP Search
  • General problem-solving search
  • State representation
  • Problem-specific
  • Black-box data structure
  • Successor function
  • Problem-specific
  • Arbitrary black-box
  • Goal test function
  • Problem-specific
  • Arbitrary black-box
  • Heuristic functions
  • Domain-specific
  • FD CSP search
  • State representation
  • Standard for all CSP
  • Compositional logical knowledge representation
    language
  • Successor function
  • Standard for all CSP
  • Instantiation of one piece of intentional
    knowledge into extensional knowledge
  • Goal test function
  • Standard for all CSP
  • Satisfaction of all instantiated primitive
    constraints
  • Heuristic functions
  • Standard for all CSP
  • Domain-independent!

32
Backtracking Search for FD CSP
  • General algorithm
  • At each step, choose one variable to assign one
    value to it and choose that value from the
    variables associated domain
  • If the resulting partial valuation satisfies all
    the primitive constraints, recur to choose next
    variable-value assignment pair
  • Otherwise, backtrack to a earlier assignment
    pair choice, choose an alternative pair and
    resume forward search from that point
  • Notes
  • Path to solution state irrelevant
  • Base, uninformed version
  • Chooses variable to assign randomly among
    remaining options
  • Chooses value to assign randomly among remaining
    options
  • Always backtracks to last choice point
    (chronological backtracking)
  • Does not perform any pruning of future options
    based on the propagation of the consequences of
    its last assignment Xi vi to the domains of
    variables adjacent to Xi in the constraint graph

33
Backtracking Search Example
Choose var X domain 1,2
Choose var Y domain 1,2
Choose var Z domain 1,2
Variable X domain 1,2
Choose var Y domain 1,2
No variables, and false
partial_satisfiable false
No variables, and false
34
Heuristic Improvements of Backtracking Search for
FD CSP
  • How to choose next variable to assign at each
    forward step?
  • How to choose next value to assign to that
    variable?
  • Where to backtrack when current valuation fails?
  • What to record when current valuation fails to
    avoid repeating following such unsuccessful path
    in the future?
  • Domain-independent, general-purpose heuristics
    for each decision
  • Whether or not to combine it with
    consistency-based constraint propagation to prune
    the domains of the values
  • Such propagation can be done either as a
    pre-processing step
  • Or after each variable assignment

35
FD CSP Graphs
  • Summarize dependencies between variables through
    constraints
  • Useful for
  • Computing FD CSP search heuristic functions
  • Complexity analysis of FD CSP search algorithm

36
FD CSP BT SearchForward Phase Heuristics
  • Next variable choice
  • Most constrained by current partial valuation
  • a.k.a., MRV (Minimum Remaining Values) heuristic
  • Why? Speed-ups failure detection, avoids BT in
    hopeless search space regions
  • Most constrained with currently unassigned
    variables
  • a.k.a., Highest Degree heuristic
  • Why? Reduces future effective branching factor
  • Common combination HD as tie breaker for MRV
  • Next value choice
  • Least constraining value
  • Why? Leaves options open, avoids BT triggered by
    early commitment with insufficient knowledge
  • Instance of general AI heuristic of
    least-commitment

37
FD CSP BT SearchForward Phase Heuristics Examples
  • Next variable choice most constrained by
    current partial valuation
  • Next variable choice most constrained with
    currently unassigned variables
  • Next value choice least constraining value
  • Improves scalability from25-Queens for
    uninformed BTto 1000-Queens

38
FD CSP BT Searchwith Forward Checking
  • In forward phase
  • After each new variable assignment Xi vi
  • Add step to delete vi from the domains of
    adjacent(Xi) in the constraint graph

39
FD CSP BT Searchwith Forward Checking
  • In forward phase
  • After each new variable assignment Xi vi
  • Add step to delete vi from the domains of
    adjacent(Xi) in the constraint graph

40
FD CSP BT Searchwith Forward Checking
  • In forward phase
  • After each new variable assignment Xi vi
  • Add step to delete vi from the domains of
    adjacent(Xi) in the constraint graph

41
FD CSP BT Searchwith Forward Checking
  • In forward phase
  • After each new variable assignment Xi vi
  • Add step to delete vi from the domains of
    adjacent(Xi) in the constraint graph

42
FD CSP BT Searchwith Forward Checking
  • Forward checking does not provide early detection
    for all failures
  • After 3 steps, domains of adjacent variablesNT
    and SA are both reduced to blue which leads to
    failure
  • Systematic early detection requires multi-step
    constraint propagation after each assignment

43
k-Consistency
  • CSP P1 (D v1, ... , vm ? X1 ? D ? ... ? Xn
    ? D ? Cs) where Cs is a compound constraint on X1
    ... Xn
  • CSP P2 is a sub-problem of P1 iff it is of the
    form
  • D v1, ... , vm ? X1 ? D ? ... ? Xn-1 ? D ?
    Cs
  • k-Consistency
  • An FD CSP is k-consistent iff any consistent
    partial valuation involving k-1 variables can be
    extended into a consistent valuation assigning
    anyone of the remaining unassigned variables
  • 1-Consistency a.k.a. Node Consistency
  • Every variable has a consistent assignment in
    any non-empty sub-domain of D
  • 2-Consistency a.k.a. Arc Consistency
  • Every consistent single variable assignment can
    be extended into a consistent variable assignment
    pair for any other variable
  • 3-Consistency a.ka. Path Consistency
  • Every consistent variable assignment pair can be
    extended into a consistent variable assignment
    triple for any third variable
  • Strong k-Consistency
  • An FD CSP is strongly k-consistent iff it is
    k-consistent, k-1 consistent, ...
    path-consistent, arc-consistent and
    node-consistent

44
k-Consistency Examples
  • CSP1 X ? Y ? Y ? Z ? Z ? 2 ? X ? D ? Y ?
    D ? Z ? D ? D 1,2,3,4 is not
    node consistent
  • Primitive constraint Z ? 2 rules out any
    consistent assignment for Z over sub-domain 3,4
  • CSP2 X ? Y ? Y ? Z ? Z ? 2 ? X ? D ? Y ?
    D ? Z ? D ? D 1,2 is node
    consistent
  • CSP2 is not arc-consistent
  • Y 1 ? X ? Y ? X ? 1,2 is unsatisfiable
  • Australia map coloring problem with two colors is
    not globally satisfiable but still arc-consistent

45
Node and Arc-Consistency Propagation
  • Node consistency
  • For each unary constraints U(X)
  • Delete all the values from Domain(X) that
    violate U
  • Arc-consistency
  • For each binary constraint B(X,Y)
  • Delete all the values from Domain(X) and
    Domain(Y) that violates the arc-consistency of
    the CSP

46
Node and Arc Consistency Example
Colouring Australia with constraints
Node consistency
47
Node and Arc Consistency Example
Colouring Australia with constraints
Arc consistency
48
Node and Arc Consistency Example
Colouring Australia with constraints
Arc consistency
49
Node and Arc Consistency Example
Colouring Australia with constraints
Arc consistency
Answer unknown
50
Min-Conflict Example
  • States 4 queens in 4 columns (44 256 states).
  • Actions move queen in column.
  • Goal test no attacks.
  • Evaluation h(n) number of attacks
  • Given random initial state, can solve n-queens in
    almost constant time for arbitrary n with high
    probability (e.g., n 10,000,000)

51
Performance Experiments
Problem Backtracking BTMRV Forward Checking FCMRV Minimum Conflicts
USA (4-colors) (gt1.000K) (gt1.000K) 2K 60 64
n-Queens (2 lt n lt 50) (gt40.000K) 13.500K (gt40000K) 817K 4K
Zebra (ex. 5.13) 3.859K 1K 35K 0.5K 2K
Random 1 415K 3K 26K 2K Not run
Random 2 942K 27K 77K 15K Not run
Write a Comment
User Comments (0)
About PowerShow.com