getPossibleMutations method
Implementation
Map<Mutation, num> getPossibleMutations() {
var mutations = <Mutation, num>{};
if (canAddNode) {
var mutation = NodeMutation();
mutations[mutation] = mutation.chance;
}
if (canAddLink) {
var mutation = LinkMutation();
mutations[mutation] = mutation.chance;
}
if (canAddLoop) {
var mutation = LoopMutation();
mutations[mutation] = mutation.chance;
}
if (canChangeWeight) {
var mutation = WeightMutation();
mutations[mutation] = mutation.chance;
}
if (canChangeActivation) {
var mutation = ActivationMutation();
mutations[mutation] = mutation.chance;
}
if (canResetActivation) {
var mutation = ResetWeightMutation();
mutations[mutation] = mutation.chance;
}
if (mutations.isEmpty) {
throw UnsupportedError("There are no possible mutations for this genome");
}
return mutations;
}