Esempio n. 1
0
        public void BadState_Throws()
        {
            var returns = new StateReturns(5);

            Assert.Throws <IndexOutOfRangeException>(() => returns.Add(-1, 1));
            Assert.Throws <IndexOutOfRangeException>(() => returns.Add(5, 1));
        }
Esempio n. 2
0
        public void Averages_AreCorrect()
        {
            var returns = new StateReturns(5);

            returns.Add(4, 2);
            returns.Add(4, 4);

            Assert.AreEqual(3, returns.AverageReturnFrom(4));
        }
Esempio n. 3
0
        public double[] Estimate(RandomWalkEnvironment environment, int?episodeLimit = null)
        {
            _values  = Enumerable.Range(0, environment.NumPositions).Select(_ => 0.5).ToArray();
            _returns = new StateReturns(environment.NumPositions);

            var maxEpisodes = episodeLimit ?? 10000;

            for (var i = 0; i < maxEpisodes; i++)
            {
                ImproveEstimates(environment);
            }

            return(_values);
        }