Download presentation
Presentation is loading. Please wait.
Published byNora Charles Modified over 9 years ago
1
On Algorithms for Decomposable Constraints Kostas Stergiou Ian Gent, Patrick Prosser, Toby Walsh A.P.E.S. Research Group
2
Decomposable non-binary constraints they can be represented by binary constraints on the same set of variables some decomposable constraints all-different -> binary “not-equals” constraints monotonicity -> binary ordering constraints All-different(v0,...,v7)
3
Forward Checking forward checking (FC) forward checking (FC) remove from future variables the values that are inconsistent with the current instantiation remove from future variables the values that are inconsistent with the current instantiation generalized FC generalized FC various definitions of FC for non- binary constraints (nFC0-nFC5) see Bessiere et. al., CP’99 various definitions of FC for non- binary constraints (nFC0-nFC5) see Bessiere et. al., CP’99 each generalization achieves a different level of consistency between past and future variables each generalization achieves a different level of consistency between past and future variables 1 1,2 0,1,2 current variable future variable
4
Forward Checking on Decomposable Constraints FC > nFC0 in visited nodes FC > nFC0 in visited nodes the difference can be exponential the difference can be exponential nFC1 > FC in visited nodes nFC1 > FC in visited nodes the difference can be exponential the difference can be exponential nFC1 ~ FC ~ nFC0 in consistency checks nFC1 ~ FC ~ nFC0 in consistency checks but there can be the same exponential differences but there can be the same exponential differences nFC5 nFC2 nFC1 FC nFC0 nFC5 nFC2 nFC1 FC nFC0 nFC4 nFC3
5
Arc consistency Arc consistency (AC) Arc consistency (AC) remove from a variable the values that are incompatible with all values of the other variable in a binary constraint remove from a variable the values that are incompatible with all values of the other variable in a binary constraint Generalized AC Generalized AC remove from a variable the values that are incompatible with all n-tuples of the other variables in a n-ary constraint remove from a variable the values that are incompatible with all n-tuples of the other variables in a n-ary constraint Maintaing AC (GAC) is the most popular complete search algorithm Maintaing AC (GAC) is the most popular complete search algorithm 1 1,2 0,1,2
6
The complexity of arc consistency The complexity of AC on e “not-equal” constaints with d domain size is O(e) The complexity of AC on e “not-equal” constaints with d domain size is O(e) the previous bound was O(ed) the previous bound was O(ed) each edge is processed at most once each edge is processed at most once process is done in constant time process is done in constant time This generalizes to all antifunctional constraints This generalizes to all antifunctional constraints each value in a variable is unsupported by at most one value of the other variable in the constraint each value in a variable is unsupported by at most one value of the other variable in the constraint All-different constraint on k variables All-different constraint on k variables AC -> O(k 2 ) GAC -> O(k 2 d 2 ) AC -> O(k 2 ) GAC -> O(k 2 d 2 )
7
GAC on Decomposable Constraints GAC stronger than AC on binary decomposition GAC stronger than AC on binary decomposition Exponential differences in node visits between MAC - MGAC Exponential differences in node visits between MAC - MGAC GAC incomparable to GAC incomparable to strong path consistency (PC) strong path consistency (PC) restricted PC (RPC) restricted PC (RPC) singleton AC (SAC) singleton AC (SAC) path inverse consistency (PIC) path inverse consistency (PIC) neighbourhood inverse consistency (NIC) neighbourhood inverse consistency (NIC) strong PC SAC PIC RPC AC GAC NIC binary not-equals are AC ternary all-different is not GAC
8
Singleton arc consistency Singleton arc consistency (SAC) Singleton arc consistency (SAC) remove a value a of variable x if the instantiation x a results in a problem that is not AC remove a value a of variable x if the instantiation x a results in a problem that is not AC SAC is stronger than AC SAC is stronger than AC Singleton GAC (SGAC) Singleton GAC (SGAC) SAC for non-binary constraints SAC for non-binary constraints SGAC is stronger than GAC SGAC is stronger than GAC 0,1,2 0,1 0,1 0,1 0,1 SAC removes 0 from x x x 0x 0x 0x 0
9
SGAC on decomposable constraints SGAC stronger than SAC, PIC, RPC on binary decomposition SGAC stronger than SAC, PIC, RPC on binary decomposition SGAC incomparable to strong PC, NIC SGAC incomparable to strong PC, NIC SGAC is useful for preprocessing SGAC is useful for preprocessing Expensive to maintain during search Expensive to maintain during search strong PC SAC PIC RPC AC SGAC NIC
10
Conclusions Generalizations of FC, AC and SAC can achieve high levels of consistency Generalizations of FC, AC and SAC can achieve high levels of consistency The complexity of AC on antifunctional constraints is O(e) The complexity of AC on antifunctional constraints is O(e) Non-binary representations offer considerable advantages over binary ones Non-binary representations offer considerable advantages over binary ones decompositions can significantly reduce the level of consistency decompositions can significantly reduce the level of consistency Representation of problems can have large effect on efficiency of search Representation of problems can have large effect on efficiency of search
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.