Skip to main content

Advertisement

Log in

GSP: an automatic programming technique with gravitational search algorithm

  • Published:
Applied Intelligence Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. Poli R, Langdon WB, McPhee NF, Koza JR (2008) A field guide to genetic programming. Lulu. com

  3. 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

    Google Scholar 

  4. Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection, vol 1. MIT press

  5. Langdon WB, Poli R (2013) Foundations of genetic programming. Springer Science & Business Media

  6. Shirakawa S, Ogino S, Nagao T (2008) Dynamic ant programming for automatic construction of programs. IEEJ Trans Electr Electron Eng 3:540–548

    Article  Google Scholar 

  7. Pham N, Malinowski A, Bartczak T (2011) Comparative study of derivative free optimization algorithms. IEEJ Trans Electr Electron Eng 7:592–600

    Google Scholar 

  8. Dioşan L, Andreica A (2015) Multi-objective breast cancer classification by using multi-expression programming. Appl Intell 43:499–511

    Article  Google Scholar 

  9. 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

    Google Scholar 

  10. Koza JR Hierarchical Genetic Algorithms Operating on Populations of Computer Programs. In: IJCAI, vol 1989, pp 768–774

  11. Banzhaf W, Nordin P, Keller RE, Francone FD (1998) Genetic programming: an introduction, vol 1. Morgan Kaufmann San Francisco

  12. 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

  13. Nordin P, Banzhaf W (1995) Evolving Turing-Complete Programs for a Register Machine with Self-modifying Code. In: ICGA, pp 318–325

    Google Scholar 

  14. 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

  15. 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

    Chapter  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. Whigham PA (1995) Grammatically-based genetic programming. In: Proceedings of the Workshop on Genetic Programming: from Theory to Real-World Applications, pp 33–41

    Google Scholar 

  18. Koza JR (1992) Non-linear genetic algorithms for solving problems by finding a fit composition of functions. Google Patents

  19. 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

  20. Poli R (2003) A simple but theoretically-motivated method to control bloat in genetic programming. In: European Conference on Genetic Programming, pp 204–217

    Chapter  Google Scholar 

  21. Koza JR, Bennett FH III, Stiffelman O (1999) Genetic programming as a Darwinian invention machine. In: European Conference on Genetic Programming, pp 93–108

    Chapter  Google Scholar 

  22. O’Neill M, Ryan C (2001) Grammatical evolution. IEEE Trans Evol Comput 5:349–358

    Article  Google Scholar 

  23. Ryan C, Collins J, Neill MO (1998) Grammatical evolution: Evolving programs for an arbitrary language. In: European Conference on Genetic Programming, pp 83–96

    Chapter  Google Scholar 

  24. Hoai NX, McKay RI, Abbass HA (2003) Tree adjoining grammars, language bias, and genetic programming. In: European Conference on Genetic Programming, pp 335–344

    Chapter  Google Scholar 

  25. P. A. Whigham, “Inductive bias and genetic programming,” 1995.

  26. Ferreira C (2006) Gene expression programming: mathematical modeling by an artificial intelligence, vol 21. Springer

  27. Laskar BZ, Majumder S (2017) Gene Expression Programming. In: Bio-Inspired Computing for Information Retrieval Applications. IGI Global, pp 269–292

  28. J. Zhong, Y.-S. Ong, and W. Cai, “Self-learning gene expression programming,” IEEE Trans Evol Comput, vol. 20, pp. 65–80, 2016.

  29. C. Ferreira and U. Gepsoft, “What is gene expression programming,” ed., 2008.

  30. 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

    Google Scholar 

  31. Roux O, Fonlupt C (2000) Ant programming: or how to use ants for automatic programming. In: Proceedings of ANTS, pp 121–129

    Google Scholar 

  32. Hara A, Watanabe M, Takahama T (2011) Cartesian ant programming. In: 2011 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp 3161–3166

    Chapter  Google Scholar 

  33. 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

    Google Scholar 

  34. 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

    Chapter  Google Scholar 

  35. 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

    Chapter  Google Scholar 

  36. 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

    Article  Google Scholar 

  37. O’Neill M, Brabazon A (2004) Grammatical swarm. In: Genetic and Evolutionary Computation–GECCO 2004, pp 163–174

    Chapter  Google Scholar 

  38. O’Neill M, Brabazon A (2006) Grammatical swarm: The generation of programs by social programming. Nat Comput 5:443–462

    Article  MathSciNet  MATH  Google Scholar 

  39. 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

    Chapter  Google Scholar 

  40. Karaboga D, Ozturk C, Karaboga N, Gorkemli B (2012) Artificial bee colony programming for symbolic regression. Inf Sci 209:1–15

    Article  Google Scholar 

  41. 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

    Google Scholar 

  42. Husselmann A, Hawick K (2014) Geometric firefly algorithms on graphical processing units. In: Cuckoo search and firefly algorithm. Springer, pp 245–269

  43. Headleand C, Teahan W (2013) Grammatical herding. J Comput Sci Syst Biol 6:043–047

    Google Scholar 

  44. Koza JR (1999) Genetic programming III: Darwinian invention and problem solving, vol 3. Morgan Kaufmann

  45. Gritz L, Hahn JK (1997) Genetic programming evolution of controllers for 3-D character animation. Genet Program 97

  46. 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

    Google Scholar 

  47. Tackett WA (1993) Genetic Programming for Feature Discovery and Image Discrimination. In: ICGA, pp 303–311

    Google Scholar 

  48. Mahdizadeh M, Eftekhari M (2015) A New Fuzzy Rules Weighting Approach Based On GeneticProgramming For Imbalanced Classification. In: JSDP 22(2):111–125

  49. Wong ML, Leung KS (2002) Data mining using grammar based genetic programming and applications, vol 3. Springer, ISBN 978–0–306-47,012-7

  50. Rashedi E, Nezamabadi-Pour H, Saryazdi S (2009) GSA: a gravitational search algorithm. Inf Sci 179:2232–2248

    Article  MATH  Google Scholar 

  51. 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

    Article  Google Scholar 

  52. 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

    Article  Google Scholar 

  53. 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

    Article  Google Scholar 

  54. Yu Z, Yana L, Feng X Immunity-based gravitational search algorithm, vol 7473. LNCS, pp 14–16

  55. 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

    Article  Google Scholar 

  56. 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

    Google Scholar 

  57. 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

    Article  Google Scholar 

  58. Smith MG, Bull L (2005) Genetic programming with a genetic algorithm for feature construction and selection. Genet Program Evolvable Mach 6:265–281

    Article  Google Scholar 

  59. 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

    Google Scholar 

  60. 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

    Chapter  Google Scholar 

  61. 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

  62. 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

    Google Scholar 

  63. 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

  64. Sondhi P (2009) Feature construction methods: a survey. sifaka. cs. uiuc. Edu 69:70–71

    Google Scholar 

  65. 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

    Google Scholar 

  66. 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

    Google Scholar 

  67. 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

    Google Scholar 

  68. 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

  69. D. Aha, “UCI Machine Learning Repository: Center for MachineLearning Intelligent Systems,” ed.

  70. Dash M, Liu H (1997) Feature selection for classification. Intell. Data Anal. 1:131–156

  71. Silva S, Almeida J (2003) GPLAB-a genetic programming toolbox for MATLAB. In: Proceedings of the Nordic MATLAB conference, pp 273–278

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hossein Nezamabadi-pour.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-018-1327-7

Keywords

Navigation