class_docstr: Asynchronous Successive Halving Algorithm
  
  `A simple and robust hyperparameter tuning algorithm with solid theoretical underpinnings
  that exploits parallelism and aggressive early-stopping.`
  
  For more information on the algorithm, see original paper at https://arxiv.org/abs/1810.05934.
  
  Li, Liam, et al. "Massively parallel hyperparameter tuning."
  arXiv preprint arXiv:1810.05934 (2018)
  
  Parameters
  ----------
  space: `orion.algo.space.Space`
      Optimisation space with priors for each dimension.
  seed: None, int or sequence of int
      Seed for the random number generator used to sample new trials.
      Default: ``None``
  num_rungs: int, optional
      Number of rungs for the largest bracket. If not defined, it will be equal to ``(base + 1)``
      of the fidelity dimension. In the original paper,
      ``num_rungs == log(fidelity.high/fidelity.low) / log(fidelity.base) + 1``.
      Default: ``log(fidelity.high/fidelity.low) / log(fidelity.base) + 1``
  num_brackets: int
      Using a grace period that is too small may bias ASHA too strongly towards
      fast converging trials that do not lead to best results at convergence (stagglers). To
      overcome this, you can increase the number of brackets, which increases the amount of
      resource required for optimisation but decreases the bias towards stragglers.
      Default: 1
  repetitions: int
      Number of execution of ASHA. Default is np.inf which means to
      run ASHA until no new trials can be suggested.
code: def create_bracket(
      self, budgets: list[BudgetTuple], iteration: int
  ) -> ASHABracket:
      return ASHABracket(self, budgets, iteration)
  
imports: from __future__ import annotations
  import copy
  import logging
  from collections import defaultdict
  from typing import Sequence
  import numpy
  from orion.algo.hyperband import BudgetTuple, Hyperband, HyperbandBracket, display_budgets
  from orion.algo.space import Space
  from orion.core.utils.flatten import flatten
  from orion.core.worker.trial import Trial
label_desc: Use image node_id 5 for calling the ASHA obj's underlying member method code with example usage: obj.create_bracket(budgets, iteration) and returns: ASHABracket