Rationale & Strategies Foundations of Constraint Processing Least Commitment Rationale & Strategies Foundations of Constraint Processing CSCE421/821, Spring 2019 www.cse.unl.edu/~choueiry/S19-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 Tel: +1(402)472-5444 Weak Commitment
Background Constraint propagation Search Reduces problem size Eliminates inconsistent choices Gets the problem closer to being solved But does not eliminate any solutions When it solves the problem, we keep all solutions Search Solves the problem by making decisions At each step, decisions ignore some perfectly acceptable choices But search focuses on finding one solution Weak Commitment
Generalizing.. Constraint propagation makes no commitment at all Search makes strong commitments Question: is there anything in the middle? Answer: least commitment Common: planning, scheduling communities Weak Commitment
Least commitment: rationale As long as you do not need to make a commitment, keep propagating If propagation is ‘stuck’ (no progress), then make the least commitment you need to make in order to enable more propagation without ruling out ‘too’ many solutions Technique typically by adding a constraint (which is weaker than a variable assignment) Weak Commitment
Example: scheduling Context: Propagation Search Least commitment scheduling tasks in time. You notice the 2 tasks must use the same resource Propagation adds a mutex constraint between both tasks without ordering them Search fixes the time for one or both tasks thus ruling out so many possibilities Least commitment adds a constraint committing one task to be before the other tasks remain floating in time and any task can be inserted between them Weak Commitment