code: def probe(self, params):
          
          x = self._as_array(params)
  
          try:
              target = self._cache[_hashable(x)]
          except KeyError:
              params = dict(zip(self._keys, x))
              target = self.target_func(**params)
              self.register(x, target)
          return target
docs: Evaulates a single point x, to obtain the value y and then records them
          as observations.
  
          Notes
          -----
          If x has been previously seen returns a cached value of y.
  
          Parameters
          ----------
          x : ndarray
              a single point, with len(x) == self.dim
  
          Returns
          -------
          y : float
              target function value.