-
-
Notifications
You must be signed in to change notification settings - Fork 19
Network Graph Visualization
With support for CytoscapeJS serialization format now it become possible for easy visualization of the produced Network graphs
encoding the Phenotypes
of the organisms.
At each trial of the XOR experiment if winner was found the following files are saved into output directory:
- the winner genome (
xor_winner_genome_x-x
) - the winner's phenotype serialized into CytoscapeJS format (
xor_winner_genome_x-x.cyjs
) - the winner's phenotype serialized into GraphViz DOT format (
xor_winner_genome_x-x.dot
)
Subsequently, the phenotype network serialized into CytoscapeJS
format can be used to produce beautiful graph visualization as follows.
The image above was created using Cytoscape App which can be freely downloaded and supports all major OS.
Current implementation allows you to serialize phenotype either using default goNEAT
style or to provide your own style. For details, please refer to the documentation of the formats
package.
The legend for the image above as following:
- blue diamonds at the top is to represent two
input node
s - yellow circle in the middle is to represent the
bias node
- green hexagons is to represent
hidden node
s - magenta circle at the bottom is to represent the
output node
- the size of the node depends on number of edges connected with it
This experiment also saves winner's phenotype in CytoscapeJS
format at each trial. Next, you can find visualization of the optimal single pole-balancer's phenotype.
As you can see, the NEAT algorithm was able to find successful solver which doesn't even have any hidden node. The legend for the above image is the same as for XOR experiment. The meaning of the network nodes by identifiers can be found at single pole-balancing network graph description.
Also, we have included visualization of the double pole-balancing experiment (Markovian version with known velocities).
From the image above, you can see that phenotype of the successful double pole-balancing solver is more complex than in previous examples. You can find description of the input/output nodes at double pole-balancing experiment page. The visual presentation's legend is the same as in previous examples.