AIMA.Core.Search.CSP.Assignment.isConsistent C# (CSharp) Method

isConsistent() public method

public isConsistent ( List constraints ) : bool
constraints List
return bool
        public bool isConsistent(List<Constraint> constraints)
        {
            foreach (Constraint cons in constraints)
                if (!cons.isSatisfiedWith(this))
                    return false;
            return true;
        }

Usage Example

 /**
  * Template method, which can be configured by overriding the three
  * primitive operations below.
  */
 private Assignment recursiveBackTrackingSearch(CSP csp,
         Assignment assignment)
 {
     Assignment result = null;
     if (assignment.isComplete(csp.getVariables()))
     {
         result = assignment;
     }
     else
     {
         Variable var = selectUnassignedVariable(assignment, csp);
         foreach (Object value in orderDomainValues(var, assignment, csp))
         {
             assignment.setAssignment(var, value);
             fireStateChanged(assignment, csp);
             if (assignment.isConsistent(csp.getConstraints(var)))
             {
                 DomainRestoreInfo info = inference(var, assignment, csp);
                 if (!info.isEmpty())
                     fireStateChanged(csp);
                 if (!info.isEmptyDomainFound())
                 {
                     result = recursiveBackTrackingSearch(csp, assignment);
                     if (result != null)
                         break;
                 }
                 info.restoreDomains(csp);
             }
             assignment.removeAssignment(var);
         }
     }
     return result;
 }
All Usage Examples Of AIMA.Core.Search.CSP.Assignment::isConsistent