code: def _validate_space_exhaustive_search(space):
      from hyperopt.pyll.base import dfs, as_apply
      from hyperopt.pyll.stochastic import implicit_stochastic_symbols
  
      supported_stochastic_symbols = [
          "randint",
          "quniform",
          "qloguniform",
          "qnormal",
          "qlognormal",
          "categorical",
      ]
      for node in dfs(as_apply(space)):
          if node.name in implicit_stochastic_symbols:
              if node.name not in supported_stochastic_symbols:
                  raise ExhaustiveSearchError(
                      "Exhaustive search is only possible with the following stochastic symbols: "
                      "" + ", ".join(supported_stochastic_symbols)
                  )
  
imports: from functools import partial
  import numpy
  from recbole.utils.utils import dict2str
label_desc: Use image node_id 4 for calling a global function with example usage: _validate_space_exhaustive_search(space) without return types