Skip to main content
Log in

Bloat-aware GP-based methods with bloat quantification

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

Genetic programming (GP) solves optimization problems by simulating the evolution procedure in nature. It has a serious problem termed as bloat, which can cost memory, hamper effective breeding and slow down the evolution process. However, there are only a limited number of works to quantify bloat directly, and existing techniques use the solution size/complexity as an indirect indicator for bloat control. Therefore, a new bloat quantification measure is designed in this work, based on which three bloat-aware GP methods are proposed. Specifically, the bloat quantification measure is incorporated with two parsimony pressure techniques and a multi-objective technique respectively, termed as GPLTSb (GP Lexicographic Tournament Selection bloat), GPPTSb (GP Proportional Tournament Selection bloat), and MOGPb (Multi-objective GP bloat). Unlike the existing bloat control methods, the bloat-aware methods apply the bloat values directly for bloat control. The proposed methods are tested on benchmark symbolic regression tasks, and are compared with GP, existing bloat control methods and four widely-used regression methods. Results show that MOGPb is effective for bloat control with the solution size reduced obviously; while GPLTSb and GPPTSb can also reduce bloat in GP with the solution size reduced slightly. In addition, compared with GP and existing bloat control methods, the proposed methods evolve solutions with similar/better regression performance. Moreover, the evolved solutions of proposed methods can outperform most reference regression methods for the given tasks consistently.

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

Similar content being viewed by others

