This is the rooted tree representation, this chromosome representation can carry any data-type.
Initializator
Initializators.GTreeInitializatorInteger()
The Integer Initializator for GTree
Mutator
Mutators.GTreeMutatorIntegerRange()
The Integer Range mutator for GTree
Crossover
Crossovers.GTreeCrossoverSinglePointStrict()
The Strict Single Point crossover for GTree
New in version 0.6: The GTree module.
The GTree class - The tree chromosome representation
Inheritance diagram for GTree.GTree:
| Parameter: | root_node – the root node of the tree |
|---|
Return a new instance of the genome
| Return type: | new GTree instance |
|---|
Copy the contents to the destination g
| Parameter: | g – the GTree genome destination |
|---|
This is the reproduction function slot, the crossover. You can change the default crossover method using:
genome.crossover.set(Crossovers.G1DListCrossoverUniform)
Called to evaluate genome
| Parameter: | args – this parameters will be passes to the evaluator |
|---|
This is the evaluation function slot, you can add a function with the set method:
genome.evaluator.set(eval_func)
Return a new list with all nodes
| Return type: | the list with all nodes |
|---|
Get the Fitness Score of the genome
| Return type: | genome fitness score |
|---|
Return the tree height
| Return type: | the tree height |
|---|
Returns the depth of a node
| Return type: | the depth of the node, the depth of root node is 0 |
|---|
Returns the height of a node
Note
If the node has no childs, the height will be 0.
| Return type: | the height of the node |
|---|
Return the number of the nodes on the tree starting at the start_node, if start_node is None, then the method will count all the tree nodes.
| Return type: | the number of nodes |
|---|
Gets an internal parameter
>>> genome.getParam("rangemax")
100
Note
All the individuals of the population shares this parameters and uses the same instance of this dict.
| Parameters: |
|
|---|
Returns a random node from the Tree
| Parameter: | node_type – 0 = Any, 1 = Leaf, 2 = Branch |
|---|---|
| Return type: | random node |
Get the Raw Score of the genome
| Return type: | genome raw score |
|---|
Return the tree root node
| Return type: | the tree root node |
|---|
Returns a tree-formated string of the tree. This method is used by the __repr__ method of the tree
| Return type: | a string representing the tree |
|---|
This is the initialization function of the genome, you can change the default initializator using the function slot:
genome.initializator.set(Initializators.G1DListInitializatorAllele)
In this example, the initializator Initializators.G1DListInitializatorAllele() will be used to create the initial population.
Called to initialize genome
| Parameter: | args – this parameters will be passed to the initializator |
|---|
Called to mutate the genome
| Parameter: | args – this parameters will be passed to the mutator |
|---|---|
| Return type: | the number of mutations returned by mutation operator |
This is the mutator function slot, you can change the default mutator using the slot set function:
genome.mutator.set(Mutators.G1DListMutatorSwap)
Set the internal params
>>> genome.setParams(rangemin=0, rangemax=100, gauss_mu=0, gauss_sigma=1)
Note
All the individuals of the population shares this parameters and uses the same instance of this dict.
| Parameter: | args – this params will saved in every chromosome for genetic op. use |
|---|
Sets the root of the tree
| Parameter: | root – the tree root node |
|---|
Traversal the tree, this method will call the user-defined callback function for each node on the tree
| Parameters: |
|
|---|
The GTreeGP Class - The Genetic Programming Tree representation
Inheritance diagram for GTree.GTreeGP:
| Parameter: | root_node – the Root node of the GP Tree |
|---|
Return a new instance of the genome
| Return type: | the new GTreeGP instance |
|---|
This method will compare the currently tree with another one
| Parameter: | other – the other GTreeGP to compare |
|---|
Copy the contents to the destination g
| Parameter: | g – the GTreeGP genome destination |
|---|
Called to evaluate genome
| Parameter: | args – this parameters will be passes to the evaluator |
|---|
Return a new list with all nodes
| Return type: | the list with all nodes |
|---|
Get the compiled code for the Tree expression After getting the compiled code object, you just need to evaluate it using the eval() native Python method.
| Return type: | compiled python code |
|---|
Get the Fitness Score of the genome
| Return type: | genome fitness score |
|---|
Return the tree height
| Return type: | the tree height |
|---|
Returns the depth of a node
| Return type: | the depth of the node, the depth of root node is 0 |
|---|
Returns the height of a node
Note
If the node has no childs, the height will be 0.
| Return type: | the height of the node |
|---|
Return the number of the nodes on the tree starting at the start_node, if start_node is None, then the method will count all the tree nodes.
| Return type: | the number of nodes |
|---|
Gets an internal parameter
>>> genome.getParam("rangemax")
100
Note
All the individuals of the population shares this parameters and uses the same instance of this dict.
| Parameters: |
|
|---|
Return the pre order expression string of the Tree, used to python eval.
| Return type: | the expression string |
|---|
Returns a random node from the Tree
| Parameter: | node_type – 0 = Any, 1 = Leaf, 2 = Branch |
|---|---|
| Return type: | random node |
Get the Raw Score of the genome
| Return type: | genome raw score |
|---|
Return the tree root node
| Return type: | the tree root node |
|---|
Returns a tree-formated string (s-expression) of the tree.
| Return type: | a S-Expression representing the tree |
|---|
Returns a tree-formated string of the tree. This method is used by the __repr__ method of the tree
| Return type: | a string representing the tree |
|---|
Called to initialize genome
| Parameter: | args – this parameters will be passed to the initializator |
|---|
Called to mutate the genome
| Parameter: | args – this parameters will be passed to the mutator |
|---|---|
| Return type: | the number of mutations returned by mutation operator |
Set the internal params
>>> genome.setParams(rangemin=0, rangemax=100, gauss_mu=0, gauss_sigma=1)
Note
All the individuals of the population shares this parameters and uses the same instance of this dict.
| Parameter: | args – this params will saved in every chromosome for genetic op. use |
|---|
Sets the root of the tree
| Parameter: | root – the tree root node |
|---|
Traversal the tree, this method will call the user-defined callback function for each node on the tree
| Parameters: |
|
|---|
Write a graph to the pydot Graph instance
| Parameters: |
|
|---|
Writes a image representation of the individual
| Parameter: | filename – the output file image |
|---|
Writes the raw dot file (text-file used by dot/neato) with the representation of the individual
| Parameter: | filename – the output file, ex: individual.dot |
|---|
Writes to a graphical file using pydot, the population of trees
>>> GTreeGP.writePopulationDot(ga_engine, "pop.jpg", "jpeg", 0, 10)
This example will draw the first ten individuals of the population into the file called “pop.jpg”.
| Parameters: |
|
|---|
Writes to a raw dot file using pydot, the population of trees
>>> GTreeGP.writePopulationDotRaw(ga_engine, "pop.dot", 0, 10)
This example will draw the first ten individuals of the population into the file called “pop.dot”.
| Parameters: |
|
|---|
The GTreeNode class - The node representation
Inheritance diagram for GTree.GTreeNode:
| Parameters: |
|
|---|
Adds a child to the node
| Parameter: | child – the node to be added |
|---|
Return a new instance of the genome
| Return type: | new GTree instance |
|---|
Copy the contents to the destination g
| Parameter: | g – the GTreeNode genome destination |
|---|
Returns the index-child of the node
| Return type: | child node |
|---|
Return the childs of the node
Warning
use .getChilds()[:] if you’ll change the list itself, like using childs.reverse(), otherwise the original genome child order will be changed.
| Return type: | a list of nodes |
|---|
Return the data of the node
| Return type: | the data of the node |
|---|
Get the parent node of the node
| Return type: | the parent node |
|---|
Return True if the node is a leaf
| Return type: | True or False |
|---|
Created a new child node
| Parameter: | data – the data of the new created node |
|---|
Replaces a child of the node
| Parameters: |
|
|---|
Sets the data of the node
| Parameter: | data – the data of the node |
|---|
Sets the parent of the node
| Parameter: | parent – the parent node |
|---|
Swaps the node data with another node
| Parameter: | node – the node to do the data swap |
|---|
The GTreeNodeGP Class - The Genetic Programming Node representation
Inheritance diagram for GTree.GTreeNodeGP:
| Parameters: |
|
|---|
Adds a child to the node
| Parameter: | child – the node to be added |
|---|
Return a new copy of the node
| Return type: | the new GTreeNodeGP instance |
|---|
Compare this node with other
| Parameter: | other – the other GTreeNodeGP |
|---|
Copy the contents to the destination g
| Parameter: | g – the GTreeNodeGP genome destination |
|---|
Returns the index-child of the node
| Return type: | child node |
|---|
Return the childs of the node
Warning
use .getChilds()[:] if you’ll change the list itself, like using childs.reverse(), otherwise the original genome child order will be changed.
| Return type: | a list of nodes |
|---|
Gets the node internal data
| Return type: | the internal data |
|---|
Get the parent node of the node
| Return type: | the parent node |
|---|
Get the node type
| Return type: | the node type is type of Consts.nodeType |
|---|
Return True if the node is a leaf
| Return type: | True or False |
|---|
Creates a new node and adds this node as children of current node
| Parameter: | data – the internal node data |
|---|
Replaces a child of the node
| Parameters: |
|
|---|
Sets the node internal data
| Parameter: | data – the internal data |
|---|
Sets the parent of the node
| Parameter: | parent – the parent node |
|---|
Sets the node type
| Parameter: | node_type – the node type is type of Consts.nodeType |
|---|
Swaps the node data and type with another node
| Parameter: | node – the node |
|---|
Random generates a Tree structure using the value_callback for data generation and the method “Full”
| Parameters: |
|
|---|---|
| Return type: | the root node of created tree |
Creates a new random GTreeGP root node with subtrees using the “Full” method.
| Parameters: |
|
|---|---|
| Max_depth: | the maximum depth of the tree |
| Return type: | the root node |
Creates a new random GTreeGP root node with subtrees using the “Grow” method.
| Parameters: |
|
|---|---|
| Max_depth: | the maximum depth of the tree |
| Return type: | the root node |
Random generates a Tree structure using the value_callback for data generation and the method “Grow”
| Parameters: |
|
|---|---|
| Return type: | the root node of created tree |
Do some check on the terminal, to evaluate ephemeral constants
| Parameter: | terminal – the terminal string |
|---|
This is a decorator to use with genetic programming non-terminals
It currently accepts the attributes: shape, color and representation.