code: def __init__(
      self,
      agent_parameters,
      parent: Union["LevelManager", "CompositeAgent"] = None,
  ):
      super().__init__(agent_parameters, parent)
      self.q_values = self.register_signal("Q")
      self.q_value_for_action = {}
  
      # currently we use softmax action probabilities only in batch-rl,
      # but we might want to extend this later at some point.
      self.should_get_softmax_probabilities = (
          hasattr(
              self.ap.network_wrappers["main"],
              "should_get_softmax_probabilities",
          )
          and self.ap.network_wrappers[
              "main"
          ].should_get_softmax_probabilities
      )
  
imports: from collections import OrderedDict
  from typing import Union, List
  import numpy
  from rl_coach.agents.agent import Agent
  from rl_coach.core_types import ActionInfo, StateType, Batch
  from rl_coach.filters.filter import NoInputFilter
  from rl_coach.logger import screen
  from rl_coach.memories.non_episodic.prioritized_experience_replay import PrioritizedExperienceReplay
  from rl_coach.spaces import DiscreteActionSpace
  from copy import deepcopy, copy
label_desc: Use image node_id 1 to create a new ValueOptimizationAgent object from inherited base classes: Agent with example: obj = ValueOptimizationAgent(agent_parameters, parent)