Example #1
0
        public void InitGA()
        {
            System.Random rand;

            rand = (seedRandom) ? new System.Random(1) : new System.Random();
            var randGenomGenerator = new RandNeuralGenomeGeneratorBase(
                rand,
                new Sigmoid(),
                weightRange,
                inputCount,
                outputCount,
                hiddenLayers,
                createBias);

            var reinsertion = new ReinsertBest <Synapse>(
                (int)(poplLne * reinsertPart));
            var breeding            = NewBreeding(rand);
            var generationGenerator = new GenerationGeneratorBase <Synapse>(
                poplLne,
                reinsertion,
                breeding);

            population = new PopulationBase <Synapse>(
                poplLne,
                randGenomGenerator,
                generationGenerator);
        }
Example #2
0
        public GAEvolveSum(
            Random rand,
            double partToReinsert,
            int targetSum,
            int poplLen,
            int genomeNumbers,
            int nbInterval,
            double geneMutChance,
            int geneMutRange)
        {
            ES_RandGenomeGenerator        randGenomeGenerator;
            GenerationGeneratorBase <int> generationGenerator;
            IReinsertion <int>            reinsertion;
            IBreeding <int> breeding;

            RandomInst  = rand;
            TargetSum   = targetSum;
            FitnessEval = new ES_FitnessEval(targetSum);

            randGenomeGenerator = new ES_RandGenomeGenerator(genomeNumbers,
                                                             nbInterval,
                                                             rand);
            reinsertion = new ReinsertBest <int>(
                (int)(poplLen * partToReinsert));

            breeding = NewBreeding(
                poplLen,
                partToReinsert,
                geneMutChance,
                geneMutRange);

            generationGenerator = new GenerationGeneratorBase <int>(
                poplLen,
                reinsertion,
                breeding);

            Population = new PopulationBase <int>(
                poplLen,
                randGenomeGenerator,
                generationGenerator);
        }
Example #3
0
        public ShakespeareSolver(
            string targetStr,
            Random rand,
            double partToReinsert,
            int popLen,
            double geneMutChance,
            int geneMutRange)
        {
            TargetStr   = targetStr;
            FitnessEval = new Sh_FitnessEval(TargetStr, chars);

            var randGenomeGenerator = new Sh_RandGenomeGenerator(
                rand,
                targetStr.Length,
                geneMutRange,
                chars);

            var reinsertion = new ReinsertBest <char>(
                (int)(popLen * partToReinsert));

            var breeding = NewBreeding(
                rand,
                popLen,
                partToReinsert,
                geneMutChance,
                geneMutRange);

            var generationGenerator = new GenerationGeneratorBase <char>(
                popLen,
                reinsertion,
                breeding);

            Population = new PopulationBase <char>(
                popLen,
                randGenomeGenerator,
                generationGenerator);
        }
Example #4
0
        public void InitGAInternal()
        {
            var randomGenomeGenerator = new RandNeuralGenomeGeneratorBase(
                rand,
                new Sigmoid(),
                randomWeight,
                inputCount,
                outputCount,
                hiddenLayers,
                createBias);

            var reinsertion = new ReinsertBest <Synapse>(
                (int)(poplLen * partToReinsert));
            var breeding            = NewBreeding(rand);
            var generationGenerator = new GenerationGeneratorBase <Synapse>(
                poplLen,
                reinsertion,
                breeding);

            population = new PopulationBase <Synapse>(
                poplLen,
                randomGenomeGenerator,
                generationGenerator);
        }