KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS VOL. 13, NO. 4, Apr. 2019 1765 Copyright ⓒ 2019 KSII A Survey of Genetic Programming and Its Applications Milad Taleby Ahvanooey 1 , Qianmu Li 1,2 , Ming Wu 1 , Shuo Wang 1 1 School of Computer Science and Engineering, Nanjing University of Science and Technology, Nanjing, P.O. Box 210094 P.R. China. 2 Intelligent Manufacturing Department, Wuyi University, Jiangmen, P.O. Box 529020 P.R, China. [E-mail: Taleby@njust.edu.cn, Qianmu@njust.edu.cn, Wuming@njust.edu.cn, Sharon_Wang@njust.edu.cn] *Corresponding Authors : Milad Taleby Ahvanooey & Qianmu Li Received December 28, 2017; revised April 27, 2018; revised August 21, 2018; accepted November 13, 2018; published April 30, 2019 Abstract Genetic Programming (GP) is an intelligence technique whereby computer programs are encoded as a set of genes which are evolved utilizing a Genetic Algorithm (GA). In other words, the GP employs novel optimization techniques to modify computer programs; imitating the way humans develop programs by progressively re-writing them for solving problems automatically. Trial programs are frequently altered in the search for obtaining superior solutions due to the base is GA. These are evolutionary search techniques inspired by biological evolution such as mutation, reproduction, natural selection, recombination, and survival of the fittest. The power of GAs is being represented by an advancing range of applications; vector processing, quantum computing, VLSI circuit layout, and so on. But one of the most significant uses of GAs is the automatic generation of programs. Technically, the GP solves problems automatically without having to tell the computer specifically how to process it. To meet this requirement, the GP utilizes GAs to a “population” of trial programs, traditionally encoded in memory as tree-structures. Trial programs are estimated using a “fitness function” and the suited solutions picked for re-evaluation and modification such that this sequence is replicated until a “correct” program is generated. GP has represented its power by modifying a simple program for categorizing news stories, executing optical character recognition, medical signal filters, and for target identification, etc. This paper reviews existing literature regarding the GPs and their applications in different scientific fields and aims to provide an easy understanding of various types of GPs for beginners. Keywords: Automatic Programming, Genetic Programming, Genetic Algorithm, Genetic Operators; This paper supported by the Project of ZTE Cooperation Research (2016ZTE04-11), Jiangsu province key research and development program: Social development project (BE2017739), Jiangsu province key research and development program:Industry outlook and common key technology projects (BE2017100), 2018 Jiangsu Province Major Technical Research Project "Information Security Simulation System"; http://doi.org/10.3837/tiis.2019.04.002 ISSN : 1976-7277