Class TabuSearchExploration
Tabu search exploration policy.
Inheritance
System.Object
TabuSearchExploration
Implements
Namespace: Mars.Components.Services.Explorations
Assembly: Mars.Components.dll
Syntax
public class TabuSearchExploration : object, IExplorationPolicy
Remarks
The class implements simple tabu search exploration policy,
allowing to set certain actions as tabu for a specified amount of
iterations. The actual exploration and choosing from non-tabu actions
is done by BasePolicy.
Constructors
TabuSearchExploration(Int32, IExplorationPolicy)
Initializes a new instance of the TabuSearchExploration class.
Declaration
public TabuSearchExploration(int actions, IExplorationPolicy basePolicy)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | actions | Total actions count. |
IExplorationPolicy | basePolicy | Base exploration policy. |
Properties
BasePolicy
Base exploration policy.
Declaration
public IExplorationPolicy BasePolicy { get; set; }
Property Value
Type | Description |
---|---|
IExplorationPolicy |
Remarks
Base exploration policy is the policy, which is used
to choose from non-tabu actions.
Methods
ChooseAction(Double[])
Choose an action.
Declaration
public int ChooseAction(double[] actionEstimates)
Parameters
Type | Name | Description |
---|---|---|
System.Double[] | actionEstimates | Action estimates. |
Returns
Type | Description |
---|---|
System.Int32 | Returns selected action. |
Remarks
The method chooses an action depending on the provided estimates. The
estimates can be any sort of estimate, which values usefulness of the action
(expected summary reward, discounted reward, etc). The action is chosen from
non-tabu actions only.
ResetTabuList()
Reset tabu list.
Declaration
public void ResetTabuList()
Remarks
Clears tabu list making all actions allowed.
SetTabuAction(Int32, Int32)
Set tabu action.
Declaration
public void SetTabuAction(int action, int tabuTime)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | action | Action to set tabu for. |
System.Int32 | tabuTime | Tabu time in iterations. |