commit e3a638a83534cf52c353a67e750d024545096184
parent 6af4c1d1b29d08490b936946ab01e377d3b62240
Author: Fabian Oehlmann <oehlmann@in.tum.de>
Date: Fri, 3 Jan 2014 13:12:47 +0000
minor softmax eligibility traces fix
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/ats/plugin_ats_ril.c b/src/ats/plugin_ats_ril.c
@@ -1238,11 +1238,14 @@ static int
agent_select_softmax (struct RIL_Peer_Agent *agent, double *state)
{
int i;
+ int a_max;
double eqt[agent->n];
double p[agent->n];
double sum = 0;
double r;
+ a_max = agent_get_action_best(agent, state);
+
for (i=0; i<agent->n; i++)
{
eqt[i] = exp(agent_estimate_q(agent,state,i) / agent->envi->parameters.temperature);
@@ -1261,7 +1264,10 @@ agent_select_softmax (struct RIL_Peer_Agent *agent, double *state)
{
if (RIL_ALGO_Q == agent->envi->parameters.algorithm)
{
- agent_modify_eligibility(agent, RIL_E_UPDATE, NULL, i);
+ if (i == a_max)
+ agent_modify_eligibility(agent, RIL_E_UPDATE, NULL, i);
+ else
+ agent_modify_eligibility(agent, RIL_E_ZERO, NULL, -1);
}
return i;
}