Difficulties - canonical genetic algorithm:
Therefore the first big problem we face whether designing an "AI" agent to perform a GA-style search is how to represent the solutions. Whether the solutions are textual through nature, so then ASCII strings utilizing eight bits per letter means the size of individuals can get very large. Because of evolution may take thousands of generations to converge onto a solution. Conversely there will be much redundancy in the bit string representations also as: in generally many bit strings produced through the recombination process will not represent solutions at all, like in e.g., they may represent ASCII characters that shouldn't appear in the solution. Whether in the case of individuals that don't represent solutions and how do we measure these with the evaluation function? Further it doesn't necessarily follow like they are entirely unfit, means the tweaking of a single zero to a one might make them good solutions. However the situation is better where the solution space is nonstop or the solutions represent real valued numbers or integers. Hence the situation is worse whereas there are only a finite number of solutions.
But the second big problem we face is how to simplify the evaluation function because this is crucial to the success of the GA experiment. Hence the evaluation function should, whether possible as like:
- There return a real-valued number scoring higher for individuals that perform better with respect to the problem
- Other is be quick to calculate, as this calculation will be done many thousands of times
- Separate well between different individuals, like as give a good range of values even with a well doing in specified evaluation function,
whether populations have evolved to a certain stage so it is possible to the individuals will all score highly with respect to the evalation function hence all have equal chances of reproducing. In fact in this case, evolution will effectively have stopped plus it may be necessary to take some action to spread them out just to make the evaluation function more difficult dynamically, possibly.