Пример #1
0
 def __init__(self,
              arrival_rates_time_window: timedelta,
              pattern: Pattern,
              predefined_statistics: List = None):
     primitive_events = pattern.get_primitive_events()
     self.__arrival_rates = [0.0] * len(
         primitive_events
     ) if not predefined_statistics else predefined_statistics
     self.__event_type_to_indices_map = {}
     for i, arg in enumerate(primitive_events):
         if arg.type in self.__event_type_to_indices_map:
             self.__event_type_to_indices_map[arg.type].append(i)
         else:
             self.__event_type_to_indices_map[arg.type] = [i]
     self.__events_arrival_time = []
     self.__arrival_rates_time_window = arrival_rates_time_window
     self.__last_timestamp = None
Пример #2
0
    def __init__(self,
                 pattern: Pattern,
                 predefined_statistics: List[List[float]] = None):
        self.__args = pattern.get_primitive_events()
        self.__args_len = len(self.__args)
        self.__atomic_condition_to_total_map = {}
        self.__atomic_condition_to_success_map = {}
        self.__indices_to_atomic_condition_map = {}
        self.__relevant_indices = set()

        if not predefined_statistics:
            self.__selectivity_matrix = [[1.0 for _ in range(self.__args_len)]
                                         for _ in range(self.__args_len)]
        else:
            self.__selectivity_matrix = predefined_statistics

        self.__init_maps(pattern)