diff --git a/src/initialization/focused_initialization.py b/src/initialization/focused_initialization.py new file mode 100644 index 0000000..34a5e6f --- /dev/null +++ b/src/initialization/focused_initialization.py @@ -0,0 +1,16 @@ +# Import the data structure +from .population_structure.population import population as create_population +from .chromosome_structure.chromosome import chromosome as create_chromosome +from .gene_structure.gene import gene as create_gene + +def focused_initialization(chromosome_length,population_size,gene_function): + # Create the population object + population = create_population() + # Fill the population with chromosomes + for i in range(population_size): + chromosome = create_chromosome() + #Fill the Chromosome with genes + for j in range(chromosome_length): + chromosome.add_gene(create_gene(gene_function())) + population.add_chromosome(chromosome) + return population diff --git a/src/run_testing.py b/src/run_testing.py index 7259af4..4dd14cf 100644 --- a/src/run_testing.py +++ b/src/run_testing.py @@ -1,20 +1,16 @@ import EasyGA +import random # Create the Genetic algorithm ga = EasyGA.GA() -#Creating a gene with no fitness -gene1 = ga.make_gene("Im a gene") -gene2 = ga.make_gene("Im also a gene") -#Creating a Chromosome with no genes -chromosome = ga.make_chromosome() -chromosome.add_gene(gene1) -chromosome.add_gene(gene2) -# Creating a populaiton -populaiton = ga.make_population() -populaiton.add_chromosome(chromosome) +def user_defined_gene(): + return random.choice(["left","right","up","down"]) -print(gene1) -print(chromosome) -print(populaiton) -populaiton.print_all() +ga.gene_function_impl = user_defined_gene + +# Creating population +ga.initialize() + +# Print the current population +ga.population.print_all()