private int countLostValues(Variable var, Object value, CSP csp)
{
int result = 0;
Assignment assignment = new Assignment();
assignment.setAssignment(var, value);
foreach (Constraint constraint in csp.getConstraints(var))
{
Variable neighbor = csp.getNeighbor(var, constraint);
foreach (Object nValue in csp.getDomain(neighbor))
{
assignment.setAssignment(neighbor, nValue);
if (!constraint.isSatisfiedWith(assignment))
{
++result;
}
}
}
return result;
}