References

  1. Ababsa T, Djedl N, Duthen Y (2018) Genetic programming-based self-reconfiguration planning for metamorphic robot. Int J Autom Comput 15(4):1–12

    Article  Google Scholar 

  2. Asim KM, Idris A, Iqbal T, Martínez-Álvarez F. (2018) Seismic indicators based earthquake predictor system using genetic programming and adaboost classification. Soil Dyn Earthq Eng 111:1–7

    Article  Google Scholar 

  3. Bi Y, Zhang M, Xue B (2018) Genetic programming for automatic global and local feature extraction to image classification. In: 2018 IEEE congress on evolutionary computation (CEC)

  4. Bleuler S, Bader J, Zitzler E (2008) Reducing bloat in GP with multiple objectives. In: Multiobjective problem solving from nature

  5. Gayanov R, Mironov K, Mironov K, Kurennov D (2018) Estimating the trajectory of a thrown object from video signal with use of genetic programming. In: IEEE international symposium on signal processing & information technology

  6. Izadi Rad H, Feng J, Iba H (2018) GP-RVM: Genetic programing-based symbolic regression using relevance vector machine. Available at https://arxiv.org/pdf/1806.02502.pdf

  7. Jong EDD, Pollack JB (2003) Multi-objective methods for tree size control. Genet Program Evolvable Mach 4(3):211–233

    Article  Google Scholar 

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

    MATH  Google Scholar 

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

    MATH  Google Scholar 

  10. Koza JR, Keane MA, Streeter MJ, Mydlowec W, Yu J, Lanza G (2006) Genetic programming IV: Routine human-competitive machine intelligence, vol. 5. Springer Science & Business Media, New York

    MATH  Google Scholar 

  11. Ktzing T, Lagodzinski JAG, Lengler J, Melnichenko A (2019) Destructiveness of lexicographic parsimony pressure and alleviation by a concatenation crossover in genetic programming. Theor Comput Ence 2018:1–28

    MATH  Google Scholar 

  12. Langdon WB, Petke J, Lorenz R (2018) Evolving better rnafold structure prediction. EuroGP 2018:220–236

    Google Scholar 

  13. Liang J, Liu Y, Xue Y (2020) Preference-driven pareto front exploitation for bloat control in genetic programming. Appl Soft Comput 92:1–18

    Article  Google Scholar 

  14. Liang Y, Zhang M, Browne WN (2016) Figure-ground image segmentation using genetic programming and feature selection. In: Evolutionary computation

  15. Liang Y, Zhang M, Browne WN (2017) Figure-ground image segmentation using feature-based multi-objective genetic programming techniques. Neural Comput Applic 31(12):1–20

    Google Scholar 

  16. Liang Y, Zhang M, Browne WN (2017) Genetic programming for evolving figure-ground segmentors from multiple features. Appl Soft Comput 51:83–95

    Article  Google Scholar 

  17. Liang Y, Zhang M, Browne WN (2017) Image feature selection using genetic programming for figure-ground segmentation. Eng Appl Artif Intel 62:96–108

    Article  Google Scholar 

  18. Liang Y, Zhang M, Browne WN (2017) Learning figure-ground image segmentors by genetic programming. In: Genetic & evolutionary computation conference companion, pp 239–240

  19. Luke S, Panait L (2002) Fighting bloat with nonparametric parsimony pressure. In: International conference on parallel problem solving from nature

  20. Luke S, Panait L (2002) Lexicographic parsimony pressure. In: Genetic & evolutionary computation conference

  21. Mcdermott J, White DR, Luke S, Manzoni L, Castelli M, Vanneschi L, Jaśkowski W., Krawiec K, Harper R, Jong KD (2012) Genetic programming needs better benchmarks. In: Fourteenth international conference on genetic & evolutionary computation conference

  22. de Melo VV (2014) Kaizen programming. In: GECCO ’14: Proceedings of the 2014 conference on Genetic and evolutionary computation, pp 895–902

  23. Midkiff S (2011) Encyclopedia of parallel computing. Springer US, Boston, MA, pp 502–508

    Google Scholar 

  24. Morikawa K, Takahashi K, Nagasawa K (2018) Consultation sequencing of a hospital with multiple service points using genetic programming. Eng Optim 50(2):1–15

    MathSciNet  Google Scholar 

  25. Poli R, Langdon WB, McPhee NF, Koza JR (2008) A field guide to genetic programming. Available at http://lulu.com and freely available at http://www.gp-field-guide.org.uk

  26. Poli R, Mcphee NF (2014) Parsimony pressure made easy: Solving the problem of bloat in GP. In: Theory and principled methods for the design of metaheuristics, pp 1–24

  27. Sean L The ECJ owner’s manual, a user manual for the ECJ evolutionary computation library. Available at http://cs.gmu.edu/eclab/projects/ecj/

  28. Soule T, Foster JA (1998) Effects of code growth and parsimony pressure on populations in genetic programming. Evol Comput 6(4):293–309

    Article  Google Scholar 

  29. Soule T, Heckendorn RB (2002) An analysis of the causes of code growth in genetic programming. Genet Program Evolvable Mach 3(3):283–309

    Article  Google Scholar 

  30. Turner A, Miller J, Nicolau M, Krawiec K, Heywood MI, Castelli M (2014) Cartesian genetic programming: Why no bloat?. In: Genetic programming. Springer

  31. Vanneschi L, Castelli M, Silva S (2010) Measuring bloat, overfitting and functional complexity in genetic programming. In: Proceedings of the 12th annual conference on genetic and evolutionary computation. ACM, pp 877–884

  32. Veiga RV, Barbosa HJC, Bernardino HS, Freitas JM, Feitosa CA, Matos SMA, Alcântaraneves N. M., Barreto ML (2018) Multiobjective grammar-based genetic programming applied to the study of asthma and allergy epidemiology. BMC Bioinformatics 19(1):245

    Article  Google Scholar 

  33. Wagner M, Neumann F (2014) Single- and multi-objective genetic programming: New runtime results for sorting. In: Evolutionary computation

  34. Witten IH, Frank E, Hall MA, Pal CJ (2016) Data mining: Practical machine learning tools and techniques. Morgan Kaufmann, San Mateo

    Google Scholar 

  35. Zhang C Genetic programming for symbolic regression. Available at https://pdfs.semanticscholar.org/e5ee/ddd04b8344fd4f39a5836be686886c80df13.pdfhttps://pdfs.semanticscholar.org/e5ee/ddd04b8344fd4f39a5836be686886c80df13.pdf

Download references

Funding

This study was funded by National Natural Science Foundation of China (grant number 61902281 and 61876089), and by Tianjin Science and Technology Program (grant number 19PTZWHZ00020).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jiayu Liang.

Ethics declarations

Ethics approval and consent to participate

This article does not contain any studies with human participants or animals performed by any of the authors.

Conflict of Interests

Author Jiayu Liang declares that she has no conflict of interest. Author Yu Xue declares that he has no conflict of interest.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liang, J., Xue, Y. Bloat-aware GP-based methods with bloat quantification. Appl Intell 52, 4211–4225 (2022). https://doi.org/10.1007/s10489-021-02245-1

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-021-02245-1

Keywords

Navigation