class_docstr: Toy problem only for testing RL agents.
  
  # State space
  
  The state space consists of N discrete states plus the terminal state.
  
  # Observation space
  
  Observations are one-hot vectors that represents which state it is now.
  
      state 0 -> observation [1, 0, ..., 0]
      state 1 -> observation [0, 1, ..., 0]
      ...
  
  The size of an observation vector is N+2: N non-terminal states, the
  single terminal state and an additional dimension which is used in
  partially observable settings.
  
  # Action space
  
  In discrete-action settings, the action space consists of N discrete
  actions.
  
  In continuous-action settings, the action space is represented by N real
  numbers in [-1, 1]. Each action vector is interpreted as logits that
  defines probabilities of N discrete inner actions via the softmax function.
  
  # Dynamics
  
  Each episode starts from state 0.
  
  On state n, only the correct action (action n) will make a transition to
  state n+1.
  
  When the full set of correct actions are taken,
      - it moves to the terminal state with reward +1 (episodic), or
      - it moves back to the initial state with reward +1 (non-episodic).
  
  When it receives a wrong action,
      - it moves to the terminal state (episodic), or
      - it stays at the last state (non-episodic).
  
  The optimal policy is:
  
      state 0 -> action 0
      state 1 -> action 1
      ...
  
  Args:
      size (int): Size of the problem. It is equal to how many correct
          actions is required to get reward +1.
      discrete (bool): If set to True, use the discrete action space.
          If set to False, use the continuous action space that represents
          logits of probabilities of discrete actions.
      partially_observable (bool): If set to True, for some random episodes
          observation vectors are shifted so that state 0 is observed as
          [0, 1, ..., 0], which requires the agent to learn to see if
          observations from the current episode is shifted or not by
          remembering the initial observation.
      episodic (bool): If set to True, use episodic settings. If set to
          False, use non-episodic settings. See the explanation above.
      deterministic (bool): If set to True, everything will be deterministic.
          In continuous-action settings, most probable actions are taken
          instead of random samples for continuous-action. In partially
          observable settings, the n-th episode uses non-shifted obsevations
          if n is odd, otherwise uses shifted observations.
code: def close(self):
      pass
  
file_path: chainerrl/chainerrl/envs/abc.py
imports: from gym import spaces
  import numpy
  from chainerrl import env
label_desc: Use image node_id 5 for calling the ABC obj's underlying member method code with example usage: obj.close() without return types