updated all code to use .size() methods
This commit is contained in:
@ -12,14 +12,14 @@ class Parent_Selection:
|
||||
The total number of parents selected is determined by parent_ratio, an attribute to the GA object.
|
||||
"""
|
||||
|
||||
tournament_size = int(len(ga.population.get_all_chromosomes())*ga.tournament_size_ratio)
|
||||
tournament_size = int(ga.population.size()*ga.tournament_size_ratio)
|
||||
if tournament_size < 5:
|
||||
tournament_size = 5
|
||||
# Probability used for determining if a chromosome should enter the mating pool.
|
||||
selection_probability = ga.selection_probability
|
||||
|
||||
# Repeat tournaments until the mating pool is large enough.
|
||||
while (len(ga.population.mating_pool) < len(ga.population.get_all_chromosomes())*ga.parent_ratio):
|
||||
while (len(ga.population.mating_pool) < ga.population.size()*ga.parent_ratio):
|
||||
# Generate a random tournament group and sort by fitness.
|
||||
tournament_group = ga.sort_by_best_fitness([random.choice(ga.population.get_all_chromosomes()) for n in range(tournament_size)])
|
||||
|
||||
@ -41,7 +41,7 @@ class Parent_Selection:
|
||||
Where the chromosomes are the numbers to be selected and the board size for
|
||||
those numbers are directly proportional to the chromosome's current fitness. Where
|
||||
the ball falls is a randomly generated number between 0 and 1"""
|
||||
total_fitness = sum(ga.population.chromosome_list[i].get_fitness() for i in range(len(ga.population.chromosome_list)))
|
||||
total_fitness = sum(ga.population.chromosome_list[i].get_fitness() for i in range(ga.population.size()))
|
||||
rel_fitnesses = []
|
||||
|
||||
for chromosome in ga.population.chromosome_list:
|
||||
@ -50,7 +50,7 @@ class Parent_Selection:
|
||||
|
||||
probability = [sum(rel_fitnesses[:i+1]) for i in range(len(rel_fitnesses))]
|
||||
|
||||
while (len(ga.population.mating_pool) < len(ga.population.get_all_chromosomes())*ga.parent_ratio):
|
||||
while (len(ga.population.mating_pool) < ga.population.size()*ga.parent_ratio):
|
||||
rand_number = random.random()
|
||||
|
||||
# Loop through the list of probabilities
|
||||
|
||||
Reference in New Issue
Block a user