pg.hyper.Evolvable

Accessible via pg.hyper.Evolvable.

class Evolvable(name=None, hints=None, initial_value=MISSING_VALUE, node_transform=MISSING_VALUE, weights=None)[source]

Bases: pg.hyper.CustomHyper

Hyper primitive for evolving an arbitrary symbolic object.

Methods:

custom_decode(dna)

Decode a DNA whose value is a string of user-defined genome.

custom_encode(value)

Encode value to user defined genome.

first_dna()

Returns the first DNA of current sub-space.

mutate(value[, random_generator])

Returns the next value for a symbolic value.

mutation_points_and_weights(value)

Returns mutation points with weights for a symbolic tree.

random_dna([random_generator, previous_dna])

Generates a random DNA.

custom_decode(dna)[source]

Decode a DNA whose value is a string of user-defined genome.

Return type:

Any

custom_encode(value)[source]

Encode value to user defined genome.

Return type:

pg.DNA

first_dna()[source]

Returns the first DNA of current sub-space.

Return type:

pg.DNA

mutate(value, random_generator=None)[source]

Returns the next value for a symbolic value.

Return type:

pg.Symbolic

mutation_points_and_weights(value)[source]

Returns mutation points with weights for a symbolic tree.

Return type:

Tuple[List[pg.hyper.MutationPoint], List[float]]

random_dna(random_generator=None, previous_dna=None)[source]

Generates a random DNA.

Return type:

pg.DNA