class_docstr: Batching memory which always retrieves most recent experiences (specification key: `recent`).
  
  Args:
      capacity (int > 0): Memory capacity
          (<span style="color:#00C000"><b>default</b></span>: minimum capacity).
      device (string): Device name
          (<span style="color:#00C000"><b>default</b></span>: CPU:0).
      name (string): <span style="color:#0000C0"><b>internal use</b></span>.
      values_spec (specification): <span style="color:#0000C0"><b>internal use</b></span>.
      min_capacity (int >= 0): <span style="color:#0000C0"><b>internal use</b></span>.
code: def retrieve_timesteps(self, *, n, past_horizon, future_horizon):
      one = tf_util.constant(value=1, dtype="int")
      capacity = tf_util.constant(value=self.capacity, dtype="int")
  
      # Check whether memory contains at least one valid timestep
      num_timesteps = tf.math.minimum(x=self.buffer_index, y=capacity)
      num_timesteps -= past_horizon + future_horizon
      num_timesteps = tf.math.maximum(
          x=num_timesteps, y=self.episode_count
      )
  
      # Check whether memory contains at least one timestep
      assertions = list()
      if self.config.create_tf_assertions:
          assertions.append(
              tf.debugging.assert_greater_equal(x=num_timesteps, y=one)
          )
  
      # Most recent timestep indices range
      with tf.control_dependencies(control_inputs=assertions):
          n = tf.math.minimum(x=n, y=num_timesteps)
          indices = tf.range(
              start=(self.buffer_index - n), limit=self.buffer_index
          )
          indices = tf.math.mod(
              x=(indices - future_horizon), y=capacity
          )
  
      return indices
  
imports: import tensorflow
  from tensorforce.core import tf_function, tf_util
  from tensorforce.core.memories import Queue
label_desc: Use image node_id 1 for calling the Recent obj's underlying member method code with example usage: obj.retrieve_timesteps() and returns: indices