[ Reference Manual | Alphabetic Index ]

# library(fd_global_gac)

Library of global constraints which achieve generalized arc consistency [more]

## Predicates

> alldifferent(+L)
>   GAC version of alldifferent
> alldifferent_matrix(+Matrix)
>   Constrain the rows and columns of Matrix to be different values
> gcc(++Bounds, +Vars)
>   Constrain the cardinality of each Value specified in Bounds gcc(Low,High,Value) to be between Low and High in Vars
> gcc_matrix(++RowBounds, ++ColBounds, +Matrix)
>   Constrain the cardinality of values taken in the rows and columns of Matrix as specified by RowBounds and ColBounds, respectively
> inverse(+Succ, +Pred)
>   Constrains elements of Succ to be the successors and Pred to be the predecessors of nodes in a digraph
> lex_le(+List1, +List2)
>   List1 is lexicographically less or equal to List2
> lex_lt(+List1, +List2)
>   List1 is lexicographically less than List2
> matching(+L, -K)
>   Get a matching between a list of domain variables and their possible values
> same(+Vars1, +Vars2)
>   Vars1 and Vars2 are constrained to be a permutation of each other in the values taken by the variables.
> sequence(+Low, +High, +K, +ZeroOnes)
>   The number of occurrences of the value 1 is between Low and High for all sequences of K variables in ZeroOnes
> sequence(+Low, +High, +K, +Vars, ++Values)
>   The number of values taken from Values is between Low and High for all sequences of K variables in Vars.

## Reexports

> reexport table / 2 from ic_mdd
> reexport mddc / 2 from ic_mdd

## Other Exports

> export portray(update_alldifferent / 4, tr_global_gac_out / 2, [goal])

## Description

This library is intended for global constraints for which GAC (generalized arc consistency, also called hyper arc consistency, or domain consistency) is maintained. One example is a version of the alldifferent constraint which performs more pruning than the bound consistent version in the fd_global library.

If a program uses multiple libraries, more than one version (with different degrees of propagation strength) of the declaratively same constraint may be visible. In this case, the programmer has to explicitly state which version is wanted, either by using an import directive such as

            :- import alldifferent/1 from fd_global_gac.

or by module-qualifying individual calls, such as

            ..., fd_global_gac:alldifferent(Xs), ...

## About

- Status: prototype
- Author: H. Simonis, 4C, University College Cork
- Copyright © 2008, H. Simonis, 4C, University College Cork
- Date: 2008

Generated from fd_global_gac.eci on 2022-09-03 14:26