Module constraint :: Class AllDifferentConstraint
[show private | hide private]
[frames | no frames]

Type AllDifferentConstraint

object --+    
         |    
Constraint --+
             |
            AllDifferentConstraint


Constraint enforcing that values of all given variables are different

Example:
>>> problem = Problem()
>>> problem.addVariables(["a", "b"], [1, 2])
>>> problem.addConstraint(AllDifferentConstraint())
>>> sorted(sorted(x.items()) for x in problem.getSolutions())
[[('a', 1), ('b', 2)], [('a', 2), ('b', 1)]]

Method Summary
bool __call__(self, variables, domains, assignments, forwardcheck)
Perform the constraint checking
    Inherited from Constraint
bool forwardCheck(self, variables, domains, assignments, _unassigned)
Helper method for generic forward checking
  preProcess(self, variables, domains, constraints, vconstraints)
Preprocess variable domains
    Inherited from object
  __init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __repr__(x)
x.__repr__() <==> repr(x)
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
  __str__(x)
x.__str__() <==> str(x)

Method Details

__call__(self, variables, domains, assignments, forwardcheck=False, _unassigned=Unassigned)
(Call operator)

Perform the constraint checking

If the forwardcheck parameter is not false, besides telling if the constraint is currently broken or not, the constraint implementation may choose to hide values from the domains of unassigned variables to prevent them from being used, and thus prune the search space.
Parameters:
variables - Variables affected by that constraint, in the same order provided by the user
           (type=sequence)
domains - Dictionary mapping variables to their domains
           (type=dict)
assignments - Dictionary mapping assigned variables to their current assumed value
           (type=dict)
forwardcheck - Boolean value stating whether forward checking should be performed or not
Returns:
Boolean value stating if this constraint is currently broken or not
           (type=bool)
Overrides:
constraint.Constraint.__call__ (inherited documentation)

Generated by Epydoc 2.1 on Thu Jul 7 02:05:09 2005 http://epydoc.sf.net