class_docstr: Q-learning agent.
  
  Including:
  - DQN https://storage.googleapis.com/deepmind-media/dqn/DQNNaturePaper.pdf
  - Prioritized Experience Replay https://arxiv.org/pdf/1511.05952.pdf
  - Dueling Network https://arxiv.org/pdf/1511.06581.pdf
  - Double Q Learning https://arxiv.org/pdf/1509.06461.pdf
class_docstr_tok: ["Q-learning","agent",".","Including",":","-","DQN","https",":","\/\/storage.googleapis.com\/deepmind-media\/dqn\/DQNNaturePaper.pdf","-","Prioritized","Experience","Replay","https",":","\/\/arxiv.org\/pdf\/1511.05952.pdf","-","Dueling","Network","https",":","\/\/arxiv.org\/pdf\/1511.06581.pdf","-","Double","Q","Learning","https",":","\/\/arxiv.org\/pdf\/1509.06461.pdf"]
docstr: Start a new episode.
  
  Args:
      state (object): observation provided by the environment.
  
  Returns:
      action (int): action choosen by agent.
      debug_info (dict): auxiliary diagnostic information.
docstr_tok: ["Start","a","new","episode",".","Args",":","state","(","object",")",":","observation","provided","by","the","environment",".","Returns",":","action","(","int",")",":","action","choosen","by","agent",".","debug_info","(","dict",")",":","auxiliary","diagnostic","information","."]
code: def start(self, state):
      """
      Start a new episode.
  
      Args:
          state (object): observation provided by the environment.
  
      Returns:
          action (int): action choosen by agent.
          debug_info (dict): auxiliary diagnostic information.
      """
      if self._preprocessor is not None:
          self._preprocessor.reset()
  
      self._adjust_exploration_rate()
      self._last_state = self._preprocess_state(state)
      self._last_action, action_behavior = self._choose_action(
          self._last_state
      )
      self.episode_count += 1
      return self._last_action, {
          "action_behavior": action_behavior,
          "epsilon": self._epsilon,
      }
  
imports: import math
  import cntk
  import numpy
  import ast
  from .agent import AgentBaseClass
  from .shared.cntk_utils import huber_loss
  from .shared.models import Models
  from .shared.qlearning_parameters import QLearningParameters
  from .shared.replay_memory import ReplayMemory
label_desc: Use image node_id 2 for calling the QLearning obj's underlying member method code with example usage: obj.start(state) and returns: self,  dict