Making use of casting to list
This commit is contained in:
@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user