AIMA.Core.Logic.Propositional.Algorithms.WalkSAT.getSymbolWhoseFlipMaximisesSatisfiedClauses C# (CSharp) Method

getSymbolWhoseFlipMaximisesSatisfiedClauses() private method

private getSymbolWhoseFlipMaximisesSatisfiedClauses ( List clauses, List symbols, Model model ) : Symbol
clauses List
symbols List
model Model
return AIMA.Core.Logic.Propositional.Parsing.Ast.Symbol
        private Symbol getSymbolWhoseFlipMaximisesSatisfiedClauses(
                List<Sentence> clauses, List<Symbol> symbols, Model model)
        {
            if (symbols.Count > 0)
            {
                Symbol retVal = symbols[0];
                int maxClausesSatisfied = 0;
                for (int i = 0; i < symbols.Count; i++)
                {
                    Symbol sym = symbols[i];
                    if (getNumberOfClausesSatisfiedIn(clauses, model.flip(sym)) > maxClausesSatisfied)
                    {
                        retVal = sym;
                        maxClausesSatisfied = getNumberOfClausesSatisfiedIn(
                                clauses, model.flip(sym));
                    }
                }
                return retVal;
            }
            else
            {
                return null;
            }

        }