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
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