//double MaxGhostDiff = 0.0000001; //List<double> PreviousOutput = new List<double>(); public MMLocPacMemory(List <double> NNWeights, List <double> AStarWeights = null, int InputC = 0, int HiddenC = 0, int OutputC = 0, bool NearNodesOnly = false) : base("MMLocPacMemory") { InputCount = InputC == 0 ? 24 : InputC; HiddenCount = HiddenC == 0 ? 1 : HiddenC; OutputCount = OutputC == 0 ? 12 : OutputC; this.NearNodesOnly = NearNodesOnly; Network = new ActivationNetwork(new BipolarSigmoidFunction(sigmoidAlphaValue), InputCount, HiddenCount, OutputCount); EvoWeights = new EvolutionWeights(Network); EvoWeights.SetWeights(NNWeights); //Network.UpdateVisibleWeights(); if (AStarWeights != null) { this.AStarWeights = new List <int>(); foreach (var W in AStarWeights) { this.AStarWeights.Add((int)W); } } //for (int i = 0; i < OutputCount; i++) PreviousOutput.Add(0); }
//List<double> PreviousOutput = new List<double>(); public MMPac(List <double> NNWeights) : base("MMPac") { Network = new ActivationNetwork(new BernoulliFunction(), InputCount, 5, 5, OutputCount); EvoWeights = new EvolutionWeights(Network); EvoWeights.SetWeights(NNWeights); //Network.UpdateVisibleWeights(); //for (int i = 0; i < OutputCount; i++) PreviousOutput.Add(0); }
//List<double> PreviousOutput = new List<double>(); public MMLocPac(List <double> NNWeights, List <int> AStarWeights = null) : base("MMLocPac") { Network = new ActivationNetwork(new BernoulliFunction(), InputCount, 10, OutputCount); EvoWeights = new EvolutionWeights(Network); EvoWeights.SetWeights(NNWeights); //Network.UpdateVisibleWeights(); if (AStarWeights != null) { this.AStarWeights = AStarWeights; } //for (int i = 0; i < OutputCount; i++) PreviousOutput.Add(0); }