AIMA.Core.Search.CSP.ImprovedBacktrackingStrategy.revise C# (CSharp) Method

revise() private method

private revise ( Variable var, Constraint constraint, Assignment assignment, CSP csp, DomainRestoreInfo info ) : bool
var Variable
constraint Constraint
assignment Assignment
csp CSP
info DomainRestoreInfo
return bool
        private bool revise(Variable var, Constraint constraint,
                Assignment assignment, CSP csp, DomainRestoreInfo info)
        {

            bool revised = false;
            foreach (Object value in csp.getDomain(var))
            {
                assignment.setAssignment(var, value);
                if (!constraint.isSatisfiedWith(assignment))
                {
                    info.storeDomainFor(var, csp.getDomain(var));
                    csp.removeValueFromDomain(var, value);
                    revised = true;
                }
                assignment.removeAssignment(var);
            }
            return revised;
        }