コード例 #1
0
ファイル: code_builder.py プロジェクト: vinevg1996/code_task4
 def write_dict_for_decode(self):
     helper = Help()
     print("dictionary_for_decoder:")
     for i in range(0, len(self.standart_placement)):
         syndrom_leader = self.syndrom_table[i]
         print("{", syndrom_leader, ": " , end = '')
         weight_list = list()
         for coset in self.standart_placement[i]:
             weight = helper.calculate_weight_for_vector(coset)
             if (weight <= self.t):
                 weight_list.append(list(coset))
         print(weight_list, "} ")
コード例 #2
0
ファイル: code_builder.py プロジェクト: vinevg1996/code_task4
 def calculate_probability(self):
     helper = Help()
     syn_leader_list = list()
     weight_and_count = dict()
     for i in range(0, self.t + 1):
         weight_and_count[i] = 0
     i = 0
     while i < len(self.standart_placement):
         leader = self.standart_placement[i][0]
         weight = helper.calculate_weight_for_vector(leader)
         if (weight <= self.t):
             weight_and_count[weight] = weight_and_count[weight] + 1
         i = i + 1
     prob_e_leader = 0
     for weight in weight_and_count.keys():
         prob = (self.p ** weight) * ((1 - self.p) ** (self.n - weight))
         prob_e_leader = prob_e_leader + (weight_and_count[weight] * prob)
     prob_e_not_leader = 1 - prob_e_leader
     return prob_e_not_leader