From 50e7166ea5b4aa803851b468358bc4137ba211f6 Mon Sep 17 00:00:00 2001 From: danielwilczak101 <44122838+danielwilczak101@users.noreply.github.com> Date: Mon, 12 Oct 2020 23:13:02 -0400 Subject: [PATCH] Removed useless import statements --- .../parent_selection_methods.py | 20 ++++++++----------- .../survivor_selection_methods.py | 4 ---- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/parent_selection/parent_selection_methods.py b/src/parent_selection/parent_selection_methods.py index 5288c72..eeb7350 100644 --- a/src/parent_selection/parent_selection_methods.py +++ b/src/parent_selection/parent_selection_methods.py @@ -1,8 +1,4 @@ import random -from initialization.chromosome_structure.chromosome import Chromosome as create_chromosome -from initialization.gene_structure.gene import Gene as create_gene -from initialization.population_structure.population import Population -from initialization.chromosome_structure.chromosome import Chromosome class Parent_Selection: @@ -13,18 +9,18 @@ class Parent_Selection: Will make tournaments of size tournament_size and choose the winner (best fitness) from the tournament and use it as a parent for the next generation The total number of parents selected is determined by parent_ratio, an attribute to the GA object. """ - + 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) < 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)]) - + # For each chromosome, add it to the mating pool based on its rank in the tournament. for index in range(tournament_size): # Probability required is selection_probability * (1-selection_probability) ^ (tournament_size-index+1) @@ -45,19 +41,19 @@ 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(ga.population.size())) rel_fitnesses = [] - + for chromosome in ga.population.chromosome_list: if (total_fitness != 0): rel_fitnesses.append(float(chromosome.fitness)/total_fitness) - + probability = [sum(rel_fitnesses[:i+1]) for i in range(len(rel_fitnesses))] - + while (len(ga.population.mating_pool) < ga.population.size()*ga.parent_ratio): rand_number = random.random() - + # Loop through the list of probabilities for i in range(len(probability)): # If the probability is greater than the random_number, then select that chromosome diff --git a/src/survivor_selection/survivor_selection_methods.py b/src/survivor_selection/survivor_selection_methods.py index dd22e55..c6c66ac 100644 --- a/src/survivor_selection/survivor_selection_methods.py +++ b/src/survivor_selection/survivor_selection_methods.py @@ -1,8 +1,4 @@ import random -from initialization.chromosome_structure.chromosome import Chromosome as create_chromosome -from initialization.gene_structure.gene import Gene as create_gene -from initialization.population_structure.population import Population -from initialization.chromosome_structure.chromosome import Chromosome class Survivor_Selection: """Survivor selection determines which individuals should be brought to the next generation"""