This repository contains code for the paper "Budgeted Multi-Armed Bandits with Asymmetric Confidence Intervals" published at KDD'24.
We study the stochastic Budgeted Multi-Armed Bandit (MAB) problem, where a player chooses from
We provide an environment.yml
file for recreating our conda environment. The easiest way to recreate it is to execute conda env create -f environment.yml
from the OmegaUCB-directory. In case you run into errors, we advise you to inspect the environment.yml
file and install missing packages manually.
Please download the advertisement data from Kaggle, unpack the zip file, verify that the name of the csv has the name data.csv
and place the file in the data
directory of this project.
To reproduce our experimental results, execute experiment_runner.py
. The script will use all cores on your machine. On our 30-core machine, the experiments take approximately 24 hours.
- To reproduce Figure 1, run
tightness_coverage_comparison.py
. - To reproduce Figure 2, run
dominance_matrix.py
. - For the graphs in Figure 3, run the scripts
mining/bernoulli.py
,mining/beta.py
,mining/multinomial.py
,mining/advertisement_data.py
, andad_data_arms_histogram.py
. - For the graphs in Figure 4, run
mining/sensitivity_study.py
Note that plotting requires a local LaTeX installation. In case LaTeX is not installed or if you encounter other LaTeX-related problems, please try commenting out the following lines in the scripts above:
import matplotlib as mpl
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = r'\usepackage{libertine}'
mpl.rc('font', family='serif')
- For example 2, run
example_two.py