docs: def evaluate(self, artifact):
          '''Evaluate the artifact with respect to the agents short term memory.
  
          Returns value in [0, 1].
          '''
          if self.desired_novelty > 0:
              return self.hedonic_value(self.novelty(artifact.obj))
          return self.novelty(artifact.obj) / self.img_size, None