25 lines
728 B
Python
25 lines
728 B
Python
from gp import Chromosome, Terminal, ops
|
|
from gp.chromosome import init_grow
|
|
from gp.population import ramped_initialization
|
|
|
|
operations = ops.ALL
|
|
|
|
terminals = [Terminal(f"x{i}") for i in range(1, 9)]
|
|
|
|
chrom = Chromosome(operations, terminals, init_func=lambda c: init_grow(c, 8))
|
|
print("Depth:", chrom.get_depth())
|
|
print("Formula:", chrom)
|
|
print("Tree:\n", chrom.str_tree())
|
|
|
|
values = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0]
|
|
print("Value for ", values, ":", chrom.eval(values))
|
|
|
|
population = ramped_initialization(
|
|
100,
|
|
[3, 4, 5, 6, 7, 8],
|
|
lambda init_func: Chromosome(operations, terminals, init_func),
|
|
)
|
|
print("Population size:", len(population))
|
|
print("Population:")
|
|
[print(str(chrom)) for chrom in population]
|