configuration_comparing_doubling_algorithms module

Configuration for the simulations, for the single-player case, for comparing doubling-trick doubling schemes.

configuration_comparing_doubling_algorithms.CPU_COUNT = 4

Number of CPU on the local machine

configuration_comparing_doubling_algorithms.HORIZON = 45678

HORIZON : number of time steps of the experiments. Warning Should be >= 10000 to be interesting “asymptotically”.

configuration_comparing_doubling_algorithms.DO_PARALLEL = True

To profile the code, turn down parallel computing

configuration_comparing_doubling_algorithms.N_JOBS = -1

Number of jobs to use for the parallel computations. -1 means all the CPU cores, 1 means no parallelization.

configuration_comparing_doubling_algorithms.REPETITIONS = 1000

REPETITIONS : number of repetitions of the experiments. Warning: Should be >= 10 to be statistically trustworthy.

configuration_comparing_doubling_algorithms.UNBOUNDED_VARIANCE = 1

Variance of unbounded Gaussian arms

configuration_comparing_doubling_algorithms.VARIANCE = 0.05

Variance of Gaussian arms

configuration_comparing_doubling_algorithms.NB_ARMS = 9

Number of arms for non-hard-coded problems (Bayesian problems)

configuration_comparing_doubling_algorithms.lower = 0.0

Default value for the lower value of means

configuration_comparing_doubling_algorithms.amplitude = 1.0

Default value for the amplitude value of means

configuration_comparing_doubling_algorithms.ARM_TYPE

alias of Arms.Bernoulli.Bernoulli

configuration_comparing_doubling_algorithms.configuration = {'environment': [{'arm_type': <class 'Arms.Bernoulli.Bernoulli'>, 'params': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]}, {'arm_type': <class 'Arms.Bernoulli.Bernoulli'>, 'params': [0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7000000000000001, 0.8, 0.9]}, {'arm_type': <class 'Arms.Bernoulli.Bernoulli'>, 'params': {'newMeans': <function randomMeans>, 'args': {'nbArms': 9, 'mingap': None, 'lower': 0.0, 'amplitude': 1.0, 'isSorted': True}}}], 'horizon': 45678, 'n_jobs': -1, 'policies': [{'archtype': <class 'Policies.UCB.UCB'>, 'params': {}}, {'archtype': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>, 'params': {'horizon': 45678}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__arithmetic>), 'full_restart': True, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__geometric>), 'full_restart': True, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__exponential_fast>), 'full_restart': True, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__exponential_slow>), 'full_restart': True, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': <function next_horizon__exponential_generic>, 'full_restart': True, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__arithmetic>), 'full_restart': False, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__geometric>), 'full_restart': False, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__exponential_fast>), 'full_restart': False, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': CPUDispatcher(<function next_horizon__exponential_slow>), 'full_restart': False, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}, {'archtype': <class 'Policies.DoublingTrickWrapper.DoublingTrickWrapper'>, 'params': {'next_horizon': <function next_horizon__exponential_generic>, 'full_restart': False, 'policy': <class 'Policies.klUCBPlusPlus.klUCBPlusPlus'>}}], 'repetitions': 1000, 'verbosity': 6}

This dictionary configures the experiments

configuration_comparing_doubling_algorithms.klucb

Warning: if using Exponential or Gaussian arms, gives klExp or klGauss to KL-UCB-like policies!