Esempio n. 1
0
            public GeneticIndividualItem GenerateRandomItem(int pos)
            {
                var d   = _recognizer.Target.Width / _recognizer.DigitsCount;
                var ret = new GeneticIndividualItem(_recognizer,
                                                    d * pos + (d - _recognizer.DigitWidth) / 2,
                                                    (_recognizer.Target.Height - _recognizer.DigitHeight) / 2
                                                    );

                ret = GeneticIndividualItem.Mutation(ret);
                return(ret);
            }
Esempio n. 2
0
            public static GeneticIndividual Mutation(GeneticIndividual a)
            {
                var ret = new GeneticIndividual(a._recognizer);
                var idx = Random.Next(a._recognizer.DigitsCount);

                for (var i = 0; i < a.Items.Length; i++)
                {
                    ret.Items[i] = i == idx
                        ? GeneticIndividualItem.Mutation(a.Items[i])
                        : a.Items[i];
                }
                return(ret);
            }