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!");
}