Arms
This section discusses the arm models implemented in this packages.
BanditOpt.Arms — Module.ArmModelsArmModels 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.ArmBaseArmBase 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.StationaryArmBaseStationaryArmBase is the concrete type for all the stationary arm models. Any subtype should implement pull!() method
Arms.NonstationaryArmBase
NonstationaryArmBaseNonstationaryArmBase 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