Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Genetic Algorithm The Dawn of a New Revolution in Computer Science Fatma Abdalla Mabrouk Kheiralla Dr Mudawi Mukhtar Elmusharaf The National Ribat University Faculty Computer studies Khartoum ,Sudan [email protected] [email protected] Abstract With the rapid technological developments, the world needed to be more accurate and speedy decision making and in reducing errors as much as possible. This paper discusses a transudate genetic algorithm as one of the technical tools that feature natural technique and efficiency in completing and putting many solutions for issues concerning technological development,it is a technique based on mimicking natural evolution similar to the chains of chromosomes. The important feature of the genetic algorithm is its adaptive nature, which makes it less demanding to figure out the equation for genetics.The idea of genetic algorithms lies in the generation of some solutions for the problem randomly, then scan these solutions and compare them with some of the standard solutions set by the designer algorithm, and only the best solutions will remain. This paper is a trial to know and understand the algorithm technology and genetic studies and its implemented applications. Keywords: Genetic Algorithm , mimicking natural,encryption algorithms is based on randomly generating a group of solutions to a specific problem, then scan these solutions and compare them with the criteria that have been set by the designer algorithm, and only the best solutions are going to remain, while the least efficient solutions will be ignored. These promising solutions will be allowed to reproduce generating multiple copies, random modifications are going to take place during this copying procedure leading to creation of new generation of digital offsprings which are going to be subjected to another fitness evaluation process[3], and by chance the random changes in the new generation will introduce better and more efficient solutions.Again these new solution are going to be transferred into next generation, this process is going to be repeated leading to creation of the best and most suitable solutions 1. Introduction A Genetic algorithm is a programming technique based on the creation of optimal solutions for any specific problem[1], these solutions simulate natural biological evolution through the creation of a set of possible solutions in the form of chains similar to chromosome sequences, called fitness function, which allow to evaluate each solution individually, and then some of the random biological processes will take place to produce the optimal solution[13]. The most important feature in the genetic algorithm is the adaptive nature[2], which minimize its need to know the most suitable equation in order to put it down. The method of genetic algorithm is quite similar the natural process of proliferation and modification of living organisms. The main idea of genetic 1 that can achieve optimization[16]. the most perfect allowed to reproduce, and on average the fitter chromosomes produce more offspring than the less fit ones. Crossover exchanges subparts of two chromosomes, roughly mimicking biological recombination between two single−chromosome ("haploid") organisms; mutation randomly changes the allele values of some locations in the chromosome; and the inversion reverses the order of a contiguous section of the chromosome, thus rearranging the order in which genes are arrayed. Holland’s introduction of a population−based algorithm with crossover, inversion, and the mutation was a major innovation. 2. Evolutionary Programming In the 1950s and the 1960s, several computer scientists independently studied evolutionary systems with the idea that evolution could be used as an optimization tool for engineering problems[13]. The idea in all these systems was to evolve a population of candidate solutions to a given problem, using operators inspired by natural genetic variation and natural selection. The field of evolutionary strategies has remained an active area of research, mostly developing independently from the field of genetic algorithms. Developed "evolutionary programming," a technique in which candidate solutions to given tasks were represented as finite−state machines, which were evolved by randomly mutating their state−transition diagrams and selecting the fittest. 4. Genetic algorithms are evolutionary algorithms part of Evolutionary computing is a rapidly growing area of artificial intelligence[12]. There are population based meta heuristic optimization algorithms that use biology-inspired mechanisms and survival of the fittest theory in order to refine a set of solution iteratively. (GAs) are subclasses of (EAs) where the elements of the search space are binary strings or arrays of other element types[14]. 3. History of Genetic algorithms The history of Genetic algorithms (GAs) was invented by John Holland in the 1960s and was developed by Holland and his students and colleagues at the University of Michigan in the 1960s and the 1970s[13]. In contrast with evolution strategies and evolutionary programming, Holland's original goal was not to design algorithms to solve specific problems, but rather to formally study the phenomenon of adaptation as it occurs in nature and to develop ways in which the mechanisms of natural adaptation might be imported into computer systems[4]. (GAs) are computer based search techniques patterned after the genetic mechanisms of biological organisms that have adapted and flourished in changing highly competitive environment[2]. The last decade has witnessed many exciting advances in the use of genetic algorithms to solve optimization problems in process control systems (GAs) are the solution for optimization of hard problems quickly, reliably and accurately[7]. As the complexity of the real-time controller increases, the (GAs) applications have grown in more than equal measure. Holland's GA is a method for moving from one population of "chromosomes" (e.g. Strings of ones and zeros, or "bits") to a new population by using a kind of "natural selection" together with the genetics−inspired operators of crossover, mutation, and inversion. Each chromosome consists of "genes" (e.g. Bits), each gene being an instance of a particular "allele" (e.g., 0 or 1)[14]. The selection operator chooses those chromosomes in the population that will be The figure below outlines the situation of natural techniques among other well known search procedures. 2 makeup involves unique representation, which maintained a generation of individuals at each point in the search process. It is important that the initial population has a perfect variety of individuals,[5] because they learn from each other. The first order of diversity is by configuration of network and random uniformity, this diversity is not related to local optimization methods or assembly and lack of this diversity will lead to suboptimal solutions. Step 2 Evaluatation of Fitness The main function of fitness is to measure the obtained object, it is optimized by applying a genetic process and evaluation of each solution to identify whether it will assist in the solutions of the second generation. In the process of evaluation for each chromosome [6]the value is set to return to its full fitness, depending to its proximity to solve the problem. It is perfectly designed because it selects the individual which produces and creates the next generation of population[15]. Figure 2.2: the block situation of natural search techniques Step3 New population: 5. The steps of general Genetic Algorithm: It is composed of the following processes: Selection, Crossover, Mutation and Acceptance. Genetic algorithms (GAs) are mainly inspired by the famous Darwinian’s theory of survival of the fittest. It is fundamentally based on a group of solutions represented by chromosomes, called a population. A group of solutions is extracted from one population and used to create a new population, with the motivation that the new population of chromosomes can be better than the old ones, and the solutions are selected according to their suitability to form new solutions. This process is repeated until a satisfying condition is reached[5]. A) Selection Two parents of chromosomes are selected from a population according to their fitness, thus better fitness of the parent will lead the bigger chance of selection. The function of evaluation mainly controls the selection of individuals for the coming generation to reproduce or to live. Chromosomes with a greater fitness value are more likely to reproduce offspring[10]. The main outlines of genetic algorithm are as below[18]: B) Crossover As the offspring is the product of parent chromosomes, the crossover is the formation of a new chromosome through the combination of two portions of a two good parent chromosome[19]. It consists of a Step 1 Generation of random population It is a random group of solutions formed among the initial population. Its genetic 3 combination of genes, including configuration. A crossover point in the parent chromosomes is randomly chosen. Then, the two different portions of each chromosome are swapped with other portion of chromosomes to form two new chromosomes. Step4 Replacement Applying new solutions (population) to run more of the process of Genetic Algorithm. Step 5 Testing and Termination There are many types of crossover, the typical type of crossover in binary representation is the one-point and the two-point crossover. In almost all types of crossover operators pick from the mating pool at random and some portions of the strings are exchanged between the strings to create two new strings. Solutions are examined, if they satisfied the end of the case, as the fitness value of the best solution is met or the maximum number of generations is achieved, the process is terminated and we return to the best solutions in the current population. Step 6 Looping of GA C) Mutation Genetic algorithm performance is affected by operators crossover and mutation. If the solutions of the new generation produced one output that is equal or close to the required answer, so the issue is resolved. If the output was not equal to the required answer, then the same process will be repeated for the next generation as their parents did until a solution is found. Mutation is a mandatory operation in GA, it is the most fundamental way to modify a solution for the next generation. Mutation takes place by changing the value of allele randomly to a slight change. It improves the general performance of chromosomes and protects the searching process of premature convergence. It also keeps the diversity in the population. The mutation point is randomly chosen and the allele associated with the mutation point is changed. Not all alleles are mutated but depend on the mutation probability. The mutation operation alters the strings to hopefully create a better string. Since this operation is stochastically performed, the claim is not guaranteed[11]. Elitism Elitism is the mechanism that maintains a number of the best solutions in GA. It can be done in many different ways, it can be introduced in a simple mechanism in the steady state, genetic operators are used to create two offsprings, they are then compared to their parents, and the best two are selected among the four solutions as the next generation[17]. Elitism can be applied universally in the generation sense, in this case when the offspring population is formed it is combined with the current population and the next generation is selected from the best solutions. Figure 2.3: A diagram for a The steps of general Genetic Algorithm 4 6. Genetic Algorithm’s Techniques Coding techniques in genetic algorithms are specific problem that transforms to solve the problem in the chromosomes. There are various coding techniques used in genetic algorithms. Binary encoding, Permutation encoding, Value encoding and Tree encoding. The most common form of encoding is Binary encoding, it gives many possible chromosomes. 7. Performance Analysis of Methods in Genetic Algorithm Literature Miss. Komal R. Hole1 and Prof. Vijay S et al.[1] Giving a brief overview of the canonical genetic algorithm and reviewing the tasks of image pre-processing. The result The need of Image Enhancement and the genetic algorithm image can be enhanced using the Genetic Algorithm . Rajesh Kumar et al. [2] Comparing the normal techniques of image fusion with genetic algorithms based techniques.The result The plans for image fusion based GA better performance than existing schemes. Raj Kumar Mohanta1[3] Reviewing the applications of genetic algorithms for image segmentation.The result Genetic algorithms have many advantages in obtaining the optimal solution. Optimal result depends on the encoding and the involvement of chromosome genetic system operators. Surekha1 and S. Sumathi2[4] Proposing a new method to improve digital images in a Separate Wavelet Transform (DWT) domain.The result Proving to be safe and strong attacks filtering, additive noise, rotation, scaling, cropping and compression JPEG. Peak Signal to Noise Ratio (PSNR), Mean Square Error (MSE), and is evaluating computational time for group photos. T. R. Gopalakrishnan Nair and Suma V, Manas S[5] Proposing a steganography method using genetic algorithm to protect against The Retention of Secrecy (RS) attacks in color images. the result It is difficult to detect the existence of the secret message by the RS analysis, implementation of this approach enhances the visual quality of the stego image. The length of the secret message increases, the probability of detection of secret message by RS analysis also increases. Shen Wang, Bian Yang and Xiamu Niu [7] Presenting a new steganography based on genetic algorithm. The result Demonstrate the proposed algorithm's activeness in resistance to steganalysis with better visual quality. The embedding capacity is 90%. Amrita Khamrui Enrolled Scholar [8] Authenticated the image to ensure the security Binary encoding is often not natural for many problems and sometimes corrections must be made after crossover and mutation. The best one that suits with the request queue or coding problems are permutations. Where coding is used flip. In flipping encoding, each chromosome is a series of numbers in sequence. Value coding is a technique in which each chromosome is a series of some of the values, it is used where require some more complex values. It is more necessary to develop some new crossover and mutation specific for the problem. Tree encoding is used mainly for evolving programs or advanced expressions for genetic programming, where the crossover and mutation can be done relatively easily. Figure 2.4: a Genetic Algorithm’s Techniques 5 against the Retention of Secrecy (RS) analysis. The resulting Comparative study of Peak Signal to Noise Ratio (PSNR) has been made between various techniques. It has been that PSNR is in between 35 to 50 (approx) which is satisfied as the better value of PSNR improves image quality. It has been noticed that PSNR is gradually increasing which indicates an improvement of different techniques. Elham Ghasemi et al .[9] Proposing a method embeds the message in (DWT) coefficients based on GA and the Optimal Pixel Adjustment Process (OPAP) algorithm and then applies to the obtained embedded image. The result The simulation results showed that capacity and imperceptibility of the image had increased simultaneously. environmental engineering, medical imaging system and image processing. 9. CONCLUSION Genetic algorithms have proven to be the most successful problem-solving method, inspired by natural evolutionary biology, it showed the strength of evolutionary basics, and it proved that it can come up with solutions that was not expected even by the programmers who initialized the algorithms. It is not necessary for Genetic Algorithm to find the best solution, but it can find a group of solutions that are very close to the best one, that is why Genetic Algorithm is characterized by polynomial complexity, where it can always be applied to solve complicated problems. It became quite obvious that Genetic Algorithm is going to create a great number of promising methods to solve many technological difficulties and machinery problems. And it is going to raise a dawn of a new revolution in computer science, that will help in the creation of new effective forms of computing systems, which are capable of dealing with different types of complexities, and can always learn new methods of problem solving, similar to the evolutionary nature of biological systems. Those systems are supposed to be ideal models rather than perfect, in an attempt to match the real world data. Santi P. Maity, and Malay K. Kundu [10] Proposed two algorithms to investigate the scope of usage of GA for optimality of data hiding in digital images. The result That parabolic function offers higher visual and statistical invisibility and reasonably good robustness, the linear function offers a higher robustness with reasonably good Invisibility Christine K. Mulunda[11] Proposing a secure text Steganography algorithm based on the genetic method. The result Achieving effective optimization, security, and robustness. 8. Applications of Genetic Algorithms 10. REFERENCES Scientists have found that Genetic Algorithm technology is faster and stronger than all other traditional methods because of its special properties that have already been mentioned before, and because it needs minimal information for effective searching process compared to other methods which require rich information and because the genetic searching process pass through a group of points rather than a single point, which are very effective in nonlinear problems. That is why Gernetic Algorithm can be applied to a wide range of different fields such as Economics, production planning, aviation, vehicles, signal processing, communication networks, Neural networks, [1]Miss. Komal R. Hole1, Prof. Vijay S. Gulhane2, Prof. Nitin D. Shellokar3." Application of Genetic Algorithm for Image Enhancement and Segmentation", 2013. [2] Rajesh V Jyothi 1, B Rajesh Kumar 1 , P Krishna Rao 2, D V Rama Koti Reddy 2 ."Image Fusion Using Evolutionary Algorithm (GA)".V Jyothi 1, by GITAM University,VJyothi,B.Rajesh Kumar,P.Krishna Rao,D.V.Rama Koti Reddy, Int. J. Comp. Tech.Appl.,Vol.2, 322-326 Visakhapatnam, 6 AP,India,2Andhra University, Visakhapatnam, AP, India, 2011. Algorithm Based Model in Text Steganography". The African Journal of Information Systems, Vol.5 Issue 4, 10-12013. Miss. Komal R. Hole1, Prof. Vijay S. Gulhane2, Prof. Nitin D. Shellokar3." [12]Application of Genetic Algorithm for Image Enhancement and Segmentation".International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Vol.2, Issue.4, 4, 2013. [3 ]Raj Kumar Mohanta1,Binapani Sethi2." A Review of Genetic Algorithm application for Image Segmentation ",Vol.3 (2), 720723,2012. [4]P.Surekha1 and S.umathi2."Implementation Of Genetic Algorithm For A Dwt Based Image Watermarking Scheme".2011. [5] Mantas Paulinas, Andrius Ušinskas ."Survey Of Genetic Algorithms Applications For Image Enhancement And Segmentation".ISSN 1392 – 124X INFORMATION TECHNOLOGY AND CONTROL, Vol.36, No.3,2007. [13]Mitchell Melani."An Introduction to Genetic Algorithms".A Bradford Book The MIT PressCambridge, Massachusetts , London, England Fifth printing, 1999. [14]S.N.Sivanandam·S.N.Deepa."Introduction to Genetic Algorithms". ISBN 978-3-54073189-4 Springer Berlin Heidelberg New York,2007. [6] T. R. Gopalakrishnan Nair#1, Suma V#2, Manas S#3."Genetic Algorithm to Make Persistent Security and Quality of Image in Steganography from RS Analysis". 1,2Research and Industry Incubation Center, Dayananda Sagar Institutions, Bengaluru, India.2012. [15]Fleming, Peter and R.C. Purshouse. "Evolutionary algorithms in control systems engineering: a survey." Control Engineering Practice, vol.10, p.1223-1241 (2002). [7] Shen Wang, Bian Yang and Xiamu Niu."A Secure Steganography Method based on Genetic Algorithm". Journal of Information Hiding and Multimedia Signal Processing, 2073-4212,Ubiquitous International Vol.1, No.1, 1, 2010. [16] Goldberg, David. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 1989. [17] K. Deb, "An efficient constraint-handling method for genetic algorithms", Comput. Methods Appl. Mech. Eng., vol. 186, no. 2&ndash,4, pp.311 -338 2000. [8] Amrita Khamrui Enrolled Scholar."Report on Genetic Algorithm based Steganography for Image Authentication".2014. [9] Elham Ghasemi, Jamshid Shanbehzadeh, and Nima Fassihi."High Capacity Image Steganography Based on Genetic Algorithm and Wavelet Transform". Chapter 30,2012. [18]Rahul Malhotra, Narinder Singh & Yaduvir Singh. "Genetic Algorithms: Concepts, Design for Optimization of Process Controllers".Vol. 4, No. 2; March 2011. [10] Santi P. Maity1, Malay K. Kundu2."Genetic Algorithms for Optimality of Data Hiding in Digital Images". Received: 30.1.2008 / Revised version: 31.03.2008. [11] Christine K. Wagacha, Alfayo [19] Fonseca, Carlos and Peter Fleming. "An overview of evolutionary algorithms in multiobjective optimization." Evolutionary Computation, vol.3, no.1, p.1-16 (1995). Mulunda, Peter W. O. Adede."Genetic 7