class_docstr: A PPA class, inherited from Optimizer.
  
  This is the designed class to define PPA-related
  variables and methods.
  
  References:
      A. Mohamed et al. Parasitism – Predation algorithm (PPA): A novel approach for feature selection.
      Ain Shams Engineering Journal (2020).
class_docstr_tok: ["A","PPA","class",",","inherited","from","Optimizer",".","This","is","the","designed","class","to","define","PPA-related","variables","and","methods",".","References",":","A.","Mohamed","et","al",".","Parasitism","\u2013","Predation","algorithm","(","PPA",")",":","A","novel","approach","for","feature","selection",".","Ain","Shams","Engineering","Journal","(","2020",")","."]
docstr: Calculates the number of crows, cats and cuckoos.
  
  Args:
      n_agents: Number of agents.
      iteration: Current iteration.
      n_iterations: Maximum number of iterations.
  
  Returns:
      (Tuple[int, int, int]): The number of crows, cats and cuckoos.
docstr_tok: ["Calculates","the","number","of","crows",",","cats","and","cuckoos",".","Args",":","n_agents",":","Number","of","agents",".","iteration",":","Current","iteration",".","n_iterations",":","Maximum","number","of","iterations",".","Returns",":","(","Tuple","[","int",",","int",",","int","]",")",":","The","number","of","crows",",","cats","and","cuckoos","."]
code: def _calculate_population(
      self, n_agents: int, iteration: int, n_iterations: int
  ) -> Tuple[int, int, int]:
      """Calculates the number of crows, cats and cuckoos.
  
      Args:
          n_agents: Number of agents.
          iteration: Current iteration.
          n_iterations: Maximum number of iterations.
  
      Returns:
          (Tuple[int, int, int]): The number of crows, cats and cuckoos.
  
      """
  
      n_crows = np.round(
          n_agents
          * (2 / 3 - iteration * ((2 / 3 - 1 / 2) / n_iterations))
      )
  
      n_cats = np.round(
          n_agents
          * (0.01 + iteration * ((1 / 3 - 0.01) / n_iterations))
      )
  
      n_cuckoos = n_agents - n_crows - n_cats
  
      return int(n_crows), int(n_cats), int(n_cuckoos)
  
imports: from typing import Any, Dict, Optional, Tuple
  import numpy
  import opytimizer.math.distribution
  import opytimizer.math.general
  import opytimizer.math.random
  import opytimizer.utils.exception
  from opytimizer.core import Optimizer
  from opytimizer.core.space import Space
  from opytimizer.utils import logging
label_desc: Use image node_id 5 for calling the PPA obj's underlying member method code with example usage: obj._calculate_population(n_agents, iteration, n_iterations) and returns: int,  int,  int