public Population(int numberOfPlayers, int numberOfInputNodes, int numberOfOutputNodes, NewPlayerAction newPlayerAction) { innovationHistory = new InnovationHistory(); this.numberOfPlayers = numberOfPlayers; this.numberOfInputNodes = numberOfInputNodes; this.numberOfOutputNodes = numberOfOutputNodes; this.newPlayerAction = newPlayerAction; players = CreatePlayers().ToList(); }
public Genome(int numberOfInputNodes, int numberOfOutputNodes, InnovationHistory innovationHistory, bool isBaby = false) { NumberOfBiasNodes = 1; NumberOfInputNodes = numberOfInputNodes; NumberOfOutputNodes = numberOfOutputNodes; this.innovationHistory = innovationHistory; Guard.GreaterThanZero(() => numberOfInputNodes); Guard.GreaterThanZero(() => numberOfOutputNodes); Layers = 2; if (isBaby) { return; } NumberOfBiasNodes.Times(_ => AddNode(firstLayer)); numberOfInputNodes.Times(_ => AddNode(firstLayer)); numberOfOutputNodes.Times(_ => AddNode(firstLayer + 1)); }