class_docstr: Thompson Sampling
  
  Warning
  -------
  Thompson Sampling can only be used together with `RandomSearch`. Please do not use `LocalAndSortedRandomSearch` to
  optimize the TS acquisition function!
  
  :math:`TS(X) ~ \mathcal{N}(\mu(\mathbf{X}),\sigma(\mathbf{X}))'
  Returns -TS(X) as the acquisition_function optimizer maximizes the acquisition value.
  
  Parameters
  ----------
  xi : float, defaults to 0.0
      TS does not require xi here, we only wants to make it consistent with other acquisition functions.
code: def name(self) -> str:  # noqa: D102
      return "Thompson Sampling"
  
imports: from __future__ import annotations
  import numpy
  from smac.acquisition.function.abstract_acquisition_function import AbstractAcquisitionFunction
  from smac.utils.logging import get_logger
label_desc: Use image node_id 1 for calling the TS obj's underlying member method code with example usage: obj.name() and returns: str