示例#1
0
文件: AIParams.cs 项目: siupa/AIGame
        public static void SetUpAIParams(string fileName)
        {
            // set the temporary culture for importing
            string temp_culture = Thread.CurrentThread.CurrentCulture.Name;
            Thread.CurrentThread.CurrentCulture
                = new CultureInfo("en-US");

            //[ANN]
            Bias = double.Parse(ReadParam("Bias", fileName));
            ActivationResponse = double.Parse(ReadParam("ActivationResponse", fileName));
            NumOutputs = int.Parse(ReadParam("NumOutputs", fileName));
            NumInputs = int.Parse(ReadParam("NumInputs", fileName));
            NumHidden = int.Parse(ReadParam("NumHidden", fileName));
            NeuronsPerHiddenLayer = int.Parse(ReadParam("NeuronsPerHiddenLayer", fileName));

            //[GA]
            MaxPerturbation = double.Parse(ReadParam("MaxPerturbation", fileName));
            NumElite = int.Parse(ReadParam("NumElite", fileName));
            NumCopiesElite = int.Parse(ReadParam("NumCopiesElite", fileName));
            CrossoverRate = double.Parse(ReadParam("CrossoverRate", fileName));
            MultiPointCrossover = bool.Parse(ReadParam("MultiPointCrossover", fileName));
            MutationRate = double.Parse(ReadParam("MutationRate", fileName));

            switch (ReadParam("FitnessScalling", fileName))
            {
                case "Ranking":
                    FitnessScalling = FitnessScallingType.Ranking;
                    break;
                case "Boltzmann":
                    FitnessScalling = FitnessScallingType.Boltzmann;
                    break;
                case "Sigma":
                    FitnessScalling = FitnessScallingType.Sigma;
                    break;
                case "NoneUnsigned":
                    FitnessScalling = FitnessScallingType.NoneUnsigned;
                    break;
                default:
                    FitnessScalling = FitnessScallingType.NoneUnsigned;
                    break;
            }

            BoltzmannTemperature = double.Parse(ReadParam("BoltzmannTemperature", fileName));
            BoltzmannTemperatureStep = double.Parse(ReadParam("BoltzmannTemperatureStep", fileName));
            BoltzmannMinTemperature = double.Parse(ReadParam("BoltzmannMinTemperature", fileName));

            //[how long last one epoch in evolution (in rames)]

            UPDATE_EVOLUTION_ENABLED = bool.Parse(ReadParam("UPDATE_EVOLUTION_ENABLED", fileName));
            UPDATE_EVOLUTION_TIME_PERIOD_FRAMES = int.Parse(ReadParam("UPDATE_EVOLUTION_TIME_PERIOD_FRAMES", fileName));
            UPDATE_LIFE_POINTS = bool.Parse(ReadParam("UPDATE_LIFE_POINTS", fileName));

            FITNESS_EXPERIENCE_MULTIPLICATION_FACTOR = double.Parse(ReadParam("FITNESS_EXPERIENCE_MULTIPLICATION_FACTOR", fileName));

            FITNESS_INCREASE_MED = double.Parse(ReadParam("FITNESS_INCREASE_MED", fileName));
            FITNESS_DECREASE_MED = double.Parse(ReadParam("FITNESS_DECREASE_MED", fileName));
            FITNESS_INCREASE_BONUS = double.Parse(ReadParam("FITNESS_INCREASE_BONUS", fileName));
            FITNESS_DECREASE_BONUS = double.Parse(ReadParam("FITNESS_DECREASE_BONUS", fileName));
            FITNESS_INCREASE_GET_TO_COVER = double.Parse(ReadParam("FITNESS_INCREASE_GET_TO_COVER", fileName));
            FITNESS_INCREASE_KILL = double.Parse(ReadParam("FITNESS_INCREASE_KILL_CONCIDENCE", fileName));
            FITNESS_INCREASE_KILL_CONCIDENCE = double.Parse(ReadParam("FITNESS_INCREASE_KILL", fileName));
            FITNESS_INCREASE_DIE = double.Parse(ReadParam("FITNESS_INCREASE_DIE", fileName));
            FITNESS_INCREASE_DIE_STRONG = double.Parse(ReadParam("FITNESS_INCREASE_DIE_STRONG", fileName));
            FITNESS_INCREASE_HIT = double.Parse(ReadParam("FITNESS_INCREASE_HIT", fileName));
            FITNESS_INCREASE_GOT_HIT = double.Parse(ReadParam("FITNESS_INCREASE_GOT_HIT", fileName));
            FITNESS_INCREASE_WITH_TIME_ENABLE = bool.Parse(ReadParam("FITNESS_INCREASE_WITH_TIME_ENABLE", fileName));
            FITNESS_INCREASE_WITH_TIME_PERIOD_FRAMES = int.Parse(ReadParam("FITNESS_INCREASE_WITH_TIME_PERIOD_FRAMES", fileName));
            FITNESS_INCREASE_WITH_TIME = double.Parse(ReadParam("FITNESS_INCREASE_WITH_TIME", fileName));

            OBJECT_RANGE_LEADER = float.Parse(ReadParam("OBJECT_RANGE_LEADER", fileName));
            OBJECT_RANGE_SNIPER = float.Parse(ReadParam("OBJECT_RANGE_SNIPER", fileName));
            OBJECT_RANGE_INFANTRY = float.Parse(ReadParam("OBJECT_RANGE_INFANTRY", fileName));
            OBJECT_RANGE_SUPPORT = float.Parse(ReadParam("OBJECT_RANGE_SUPPORT", fileName));

            // [test configuration]
            CONFIG_DUMP_ALL_POPULATIONS = bool.Parse(ReadParam("CONFIG_DUMP_ALL_POPULATIONS", fileName));
            CONFIG_DUMP_ALL_POPULATIONS_FILE_PATH = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_DUMP_ALL_POPULATIONS_FILE_PATH", fileName));
            CONFIG_DUMP_LAST_POPULATION = bool.Parse(ReadParam("CONFIG_DUMP_LAST_POPULATION", fileName));
            CONFIG_DUMP_LAST_POPULATION_FILE_PATH = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_DUMP_LAST_POPULATION_FILE_PATH", fileName));
            CONFIG_DUMP_ANN_VECTORS = bool.Parse(ReadParam("CONFIG_DUMP_ANN_VECTORS", fileName));
            CONFIG_DUMP_ANN_VECTORS_NUM_PROBES = int.Parse(ReadParam("CONFIG_DUMP_ANN_VECTORS_NUM_PROBES", fileName));
            CONFIG_DUMP_ANN_VECTORS_FILE_PATH = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_DUMP_ANN_VECTORS_FILE_PATH", fileName));

            CONFIG_GET_GENERATION_FROM_FILE = bool.Parse(ReadParam("CONFIG_GET_GENERATION_FROM_FILE", fileName));
            CONFIG_GET_GENERATION_FROM_FILE_ONLY_ELITE = bool.Parse(ReadParam("CONFIG_GET_GENERATION_FROM_FILE_ONLY_ELITE", fileName));
            CONFIG_GET_GENERATION_FROM_FILE_PATH = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_GET_GENERATION_FROM_FILE_PATH", fileName));
            CONFIG_LOW_RENDER = bool.Parse(ReadParam("CONFIG_LOW_RENDER", fileName));
            CONFIG_ENABLE_DEFAULT_LIGHTING = bool.Parse(ReadParam("CONFIG_ENABLE_DEFAULT_LIGHTING", fileName));
            CONFIG_TERREIN_HEIGHT_PARAMETER = float.Parse(ReadParam("CONFIG_TERREIN_HEIGHT_PARAMETER", fileName));

            CONFIG_NUMBER_COVERS = int.Parse(ReadParam("CONFIG_NUMBER_COVERS", fileName));
            CONFIG_NUMBER_MEDS = int.Parse(ReadParam("CONFIG_NUMBER_MEDS", fileName));
            CONFIG_NUMBER_BONUSES = int.Parse(ReadParam("CONFIG_NUMBER_BONUSES", fileName));
            CONFIG_NUMBER_AIOBJECTS_IN_TEAM = int.Parse(ReadParam("CONFIG_NUMBER_AIOBJECTS_IN_TEAM", fileName));

            CONFIG_INCREASE_EXP_BONUS = float.Parse(ReadParam("CONFIG_INCREASE_EXP_BONUS", fileName));
            CONFIG_INCREASE_EXP_KILL = float.Parse(ReadParam("CONFIG_INCREASE_EXP_KILL", fileName));
            CONFIG_INCREASE_MED = float.Parse(ReadParam("CONFIG_INCREASE_MED", fileName));

            CONFIG_DECREASE_OF_LIFE_WHEN_HIT = float.Parse(ReadParam("CONFIG_DECREASE_OF_LIFE_WHEN_HIT", fileName));
            CONFIG_COVER_ADD_POINTS = float.Parse(ReadParam("CONFIG_COVER_ADD_POINTS", fileName));

            // restore current culture after importing
            Thread.CurrentThread.CurrentCulture = new CultureInfo(temp_culture);
        }
