class_docstr: Epsilon-greedy with exponentially decayed epsilon
  
  Args:
    start_epsilon: max value of epsilon
    end_epsilon: min value of epsilon
    decay: epsilon decay factor
    random_action_func: function with no argument that returns action
    logger: logger used
class_docstr_tok: ["Epsilon-greedy","with","exponentially","decayed","epsilon","Args",":","start_epsilon",":","max","value","of","epsilon","end_epsilon",":","min","value","of","epsilon","decay",":","epsilon","decay","factor","random_action_func",":","function","with","no","argument","that","returns","action","logger",":","logger","used"]
code: def compute_epsilon(self, t):
      epsilon = self.start_epsilon * (self.decay**t)
      return max(epsilon, self.end_epsilon)
  
imports: from logging import getLogger
  import numpy
  from pfrl import explorer
label_desc: Use image node_id 2 for calling the ExponentialDecayEpsilonGreedy obj's underlying member method code with example usage: obj.compute_epsilon(t) and returns: max