Example #1
0
        public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
        {
            var mutant = new CellularAutomataRules(ca);
            int n      = Util.RndUniformInt((int)(ca.Range * ca.NumStates * settings.MutationTemperature)) + 1;

            for (int i = 0; i < n; i++)
            {
                int row = Util.RndUniformInt(ca.NumStates);
                int col = Util.RndUniformInt(ca.Range);

                mutant[col, row] = settings.StateTableDistribution.Next();
            }
            return(mutant);
        }
Example #2
0
        public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
        {
            var mutant = new CellularAutomataRules(ca);
            int n = Util.RndUniformInt((int)(ca.NumStates * settings.MutationTemperature)) + 1;
            for (int i = 0; i < n; i++)
            {
                int rowSrc = Util.RndUniformInt(ca.NumStates);
                int rowDest = rowSrc;
                while (rowDest == rowSrc)
                    rowDest = Util.RndUniformInt(ca.NumStates);

                for (int column = 0; column < ca.Range; column++)
                    mutant[column, rowDest] = mutant[column, rowSrc];
            }
            return mutant;
        }
Example #3
0
        public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
        {
            var mutant = new CellularAutomataRules(ca);
            int n = Util.RndUniformInt((int)(ca.Range * settings.MutationTemperature)) + 1;
            for (int i = 0; i < n; i++)
            {
                int colSrc = Util.RndUniformInt(ca.Range);
                int colDest = colSrc;
                while (colDest == colSrc)
                    colDest = Util.RndUniformInt(ca.Range);

                for (int row = 0; row < ca.NumStates; row++)
                    mutant[colDest, row] = mutant[colSrc, row];
            }
            return mutant;
        }
Example #4
0
        public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
        {
            var mutant = new CellularAutomataRules(ca);
            int n      = Util.RndUniformInt((int)(10.0 * settings.MutationTemperature)) + 1;

            for (int i = 0; i < n; i++)
            {
                int row, col;
                int count = 0;
                do
                {
                    row = Util.RndUniformInt(ca.NumStates);
                    col = Util.RndUniformInt(ca.Range);
                } while (mutant[col, row] == 0 && count++ < 20);
                mutant[col, row] = 0;
            }
            return(mutant);
        }
Example #5
0
        public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
        {
            var mutant = new CellularAutomataRules(ca);
            int n      = Util.RndUniformInt((int)(ca.Range * settings.MutationTemperature)) + 1;

            for (int i = 0; i < n; i++)
            {
                int colSrc  = Util.RndUniformInt(ca.Range);
                int colDest = colSrc;
                while (colDest == colSrc)
                {
                    colDest = Util.RndUniformInt(ca.Range);
                }

                for (int row = 0; row < ca.NumStates; row++)
                {
                    mutant[colDest, row] = mutant[colSrc, row];
                }
            }
            return(mutant);
        }
Example #6
0
        public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
        {
            var mutant = new CellularAutomataRules(ca);
            int n      = Util.RndUniformInt((int)(ca.NumStates * settings.MutationTemperature)) + 1;

            for (int i = 0; i < n; i++)
            {
                int rowSrc  = Util.RndUniformInt(ca.NumStates);
                int rowDest = rowSrc;
                while (rowDest == rowSrc)
                {
                    rowDest = Util.RndUniformInt(ca.NumStates);
                }

                for (int column = 0; column < ca.Range; column++)
                {
                    mutant[column, rowDest] = mutant[column, rowSrc];
                }
            }
            return(mutant);
        }
 public GeneticAlgorithmState()
 {
     _settingsCa = new CellularAutomataSettings(7);
     _settingsGa = new GeneticAlgorithmSettings(7);
 }
 public GeneticAlgorithmState()
 {
     _settingsCa = new CellularAutomataSettings(7);
     _settingsGa = new GeneticAlgorithmSettings(7);
 }
Example #9
0
 public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
 {
     return(ca);
 }
Example #10
0
 public abstract CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings);
Example #11
0
 public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
 {
     var mutant = new CellularAutomataRules(ca);
     int n = Util.RndUniformInt((int)(10.0 * settings.MutationTemperature)) + 1;
     for (int i = 0; i < n; i++)
     {
         int row, col;
         int count = 0;
         do
         {
             row = Util.RndUniformInt(ca.NumStates);
             col = Util.RndUniformInt(ca.Range);
         } while (mutant[col, row] == 0 && count++ < 20);
         mutant[col, row] = 0;
     }
     return mutant;
 }
Example #12
0
        public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
        {
            var mutant = new CellularAutomataRules(ca);
            int n = Util.RndUniformInt((int)(ca.Range * ca.NumStates * settings.MutationTemperature))+1;
            for (int i = 0; i < n; i++)
            {
                int row = Util.RndUniformInt(ca.NumStates);
                int col = Util.RndUniformInt(ca.Range);

                mutant[col, row] = settings.StateTableDistribution.Next();
            }
            return mutant;
        }
Example #13
0
 public override CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings)
 {
     return ca;
 }
Example #14
0
 public abstract CellularAutomataRules Mutate(CellularAutomataRules ca, GeneticAlgorithmSettings settings);