MZ.GeneticSimulation.DataModel.World.Run C# (CSharp) Method

Run() public method

Simulates evolution.
public Run ( int generations ) : void
generations int /// Number of iterations of simulation. ///
return void
        public void Run(int generations)
        {
            for (var i = 0; i < generations; i++, this.age = this.Age + 1)
            {
                this.SelectBest();
                this.MakeChildren();
                this.Mutate();
                Debug.Print("Age: {0}", i);
            }
        }

Usage Example

Example #1
0
        /// <summary>
        ///     Entry point.
        /// </summary>
        private static void Main()
        {
            var begin = DateTime.UtcNow;
            var previous = DateTime.UtcNow;
            var universe = new World();
            var list = new List<Statistic>(new[] { universe.Statistic });
            list.AddRange(
                Enumerable.Range(1, IterationsNumber).Select(
                    i =>
                        {
                            universe.Run(8);
                            var current = DateTime.UtcNow;
                            WriteLine(
                                $"[{(current - begin).TotalSeconds:000.00}|+{(current - previous).TotalSeconds:000.00}]\t<=-\t{i}/{IterationsNumber}\t-=>");
                            previous = current;
                            return universe.Statistic;
                        }));

            Write(Environment.NewLine);
            PrintPopulationInfo(list);
            PrintGenesInfo(list);
            ForegroundColor = ConsoleColor.White;
            Write(Environment.NewLine);
            Write(Environment.NewLine);
            Write(Environment.NewLine);
            WriteLine("Press enter for exit...");
            ReadLine();
        }