public void TestScoreClosestBinary() { _cpTaskEnv = CreateEnvironment(FitnessFunction.ClosestBinary); _cpTaskEnv.ResetAll(); // All values are correct double[][] actions = new double[_cpTaskEnv.Sequence.Length][]; for (int i = 0; i < _cpTaskEnv.Sequence.Length; i++) { actions[i] = new double[_cpTaskEnv.Sequence[i].Length]; for (int j = 0; j < _cpTaskEnv.Sequence[i].Length; j++) { if (_cpTaskEnv.Sequence[i][j] == 1) actions[i][j] = 0.6; else actions[i][j] = 0.4; } } double score = CalcScore(actions); Assert.AreEqual(score, _cpTaskEnv.MaxScore, "Max score assert"); // All values are wrong _cpTaskEnv.ResetAll(); actions = new double[_cpTaskEnv.Sequence.Length][]; for (int i = 0; i < _cpTaskEnv.Sequence.Length; i++) { actions[i] = new double[_cpTaskEnv.Sequence[i].Length]; for (int j = 0; j < _cpTaskEnv.Sequence[i].Length; j++) { if (_cpTaskEnv.Sequence[i][j] == 1) actions[i][j] = 0.4; else actions[i][j] = 0.6; } } score = CalcScore(actions); Assert.AreEqual(score, 0, "Min score assert"); }
private void FastForwardToStep(CopyTaskEnvironment env, int step) { double[] initialObservation = _cpTaskEnv.InitialObservation; double[] dummyAction = new double[] { 0, 0 }; for (int i = 1; i < step; i++) { _cpTaskEnv.PerformAction(dummyAction); } }
public void Before() { _cpTaskEnv = CreateEnvironment(FitnessFunction.StrictCloseToTarget); _cpTaskEnv.ResetAll(); }
public void TestScoreStrictCloseToTarget() { _cpTaskEnv = CreateEnvironment(FitnessFunction.StrictCloseToTarget); _cpTaskEnv.ResetAll(); // All values are correct double[][] actions = Utilities.DeepCopy(_cpTaskEnv.Sequence); double score = CalcScore(actions); Assert.AreEqual(_cpTaskEnv.CurrentScore, _cpTaskEnv.MaxScore, "Max score assert"); // All values are wrong _cpTaskEnv.ResetAll(); actions = Utilities.DeepCopy(_cpTaskEnv.Sequence); for (int i = 0; i < actions.Length; i++) { for (int j = 0; j < actions[i].Length; j++) { if (actions[i][j] == 1) actions[i][j] = 0; else actions[i][j] = 1; } } Assert.AreEqual(_cpTaskEnv.CurrentScore, 0, "Min score assert"); }