#include <miller.h>
Inheritance diagram for MillerEncoding:
Public Methods | |
MillerEncoding (const GeneticID &name, const StringMap ¶ms) | |
virtual void | copy (const Genstruct &other) |
virtual bool | execute (const GeneticMsg &msg) const |
virtual void | addPrivateGenes (Gentainer &g, const StringMap ¶ms) |
virtual void | init () |
It works on freely feed-forward topologies.
The basic idea in direct encoding is to have one binary gene for each potential connection in the neural network that tells whether or not that connection actually exists.
In most implementations the connection genes are initialized (in the initial generation) with a certain probability of connection p(c). Often p(c) is simply 0.5, but can vary.
Our implementation of the encoding method is somewhat different from the original method by Miller et al.
Most important modification in our implementation is the initialization of the genomes in the first generation. Instead of using a fixed probability of connection p(c), we initialize the different genomes with different p(c). The p(c) of a certain genome is determined from a normally distributed random value, controlled by the pcVariance and pcAverage parameters (see below).
Definition at line 62 of file miller.h.
|
Standard constructor.
|
|
Implementation for Genstruct.
Reimplemented from ANNEncoding. |
|
Implementation for Genstruct.
Reimplemented from ANNEncoding. Definition at line 58 of file miller.cc. References ANNEncoding::copy(), mPcAverage, mPcVariance, and mPruneInputs. |
|
Implementation for Genstruct.
|
|
Implementation for Genstruct.
|