from __future__ import annotations
from ConfigSpace import Configuration
from smac.initial_design.abstract_initial_design import AbstractInitialDesign
__copyright__ = "Copyright 2022, automl.org"
__license__ = "3-clause BSD"
[docs]class RandomInitialDesign(AbstractInitialDesign):
    """Initial design that evaluates random configurations."""
    def _select_configurations(self) -> list[Configuration]:
        configs = self._configspace.sample_configuration(size=self._n_configs)
        if self._n_configs == 1:
            configs = [configs]
        for config in configs:
            config.origin = "Initial Design: Random"
        return configs