- Build a class for a multi-armed bandit model with
N
arms - Create arm selection function according to the available probability distribution in the problem
- Create a random arm selection function
- Add reward for the selected turn
- Add a function for modifying the probability distribution after the reward for the turn has become known
- For each turn, enter the cost of a certain amount of resources available to the player
- Demonstrate the change in the probability distribution of choosing the i-th arm with increasing turn number
- Demonstrate the dependence of the probability of choosing the "best" arm with increasing turn number
- Demonstrate the change in the agent's payoff over time
- Построить класс для модели многорукого бандита с
N
ручками - Ввести функцию выбора ручки согласно имеющемуся распределению вероятностей в задаче
- Ввести функцию случайного выбора ручки
- Ввести вознаграждение за выбранный ход
- Ввести функцию модификации распределения вероятностей после того, как стало известно вознаграждение за ход
- Для каждого хода ввести стоимость некоторого количества ресурсов, имеющихся у игрока
- Продемонстрировать изменение распределения вероятностей выбора i-й ручки с ростом номера хода
- Продемонстрировать зависимость вероятности выбора "лучшей" ручки с ростом номера хода
- Продемонстрировать изменение выигрыша агента со временем
- Формулировка задачи
- Многорукие бандиты: введение и алгоритм UCB1
- Машинное обучение. Обучение с подкреплением. К.В. Воронцов
- Предварительно скомпилированные заголовки (stdafx.h)
- Введение в CMake
- Флаги компилятора (warnings)
- clang-format
- Конструкторы дочерних классов
To aply .clang-format to all C++ files use your IDE tools or the following command on linux:
find ./src -iname *.h -o -iname *.cpp | xargs clang-format -i