class_docstr: Heuristic agent. Always picks the smallest piece possible for cutting (by area).
  
  :param action_conversion: ActionConversionInterface.
class_docstr_tok: ["Heuristic","agent",".","Always","picks","the","smallest","piece","possible","for","cutting","(","by","area",")",".",":","param","action_conversion",":","ActionConversionInterface","."]
docstr: This policy does not require the state() object to compute the action.
docstr_tok: ["This","policy","does","not","require","the","state","(",")","object","to","compute","the","action","."]
code: def needs_state(self) -> bool:
      """This policy does not require the state() object to compute the action."""
      return False
  
imports: from typing import Dict, Sequence, Tuple, Union, Optional
  import numpy
  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, ConfigType
  from maze_envs.logistics.cutting_2d.env.maze_action import Cutting2DMazeAction
  from maze_envs.logistics.cutting_2d.space_interfaces.action_conversion.base import BaseActionConversion
label_desc: Use image node_id 4 for calling the GreedyPolicy obj's underlying member method code with example usage: obj.needs_state() and returns: False