class_docstr: Uniform Crossover operation used by :class:`~optuna.samplers.NSGAIISampler`.
  
  Select each parameter with equal probability from the two parent individuals.
  For further information about uniform crossover, please refer to the following paper:
  
  - `Gilbert Syswerda. 1989. Uniform Crossover in Genetic Algorithms.
    In Proceedings of the 3rd International Conference on Genetic Algorithms.
    Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2-9.
    <https://www.researchgate.net/publication/201976488_Uniform_Crossover_in_Genetic_Algorithms>`_
  
  Args:
      swapping_prob:
          Probability of swapping each parameter of the parents during crossover.
code: def __init__(self, swapping_prob: float = 0.5) -> None:
      if not (0.0 <= swapping_prob <= 1.0):
          raise ValueError(
              "`swapping_prob` must be a float value within the range [0.0, 1.0]."
          )
      self._swapping_prob = swapping_prob
  
imports: import numpy
  from optuna.samplers.nsgaii._crossovers._base import BaseCrossover
  from optuna.study import Study
label_desc: Use image node_id 1 to create a new UniformCrossover object from inherited base classes: BaseCrossover with example: obj = UniformCrossover(swapping_prob)