class_docstr: A decision policy that chooses the action according to the agent that is currently in control.
class_docstr_tok: ["A","decision","policy","that","chooses","the","action","according","to","the","agent","that","is","currently","in","control","."]
docstr: Given a list of actions from multiple agents, take the action of the current decision maker
  :param actions_info: a list of ActionInfo instances containing the information for each agents action
  :return: a single action
docstr_tok: ["Given","a","list","of","actions","from","multiple","agents",",","take","the","action","of","the","current","decision","maker",":","param","actions_info",":","a","list","of","ActionInfo","instances","containing","the","information","for","each","agents","action",":","return",":","a","single","action"]
code: def choose_action(
      self, actions_info: Dict[str, ActionInfo]
  ) -> ActionInfo:
      """
      Given a list of actions from multiple agents, take the action of the current decision maker
      :param actions_info: a list of ActionInfo instances containing the information for each agents action
      :return: a single action
      """
      if self.decision_maker not in actions_info.keys():
          raise ValueError(
              "The current decision maker ({}) does not exist in the given actions ({})".format(
                  self.decision_maker, actions_info.keys()
              )
          )
      return actions_info[self.decision_maker]
  
imports: import copy
  import itertools
  from enum import Enum
  from typing import Union, List, Dict
  import numpy
  from rl_coach.agents.agent_interface import AgentInterface
  from rl_coach.base_parameters import AgentParameters, VisualizationParameters
  from rl_coach.core_types import ActionInfo, EnvResponse, ActionType, RunPhase
  from rl_coach.filters.observation.observation_crop_filter import ObservationCropFilter
  from rl_coach.saver import SaverCollection
  from rl_coach.spaces import ActionSpace
  from rl_coach.spaces import AgentSelection, AttentionActionSpace, SpacesDefinition
  from rl_coach.utils import short_dynamic_import
label_desc: Use image node_id 4 for calling the SingleDecider obj's underlying member method code with example usage: obj.choose_action(actions_info) and returns: actions_info