Genome constructor
Genome(
- int inputCount,
- int outputCount
)
Implementation
Genome(this.inputCount, this.outputCount) {
int innovationIdentifier = 0;
List<Node> allInputs = <Node>[];
allInputs.add(Bias.index(innovationIdentifier++));
for (int i = 0; i < inputCount; i++) {
var input = Input.index(innovationIdentifier++);
input.y = 0;
allInputs.add(input);
}
List<Node> allOutputs = <Node>[];
for (int i = 0; i < outputCount; i++) {
var output = Output.index(innovationIdentifier++);
output.y = 1;
allOutputs.add(output);
}
if (allInputs.length == 1) {
allInputs.first.x = 0.5;
} else {
for (int i = 0; i < allInputs.length; i++) {
var current = allInputs[i];
current.x = i / (allInputs.length - 1);
}
}
if (allOutputs.length == 1) {
allOutputs.first.x = 0.5;
} else {
for (int i = 0; i < allOutputs.length; i++) {
var current = allOutputs[i];
current.y = 1;
current.x = i / (allOutputs.length - 1);
}
}
genes.addAll(allInputs);
genes.addAll(allOutputs);
}