public Brain(int input, int hidden1, int hidden2, int output, DNA parent = null) { Layers = new List <Layer> { new Layer(input, new Linear(), parent?.FullSequence[0]), new Layer(hidden1, new Sigmoid(), parent?.FullSequence[1]), new Layer(hidden2, new Sigmoid(), parent?.FullSequence[2]), new Layer(output, new Sigmoid(), parent?.FullSequence[3]) }; DNA = new DNA(1); DNA.Cut(0); }
public static DNA CrossOver(DNA a, DNA b) { DNA parent = new DNA(1); parent.Cut(0); for (int i = 0; i < a.FullSequence.Count; i++) { DNA _combined = DNA.Combine(a.FullSequence[i], b.FullSequence[i]); parent.Add(_combined); } return(parent); }