90 likes | 203 Vues
This course, CSCE 421/821, focuses on advanced techniques in constraint processing, emphasizing lookahead schemas such as forward checking (FC), directional arc consistency (DAC), and maintaining arc consistency (MAC). As decisions are made in constraint satisfaction problems (CSP), lookahead techniques revise the domains of future variables to eliminate inconsistent choices. The methods improve efficiency, reducing the search space during problem-solving. Students will explore the underlying rationale, techniques, and the importance of variable ordering in achieving optimal results in CSPs.
E N D
Lookahead Schemas Foundations of Constraint Processing CSCE421/821, Spring 2008: www.cse.unl.edu/~choueiry/S08-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B choueiry@cse.unl.edu Tel: +1(402)472-5444
Outline • Looking ahead Schemas • Forward checking (FC) • Directional Arc Consistency (DAC) • Maintaining Arc Consistency (a.k.a. full arc-consistency)
Looking ahead • Rationale: • As decisions are made (conditioning), • Revise the domain of future variables to propagate the effects of decisions • i.e., eliminate inconsistent choices in future sub-problem • Domain annihilation of a future variable avoids expansion of useless portions of the tree • Techniques • Partial: forward-checking (FC), directional arc-consistency (DAC) • Full: Maintaining arc-consistency (MAC) • Use: Revise(Vf, Vc), Vf future variable, Vc current variable
Revising the domain of Vi • Revising the domain of Vi given a constraint CVi,Vj on Vi (i.e., ViScope(C)) • General notation: Revise(Vi,CVi,Vj) • In a binary CSP: Revise(Vi,CVi,Vj)=Revise(Vi, Vj)
Revise(Vi, Vj) Revise(Vi, Vj) • revised nil • x DVi • y DVj • If y DVj with (x,y) C return() • ElseIf revised tDVi DVi \ {x} • return(revised) NOTE: only DVi may be updated
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 return(failure)
Look-ahead techniques:FC, DAC, MAC FC(Vc) • FC: • DAC: • assumes a fixed variable ordering d • MAC: • does more pruning (search may visit fewer nodes) at the cost of more consistency checks FC(Vc); While not failure: For the next Vf in the ordering d, FC(Vf) FC(Vc); AC({Vf}) FC(Vc); Repeat until quiescence or failure Vf1,Vf2 {Vf}, Revise(Vf1,Vf2)
Terminology overload alert: FC • FC is used to denote any 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
(BT Search +) MAC vs. FC • Reference: [Sabin & Freuder, ECAI94], [Bessière & Régin, CP97], [Sabin & Freuder, CP97], [Gent & Prosser, APES-20-2000], [Experiments by Lin XU, 2001], [Yang, MS thesis 2003] • Results: (sketchy) • Note: results depend on • Variable ordering (static vs. dynamic) • Problem difficulty (positive relative to crossover point)