Crate ratel_bandit

Crate ratel_bandit 

Source
Expand description

§Ratel

A library for running multi-armed bandit simulations.

The simulation has two components: a Bandit with some number of arms which each has a payout according to some distribution, and an Agent that uses some strategy to learn the optimal bandit arm. A Game then consists of an Agent learning about a Bandit by pulling arms according to its preferred strategy.

Structs§

BinomialBandit
A bandit whose arms distribute rewards according to the binomial distributions.
EpsilonGreedyAgent
Agent that follows the Epsilon-Greedy Algorithm.
ExponentialBandit
A bandit whose arms distribute rewards according to the exponential distributions.
Game
Structure to make the Agent interact with the Bandit.
GammaBandit
A bandit whose arms distribute rewards according to the gamma distributions.
GaussianBandit
A bandit whose arms distribute rewards according to the Gaussian distributions.
GreedyAgent
Agent that follows the Greedy Algorithm.
HarmonicStepper
Stepper with a harmonically decreasing step size.
LogNormalBandit
A bandit whose arms distribute rewards according to the Log Normal distributions.
OptimisticAgent
Agent that follows the Optimistic Algorithm.
RecordCounter
Counter for cases where individual records must be maintained.

Traits§

Agent
A trait for common members of the Agents.
Bandit
A trait for common members of the Bandits
Counter
A trait for common methods required by all counters.
Stepper
Trait containing all methods required by all steppers.

Functions§

print_hms
Prints the amount of time that has elapsed since a timer was started.