Ejemplo n.º 1
0
        private double GetPriority(State currentState, State nextState, AIAction action, double reward)
        {
            DiscreteActionValueFunction actionValueFunction = ai.ActionValueFunction;
            double discount        = ai.Discount;
            double bestActionValue = ListUtils.GetHighest(
                actionValueFunction.GetActionValues(nextState),
                (x, y) => x.Value > y.Value).Value;

            return(Math.Abs(reward + discount * bestActionValue - actionValueFunction.GetValue(currentState, action)));
        }