public static Node NewNode() { Node node = new Node(); node.bias = AiMath.RandomRange(-1f, 1f); node.inovation = ++_inovation; return(node); }
public Node Mutated() { Node node = new Node(); node.bias = bias + AiMath.RandomRange(-0.1f, 0.1f); node.inovation = _inovation; return(node); }
public Axon Mutated() { Axon axon = new Axon(); axon.weight += AiMath.RandomRange(-0.1f, 0.1f); axon.A = A; axon.B = B; axon.inovation = inovation; return(axon); }
public static Axon NewAxon(int range) { range = Math.Max(1, range); Axon axon = new Axon(); axon.weight = AiMath.RandomRange(-1f, 1f); axon.A = AiMath.random.Next(0, range); axon.B = AiMath.random.Next(0, range); axon.inovation = ++_inovation; return(axon); }
public Node Clone() { Node node = new Node(); if (AiMath.PercentChance(mutationChance)) { node.bias = bias + AiMath.RandomRange(-0.1f, 0.1f); } else { node.bias = bias; } node.inovation = _inovation; return(node); }
public Axon Clone() { Axon axon = new Axon(); if (AiMath.PercentChance(mutationChance)) { axon.weight = weight + AiMath.RandomRange(-0.1f, 0.1f); } else { axon.weight = weight; } axon.A = A; axon.B = B; axon.inovation = inovation; return(axon); }