Arms
This section discusses the arm models implemented in this packages.
BanditOpt.Arms
— Module.ArmModels
ArmModels
module includes the different types of reward processes available for Bandit algorithms. It define the following base types for creating new reward processes.
Arms.ArmBase
BanditOpt.Arms.ArmBase
— Type.ArmBase
ArmBase
is the abtract type for all arm models in BanditOpt. It also defines the default methods for interfacing with each of the arm models
Functions
Arms.pull!()
BanditOpt.Arms.pull!
— Function.pull!( arm::ArmBase )
Pulls an arm. Return the reward of the pull. If the arm is non-stationary, the underlying state of the arm is also updated.
Arms.tick!()
BanditOpt.Arms.tick!
— Function.tick!( arm::ArmBase )
Updates the underlying states of a non-stationary arm. This method is used to update the state of arm if it is not the pulled arm. Not required for stationary arm models.
Arms.reset!()
BanditOpt.Arms.reset!
— Function.reset!( arm::ArmBase )
Resets the underlying state of the arm. Used usually in non-stationary arm models.
Arms.StationaryArmBase
BanditOpt.Arms.StationaryArmBase
— Type.StationaryArmBase
StationaryArmBase
is the concrete type for all the stationary arm models. Any subtype should implement pull!()
method
Arms.NonstationaryArmBase
NonstationaryArmBase
NonstationaryArmBase
is the concrete type for all nonstationary arm models. This includes rested, restless and evolving arm models. Any subtype should implement pull!()
, tick!()
and reset!()
methods