Clearified some code and how to use i.

This commit is contained in:
Daniel Wilczak
2020-09-21 14:21:32 -04:00
parent 4f3857ca06
commit 170e1e36e4
3 changed files with 70 additions and 12 deletions

View File

@ -24,7 +24,11 @@ import EasyGA
def user_gene_function():
return random.randint(1, 100)
# Standard user size requirements:
# The user defined Fitness Function
def user_fitness_function():
pass
# Standard user size requirements
Population_size = 10
Chromosome_length = 10
@ -32,10 +36,41 @@ Chromosome_length = 10
ga = EasyGA.GA(Population_size, Chromosome_length,user_gene_function)
ga.initialize()
# Looking at the first chromosome in the population:
# Looking to print the first Chromosome
ga.population.chromosomes[0].print_chromosome()
# Looking to print one gene in chromosome 0
ga.population.chromosomes[0].genes[0].print_value()
# Looking to get the data of a chromosome
my_chromosome = ga.population.chromosomes[0].get_chromosome()
print(f"my_chromosome: {my_chromosome}")
# Looking to get the data of one gene in the chromosome
my_gene = ga.population.chromosomes[0].genes[0].get_value()
print(f"my_gene: {my_gene}")
```
## Ouput
```Python
[99],[30],[59],[77],[68],[57],[14],[92],[85],[27]
99
my_chromosome: [<EasyGA.gene object at 0x7fb5642d4860>,
<EasyGA.gene object at 0x7fb5642d4898>,
<EasyGA.gene object at 0x7fb5642d4908>,
<EasyGA.gene object at 0x7fb5642d49e8>,
<EasyGA.gene object at 0x7fb5642d4b00>,
<EasyGA.gene object at 0x7fb5642d4ba8>,
<EasyGA.gene object at 0x7fb5642d4b70>,
<EasyGA.gene object at 0x7fb5642d4c88>,
<EasyGA.gene object at 0x7fb5642d4cc0>,
<EasyGA.gene object at 0x7fb5642d4cf8>]
my_gene: 99
```
# Developing EasyGA:
Download the repository to some folder - If you never used git. Look up a youtube tutorial. It will all make sense.

View File

@ -1,3 +1,4 @@
# Defult packages for GA functionality
from initialization.random_initialization import random_initialization
def check_gene(value):
@ -8,42 +9,50 @@ def check_gene(value):
## Your main structure
class gene:
# Defults
# fitness = double , value = Anything
# fitness = Anything, value = Anything
def __init__(self, value):
self.fitness = None
self.value = check_gene(value)
def get_fitness(self):
return self.fitness
def set_fitness(self,fitness):
self.fitness = fitness
def get_fitness(self):
return self.fitness
def get_value(self):
return self.value
def print_value(self):
print(self.value)
def print_fitness(self):
print(self.fitness)
class chromosome:
# Defults
# fitness = double, genes = [gene,gene,gene,etc]
# fitness = Anything, genes = [gene,gene,gene,etc]
def __init__(self):
self.fitness = None
self.genes = []
def add_gene(self,gene):
self.genes.append(gene)
def get_fitness(self):
return self.score
def add_gene(self,gene):
self.genes.append(gene)
def get_chromosome(self):
return self.genes
def print_chromosome(self):
for i in range(len(self.genes)):
# Print the gene one by one.
if(i == len(self.genes) - 1):
print(f"[{self.genes[i].get_value()}]", end = '')
print(f"[{self.genes[i].get_value()}]")
else:
print(f"[{self.genes[i].get_value()}],", end = '')
class population:
# population = [chromosome,chromosome,etc]
def __init__(self):

View File

@ -5,6 +5,10 @@ import EasyGA
def user_gene_function():
return random.randint(1, 100)
# The user defined Fitness Function
def user_fitness_function():
pass
# Standard user size requirements
Population_size = 10
Chromosome_length = 10
@ -13,5 +17,15 @@ Chromosome_length = 10
ga = EasyGA.GA(Population_size, Chromosome_length,user_gene_function)
ga.initialize()
# Looking at the first chromosome in the population
# Looking to print the first Chromosome
ga.population.chromosomes[0].print_chromosome()
# Looking to print one gene in chromosome 0
ga.population.chromosomes[0].genes[0].print_value()
# Looking to get the data of a chromosome
my_chromosome = ga.population.chromosomes[0].get_chromosome()
print(f"my_chromosome: {my_chromosome}")
# Looking to get the data of one gene in the chromosome
my_gene = ga.population.chromosomes[0].genes[0].get_value()
print(f"my_gene: {my_gene}")