140 likes | 260 Views
An Improved Algorithm for Maintaining Arc Consistency in Dynamic Constraint Satisfaction Problems. Roman Barták Charles University Prague roman.bartak@mff.cuni.cz. Pavel Surynek Czech Technical University Prague pavel.surynek@seznam.cz. Problem area. Real world = dynamic world
E N D
An Improved Algorithm forMaintainingArc Consistency in DynamicConstraint Satisfaction Problems Roman BartákCharles UniversityPragueroman.bartak@mff.cuni.cz Pavel SurynekCzech Technical UniversityPraguepavel.surynek@seznam.cz
Problem area • Real world = dynamic world • practical problems change continuously • difficult to capture by static formulation • solution must reflect that changes • Dynamic CSP • A CSP from which constraints can be retracted or to which constraints can be added in arbitrary order.
Existing approaches to DCSPs • Search for robust solution • the solution is still valid for the problem aftera small change • Reconstruction of the solution • the solution is locally repaired after a change • Minimal perturbation problems • solutions minimizing that local repair • Reusing the reasoning process • our approach: maintaining arc consistency
Why dynamic arc consistency? • Arc consistency simplifies the problem • Interactive problems • Interactive preparation of consistent a problem • peptide synthesis • determination of RNA structures • timetabling • Search algorithms • Decision = addition of a constraint • Undoing decision = retraction of a constraint
Current situation • DnAC-4 (filtration based on AC-4) • quite fast • large memory consumption • DnAC-6 (filtration based on AC-6) • so far fastest algorithm for maintaining AC • large memory consumption • complicated data structures • AC|DC (filtration based on AC-3) • simple • low memory consumption • slow • AC3.1|DC (filtration based on AC-3.1) • fast • larger memory consumption uses additionaldata structures no additionaldata structures
3 phases of constraint retraction • Initialization phase restores • values deleted by the retracted constraint from domains of its variables when propagating through it for the first time • Propagation phase restores • values that can be added due to previous domain extensions (like reverted AC) • Filtration phase removes • inconsistent values (standard AC)
A new algorithm AC|DC-2i • Record information during addition of constraints via AC-3 • justifications (like DnACs, neighbor in which lost all supports) and value removal time • Restore only most promising values • use removal times and justifications to identify values to restore • new support in justification variable • that was deleted before restored value • Optionally use AC-3.1 AC3.1|DC-2i
Constraint addition by AC|DC-2i Justifications and removal times are recorded during addition of constraints by AC-3 order number when the constraint is added justification for value removal VariableTime B=D (1) B: 2/D6 2 3/D9 3 4 D: 1/B1 1 2/C5 2 3/C8 3 4 C=D (3) C: 1/A3 1 2/A4 2 3/E7 3 4 A<C (2) C≠E (4) A: 2 3 4 4/C2 E: 3
Constraint retraction by AC|DC-2i Constraint A<C is removed from the problem Constraint A<C is removed from the problem Initialization: restore values deleted when propagating A<C Initialization: restore values deleted when propagating A<C Propagation: domain extensions are propagated Propagation: domain extensions are propagated Filtration: remove inconsistent values (re-establish AC) Filtration: remove inconsistent values (re-establish AC) B=D (1) 3/D9 B: 2 2/D6 4 D: 2 3/C8 4 1/B1 2/C5 C=D (3) 1/A3 C: 1/D10 1 2/A4 2 3/E7 4 A<C (2) C≠E (4) A: 2 3 4/C2 4 E: 3
Experimental resultsRuntime comparison of retraction from a consistent state RCSP(100,50,0.5,p2)
Experimental resultsRuntime of constraint addition RCSP(100,50,0.5,p2)
Experimental resultsMemory consumption RCSP(100,d,0.5,p2)
Conclusions • New algorithm for maintaining arc consistency AC|DC-2i • practical time of constraint retraction better than DnAC-6 (so far fastest) • low memory consumption (like simple AC|DC) • Optionally use AC-3.1 AC3.1|DC-2i • improves time of constraint addition • larger memory consumption