In this article we will introduce you to the topic of Genetic Algorithms and all the necessary details for you to digest this altogether new area of expertise. This will help you analyze the basics, the concepts and the terminology that is imbibed with the usage of Genetic Algorithms. This will also introduce you to the various crossover and mutational operators, survivor selection as well. The reader of the article is expected to acquire the minimum and sufficient knowledge with this reading.
This article is aimed to target the students and researchers at the graduate / post-graduate level to get the best of the solutions available for Optimization problem quick enough. These cannot be solved using the traditional algorithms as they are not meant to solve by those approaches. The article and its content is written keeping in mind the level of readers who would not be very familiar with the fundamentals of Programming and Basic algorithms.
To start with, to understand the Genetic algorithm, the very first topic that needs to understand is Optimization. Optimization is described as the process of making things better by every run. A given number of inputs when run under the Optimization process gives us the output of our choice.
Optimization also describes the process of finding the best possible values for the input, so that the expected output values are deduced. The best possible values would definitely vary from problem to problem but in mathematical realm this refers to either maximizing or minimizing the objective functions by the varied versions of input parameters.
The possible solutions and values that can be passed to the input constitutes the search space. The search space, is a point or a bunch of points that will give you the optimal solution that we want to deduce. The whole objective of optimization is to identify the point or the bunch of points in that search space.
Related Page: Artificial Intelligence Revolution
Nature is and will always be a wonderful source of inspiration to all of the mankind. Genetic algorithms (GAs) draw all its inspiration from nature itself, and none the less Genetic Algorithms are the search based algorithms that find its roots in the concepts of Natural selection and also genetics. Genetics Algorithms is also a subset of a much larger branch of computation (also known as the evolutionary computation).
Genetic Algorithms were discovered and developed by John Holland and bunch of his students, colleagues from the University of Michigan (main contributor in the form of David E. Goldberg). With this, they were able to try out various other optimization techniques with a large scale of success with it.
By the usage of Genetic Algorithms, there is always a pool of the most possible solutions given any problem to be solved. These pool of solutions undergo a process of recombination and mutation and produce new children. The process stated earlier is continuously repeated for a varied number of generations. Each of the individual (candidate solution) gets assigned a fitness value, the fitter individuals are given more chances to mate and deduce fitter individuals. The process falls in complete alignment with the Darwinian Theory of “Survival of the Fittest”.
This way, the fitter individuals are kept evolving generation over generation till the process reaches a stop criteria. The Genetic algorithms are random in nature, but these perform really well as against the random local search because they make use of the historical information as well (evolution of the individual over specific set of generations).
Related Page: Skill Demands In Artificial Intelligence Job Market
With the understanding that we have about the Genetic Algorithms, it is the best time for us to discuss various advantages and disadvantages of them. Genetic Algorithms have a numerous number of advantages and hence a reason why they are particularly very popular. Some of the most common advantages of the Genetic Algorithms is given in this section of the article, as given below:
Genetic Algorithms do not require any derivative information (There is every possibility that there may not be any information that we can rely on based on the problem that we choose to solve with these Genetic Algorithms).
Genetic Algorithms are faster and efficient when compared to the traditional methods of brute-force search.
Genetic Algorithms is proven to have many parallel capabilities
Optimizes both continuous and discrete functions and also multi-objective problems.
As per the discussions above, the following are the limitations to Genetic Algorithms which are listed as below:
Genetic Algorithms are not best suited for simpler problems where the derivative information is readily available.
Fitness value gets evaluated on set of generations, and this can be an expensive process for a certain number of problems using Genetic Algorithms.
If a Genetic algorithm is not put to use in the best manner, it may not converge to an optimal solution.
Related Page: How Artificial Intelligence Is Revolutionizing Education
Coming to the most important question of the topic, are Genetic Algorithms used in the space of Artificial Intelligence? This would be an opinion based question, but in terms of how things are commonly defined – Yes, Genetic algorithms are a part of Artificial Intelligence. Let us discuss few points that enables us to mark these words right:
An ability that is commonly attributed to intelligence is problem solving.
Improving on the learning from its previous experiences
Artificial intelligence can be defined as "replicating intelligence, or parts of it, at least in appearance, inside a computer".
Genetic algorithms are computational problem solving tools (generation over generation, they evolve and they learn).
Considering the points discussed above, it can be deduced that Genetic Algorithms can be concluded a kind of Artificial intelligence.
This article has focused on introducing the topic of Genetic Algorithms and has provided sufficient details for a newbie to correlate things and grasp the basic concepts of it. To be very frank, this is just a drop of what an individual aims to learn in the realm of Genetic Algorithms.
A suggestion at this point is going to try and implement as many problems as you can and will to understand the inner workings of this algorithm. Hope that article has helped you gain the much needed information about Genetic Algorithms and its related with Artificial Intelligence.
Get Updates on Tech posts, Interview & Certification questions and training schedules