130 likes | 243 Vues
This resource, from Fall 2005 CSCE421/821 at the University of Nebraska-Lincoln, delves into the foundations of non-binary constraint satisfaction problems (CSPs). It introduces forward checking techniques tailored for non-binary CSPs and outlines various levels of filtering methods (nFC0 to nFC5), employing arc consistency to enhance constraint satisfaction. The content includes definitions, examples, properties, and recommended readings by notable experts in the field. For further information, contact Professor Berthe Y. Choueiry via email or phone.
E N D
FC for non-binary CSPs Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B choueiry@cse.unl.edu Tel: +1(402)472-5444 nFCi
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
Non-binary FC • Definitions • Example • Properties nFCi
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
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
Non-binary FC • Definitions • Example • Properties nFCi
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
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
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
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
Non-binary FC • Definitions • Example • Properties nFCi
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
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