1 / 13

Foundations of Constraint Processing CSCE421/821, Spring 2008:

Explore the fundamentals of non-binary constraint processing, including definitions, examples, and properties. Learn about filtering techniques and effectiveness. Recommended reading resources provided.

wilmere
Download Presentation

Foundations of Constraint Processing CSCE421/821, Spring 2008:

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. FC for Non-Binary CSPs 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 nFCi

  2. Recommended reading • (short, preliminary version) On forward checking for non-binary constraint satisfaction, by Christian Bessière, Pedro Meseguer, Eugene C Freuder, Javier Larrosa, CP 1999 • (longer, more complete version) On forward checking for non-binary constraint satisfaction, by Christian Bessière, Pedro Meseguer, Eugene C Freuder, Javier Larrosa, AIJ 2002 nFCi

  3. Non-binary FC • Definitions • Example • Properties nFCi

  4. nFC0 and nFC1 Cc,1: Constraints involving the current variable and exaclty one future variable Cc,1: Set of constraint projections involving the current variable and exactly one future variable nFC0: Apply AC on each constraint in Cc,1 (one pass) nFC1: Apply AC to each constraint in Cc,1 and Cc,1 (one pass) nFCi

  5. nFC2, nFC3, nFC4, nFC5 Cc,f: set of constraints involving the current variable and at least one future variable Cp,f: set of constraints involving at least one past variable and at least one future variable nFC2: Apply AC to each constraint in Cc,f nFC3: Make Cc,f arc-consistent nFC4: Apply AC to each constraint in Cp,f nFC5: Make Cp,f arc-consistent nFCi

  6. Non-binary FC • Definitions • Example • Properties nFCi

  7. Filtering for x  a x a, b, c • nFC0 does no filtering • nFC1 applies AC on c1 {x,y}, {x.z}, and and c3 on {x,y} and {x,w}. It removes c from D(y), b from D(w) • nFC2 applies AC on c1, then on c3. Same pruning as nFC1. A different ordering of constraints yields different filtering c1 y a, b, c c3 z a, b, c u a, b, c c2 v a, b, c w a, b, c X  a nFCi

  8. Filtering for x  a x a, b, c • nFC3 applies AC on {c1,c3}. Same filtering as nfC2, but also, removes b from D(z). • nFC4 applied AC on c1 then c3 (like nFC2). Same filtering as nFC2 because x is the first variable. • nfC5 yields the same filtering as nFC3 because x is the first variable. c1 y a, b, c c3 z a, b, c u a, b, c c2 v a, b, c w a, b, c X  a nFCi

  9. Filtering for u  a x a, b, c • nFC0 does no filtering • nFC1 applies AC on c1 on {u,v}, {u,w}. It removes c from D(v), c from D(w) • nFC2 applies AC on c2. It removes b and c from D(v) and c from D(w) c1 y a, b, c c3 z a, b, c u a, b, c c2 v a, b, c w a, b, c X  a nFCi

  10. Filtering for u  a x a, b, c • nFC3 applies AC on {c2}. Same filtering as nFC2 • nFC4 applies AC on c1, c2, then c3. It removes b from D(y) and D(z), b and c from D(v) and c from D(w). • nfC5 does AC on {c1, c2, c3}. It removes b from D(y), c from D(z), b and c from D(v), and c from D(w) c1 y a, b, c c3 z a, b, c u a, b, c c2 v a, b, c w a, b, c u  a nFCi

  11. Non-binary FC • Definitions • Example • Properties nFCi

  12. Filtering effectiveness Let (nFCi, k) be the set of (x,a) where a is removed from D(x) • (nFC0,k)  (nFC1,k)  (nFC2,k) • (nFC2,k)  (nFC3,k)  (nFC5,k) • (nFC2,k)  (nFC4,k)  (nFC5,k) nFCi

  13. Nodes visited by nFCi • nodes(nFC2,k)  nodes(nFC1,k)  nodes(nFC0,k) • nodes(nFC5k)  nodes(nFC3,k)  nodes(nFC2,k) • nodes(nFC5,k)  nodes(nFC4,k)  nodes(nFC2,k) • nFC1 visits exactly the same nodes as FC+ on the hidden variable representation nFCi

More Related