Abstract
Recently, automatic programming approaches have attracted great deal of interest aiming to utilize search techniques to find out optimal programs in various problems. Genetic programming is the most commonly explored automatic programming technique which uses genetic algorithm to evolve and discover programs with the tree structure. Herein, we focus on a new gravitational search algorithm (GSA)-based technique to create computer programs, automatically. This method is called gravitational search programming (GSP). Using GSA, the approach of generating the tree structure and insertion of internal nodes has been explained in detail. The GSP has been employed to the symbolic regression (SR) and the problem of feature construction (FC) that are widely used as a mathematical expression fitting to a given set of data points, and a data preprocessing technique for classification, respectively. The proficiency of the proposed algorithm has been evaluated and compared with the well-known automatic programming algorithms as well as C4.5 decision tree classifier. The results have been obtained over ten typical functions and 13 diverse datasets. The obtained results prove the effectiveness of the proposed method in achieving improved accuracy values in comparison to those of competing algorithms.
Similar content being viewed by others
References
Olmo JL, Romero JR, Ventura S (2014) Swarm-based metaheuristics in automatic programming: a survey. Wiley Interdiscip Rev Data Min Knowl Disc 4:445–469
Poli R, Langdon WB, McPhee NF, Koza JR (2008) A field guide to genetic programming. Lulu. com
Green J, Whalley JL, Johnson CG (2004) Automatic programming with ant colony optimization. In: Proceedings of the 2004 UK Workshop on Computational Intelligence, pp 70–77
Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection, vol 1. MIT press
Langdon WB, Poli R (2013) Foundations of genetic programming. Springer Science & Business Media
Shirakawa S, Ogino S, Nagao T (2008) Dynamic ant programming for automatic construction of programs. IEEJ Trans Electr Electron Eng 3:540–548
Pham N, Malinowski A, Bartczak T (2011) Comparative study of derivative free optimization algorithms. IEEJ Trans Electr Electron Eng 7:592–600
Dioşan L, Andreica A (2015) Multi-objective breast cancer classification by using multi-expression programming. Appl Intell 43:499–511
Cramer NL (1985) A representation for the adaptive generation of simple sequential programs. In: Proceedings of the First International Conference on Genetic Algorithms, pp 183–187
Koza JR Hierarchical Genetic Algorithms Operating on Populations of Computer Programs. In: IJCAI, vol 1989, pp 768–774
Banzhaf W, Nordin P, Keller RE, Francone FD (1998) Genetic programming: an introduction, vol 1. Morgan Kaufmann San Francisco
Nordin P (1994) A compiling genetic programming system that directly manipulates the machine code.In: Kenneth L. Kinnear, Jr., Kenneth E. Kinnear, Peter J. Angeline (eds) Advances in Genetic Programming. MIT Press, 1:311–331
Nordin P, Banzhaf W (1995) Evolving Turing-Complete Programs for a Register Machine with Self-modifying Code. In: ICGA, pp 318–325
Miller JF (1999) An empirical study of the efficiency of learning boolean functions using a cartesian genetic programming approach. In: Proceedings of the 1st Annual Conference on Genetic and Evolutionary Computation, vol 2, pp 1135–1142
Miller J, Turner A (2015) Cartesian genetic programming. In: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation, pp 179–198
Kalkreuth R, Rudolph G, Krone J (2015) Improving convergence in cartesian genetic programming using adaptive crossover, mutation and selection. In: 2015 IEEE Symposium Series on Computational Intelligence, pp 1415–1422
Whigham PA (1995) Grammatically-based genetic programming. In: Proceedings of the Workshop on Genetic Programming: from Theory to Real-World Applications, pp 33–41
Koza JR (1992) Non-linear genetic algorithms for solving problems by finding a fit composition of functions. Google Patents
Langdon WB, Poli R (1998) Genetic programming bloat with dynamic fitness. In: Banzhaf W, Poli R, Schoenauer M, Fogarty TC (eds) Genetic Programming. EuroGP 1998. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg, pp 97–112
Poli R (2003) A simple but theoretically-motivated method to control bloat in genetic programming. In: European Conference on Genetic Programming, pp 204–217
Koza JR, Bennett FH III, Stiffelman O (1999) Genetic programming as a Darwinian invention machine. In: European Conference on Genetic Programming, pp 93–108
O’Neill M, Ryan C (2001) Grammatical evolution. IEEE Trans Evol Comput 5:349–358
Ryan C, Collins J, Neill MO (1998) Grammatical evolution: Evolving programs for an arbitrary language. In: European Conference on Genetic Programming, pp 83–96
Hoai NX, McKay RI, Abbass HA (2003) Tree adjoining grammars, language bias, and genetic programming. In: European Conference on Genetic Programming, pp 335–344
P. A. Whigham, “Inductive bias and genetic programming,” 1995.
Ferreira C (2006) Gene expression programming: mathematical modeling by an artificial intelligence, vol 21. Springer
Laskar BZ, Majumder S (2017) Gene Expression Programming. In: Bio-Inspired Computing for Information Retrieval Applications. IGI Global, pp 269–292
J. Zhong, Y.-S. Ong, and W. Cai, “Self-learning gene expression programming,” IEEE Trans Evol Comput, vol. 20, pp. 65–80, 2016.
C. Ferreira and U. Gepsoft, “What is gene expression programming,” ed., 2008.
Olmo JL, Romero JR, Ventura S (2010) A grammar based ant programming algorithm for mining classification rules. In: 2010 IEEE Congress on Evolutionary Computation (CEC), pp 1–8
Roux O, Fonlupt C (2000) Ant programming: or how to use ants for automatic programming. In: Proceedings of ANTS, pp 121–129
Hara A, Watanabe M, Takahama T (2011) Cartesian ant programming. In: 2011 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp 3161–3166
Salehi-Abari A, White T (2008) Enhanced generalized ant programming (EGAP). In: Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation, pp 111–118
Kushida J-i, Hara A, Takahama T, Mimura N (2017) Cartesian ant programming introducing symbiotic relationship between ants and aphids. In: 2017 IEEE 10th International Workshop on Computational Intelligence and Applications (IWCIA), pp 115–120
Kushida J-i, Hara A, Takahama T (2015) Cartesian Ant Programming with node release mechanism. In: 2015 IEEE 8th International Workshop on Computational Intelligence and Applications (IWCIA), pp 83–88
Yeung SH, Chan WS, Ng KT, Man KF (2012) Computational optimization algorithms for antennas and RF/microwave circuit designs: An overview. IEEE Trans Ind Inf 8:216–227
O’Neill M, Brabazon A (2004) Grammatical swarm. In: Genetic and Evolutionary Computation–GECCO 2004, pp 163–174
O’Neill M, Brabazon A (2006) Grammatical swarm: The generation of programs by social programming. Nat Comput 5:443–462
Veenhuis C, Koppen M, Kruger J, Nickolay B (2005) Tree swarm optimization: an approach to PSO-based tree discovery. In: The 2005 IEEE Congress on Evolutionary Computation, pp 1238–1245
Karaboga D, Ozturk C, Karaboga N, Gorkemli B (2012) Artificial bee colony programming for symbolic regression. Inf Sci 209:1–15
Qing L, Odaka T, Kuroiwa J, Ogura H (2013) Application of an artificial fish swarm algorithm in symbolic regression. IEICE Trans Inf Syst 96:872–885
Husselmann A, Hawick K (2014) Geometric firefly algorithms on graphical processing units. In: Cuckoo search and firefly algorithm. Springer, pp 245–269
Headleand C, Teahan W (2013) Grammatical herding. J Comput Sci Syst Biol 6:043–047
Koza JR (1999) Genetic programming III: Darwinian invention and problem solving, vol 3. Morgan Kaufmann
Gritz L, Hahn JK (1997) Genetic programming evolution of controllers for 3-D character animation. Genet Program 97
Handley S (1995) Predicting whether or not a nucleic acid sequence is an E. coli promoter region using genetic programming. In: First International Symposium on Intelligence in Neural and Biological Systems, INBS’95, pp 122–127
Tackett WA (1993) Genetic Programming for Feature Discovery and Image Discrimination. In: ICGA, pp 303–311
Mahdizadeh M, Eftekhari M (2015) A New Fuzzy Rules Weighting Approach Based On GeneticProgramming For Imbalanced Classification. In: JSDP 22(2):111–125
Wong ML, Leung KS (2002) Data mining using grammar based genetic programming and applications, vol 3. Springer, ISBN 978–0–306-47,012-7
Rashedi E, Nezamabadi-Pour H, Saryazdi S (2009) GSA: a gravitational search algorithm. Inf Sci 179:2232–2248
Precup R-E, David R-C, Petriu EM, Preitl S, Radac M-B (2012) Novel adaptive gravitational search algorithm for fuzzy controlled servo systems. IEEE Trans Ind Inf 8:791–800
Barani F, Mirhosseini M, Nezamabadi-pour H (2017) Application of binary quantum-inspired gravitational search algorithm in feature subset selection. Appl Intell 47:304–318
Sheikhan M (2014) Generation of suprasegmental information for speech using a recurrent neural network and binary gravitational search algorithm for feature selection. Appl Intell 40:772–790
Yu Z, Yana L, Feng X Immunity-based gravitational search algorithm, vol 7473. LNCS, pp 14–16
Castelli M, Trujillo L, Vanneschi L, Popovič A (2015) Prediction of energy performance of residential buildings: A genetic programming approach. Energ Build 102:67–74
Darwaish A, Majeed H, Ali MQ, Rafay A (2017) Dynamic Programming Inspired Genetic Programming to Solve Regression Problems. Int J Adv Comput Sci Appl 8:478–487
Uy NQ, Hoai NX, O’Neill M, McKay RI, Galván-López E (2011) Semantically-based crossover in genetic programming: application to real-valued symbolic regression. Genet Program Evolvable Mach 12:91–119
Smith MG, Bull L (2005) Genetic programming with a genetic algorithm for feature construction and selection. Genet Program Evolvable Mach 6:265–281
Neshatian K, Zhang M, Johnston M (2007) Feature construction and dimension reduction using genetic programming. In: Australasian Joint Conference on Artificial Intelligence, pp 160–170
Tran B, Xue B, Zhang M (2017) Using Feature Clustering for GP-Based Feature Construction on High-Dimensional Data. In: European Conference on Genetic Programming, pp 210–226
Tran B, Xue B, Zhang M (2016) Genetic programming for feature construction and selection in classification on high-dimensional data. Memetic Computing 8:3–15
Mahanipour A, Nezamabadi-pour H (2017) Improved PSO-based feature construction algorithm using Feature Selection Methods. In: Swarm Intelligence and Evolutionary Computation (CSIEC), 2017 2nd Conference on, pp 1–5
Liang Y, Zhang M, Browne WN (2017) Feature Construction Using Genetic Programming for Figure-Ground Image Segmentation. In: Intelligent and Evolutionary Systems: The 20th Asia Pacific Symposium, IES 2016, Canberra, November 2016, Proceedings, pp 237–250
Sondhi P (2009) Feature construction methods: a survey. sifaka. cs. uiuc. Edu 69:70–71
Ahmed S, Zhang M, Peng L, Xue B (2014) Multiple feature construction for effective biomarker identification and classification using genetic programming. In: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, pp 249–256
Dai Y, Xue B, Zhang M (2014) New Representations in PSO for Feature Construction in Classification. In: European Conference on the Applications of Evolutionary Computation, pp 476–488
Tran B, Zhang M, Xue B (2016) Multiple feature construction in classification on high-dimensional data using GP. In: Computational Intelligence (SSCI), 2016 IEEE Symposium Series on, pp 1–8
La Cava W, Silva S, Danai K, Spector L, Vanneschi L, Moore JH (2018) Multidimensional genetic programming for multiclass classification. In: GECCO’18 Proceedings of the Genetic and Evolutionary Computation Conference Companion, Kyoto, Japan, pp 23–24
D. Aha, “UCI Machine Learning Repository: Center for MachineLearning Intelligent Systems,” ed.
Dash M, Liu H (1997) Feature selection for classification. Intell. Data Anal. 1:131–156
Silva S, Almeida J (2003) GPLAB-a genetic programming toolbox for MATLAB. In: Proceedings of the Nordic MATLAB conference, pp 273–278
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Mahanipour, A., Nezamabadi-pour, H. GSP: an automatic programming technique with gravitational search algorithm. Appl Intell 49, 1502–1516 (2019). https://doi.org/10.1007/s10489-018-1327-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10489-018-1327-7