Spaces:
Sleeping
Sleeping
| from typing import Dict, List, Optional | |
| from ...parameter_controller import ParameterController | |
| class Bridge_ParameterController(ParameterController) : | |
| def __init__(self, edge_density_list : Optional[List] = None, component_num_density_list : Optional[List] = None, **kwargs) : | |
| super().__init__(**kwargs) | |
| self.N = 4 | |
| if edge_density_list is None : | |
| edge_density_list = [0.02, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.6, 0.7, 0.8, 0.9] | |
| self.edge_density_list = edge_density_list | |
| if component_num_density_list is None : | |
| component_num_density_list = [0.05, 0.1, 0.2, 0.3, 0.5, 0.7, 0.8] | |
| self.component_num_density_list = component_num_density_list | |
| def update(self) -> None : | |
| self.N = int(self.N * 1.1 + 1) | |
| def get_parameter_list(self) -> List[Dict] : | |
| component_nums = set() | |
| for component_num_density in self.component_num_density_list : | |
| component_num = int(component_num_density * self.N) | |
| if component_num >= 2 : | |
| component_nums.add(component_num) | |
| return [dict(N = self.N, edge_density = edge_density, component_num = component_num) for edge_density in self.edge_density_list for component_num in component_nums] |