public Shepherd( int numberOfSeenShepherds, int numberOfSeenSheep, int numberOfNeuronsInHiddenLayer, int numberOfHiddenLayers, EPerceptionType perceptionType, bool randomizeNeuralNet) : this() { NumberOfSeenShepherds = numberOfSeenShepherds; NumberOfSeenSheep = numberOfSeenSheep; perception = PerceptionFactory.GetPerception(perceptionType); Brain = NeuralNetsFactory.GetMultiLayerNeuralNet(new NeuralNetParameters() { InputLayerSize = (numberOfSeenShepherds + numberOfSeenSheep) * 2 + 2, OutputLayerSize = NEURAL_NET_OUTPUT_LAYER_SIZE, HiddenLayerSize = numberOfNeuronsInHiddenLayer, NumberOfHiddenLayers = numberOfHiddenLayers }); if (randomizeNeuralNet) { Brain.Randomize(); } }
public override ThinkingAgent GetClone() { return(new Shepherd() { Brain = Brain.GetClone(), NumberOfSeenShepherds = NumberOfSeenShepherds, NumberOfSeenSheep = NumberOfSeenSheep, perception = PerceptionFactory.GetPerception(perception.PerceptionType), Position = new Vector2D(Position.X, Position.Y) }); }
public Shepherd( int numberOfSeenShepherds, int numberOfSeenSheep, EPerceptionType perceptionType, NeuralNet brain) : this() { NumberOfSeenShepherds = numberOfSeenShepherds; NumberOfSeenSheep = numberOfSeenSheep; perception = PerceptionFactory.GetPerception(perceptionType); Brain = brain; }