Background

Gentle Introduction to Genetic Algorithms

Exploring Uncharted Territory of AI Algorithms

Software Engineer

Testimonial Author

Charitha Senarathne

I am writing this article just to explain one of the remote unpopular branch of Artificial Intelligence and possibilities that we can explore using these algorithms. We do not need to limit ourselves only to machine learning, there are some cool AI algorithms exist and we can even use those in par with machine learning. It has now come to a point that most people think AI only as machine learning. Machine learning is not the only branch of AI, may be the most popular one today. If I were to take you back in the history of AI, you would get to know that there was an era where machine learning is totally neglected by the academia. So its progress has been stopped almost for two full decades. Now it is reviving and showing its full potential to us. The point I want to prove here is that we never know what we

can achieve with one technique until we experiment with it. In 60’s Expert systems was considered as the major branch of the AI, machine learning is criticized, neglected until 80’s. But look at now where machine learning and Expert systems are.
Below is one of my favorite texts on Artificial Intelligence which describes one era of AI where machine learning is brutally criticized by one of the pioneers of Artificial Intelligence, non-other than famous Professor Marvin Minsky (Died 24th January 2016 – Yes we know and mourn if some actor or actress dies while deaths of these very important people mostly goes unnoticed)

Professor Marvin Minsky
 
Professor Seymour Papert

”Once upon a time two daughter sciences were born to the new science of cybernetics. One sister was natural, with features inherited from the study of the brain, from the way nature does things. The other was artificial, related from the beginning to the use of computers. Each of the sister sciences tried to build models of intelligence, but from very different materials. The natural sister built models (called neural networks) out of mathematically purified neurones. The artificial sister built her models out of computer programs. In their first bloom of youth the two were equally successful and equally pursued by suitors from other fields of knowledge. They got on very well together. Their relationship changed in the early sixties when a new monarch appeared, one with the largest coffers ever seen in the kingdom of the sciences: Lord DARPA, the Defense Department’s Advanced Research Projects Agency. The artificial sister grew jealous and was determined to keep for herself the access to Lord DARPA’s research funds. The natural sister would have to be slain. The bloody work was done by two staunch followers of the artificial sister, Marvin Minksy and Seymour Papert, cast in the role of the huntsmen sent to slay Snow White and bring back her heart as proof of the deed. Their weapon was not the dagger but the mightier pen, from which came a book - Perceptrons - purporting to prove that neural nets could never fill their promise of building models of mind: only computer programs could do this. Victory seemed assured for the artificial sister. And indeed, for the next decade all the rewards of the kingdom came to her progeny, of which the family of expert systems did best in fame and fortune. But Snow White was not dead. What Minsky and Papert had shown the world as proof was not the heart of the princess; it was the heart of a pig.”



-Seymour Papert, 1988

This model describes how to effectively use DT practices with Agile in a sequential manner within each and every sprint.

My personal belief is that if we are to model human intelligence someday the best AI technique fit for the purpose would be Artificial Neural Networks. You have every right to disagree with me, but before coming to a conclusion you need to learn all the existing AI techniques may be exploring new techniques. This article is my little effort to expose you to a new AI algorithm. In this article I am going to explain the fundamentals of Genetic Algorithms. AI is not using some existing Artificial Intelligence API to write your code, anyone can do that. Real focus should be to explore new techniques, even use existing techniques in an intelligent way. We do not need AI to solve each and every problem. Good old traditional approaches would be enough in most of the cases. So it is vital to identify the scenarios where we can utilize AI to optimal use. In order to do that we need to have a good understanding on all the AI techniques, so we can choose the best one for our purpose.

solutions to the problem at hand. After the successful genotypes are selected from the last generation, a set of genetic operators are used in creating the offspring of the next generation. Whenever some individuals exhibit better than average performance, the genetic information of these individuals will be reproduced more often.

From the view of engineering, GAs are an iterative process where each iteration has two steps, evaluate and generate.

Genetic algorithm can be described in following way:


					Simple Genetic Algorithm
						{
								Initialize population;
								Evaluate population; 
								while TerminationCriteriaNotSatisfied
							{
								Select parents for reproduction;
								Perform recombination and mutation;  
								Evaluate population; 
							} 
						}
				

Genetic Algorithms

Genetic Algorithms are one branch of Artificial Intelligence good at taking potentially huge search spaces and navigating them, looking for optimal combinations of things and finding solutions you might not otherwise find in a lifetime. Genetic algorithms (GA) are a computational paradigm inspired by the mechanics of natural evolution, including survival of the fittest, reproduction, and mutation.

Genetic Algorithms (GAs) were developed by Prof. John Holland and his students at the University of Michigan during the 1960s and 1970s. Essentially, they are a method of “breeding” computer programs and solutions to optimization or search problems by means of simulated evolution. Processes loosely based on natural selection, crossover, and mutation are repeatedly applied to a population of binary strings which represent potential solutions. Over time, the number of above-average individual’s increases, and highly-fit building blocks are combined from several fit individuals to find goo

Neural Networks − GAs are also used to train neural networks, particularly recurrent neural networks. Parallelization − GAs also have very good parallel capabilities, and prove to be very effective means in solving certain problems, and also provide a good area for research.

Image Processing − GAs are used for various digital image processing (DIP) tasks as well like dense pixel matching.

Vehicle routing problems − With multiple soft time windows, multiple depots and a heterogeneous fleet.

Scheduling Applications − GAs are used to solve various scheduling problems as well, particularly the time tabling problem.

Machine Learning − as already discussed, genetics based machine learning (GBML) is a niche area in machine learning.

Robot Trajectory Generation − GAs have been used to plan the path which a robot arm takes by moving from one point to another.

Parametric Design of Aircraft − GAs have been used to design aircrafts by varying the parameters and evolving better solutions.

DNA Analysis − GAs have been used to determine the structure of DNA using spectrometric data about the sample.

Multimodal Optimization − GAs are obviously very good approaches for multimodal optimization in which we have to find multiple optimum solutions.

Who knows may be in the near future GA will be popular as well. If this article helps you to improve your knowledge, make an interest in your minds towards true research then I will be satisfied with my effort of hardly putting these words together.

Get in touch