Foundations of Constraint Processing - PowerPoint PPT Presentation

About This Presentation
Title:

Foundations of Constraint Processing

Description:

Title: PowerPoint Presentation Author: choueiry Last modified by: Computer Science and Engineering Department Created Date: 9/4/2004 3:37:41 AM Document presentation ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 13
Provided by: choueiry
Learn more at: http://cse.unl.edu
Category:

less

Transcript and Presenter's Notes

Title: Foundations of Constraint Processing


1
Lookahead Schemas
  • Foundations of Constraint Processing
  • CSCE421/821, Spring 2011
  • www.cse.unl.edu/choueiry/S11-421-821/
  • All questions to cse421_at_cse.unl.edu
  • Berthe Y. Choueiry (Shu-we-ri)
  • Avery Hall, Room 360
  • choueiry_at_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

  • Break

  • End
  • If foundnil 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
    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 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
  • 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)
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)

Low tightness High tightness
Low density (sparse) FC MAC
High density (dense) FC FC
  • Note Results depend on
  • Variable ordering (static vs. dynamic)
  • Problem difficulty (positive relative to
    crossover point)
Write a Comment
User Comments (0)
About PowerShow.com