def _get_goals_(self) -> D.T_agent[Space[D.T_observation]]: # return ImplicitSpace(lambda s: s.x == self.num_cols - 1 and s.y == self.num_rows - 1) return ImplicitSpace( lambda s: True if (s.x == self.num_cols - 1 and s.y == self.num_rows - 1) or (s.x == -1 and s.y == -1) else False ) # trick to consider dead-end state as a goal to avoid modeling cycles
def _get_goals_(self) -> D.T_agent[Space[D.T_observation]]: return ImplicitSpace( lambda state: state.x == (self.num_cols - 1) and state.y == (self.num_rows - 1) )
def _get_goals_(self): return ImplicitSpace(lambda observation: ((observation._context[ 5] >= self._max_depth) or (self._termination_is_goal and ( observation._context[3].termination if observation._context[3] is not None else False))))
def _get_goals_(self) -> Space[D.T_observation]: return ImplicitSpace(lambda x: (x in self.targets))
def _get_action_space_(self) -> Space[D.T_event]: return ImplicitSpace(lambda x: True)
def _get_goals_(self) -> Space[D.T_observation]: return ImplicitSpace(lambda x: self.state_goal[x])