Making use of casting to list

This commit is contained in:
SimpleArt
2020-11-22 15:49:57 -05:00
parent 691642e19c
commit 7bb208b915

View File

@ -1,14 +1,21 @@
def chromosomes_to_population(initialize): def chromosomes_to_population(initialize):
"""Makes a population from chromosomes.""" """Makes a population from chromosomes."""
return lambda ga: ga.make_population([initialize(ga) for _ in range(ga.population_size)]) return lambda ga:\
ga.make_population(
[initialize(ga) for _ in range(ga.population_size)]
)
def genes_to_chromosome(initialize): def genes_to_chromosome(initialize):
"""Converts a collection of genes to a chromosome.""" """Converts a collection of genes to a chromosome."""
return lambda ga: ga.make_chromosome([genes for genes in initialize(ga)]) return lambda ga:\
ga.make_chromosome(
list(initialize(ga))
)
def value_to_gene(initialize): def values_to_genes(initialize):
"""Converts a collection of values to genes.""" """Converts a collection of values to genes."""
return lambda ga: (ga.make_gene(value) for value in initialize(ga)) return lambda ga:\
(ga.make_gene(value) for value in initialize(ga))
class Initialization_Methods: class Initialization_Methods:
@ -25,7 +32,7 @@ class Initialization_Methods:
@chromosomes_to_population @chromosomes_to_population
@genes_to_chromosome @genes_to_chromosome
@value_to_gene @values_to_genes
def random_initialization(ga): def random_initialization(ga):
"""Takes the initialization inputs and returns a collection of values. """Takes the initialization inputs and returns a collection of values.
Method decorators convert them to a GA population object. Method decorators convert them to a GA population object.