Making use of casting to list
This commit is contained in:
@ -1,14 +1,21 @@
|
||||
def chromosomes_to_population(initialize):
|
||||
"""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):
|
||||
"""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."""
|
||||
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:
|
||||
@ -25,7 +32,7 @@ class Initialization_Methods:
|
||||
|
||||
@chromosomes_to_population
|
||||
@genes_to_chromosome
|
||||
@value_to_gene
|
||||
@values_to_genes
|
||||
def random_initialization(ga):
|
||||
"""Takes the initialization inputs and returns a collection of values.
|
||||
Method decorators convert them to a GA population object.
|
||||
|
||||
Reference in New Issue
Block a user