public void TestZigguratExponentialGenerator_Unseeded_InitializesCorrectly() { var rng = new ZigguratExponentialGenerator(); double num = rng.Generate(); Assert.NotNull(rng); }
public void TestZigguratExponentialGenerator_WithSeed_InitializesCorrectly() { var rng1 = new ZigguratExponentialGenerator(seed: 457860009); var rng2 = new ZigguratExponentialGenerator(seed: 457860009); double num1 = rng1.Generate(); double num2 = rng2.Generate(); Assert.AreEqual(num1, num2); }
public void TestZigguratExponentialGenerator_Unseeded_NeverOverflows() { var rng = new ZigguratExponentialGenerator(); for (int i = 0; i < 100; i++) { double num = rng.Generate(); } Assert.NotNull(rng); }
private static void RunWaveTest() { var prevNeuralBots = new List <NeuroEvolveBot>(); var rand = new ZigguratExponentialGenerator(); var gens = GetBots(GenTypes.ReLU, rand); var leagueRunner = new LeagueRunner(); foreach (var bot in gens) { var data = LeagueRunner.RunLeague(new WaveBot(), bot); Console.WriteLine(data); } }
public static void RunGene() { var rand = new ZigguratExponentialGenerator(); var chrom = new DoubleArrayChromosome(rand, rand, rand, 9); var pop = new Population(1000, chrom, new fitFunc(), new EliteSelection()); Console.WriteLine(pop.FitnessMax); for (int i = 0; i < 199; i++) { pop.RunEpoch(); Console.WriteLine(pop.FitnessMax); } var x = new fitFunc().Evaluate(pop.BestChromosome); Console.WriteLine(pop.FitnessMax); }
static void Main(string[] args) { NetworkType chromType = GenTypes.ReLU; var prevNeuralBots = new List <NeuroEvolveBot>(); var genValues = FileHandler.GetGenerations(GenTypes.ReLU); var rand = new ZigguratExponentialGenerator(); var Bots = GetBots(chromType, rand); prevNeuralBots.AddRange(Bots); /* * ; * * for (int i = 0; i < largestGen + 1; i++) * { * prevNeuralBots.Add(getBotGen(i, rand, chromType)); * }*/ var bots = new List <IBot> { new DrawBot() }; bots.AddRange(prevNeuralBots); var bestChromeValues = FileHandler.GetGenerations(chromType); DoubleArrayChromosome doubleChromosome = new DoubleArrayChromosome(rand, rand, rand, bestChromeValues[bestChromeValues.Count - 1]); //DoubleArrayChromosome doubleChromosome = (DoubleArrayChromosome)GetChromosomeGen(largestGen, rand, chromType); for (int i = 0; i < 10; i++) { var pop = new Population(200, doubleChromosome, new fitFuncForAdaptable(bots), new RouletteWheelSelection()); Console.WriteLine(pop.FitnessMax); for (int j = 0; j < 10; j++) { pop.RunEpoch(); Console.WriteLine(pop.FitnessMax); Console.WriteLine(pop.FitnessAvg); } var x = new fitFuncForAdaptable(bots).Evaluate(pop.BestChromosome); doubleChromosome = (DoubleArrayChromosome)pop.BestChromosome; var newNet = GetNetHelper.GetNet(doubleChromosome, new[] { 5, 4, 3 }); var newBot = new NeuroEvolveBot(newNet, 934 + i, "newBot" + i.ToString()); var gameRunner = new GameRunnerWithData(); GameData data; foreach (var bot in bots) { data = gameRunner.RunGame(newBot, bot); Console.WriteLine(data); } data = gameRunner.RunGame(newBot, new WaveBot()); Console.WriteLine(data); bots.Add(newBot); } double[] values = doubleChromosome.Value; FileHandler.WriteToLargestGen(chromType, values); RunWaveTest(); }