class_docstr: A BH class, inherited from Optimizer.
  
  This is the designed class to define BH-related
  variables and methods.
  
  References:
      A. Hatamlou. Black hole: A new heuristic optimization approach for data clustering.
      Information Sciences (2013).
docstr: It calculates the stars' crossing an event horizon (eq. 4).
  
  Args:
      agents: List of agents.
      best_agent: Global best agent.
      cost: The event's horizon cost.
docstr_tok: ["It","calculates","the","stars","'","crossing","an","event","horizon","(","eq",".","4",")",".","Args",":","agents",":","List","of","agents",".","best_agent",":","Global","best","agent",".","cost",":","The","event","'s","horizon","cost","."]
code: def _event_horizon(
      self, agents: List[Agent], best_agent: Agent, cost: float
  ) -> None:
      """It calculates the stars' crossing an event horizon (eq. 4).
  
      Args:
          agents: List of agents.
          best_agent: Global best agent.
          cost: The event's horizon cost.
  
      """
  
      radius = best_agent.fit / max(cost, constant.EPSILON)
  
      for agent in agents:
          distance = np.linalg.norm(
              best_agent.position - agent.position
          )
          if distance < radius:
              agent.fill_with_uniform()
  
file_path: opytimizer/opytimizer/optimizers/science/bh.py
imports: from typing import Any, Dict, List, Optional
  import numpy
  import opytimizer.math.random
  from opytimizer.core import Optimizer
  from opytimizer.core.agent import Agent
  from opytimizer.core.function import Function
  from opytimizer.core.space import Space
  from opytimizer.utils import constant, logging
label_desc: Use image node_id 3 for calling the BH obj's underlying member method code with example usage: obj._event_horizon(agents, best_agent, cost) without return types