示例#1
0
        public void RandomDnaScore()
        {
            var c     = new DnaCleaner();
            var s     = new Simulator(c);
            var score = s.AverageScore();

            Assert.IsTrue(score > 500, score.ToString());
        }
示例#2
0
        public void HumanScore()
        {
            var c     = new HumanCleaner();
            var s     = new Simulator(c);
            var score = s.AverageScore();

            Assert.IsTrue(score > 500, score.ToString());
        }
示例#3
0
        public void TestDna()
        {
            var dnaString = "SPXWPPEPXEPPWPNEPWNPEWPXSPNSPEWPREPSEPPRPPERRRPWNWWWXNEPEEPWNRNEPEEPWNEWNPNWNRPPWNPENPEEPWNPXRPPEPWNPENPXSPXSNXRNXRSNNPNNPXEPXNPWWRXRXSNPPENNNPWNPWEREEPRNPXXRWSSEWPWWPPSPEWPXWPXESEWPEWPSXRSSPRWPESPEEPESRRSRRRSSRSPXRERSSEEXSWWNXSEENNRPPXWRSNSWS";
            var dna       = new Dna(dnaString.Select(x => (Move)x).ToArray());
            var s         = new Simulator(new DnaCleaner(dna));
            var score     = s.AverageScore();

            Assert.IsTrue(score > 500, score.ToString());
        }
示例#4
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}");
            }
        }