class_docstr: Encapsulates one or more policies identified by policy IDs.
  
  :param policies: Dict of policy IDs and corresponding policies.
class_docstr_tok: ["Encapsulates","one","or","more","policies","identified","by","policy","IDs",".",":","param","policies",":","Dict","of","policy","IDs","and","corresponding","policies","."]
docstr: implementation of :class:`~maze.core.agent.policy.Policy` interface
docstr_tok: ["implementation","of",":","class",":","`","~maze.core.agent.policy.Policy","`","interface"]
code: def compute_action(
      self,
      observation: ObservationType,
      maze_state: Optional[MazeStateType] = None,
      env: Optional[BaseEnv] = None,
      actor_id: Optional[ActorID] = None,
      deterministic: bool = False,
  ) -> ActionType:
      """implementation of :class:`~maze.core.agent.policy.Policy` interface"""
      return self.policy_for(actor_id).compute_action(
          observation, deterministic=deterministic
      )
  
file_path: maze/maze/core/agent/default_policy.py
imports: from typing import Tuple, Sequence, Optional
  from maze.core.agent.flat_policy import FlatPolicy
  from maze.core.agent.policy import Policy
  from maze.core.annotations import override
  from maze.core.env.action_conversion import ActionType
  from maze.core.env.base_env import BaseEnv
  from maze.core.env.maze_state import MazeStateType
  from maze.core.env.observation_conversion import ObservationType
  from maze.core.env.structured_env import ActorID
  from maze.core.utils.factory import Factory, CollectionOfConfigType
label_desc: Use image node_id 4 for calling the DefaultPolicy obj's underlying member method code with example usage: obj.compute_action(observation, maze_state, env, actor_id, deterministic) and returns: self