⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctestscripts.cpp

📁 强化学习算法(R-Learning)难得的珍贵资料
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	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 + -