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]