International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 8, Issue 2 Ser I (Feb 2018), PP. 09-12 www.irjes.com Applications of Genetic Algorithm in Distributed Computing, Machine Learning and Software Engineering Faheem Ahmad * , Dr. Shafiqul Abidin ** *(Research Scholar, Shri Venkateshwara University Gajraula, Uttar Pradesh India) **(Head, Department of IT, HMR Institute of Technology & Management, New Delhi India) Corresponding Author: Faheem Ahmad ABSTRACT: There are many types of computational techniques like deterministic, evolutionary and random. Evolutionary techniques are also recognized as the technique which has been inspired by nature as these kinds of techniques have taken the concept from nature. Genetic algorithm (GA) is one of the most frequently utilized evolutionary techniques which is utilized to solve different NP-hard computational problems. The base of Genetic Algorithm is the principle of human genetic. Earlier research presented that it was one of the most successfully used technique to answer the different problems from the domain of Computer Science viz. task scheduling, software cost estimation, image processing and query optimization etc. In this paper, an effort is used to study the application of Genetic Algorithm in Distributed Computing, Query Optimization, Software Engineering, and Machine Learning. KEY WORDS: Software Engineering, Database, Genetic algorithm Evolutionary algorithm --------------------------------------------------------------------------------------------------------------------------------------- Date of Submission: 11-05-2018 Date of acceptance: 28-06-2018 --------------------------------------------------------------------------------------------------------------------------------------- I. INTRODUCTION: In last few years, a substantial development has been found in software and research industry. Firstly, all the NP-Hard problems and complex system were created using deterministic techniques. However, these days, evolutionary techniques are most commonly applied to solve the difficult problems. The evolutionary Algorithms (EA) are basically developed on Charles Darwin’s theory of Evolution. In Evolutionary Algorithm, the individuals are symbolized by fixed length strings called chromosomes. The key concept behind all the techniques is same as firstly the population of individuals is randomly selected then the function which is called as fitness function is applied to choose the most suitable participants. The new offspring is generated by the application of Crossover and Mutation operators. We can say that, evolutionary computation applies iterative growth, such as growth or upgrading in a population. This population is then selected in a steered random explore by applying parallel handling to get the wanted result. Such processes are often encouraged by biological mechanisms of evolution. As evolution can generate extremely optimized processes and networks, it has many functions in computer science. Few of the important evolutionary techniques are given below: Genetic algorithm Honey bee Harmony search Genetic Programming Cultural algorithm Ant colony optimization Particle swarm optimization Differential evolution II. GENETIC ALGORITHM: Based upon intricacy, a problem can be categorized as P, NP-hard and NP-complete. NP hard problem are complicated and complex and utilize substantial volume of CPU time for their execution. In Computer Science, the problems like task scheduling, query optimization, software cost estimation, and data mining all are NP-hard in character. It is challenging to explain these problems using traditional techniques. Genetics is a heuristic approach in which assumptions can be made. The implementation of the problem can be swifter by using genetics approach. The implementation of Genetic Algorithm starts with randomly generated chromosomes. The Fitness function is use to select the fittest ones. In it, two different types