Class ucb1_allocator

Inheritance Relationships

Base Type

  • public rer::client< ucb1_allocator >

Class Documentation

class ucb1_allocator : public rer::client<ucb1_allocator>

Allocates a task from a given set of a tasks, using the UCB1 approach from TA:Pini2012-bandit,Auer2002, treating the task allocation problem as a multi-armed bandit and achieving a logarithmic regret bound.

Public Functions

ucb1_allocator(const ucb1_allocator&) = delete
inline explicit ucb1_allocator(rmath::rng *rng)
polled_task *operator()(const std::vector<polled_task*> &tasks, size_t alloc_count) const

Perform task allocation.

Parameters:
  • tasks – The current set of tasks.

  • alloc_count – The total # of task allocations so far.

const ucb1_allocator &operator=(const ucb1_allocator&) = delete