Example #1
0
 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();
 }
Example #2
0
        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));
        }