diff --git a/decoder/src/Decoder.cpp b/decoder/src/Decoder.cpp index a9e153d26c2083f2afbbeebeda5be8df97795c0e..934252b718bc813b638f1dbbc8a363399b45b111 100644 --- a/decoder/src/Decoder.cpp +++ b/decoder/src/Decoder.cpp @@ -175,6 +175,7 @@ void applyActionAndTakeTransition(TransitionMachine & tm, const std::string & ac Action * action = tm.getCurrentClassifier()->getAction(actionName); TransitionMachine::Transition * transition = tm.getTransition(actionName); action->setInfos(transition->headMvt, tm.getCurrentState()); + config.addToActionsHistory(config.getCurrentStateName(), actionName, tm.getCurrentClassifier()->getActionCost(config, actionName)); action->apply(config); tm.takeTransition(transition); } diff --git a/trainer/src/Trainer.cpp b/trainer/src/Trainer.cpp index 2bf245e0264affbcab249c036edf56c238720fa5..32b8cccbd94ce2e76133904640413117037a0b68 100644 --- a/trainer/src/Trainer.cpp +++ b/trainer/src/Trainer.cpp @@ -135,6 +135,8 @@ void Trainer::computeScoreOnDev() TransitionMachine::Transition * transition = tm.getTransition(actionName); action->setInfos(transition->headMvt, tm.getCurrentState()); + devConfig->addToActionsHistory(devConfig->getCurrentStateName(), actionName, tm.getCurrentClassifier()->getActionCost(*devConfig, actionName)); + action->apply(*devConfig); tm.takeTransition(transition); diff --git a/transition_machine/include/Config.hpp b/transition_machine/include/Config.hpp index 5b99d95b71e25b75addbd7051862d1d6feb4d30e..7d1e71903b0ed6db6f0ba75fc7e8e8245ff50fed 100644 --- a/transition_machine/include/Config.hpp +++ b/transition_machine/include/Config.hpp @@ -348,7 +348,7 @@ class Config /// /// @param index Index of the column to print. void printColumnInfos(unsigned int index); - void addToActionsHistory(std::string & state, std::string & action, int cost); + void addToActionsHistory(std::string & state, const std::string & action, int cost); std::vector< std::pair<std::string, int> > & getActionsHistory(std::string & state); }; diff --git a/transition_machine/src/Config.cpp b/transition_machine/src/Config.cpp index a82342d71f9f5931e8e7aab5841bacddbf40309d..e3f13c4d906cd0eb02cb623422e9fd2aa7df641d 100644 --- a/transition_machine/src/Config.cpp +++ b/transition_machine/src/Config.cpp @@ -615,7 +615,7 @@ void Config::printColumnInfos(unsigned int index) fprintf(stderr, "\n"); } -void Config::addToActionsHistory(std::string & state, std::string & action, int cost) +void Config::addToActionsHistory(std::string & state, const std::string & action, int cost) { actionsHistory[state+"_"+std::to_string(head)].emplace_back(action, cost); }