1 / 12

Foundations of Constraint Processing CSCE421/821, Spring 2009

Lookahead Schemas. Foundations of Constraint Processing CSCE421/821, Spring 2009 www.cse.unl.edu/~choueiry/S09-421-821/ All questions to cse421@cse.unl.edu Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B choueiry@cse.unl.edu Tel: +1(402)472-5444. Outline. Looking ahead Schemas

harlan
Download Presentation

Foundations of Constraint Processing CSCE421/821, Spring 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lookahead Schemas Foundations of Constraint Processing CSCE421/821, Spring 2009 www.cse.unl.edu/~choueiry/S09-421-821/ All questions to cse421@cse.unl.edu Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B choueiry@cse.unl.edu Tel: +1(402)472-5444

  2. Outline • Looking ahead 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 • 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

  4. 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)

  5. Revise(Vi, Vj)NOTE: only DVi may be updated Revise(Vi, Vj) • revised  nil •  x  DVi • found  nil •  y  DVj • If Check((Vi,x),(Vj,y)) Then Begin • found  t • Return() • End • If found=nil Then Begin • revised  t • DVi  DVi \ {x} • End • Return (revised)

  6. Revise(Vi, Vj) Revise(Vi, Vj) • revised  nil •  x  Dvi •  y  DVj • If Check((Vi,x),(Vj,y)) Then Return() • 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 return(nil)

  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)=nil then Return(nil)

  9. Maintaining Arc Consistency • First, FC(Vc), • If it does not fail, then, form a queue with all constraints (Vi,Vj) and (Vj,Vi) between future variables, and run AC AC-1 • Q  {(Vi,Vj),(Vj,Vi), …, (Vk,Vm), (Vm,VK)} • Change  true • While Change Do • Change  false • For all (Va,Vb) in Q Do • If Revise(Va,Vb) • Then If Dom(Va) = • Then Return (nil) • Else Change  true

  10. 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)

  11. 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

  12. (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)

More Related