(
        self,
        study: Study,
        trial: FrozenTrial,
        param_name: str,
        param_distribution: BaseDistribution,
    )
Sample a parameter for a given distribution.

        This method is called only for the parameters not contained in the search space returned
        by :func:`~optuna.samplers.BaseSampler.sample_relative` method. This method is suitable
        for sampling algorithms that do not use relationship between parameters such as random
        sampling and TPE.

        .. note::
                The failed trials are ignored by any build-in samplers when they sample new
                parameters. Thus, failed trials are regarded as deleted in the samplers'
                perspective.

        Args:
            study:
                Target study object.
            trial:
                Target trial object.
                Take a copy before modifying this object.
            param_name:
                Name of the sampled parameter.
            param_distribution:
                Distribution object that specifies a prior and/or scale of the sampling algorithm.

        Returns:
            A parameter value.
Sample a parameter for a given distribution.
Sample a parameter for a given distribution .
def sample_independent(
        self,
        study: Study,
        trial: FrozenTrial,
        param_name: str,
        param_distribution: BaseDistribution,
    ) -> Any:
        """Sample a parameter for a given distribution.

        This method is called only for the parameters not contained in the search space returned
        by :func:`~optuna.samplers.BaseSampler.sample_relative` method. This method is suitable
        for sampling algorithms that do not use relationship between parameters such as random
        sampling and TPE.

        .. note::
                The failed trials are ignored by any build-in samplers when they sample new
                parameters. Thus, failed trials are regarded as deleted in the samplers'
                perspective.

        Args:
            study:
                Target study object.
            trial:
                Target trial object.
                Take a copy before modifying this object.
            param_name:
                Name of the sampled parameter.
            param_distribution:
                Distribution object that specifies a prior and/or scale of the sampling algorithm.

        Returns:
            A parameter value.

        """

        raise NotImplementedError
def sample_independent ( self , study : Study , trial : FrozenTrial , param_name : str , param_distribution : BaseDistribution , ) -> Any : raise NotImplementedError