gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

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:
Msrc/ats/plugin_ats_ril.c | 8+++++++-
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; }