[ library(ic_global_gac) | Reference Manual | Alphabetic Index ]
GAC version of alldifferent
- List of integers or domain variables, or a collection a la collection_to_list/2
This predicate implements a GAC (generalized arc consistency) version of the alldifferent constraint. It uses the classical bitpartite matching implementation using the graph_algorithms library. This version often removes more values than the bound consistent alldifferent in the ic_global library, or the forward checking variant in the ic library, but may spend much more time doing this.
fails if there is no bipartite matching between all variables and the possible values
matching / 2, ic : alldifferent / 1, ic_global : alldifferent / 1