Genetic Algortihms Flashcards
What are genetic algorithms?
Genetic Algorithm (GA) is a search-based optimization technique based on the principles of Genetics and Natural Selection.Genetic algorithms are one of the tools we can use to apply machine learning to finding best or optimal solution to problems that have billions of potential solutions. Basically, a genetic algorithm is a set of simple rules to solve certain types of otherwise difficult problems. However to solve the problems by genetic algorithms should have the following criteria.
- The problem involves a lot of variables to some extent. the more variable there are , the better this technique applies
- Each variable can take on potential values to generate different solution sets.
- we can substitue a value for each of the variables and the particular combination of individual values can be a solution set.
- The problem can be quantified in some manner therefore any two solution sets can easily compared to judge the better one out of it.
How to solve problems with genetic algorithms?
When solving a problem with genetic algorithm instead of asking for a specific solution. We provide characteristics that the solution must have or rules its solution must pass to be accepted.
What is the fundamental aspect or goal of solving a problem by Genetic algorithm?
A fundamental aspect of solving problems using a genetic algorithm is that they must provide the feedback that helps the engine select better of two guesses. That feedback is called fitness, for how closely the guess fits the desired result.
Ex: In a number range of 1 to 1000 guessing one number 1 in 1000 chances by asking wrong or right takes more guesses than asking feedback of higher or lower.
Ex 2: Try to find a set of values in range 1-1000. All in range 1 to 1000, we only receive back a fitness value indicating how closely that set of number matches the desired set. Here the goal would maximize or minimize that fitness.
What is the process of genetic algorithm problem-solving?
Genetic algorithms and genetic programming are very good at finding solutions to very large problems. They do it by taking millions of samples from the search space, making small changes, possibly recombining parts of the best solutions, comparing the resultant fitness against that of the current best solution, and keeping the better of the two. This process repeats until one of the following occurs: The known solution found, A solution meeting all requirements is found, a certain number of generations has passed, a specific amount of time has passed.
How Mutation and crossover process helps in the genetic algorithm?
Ex: In a number range of 1 to 1000 guessing one number 1 in 1000 chances by asking wrong or right takes more guesses than asking feedback of higher or lower.
As per above example, the genetic algorithm does not know what is lower. It has no intelligence. It does not learn. It will make the same mistake every time. Hence it will use the random exploration of problem space combined with the evolutionary processes like mutation and crossover to improve the guesses.
List of fields are currently using genetic algorithms ?
- Plan airplane routes.
- Develop equity market bidding strategies
- point antenna on military vehicles
- optimize an iterative prisioner’s dilemma strategy
- Work toward developing artificial intelligence.
Advantages of GA
- Does not require any derivative information
- Is faster and more efficient as compared to the traditional methods.
- Provides a list of “good” solutions and not just a single solution.
- Always gets an answer to the problem, which gets better over the time.
- Useful when the search space is very large and there are a large number of parameters involved.
Limitations of GAs
GAs are not suited for all problems, especially problems which are simple and for which derivative information is available.
Fitness value is calculated repeatedly which might be computationally expensive for some problems.
Being stochastic, there are no guarantees on the optimality or the quality of the solution.
If not implemented properly, the GA may not converge to the optimal solution.
Population
It is a subset of all the possible (encoded) solutions to the given problem. The population for a GA is analogous to the population for human beings except that instead of human beings, we have Candidate Solutions representing human beings.
Chromosomes
A chromosome is one such solution to the given problem.
Gene
A gene is one element position of a chromosome.
Allele
It is the value a gene takes for a particular chromosome.
Genotype
Genotype is the population in the computation space. In the computation space, the solutions are represented in a way which can be easily understood and manipulated using a computing system.
Phenotype
Phenotype is the population in the actual real world solution space in which solutions are represented in a way they are represented in real world situations.