Genetic Algorithms are a classification of "evolutionary" algorithms that attempt to solve a problem through a recursive-improvement in the output that they generate in order to reach a best-possible solution. Mutation & Crossover are two techniques that are primarily used during the implementation Genetic Algorithms. The objective behind using these techniques is to recursively break the former solution to the problem generated by the algorithm, improvise it further, generate a new solution and compare it with the older solution in order to determine whether it was better than that. This process is looped until a best, high-quality solution is obtained. User's interaction & input may also be obtained during the process.