class_docstr: Wheel bandit environment for 2D contexts
  (see https://arxiv.org/abs/1802.09127).
class_docstr_tok: ["Wheel","bandit","environment","for","2D","contexts","(","see","https",":","\/\/arxiv.org\/abs\/1802.09127",")","."]
code: def __init__(self, config=None):
      self.config = copy.copy(self.DEFAULT_CONFIG_WHEEL)
      if config is not None and type(config) == dict:
          self.config.update(config)
  
      self.delta = self.config["delta"]
      self.mu_1 = self.config["mu_1"]
      self.mu_2 = self.config["mu_2"]
      self.mu_3 = self.config["mu_3"]
      self.std = self.config["std"]
  
      self.action_space = Discrete(self.num_actions)
      self.observation_space = Box(
          low=-1, high=1, shape=(self.feature_dim,)
      )
  
      self.means = [self.mu_1] + 4 * [self.mu_2]
      self._elapsed_steps = 0
      self._current_context = None
  
imports: import copy
  import gymnasium
  from gymnasium.spaces import Box, Discrete
  import numpy
  import random
label_desc: Use image node_id 1 to create a new WheelBanditEnv object from inherited base classes: gym with example: obj = WheelBanditEnv(config)