AIMA.Core.Search.CSP.MinConflictsStrategy.solve C# (CSharp) Метод

solve() публичный Метод

public solve ( CSP csp ) : Assignment
csp CSP
Результат Assignment
        public Assignment solve(CSP csp)
        {
            Assignment assignment = generateRandomAssignment(csp);
            fireStateChanged(assignment, csp);
            for (int i = 0; i < maxSteps; i++)
            {
                if (assignment.isSolution(csp))
                {
                    return assignment;
                }
                else
                {
                    List<Variable> vars = getConflictedVariables(assignment, csp);
                    Variable var = Util.selectRandomlyFromList(vars);
                    Object value = getMinConflictValueFor(var, assignment, csp);
                    assignment.setAssignment(var, value);
                    fireStateChanged(assignment, csp);
                }
            }
            return null;
        }