Download presentation
Presentation is loading. Please wait.
Published byJohannes Cools Modified over 5 years ago
1
Foundations of Constraint Processing All questions to Piazza
Lookahead Schemas Foundations of Constraint Processing CSCE421/821, Spring 2019 All questions to Piazza Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 Tel: +1(402)
2
Outline: Lookahead Schemas
Forward checking (FC) Directional Arc Consistency (DAC) Maintaining Arc Consistency (a.k.a. full arc-consistency)
3
Looking ahead: Rationale
As decisions are made (conditioning) Revise the domain of future variables to propagate the effects of decisions (instantiations) i.e., eliminate inconsistent choices in future sub-problem Domain annihilation of a future variable avoids expansion of useless portions of the tree
4
Looking ahead: Techniques
Partial forward-checking (FC) directional arc-consistency (DAC) Full Maintaining arc-consistency (MAC) a.k.a. Real Full Lookahead (RFL) Initialize the queue with the set of (Vf,Vc) Revise(Vf,Vc), Vf future variable, Vc current variable
5
Revise(Vi,CVi,Vj)= Revise(Vi,Vj)
Revise the domain of Vi Revising the domain of Vi given a constraint CVi,Vj on Vi (i.e., Vi scope(C)) General notation: Revise(Vi,CVi,Vj) In a binary CSP: Revise(Vi,CVi,Vj)= Revise(Vi,Vj)
6
Revise(Vi, Vj) NOTE: only DVi may be updated
revised nil x Dvi y DVj If Check((Vi,x),(Vj,y)) Then break revised t DVi DVi \ {x} Return revised Simpler, equivalent code but not as obvious as the previous one
7
Domain filtering in lookahead
Vc current variable Vf future variable {Vf} all future variables Revise(Vf, Vc) FC(Vc): Vf {Vf} connected to Vc Revise(Vf,Vc) If DVf ={} then break false
8
Directional Arc Consistency
Choose an ordering d, stick to it After instantiating a variable at level i, do the following For k from i to (n-1) in the ordering d Do If FC(Vk)= false then break false
9
Real Full Lookahead (RFL)
AC-3 Set Q {(Vf,Vc) | Vc is the current variable, Vf ∈ Neigh(Vf )} Run AC-3(Q) AC-1 does too many checks First revise all the tuples in {(Vf,Vc)} Then, call AC-1 ({(Vi,Vj), Vi,Vj are future variables}})
10
Look-ahead techniques: FC, DAC, RFL
assumes a fixed variable ordering d RFL: does more pruning (search may visit fewer nodes) at the cost of more consistency checks FC(Vc) FC(Vc); While not failure: For the next Vf in the ordering d, FC(Vf) FC(Vc); AC-3({Vf}) FC(Vc); Repeat until quiescence or failure Vf1,Vf2 {Vf}, Revise(Vf1,Vf2)
11
Terminology overload alert: FC
FC is used to denote one of the following: a partial look-ahead schema a specific chronological backtrack search algorithm that uses the partial look-ahead schema Meaning is inferred from context Not a healthy situation, but a fact of reality Advice: state upfront the meaning of your terms and stick to them throughout your paper
12
(BT Search +) RFL vs. FC Reference: [Sabin & Freuder, ECAI94], [Bessière & Régin, CP97], [Sabin & Freuder, CP97], [Gent & Prosser, APES ], [Experiments by Lin XU, 2001], [Yang, MS thesis 2003] Results: (sketchy) Low tightness High tightness Low density (sparse) FC RFL High density (dense) Note: Results depend on Variable ordering (static vs. dynamic) Problem difficulty (positive relative to crossover point)
13
Alert: Terminology Distinguish between MAC assumes binary branching
Real Full Lookahead (RFL) Maintaining Arc Consistency (MAC) MAC assumes binary branching
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.