private void GenerateNewKeys() { foreach (var key in BestKeys.Keys) { Crossover(key, BestKeys.First().Key); } foreach (var key in BestKeys.Keys) { for (int i = 0; i < 5; i++) { Mutation(key); } } }
private void Selection() { BestKeys.Clear(); foreach (var key in AllKeys.Keys.ToArray()) { Stat.TextAnalysis(Text, key); AllKeys[key] = Stat.MeaningfullnessMetric(); } var sortedKeys = (from key in AllKeys orderby key.Value select key).ToList(); for (int i = 0; i < BestKeysAmount; i++) { BestKeys.Add(sortedKeys[i].Key, sortedKeys[i].Value); } AllKeys.Clear(); }