Global Constraint Seeker: How to enter examples and how to interpret results
N. Beldiceanu(*) and H. Simonis(+)
2 May 2011
*: Mines de Nantes, LINA UMR 6241, FR-44307 Nantes, France
Nicolas.Beldiceanu@mines-nantes.fr
+: Cork Constraint Computation Centre, Department of Computer Science,
University College Cork, Ireland
h.simonis@4c.ucc.ie
1. How to enter examples
The user provides positives and/or negative ground instances for a constraint
without needing to know neither the name of the constraint, nor the order of its
arguments.
Each positive or negative ground instance has the form p(Arg1,Arg2,...,Argk)
where each Arg1,Arg2,...,Argk
corresponds to one of the following:
- an integer,
- a list of integers,
- a list of sublists of integers.
Examples of valid inputs are for instance:
- p(5,7)
- p(2,[4,2,4,5],4)
- p([[1,3,4,1],[2,9,11,2],[3,10,13,1],[6,6,12,1],[7,2,9,3]],8)
You can select positive or negative examples by a small menu in front of the example input. Also note that since they do not provide a lot of information, empty lists or sublists are not particulary useful, even though the seeker does handle them correctly.
2. How to interpret results
Results are displayed as the following three lists:
- First, the examples given by the user are recalled; their arguments are colored
in order to help visualize changes in the arguments order with respect to seeker
matches.
- Second, Seeker Matches are given, where each match is described by:
- A first row with the following information:
- Constraint: the name, in the global constraint catalog, of the constraint found.
- Rank: the rank associated with the match, computed from structural information
of the constraint.
- Density: an indicator of the number of solutions for a small instance of the
constraint.
- Links: the number of links (fields See Also and Keywords in the catalog) of
this constraint in the catalog.
- UnTyp: the number of typical restrictions (i.e., Typical field in the catalog)
of the constraint which are violated by the user input.
- ArgOrder: the number of argument swaps that were applied to the arguments given
by the user to find the call pattern reported in the next row.
- Crisp: for constraint with a monotonic argument (i.e., given a ground satisfied
instance of a constraint C, an argument of C is monotonic when it can be
increased -resp. decreased- without affecting the fact that the ground instance
is still satisfied), the absolute difference between the extreme value for the
argument that still satisfies the constraint and the value that actually occurs
in the arguments given by the user.
- Func: for constraints with a functional dependency (i.e., an argument is
determined by other arguments), the way the functional dependency was found
(e.g., manual, graph, automaton).
- Tr: a transformation that was eventually applied to the arguments given by the
user.
- A second row, named Pattern, giving the call pattern, where the arguments of the
ground instance were eventually reorganized.
- A third row, named Relations, given constraints implied or implied by the found
match (information describing the transformation is accessible by cliquing on the
transformation itself).
- Third, Wider Matches are given, using the same format as for Seeker Matches. Note
that Wider Matches always use a transformation,
while Seeker Matches never use any transformation.