Exemplo n.º 1
0
        public void RandomDnaScore()
        {
            var c     = new DnaCleaner();
            var s     = new Simulator(c);
            var score = s.AverageScore();

            Assert.IsTrue(score > 500, score.ToString());
        }
Exemplo n.º 2
0
 public Darwin(Func <Dna, double> fitnessFunc, int populationSize = 200)
 {
     this.fitnessFunc = fitnessFunc;
     population       = new List <Individual>(200);
     for (int i = 0; i < populationSize; i++)
     {
         var cleaner = new DnaCleaner();
         population.Add(new Individual(cleaner.Dna, fitnessFunc(cleaner.Dna)));
     }
 }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            var score = 0d;

            while (score < 490)
            {
                var d   = new Darwin(x => new Simulator(new DnaCleaner(x)).AverageScore(100));
                var dna = d.Evolove(1000);
                var c   = new DnaCleaner(dna);
                var s   = new Simulator(c);
                score = s.AverageScore();
                Console.WriteLine($"Score: {score}");
            }
        }