public GeneticAlgorithm(int individualLength, HashSet<Character> finiteAlphabet, double mutationProbability) { this.individualLength = individualLength; this.finiteAlphabet = finiteAlphabet .toArray(new Character[finiteAlphabet.Count]); this.mutationProbability = mutationProbability; assert(this.mutationProbability >= 0.0 && this.mutationProbability <= 1.0); }