?? ctestscripts.cpp
字號:
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomVarBeta, contVMPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomVarBetaContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscDirect, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscDirectContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerDirect, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerDirectContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomDirect, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomDirectContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscConstBeta, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscConstBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomConstBeta, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomConstBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerConstBeta, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerConstBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscVarBeta, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscVarBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerVarBeta, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerVarBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomVarBeta, contSigPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomVarBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscDirect, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscDirectContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerDirect, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerDirectContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomDirect, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomDirectContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscConstBeta, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscConstBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomConstBeta, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomConstBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerConstBeta, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerConstBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscVarBeta, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscVarBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerVarBeta, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerVarBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomVarBeta, contBangBangPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomVarBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscDirect, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscDirectContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerDirect, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerDirectContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomDirect, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomDirectContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscConstBeta, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscConstBetaContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomConstBeta, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomConstBetaContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerConstBeta, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerConstBetaContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscVarBeta, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscVarBetaContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerVarBeta, contAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerVarBetaContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomVarBeta, contAddPolicy, adaptiveRBFFunction, "VRAdaptiveBFCoulomVarBetaContAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscDirect, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscDirectDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerDirect, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerDirectDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomDirect, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomDirectDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscConstBeta, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscConstBetaDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomConstBeta, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomConstBetaDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerConstBeta, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerConstBetaDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerDiscVarBeta, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFDiscVarBetaDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerEulerVarBeta, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFEulerVarBetaDiscAddPolicy"));
addTestSuite(new CListenerTestSuite(agent, vLearnerCoulomVarBeta, discAddPolicy, adaptiveRBFFunction, "VAdaptiveRBFCoulomVarBetaDiscAddPolicy"));
}
void CMyTestSuiteCollection::addVNNTestSuites()
{
agent->addStateModifier(nnState);
// NN V Functions
CVFunctionNumericInputDerivationCalculator *vFunctionInputDerivation = new CVFunctionNumericInputDerivationCalculator(dynModel->getStateProperties(), nnVFunction, 0.025, agent->getStateModifiers());
CAbstractQFunction *qFunctionFromTransitionFunction = new CQFunctionFromTransitionFunction(staticContActions, rbfVFunction, dynModel, rewardFunction, agent->getStateModifiers());
CVFunctionLearner *vNNLearnerDiscDirect = new CVFunctionGradientLearner(rewardFunction, nnVFunction, new CDiscreteResidual(0.95), new CDirectGradient());
CVFunctionLearner *vNNLearnerEulerDirect = new CVFunctionGradientLearner(rewardFunction, nnVFunction, new CContinuousEulerResidual(dynModel->getTimeIntervall(), 1.0), new CDirectGradient());
CVFunctionLearner *vNNLearnerCoulomDirect = new CVFunctionGradientLearner(rewardFunction, nnVFunction, new CContinuousCoulomResidual(dynModel->getTimeIntervall(), 1.0), new CDirectGradient());
CVFunctionLearner *vNNLearnerDiscConstBeta = new CVFunctionGradientLearner(rewardFunction, nnVFunction, new CDiscreteResidual(0.95), new CResidualBetaFunction(new CConstantBetaCalculator(0.4), new CDiscreteResidual(0.95)));
CVFunctionLearner *vNNLearnerEulerConstBeta = new CVFunctionGradientLearner(rewardFunction, nnVFunction, new CContinuousEulerResidual(dynModel->getTimeIntervall(), 1.0),new CResidualBetaFunction(new CConstantBetaCalculator(0.4), new CContinuousEulerResidual(dynModel->getTimeIntervall(), 1.0)));
CVFunctionLearner *vNNLearnerCoulomConstBeta = new CVFunctionGradientLearner(rewardFunction, nnVFunction, new CContinuousCoulomResidual(dynModel->getTimeIntervall(), 1.0), new CResidualBetaFunction(new CConstantBetaCalculator(0.4), new CContinuousCoulomResidual(dynModel->getTimeIntervall(), 1.0)));
CVFunctionLearner *vNNLearnerDiscVarBeta = new CVFunctionResidualLearner(rewardFunction, nnVFunction, new CDiscreteResidual(0.95), new CDiscreteResidual(0.95), new CVariableBetaCalculator(0.01, 0.9));
CVFunctionLearner *vNNLearnerEulerVarBeta = new CVFunctionResidualLearner(rewardFunction, nnVFunction, new CContinuousEulerResidual(dynModel->getTimeIntervall(), 1.0), new CContinuousEulerResidual(dynModel->getTimeIntervall(), 1.0), new CVariableBetaCalculator(0.01, 0.9));
CVFunctionLearner *vNNLearnerCoulomVarBeta = new CVFunctionResidualLearner(rewardFunction, nnVFunction, new CContinuousCoulomResidual(dynModel->getTimeIntervall(), 1.0), new CContinuousCoulomResidual(dynModel->getTimeIntervall(), 1.0), new CVariableBetaCalculator(0.01, 0.9));
CAgentController *NNdiscVMPolicy = new CVMStochasticPolicy(staticContActions, new CSoftMaxDistribution(10.0), nnVFunction, dynModel, rewardFunction, agent->getStateModifiers());
CAgentController *NNdiscEpsVMPolicy = new CVMStochasticPolicy(staticContActions, new CEpsilonGreedyDistribution(0.1), nnVFunction, dynModel, rewardFunction, agent->getStateModifiers());
CAgentController *NNcontVMPolicy = new CContinuousTimeVMPolicy(staticContActions, new CSoftMaxDistribution(10.0), vFunctionInputDerivation, dynModel, rewardFunction);
CContinuousTimeAndActionSigmoidVMPolicy *NNcontSigPolicy = new CContinuousTimeAndActionSigmoidVMPolicy(dynModel->getContinuousAction(), vFunctionInputDerivation, dynModel);
NNcontSigPolicy->setParameter("SigmoidPolicyCFactor", 100.0);
CContinuousTimeAndActionBangBangVMPolicy *NNcontBangBangPolicy = new CContinuousTimeAndActionBangBangVMPolicy(dynModel->getContinuousAction(), vFunctionInputDerivation, dynModel);
CContinuousActionPolicy *contAddPolicy = new CContinuousActionPolicy(dynModel->getContinuousAction(), new CSoftMaxDistribution(10.0), qFunctionFromTransitionFunction, staticContActions, 5.5);
NNcontSigPolicy->setRandomController(contExploration);
NNcontBangBangPolicy->setRandomController(contExploration);
contAddPolicy->setRandomController(contExploration);
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscDirect, NNdiscVMPolicy, nnVFunction, "VNNDiscDirectDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerDirect, NNdiscVMPolicy, nnVFunction, "VNNEulerDirectDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomDirect, NNdiscVMPolicy, nnVFunction, "VNNCoulomDirectDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscConstBeta, NNdiscVMPolicy, nnVFunction, "VNNDiscConstBetaDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomConstBeta, NNdiscVMPolicy, nnVFunction, "VNNCoulomConstBetaDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerConstBeta, NNdiscVMPolicy, nnVFunction, "VNNEulerConstBetaDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscVarBeta, NNdiscVMPolicy, nnVFunction, "VNNDiscVarBetaDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerVarBeta, NNdiscVMPolicy, nnVFunction, "VNNEulerVarBetaDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomVarBeta, NNdiscVMPolicy, nnVFunction, "VNNCoulomVarBetaDiscVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscDirect, NNdiscEpsVMPolicy, nnVFunction, "VNNDiscDirectDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerDirect, NNdiscEpsVMPolicy, nnVFunction, "VNNEulerDirectDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomDirect, NNdiscEpsVMPolicy, nnVFunction, "VNNCoulomDirectDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscConstBeta, NNdiscEpsVMPolicy, nnVFunction, "VNNDiscConstBetaDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomConstBeta, NNdiscEpsVMPolicy, nnVFunction, "VNNCoulomConstBetaDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerConstBeta, NNdiscEpsVMPolicy, nnVFunction, "VNNEulerConstBetaDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscVarBeta, NNdiscEpsVMPolicy, nnVFunction, "VNNDiscVarBetaDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerVarBeta, NNdiscEpsVMPolicy, nnVFunction, "VNNEulerVarBetaDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomVarBeta, NNdiscEpsVMPolicy, nnVFunction, "VNNCoulomVarBetaDiscVMPolicy1"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscDirect, NNcontVMPolicy, nnVFunction, "VNNDiscDirectContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerDirect, NNcontVMPolicy, nnVFunction, "VNNEulerDirectContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomDirect, NNcontVMPolicy, nnVFunction, "VNNCoulomDirectContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscConstBeta, NNcontVMPolicy, nnVFunction, "VNNDiscConstBetaContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomConstBeta, NNcontVMPolicy, nnVFunction, "VNNCoulomConstBetaContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerConstBeta, NNcontVMPolicy, nnVFunction, "VNNEulerConstBetaContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscVarBeta, NNcontVMPolicy, nnVFunction, "VNNDiscVarBetaContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerVarBeta, NNcontVMPolicy, nnVFunction, "VNNEulerVarBetaContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomVarBeta, NNcontVMPolicy, nnVFunction, "VNNCoulomVarBetaContVMPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscDirect, NNcontSigPolicy, nnVFunction, "VNNDiscDirectContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerDirect, NNcontSigPolicy, nnVFunction, "VNNEulerDirectContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomDirect, NNcontSigPolicy, nnVFunction, "VNNCoulomDirectContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscConstBeta, NNcontSigPolicy, nnVFunction, "VNNDiscConstBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomConstBeta, NNcontSigPolicy, nnVFunction, "VNNCoulomConstBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerConstBeta, NNcontSigPolicy, nnVFunction, "VNNEulerConstBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscVarBeta, NNcontSigPolicy, nnVFunction, "VNNDiscVarBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerVarBeta, NNcontSigPolicy, nnVFunction, "VNNEulerVarBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomVarBeta, NNcontSigPolicy, nnVFunction, "VNNCoulomVarBetaContSigPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscDirect, NNcontBangBangPolicy, nnVFunction, "VNNDiscDirectContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerDirect, NNcontBangBangPolicy, nnVFunction, "VNNEulerDirectContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomDirect, NNcontBangBangPolicy, nnVFunction, "VNNCoulomDirectContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerDiscConstBeta, NNcontBangBangPolicy, nnVFunction, "VNNDiscConstBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerCoulomConstBeta, NNcontBangBangPolicy, nnVFunction, "VNNCoulomConstBetaContBangBangPolicy"));
addTestSuite(new CListenerTestSuite(agent, vNNLearnerEulerConstBeta, NNcontBangBangPolicy, nnVFunction, "VNNEulerConstBetaContBangBangPolicy"));
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -