BatchExperiment.Program.Main C# (CSharp) Method

Main() static private method

static private Main ( string args ) : void
args string
return void
        static void Main(string[] args)
        {
            Console.Write("Number runs (default {0}): ", DEFAULT_NUM_RUNS);
            numRuns = GetCommandLineArg(DEFAULT_NUM_RUNS);

            Console.Write("Number of generations (default {0}): ", DEFAULT_MAX_GENS);
            MaxGenerations = GetCommandLineArg(DEFAULT_MAX_GENS);

            Console.Write("File offset (default 0): ", 0);
            int offset = GetCommandLineArg(0);

            Console.Write("Use simple rewards (default n)? ");
            bool simple = GetCommandLineArg(false);

            Console.Write("Use all positive rewards (default n)? ");
            bool allPositive = GetCommandLineArg(false);

            Console.Write("Run baseline? ");
            bool runBaseline = GetCommandLineArg(false);

            Console.Write("Run social darwinian? ");
            bool runSocialDarwin = GetCommandLineArg(false);

            Console.Write("Run social lamarkian? ");
            bool runSocialLamark = GetCommandLineArg(false);

            Console.Write("Run same species darwinian? ");
            bool runSameSpeciesDarwin = GetCommandLineArg(false);

            Console.Write("Run same species lamarkian? ");
            bool runSameSpeciesLamark = GetCommandLineArg(false);

            Console.Write("Run same species reward-proportional darwinian? ");
            bool runSameSpeciesRewardProportionalDarwin = GetCommandLineArg(false);

            Console.Write("Run same species reward-proportional lamarkian? ");
            bool runSameSpeciesRewardProportionalLamark = GetCommandLineArg(false);

            Console.Write("Run student/teacher darwinian? ");
            bool runStudentTeacherDarwin = GetCommandLineArg(false);

            Console.Write("Run student/teacher lamarkian? ");
            bool runStudentTeacherLamark = GetCommandLineArg(false);

            //sensorDict = new SensorDictionary(100, 2000, 2000);
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("*** Settings ***");
            Console.WriteLine("Number of runs: {0}", numRuns);
            Console.WriteLine("Number of generations: {0}", MaxGenerations);
            Console.WriteLine("Run baseline? {0}", runBaseline ? "Yes" : "No");
            Console.WriteLine("Run social darwinian? {0}", runSocialDarwin ? "Yes" : "No");
            Console.WriteLine("Run social lamarkian? {0}", runSocialLamark ? "Yes" : "No");
            Console.WriteLine("Run same-species darwinian? {0}", runSameSpeciesDarwin ? "Yes" : "No");
            Console.WriteLine("Run same-species lamarkian? {0}", runSameSpeciesLamark ? "Yes" : "No");
            Console.WriteLine("Run same-species reward-proportional darwinian? {0}", runSameSpeciesRewardProportionalDarwin ? "Yes" : "No");
            Console.WriteLine("Run same-species reward-proportional lamarkian? {0}", runSameSpeciesRewardProportionalLamark ? "Yes" : "No");
            Console.WriteLine("Run student/teacher darwinian? {0}", runStudentTeacherDarwin ? "Yes" : "No");
            Console.WriteLine("Run student/teacher lamarkian? {0}", runStudentTeacherLamark ? "Yes" : "No");
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("*** Starting evolution ***");

            if(simple)
            {
                if (runBaseline)
                    RunTrials("Simple Baseline", "simple_neural.config.xml", offset);

                if (runSocialDarwin)
                    RunTrials("Simple Social Learning (Darwinian)", "simple_social_darwin.config.xml", offset);

                if (runSocialLamark)
                    RunTrials("Simple Social Learning (Lamarkian)", "simple_social_lamark.config.xml", offset);

                if (runSameSpeciesDarwin)
                    RunTrials("Simple Same Species (Darwinian)", "simple_same_species_darwin.config.xml", offset);

                if (runSameSpeciesLamark)
                    RunTrials("Simple 20 Equal Groups (Lamarkian)", "simple_same_species_lamark.config.xml", offset);

                if (runStudentTeacherDarwin)
                    RunTrials("Simple Student-Teacher (Darwinian)", "simple_student_teacher_darwin.config.xml", offset);

                if (runStudentTeacherLamark)
                    RunTrials("Simple Student-Teacher Lowest Energy (Lamarkian)", "simple_student_teacher_lamark.config.xml", offset);
            }
            else if (allPositive)
            {
                if (runBaseline)
                    RunTrials("All Positive Baseline", "positive_neural.config.xml", offset);

                if (runSocialDarwin)
                    RunTrials("All Positive Social Learning (Darwinian)", "positive_social_darwin.config.xml", offset);

                if (runSocialLamark)
                    RunTrials("All Positive Social Learning (Lamarkian)", "positive_social_lamark.config.xml", offset);

                if (runSameSpeciesDarwin)
                    RunTrials("All Positive Same Species (Darwinian)", "positive_same_species_darwin.config.xml", offset);

                if (runSameSpeciesLamark)
                    RunTrials("All Positive Same Species (Lamarkian)", "positive_same_species_lamark.config.xml", offset);

                if (runSameSpeciesRewardProportionalDarwin)
                    RunTrials("All Positive Same Species Reward Proportional (Darwinian)", "positive_same_species_reward_proportional_darwin.config.xml", offset);

                if (runSameSpeciesRewardProportionalLamark)
                    RunTrials("All Positive Same Species Reward Proportional (Lamarkian)", "positive_same_species_reward_proportional_lamark.config.xml", offset);

                if (runStudentTeacherDarwin)
                    RunTrials("All Positive Student-Teacher (Darwinian)", "positive_student_teacher_darwin.config.xml", offset);

                if (runStudentTeacherLamark)
                    RunTrials("All Positive Student-Teacher (Lamarkian)", "positive_student_teacher_lamark.config.xml", offset);
            }
            else
            {
                if (runBaseline)
                    RunTrials("Baseline", "neural.config.xml", offset);

                if (runSocialDarwin)
                    RunTrials("Social Learning (Darwinian)", "social_darwin.config.xml", offset);

                if (runSocialLamark)
                    RunTrials("Social Learning (Lamarkian)", "social_lamark.config.xml", offset);

                if (runSameSpeciesDarwin)
                    RunTrials("Same Species (Darwinian)", "same_species_darwin.config.xml", offset);

                if (runSameSpeciesLamark)
                    RunTrials("Same Species (Lamarkian)", "same_species_lamark.config.xml", offset);

                if (runStudentTeacherDarwin)
                    RunTrials("Student-Teacher (Darwinian)", "student_teacher_darwin.config.xml", offset);

                if (runStudentTeacherLamark)
                    RunTrials("Student-Teacher Lowest Energy (Lamarkian)", "student_teacher_lamark.config.xml", offset);
            }
            Console.WriteLine();
            Console.WriteLine("All runs completed!");
        }