dlife.rl
Class ActionSelectionPolicy
java.lang.Object
dlife.rl.ActionSelectionPolicy
- All Implemented Interfaces:
- Serializable
- Direct Known Subclasses:
- EpsilonGreedyActionSelectionPolicy, ThresholdActionSelectionPolicy
public abstract class ActionSelectionPolicy
- extends Object
- implements Serializable
Abstract base class for objects that set the policy for action selection in a
TD-based reinforcement learning agent. Objects implementing this interface
are able to use a QTable and the current State to select an action to be
performed.
- Version:
- Apr 26, 2011
- Author:
- Grant Braught, Dickinson College
- See Also:
- Serialized Form
|
Constructor Summary |
ActionSelectionPolicy(QTable q)
Construct a new ActionSelectionPolicy that will be used to select actions
based on the provided Q-Table. |
|
Method Summary |
abstract Action |
getAction(ArrayList<Action> actions,
State s)
Choose one of the actions to take from the given State using the QTable
provided to the constructor. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
qTable
protected QTable qTable
ActionSelectionPolicy
public ActionSelectionPolicy(QTable q)
- Construct a new ActionSelectionPolicy that will be used to select actions
based on the provided Q-Table. The table itself
will be available to sub-classes through the protected field.
- Parameters:
q - the Q-Table.
getAction
public abstract Action getAction(ArrayList<Action> actions,
State s)
- Choose one of the actions to take from the given State using the QTable
provided to the constructor. Implementations of this interface can choose
different selection algorithms for different balances between exploitation
and exploration (e.g. greedy, epsilon-greedy, soft-max, etc...).
- Parameters:
actions - the list of Actions to choose from.s - the current State.
- Returns:
- the Action to be taken.