Beispiel #1
0
        public Simulation(Variables v,
                          IStrategyCollection strategyCollection)
        {
            V = v;
            StrategyCollection = strategyCollection;

            Wins = new Dictionary <Winner, int>
            {
                [Winner.Cooperator] = 0,
                [Winner.Defector]   = 0,
                [Winner.Cooperator | Winner.Fix] = 0,
                [Winner.Defector | Winner.Fix]   = 0,
                [Winner.Tie] = 0
            };
            TimeStepsCount = Enumerable
                             .Range(0, V.MaxTimeSteps + 1)
                             .ToDictionary(x => x, x => 0);

            HeritabilitySummaries = new List <HeritabilitySummary> (V.Runs);
            HeritabilityMean      = new HeritabilitySummary( );
            HeritabilitySd        = new HeritabilitySummary( );

            if (V.IncludeConfidenceIntervals)
            {
                ConfidenceIntervalStats = new ConfidenceIntervalStats(V.MaxTimeSteps, V.Runs, V.Z);
            }
        }
Beispiel #2
0
        public static void Simulate <TVersion> (Variables v,
                                                IStrategyCollection strategyCollection)
            where TVersion : Iteration, new ()
        {
            var timer = Stopwatch.StartNew( );

            var simulation = new Simulation <TVersion> (v, strategyCollection);

            simulation.LogRun(5, 2);

            simulation.Run( );

            Console.WriteLine(simulation);

            Console.WriteLine(timer.Elapsed);

            Console.ReadLine( );
        }