示例#2
0
文件: AIParams.cs 项目: siupa/AIGame
        public static void SetUpAIParams(string fileName)
        {
            // set the temporary culture for importing
            string temp_culture = Thread.CurrentThread.CurrentCulture.Name;

            Thread.CurrentThread.CurrentCulture
                = new CultureInfo("en-US");

            //[ANN]
            Bias = double.Parse(ReadParam("Bias", fileName));
            ActivationResponse    = double.Parse(ReadParam("ActivationResponse", fileName));
            NumOutputs            = int.Parse(ReadParam("NumOutputs", fileName));
            NumInputs             = int.Parse(ReadParam("NumInputs", fileName));
            NumHidden             = int.Parse(ReadParam("NumHidden", fileName));
            NeuronsPerHiddenLayer = int.Parse(ReadParam("NeuronsPerHiddenLayer", fileName));

            //[GA]
            MaxPerturbation     = double.Parse(ReadParam("MaxPerturbation", fileName));
            NumElite            = int.Parse(ReadParam("NumElite", fileName));
            NumCopiesElite      = int.Parse(ReadParam("NumCopiesElite", fileName));
            CrossoverRate       = double.Parse(ReadParam("CrossoverRate", fileName));
            MultiPointCrossover = bool.Parse(ReadParam("MultiPointCrossover", fileName));
            MutationRate        = double.Parse(ReadParam("MutationRate", fileName));

            switch (ReadParam("FitnessScalling", fileName))
            {
            case "Ranking":
                FitnessScalling = FitnessScallingType.Ranking;
                break;

            case "Boltzmann":
                FitnessScalling = FitnessScallingType.Boltzmann;
                break;

            case "Sigma":
                FitnessScalling = FitnessScallingType.Sigma;
                break;

            case "NoneUnsigned":
                FitnessScalling = FitnessScallingType.NoneUnsigned;
                break;

            default:
                FitnessScalling = FitnessScallingType.NoneUnsigned;
                break;
            }

            BoltzmannTemperature     = double.Parse(ReadParam("BoltzmannTemperature", fileName));
            BoltzmannTemperatureStep = double.Parse(ReadParam("BoltzmannTemperatureStep", fileName));
            BoltzmannMinTemperature  = double.Parse(ReadParam("BoltzmannMinTemperature", fileName));

            //[how long last one epoch in evolution (in rames)]

            UPDATE_EVOLUTION_ENABLED            = bool.Parse(ReadParam("UPDATE_EVOLUTION_ENABLED", fileName));
            UPDATE_EVOLUTION_TIME_PERIOD_FRAMES = int.Parse(ReadParam("UPDATE_EVOLUTION_TIME_PERIOD_FRAMES", fileName));
            UPDATE_LIFE_POINTS = bool.Parse(ReadParam("UPDATE_LIFE_POINTS", fileName));

            FITNESS_EXPERIENCE_MULTIPLICATION_FACTOR = double.Parse(ReadParam("FITNESS_EXPERIENCE_MULTIPLICATION_FACTOR", fileName));


            FITNESS_INCREASE_MED                     = double.Parse(ReadParam("FITNESS_INCREASE_MED", fileName));
            FITNESS_DECREASE_MED                     = double.Parse(ReadParam("FITNESS_DECREASE_MED", fileName));
            FITNESS_INCREASE_BONUS                   = double.Parse(ReadParam("FITNESS_INCREASE_BONUS", fileName));
            FITNESS_DECREASE_BONUS                   = double.Parse(ReadParam("FITNESS_DECREASE_BONUS", fileName));
            FITNESS_INCREASE_GET_TO_COVER            = double.Parse(ReadParam("FITNESS_INCREASE_GET_TO_COVER", fileName));
            FITNESS_INCREASE_KILL                    = double.Parse(ReadParam("FITNESS_INCREASE_KILL_CONCIDENCE", fileName));
            FITNESS_INCREASE_KILL_CONCIDENCE         = double.Parse(ReadParam("FITNESS_INCREASE_KILL", fileName));
            FITNESS_INCREASE_DIE                     = double.Parse(ReadParam("FITNESS_INCREASE_DIE", fileName));
            FITNESS_INCREASE_DIE_STRONG              = double.Parse(ReadParam("FITNESS_INCREASE_DIE_STRONG", fileName));
            FITNESS_INCREASE_HIT                     = double.Parse(ReadParam("FITNESS_INCREASE_HIT", fileName));
            FITNESS_INCREASE_GOT_HIT                 = double.Parse(ReadParam("FITNESS_INCREASE_GOT_HIT", fileName));
            FITNESS_INCREASE_WITH_TIME_ENABLE        = bool.Parse(ReadParam("FITNESS_INCREASE_WITH_TIME_ENABLE", fileName));
            FITNESS_INCREASE_WITH_TIME_PERIOD_FRAMES = int.Parse(ReadParam("FITNESS_INCREASE_WITH_TIME_PERIOD_FRAMES", fileName));
            FITNESS_INCREASE_WITH_TIME               = double.Parse(ReadParam("FITNESS_INCREASE_WITH_TIME", fileName));

            OBJECT_RANGE_LEADER   = float.Parse(ReadParam("OBJECT_RANGE_LEADER", fileName));
            OBJECT_RANGE_SNIPER   = float.Parse(ReadParam("OBJECT_RANGE_SNIPER", fileName));
            OBJECT_RANGE_INFANTRY = float.Parse(ReadParam("OBJECT_RANGE_INFANTRY", fileName));
            OBJECT_RANGE_SUPPORT  = float.Parse(ReadParam("OBJECT_RANGE_SUPPORT", fileName));

            // [test configuration]
            CONFIG_DUMP_ALL_POPULATIONS           = bool.Parse(ReadParam("CONFIG_DUMP_ALL_POPULATIONS", fileName));
            CONFIG_DUMP_ALL_POPULATIONS_FILE_PATH = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_DUMP_ALL_POPULATIONS_FILE_PATH", fileName));
            CONFIG_DUMP_LAST_POPULATION           = bool.Parse(ReadParam("CONFIG_DUMP_LAST_POPULATION", fileName));
            CONFIG_DUMP_LAST_POPULATION_FILE_PATH = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_DUMP_LAST_POPULATION_FILE_PATH", fileName));
            CONFIG_DUMP_ANN_VECTORS            = bool.Parse(ReadParam("CONFIG_DUMP_ANN_VECTORS", fileName));
            CONFIG_DUMP_ANN_VECTORS_NUM_PROBES = int.Parse(ReadParam("CONFIG_DUMP_ANN_VECTORS_NUM_PROBES", fileName));
            CONFIG_DUMP_ANN_VECTORS_FILE_PATH  = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_DUMP_ANN_VECTORS_FILE_PATH", fileName));

            CONFIG_GET_GENERATION_FROM_FILE            = bool.Parse(ReadParam("CONFIG_GET_GENERATION_FROM_FILE", fileName));
            CONFIG_GET_GENERATION_FROM_FILE_ONLY_ELITE = bool.Parse(ReadParam("CONFIG_GET_GENERATION_FROM_FILE_ONLY_ELITE", fileName));
            CONFIG_GET_GENERATION_FROM_FILE_PATH       = Path.Combine(PATH_APPLICATION, ReadParam("CONFIG_GET_GENERATION_FROM_FILE_PATH", fileName));
            CONFIG_LOW_RENDER = bool.Parse(ReadParam("CONFIG_LOW_RENDER", fileName));
            CONFIG_ENABLE_DEFAULT_LIGHTING  = bool.Parse(ReadParam("CONFIG_ENABLE_DEFAULT_LIGHTING", fileName));
            CONFIG_TERREIN_HEIGHT_PARAMETER = float.Parse(ReadParam("CONFIG_TERREIN_HEIGHT_PARAMETER", fileName));

            CONFIG_NUMBER_COVERS            = int.Parse(ReadParam("CONFIG_NUMBER_COVERS", fileName));
            CONFIG_NUMBER_MEDS              = int.Parse(ReadParam("CONFIG_NUMBER_MEDS", fileName));
            CONFIG_NUMBER_BONUSES           = int.Parse(ReadParam("CONFIG_NUMBER_BONUSES", fileName));
            CONFIG_NUMBER_AIOBJECTS_IN_TEAM = int.Parse(ReadParam("CONFIG_NUMBER_AIOBJECTS_IN_TEAM", fileName));

            CONFIG_INCREASE_EXP_BONUS = float.Parse(ReadParam("CONFIG_INCREASE_EXP_BONUS", fileName));
            CONFIG_INCREASE_EXP_KILL  = float.Parse(ReadParam("CONFIG_INCREASE_EXP_KILL", fileName));
            CONFIG_INCREASE_MED       = float.Parse(ReadParam("CONFIG_INCREASE_MED", fileName));

            CONFIG_DECREASE_OF_LIFE_WHEN_HIT = float.Parse(ReadParam("CONFIG_DECREASE_OF_LIFE_WHEN_HIT", fileName));
            CONFIG_COVER_ADD_POINTS          = float.Parse(ReadParam("CONFIG_COVER_ADD_POINTS", fileName));

            // restore current culture after importing
            Thread.CurrentThread.CurrentCulture = new CultureInfo(temp_culture);
        }