package AgentProvider.Implementation.Agents; import AgentSystemPluginAPI.Contract.StateAction; import EnvironmentPluginAPI.Exceptions.TechnicalException; /** * This interface defines how reinforcement learning agents are allowed to access their learning data. */ public interface IDictionary { /** * Returns the memorized float value for the given Key. If it is not known so far, return 0.0f. * @param key != null * @return see description * @throws TechnicalException if learning data could not be accessed because of technical difficulties */ public float getValue(StateAction key) throws TechnicalException; /** * Memorizes the float value for the given Key. If it is not known yet, return 0.0f. * @param key != null * @param newValue the value to save. * @throws TechnicalException if learning data could not be saved because of technical difficulties */ public void setValue(StateAction key, float newValue) throws TechnicalException; /** * Deletes all memorized learning data from the dictionary. All values will start again with 0.0f. * @throws TechnicalException */ public void resetValues() throws TechnicalException; }