Download presentation
Presentation is loading. Please wait.
1
Nogood Recording for Static and Dynamic Constraint Satisfaction Problems Thomas Schiex, Gerard Verfaillie C.E.R.T.-O.N.E.R.A.(France)
2
Outline Introduction Definition Build nogoods during Backtrack search An example Conclusion
3
Introduction In dynamic environment, the knowledge is not defined once and for all, but may incrementally evolve between successive requests. Solution maintenance problem to successively find, when it exists, a new solution after each modification of the problem.
4
Introduction Knowledge may be modified 1.the enviorment 2.the user 3.a distributed environment most existing satisfaction algorithm -->rediscover many identical faliures at each satisfaction
5
Introduction Nogood recording 1.improve efficiently 2.compute an approximate description of the frontier of the space explored
6
Definition CSP X={x1,..,xn} D={d1,..,dn} C={c1,..,cm} goal: find an assignment of X,such that all constraint are satisfied.
7
Definition Constraint propagation(k-consistency) add an induced constraint to a CSP does not change its solution set and may enable some non globally consistent assignments to be discovered early.
8
Definition Dynamic CSP P = a sequence P0,..,Pi of static CSPs each one resulting from a change in the preceding one this change may be: 1.A restriction: a new constraint is impose on a subset of variables 2. A relaxation: a constraint is remove from the CSP
9
Definition The problem of solution maintenance in a DCSP = sequentially computing a solution for each of the CSP P0..,Pi... Some obvious optimizations are relevant 1.A|a solution of Pi = ( X,Ci)->is a solution of (X,Ci-c) 2.A|not a solution of Pi = ( X,Ci)->is also not a solution of (X,Ci+c)
10
Definition 3.if the CSP(X,Ci) is inconsistent, then the constraint ¬c is induced by the CSP(X,Ci-c) and thus may be added to (X,Ci-c) prior to search.
11
Building nogoods In usual backtrack algorithm, each leaf of the tree explored offers an opportunity to build a nogood. Property if an assignment A violates a constraint c, then (A,{c}) is a nogood
12
Building nogoods Corollary Let a be an assignment of the variables in XA, xs be an unassigned variable, and {A1,..,Am} be all the possible extensions of A along xs, using every possible value of d(xs). If (A1,J1),..,(Am,Jm) are nogoods, then (A, Ui Ji) is a nogood.
13
Using nogoods The nogood may serve three different purposes 1.backjump to the lowest variable -->dependency directed backtracking 2.Pruning branches-->improving efficiency 3.when solving a CSP, the constraint forbidding A may be added to the CSP before starting the search
14
An example
16
Conclusion The collected can bring vary important saving, especially on hard or over- constrained CSP. It enhance the efficiency.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.