You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, we have an O(n*log(n)) propagation algorithm for distinct constraints and an O(n^2) algorithm for disjoint constraints. The propagation algorithm for distinct constraints can still be made stronger. Even though we should probably keep the existing algorithm (as an option) because it should be quite fast. Furthermore, there might be an O(n*log(n)) algorithm for disjoint constraints.
The current implementation of distinct and disjoint constraints still needs refinement. There is some translation happening in the builder which should really be moved to the constraint state. Furthermore, the translation for distinct constraints should be refined as indicated in the code.
A good propagator for distinct constraints seems to be the one in the first paper but the one in the second paper is easier to understand and easier to generalize to disjoint constraints:
Currently, we have an
O(n*log(n))
propagation algorithm for distinct constraints and anO(n^2)
algorithm for disjoint constraints. The propagation algorithm for distinct constraints can still be made stronger. Even though we should probably keep the existing algorithm (as an option) because it should be quite fast. Furthermore, there might be anO(n*log(n))
algorithm for disjoint constraints.The current implementation of distinct and disjoint constraints still needs refinement. There is some translation happening in the builder which should really be moved to the constraint state. Furthermore, the translation for distinct constraints should be refined as indicated in the code.
A good propagator for distinct constraints seems to be the one in the first paper but the one in the second paper is easier to understand and easier to generalize to disjoint constraints:
The following python code implements the algorithm in the first paper and we should probably also make it available in clingcon.
The text was updated successfully, but these errors were encountered: