コード例 #1
0
    def calculate_roulette(self):
        evaluator = Evaluator()
        for player_hand in self.population:
            fitness = evaluator._five(player_hand.hand)
            self.sum_of_fitness += fitness

        #Calculate roulette values
        for player_hand in self.population:
            fitness = float(evaluator._five(player_hand.hand))
            self.roulette.append(fitness/self.sum_of_fitness*100)

        return self.roulette
コード例 #2
0
 def __str__(self):
     result = "\n\n        ############## Population %d ##############\n" %(self.number)
     bestResult = 0
     evaluator = Evaluator()
     for player_hand in self.population:
         result += str(player_hand) + "\n"
         currentResult = evaluator._five(player_hand.hand)
         if (currentResult > bestResult):
             bestResult = currentResult
     p_class = evaluator.get_rank_class(bestResult)
     result += "\n Best solution:  %s " %(evaluator.class_to_string(p_class))
     return result