ABSTRACT
CMA-ES plus manual code changes rapidly transforms 512 Newton-Raphson start points from a GNU C library table driven version of sqrt into a double precision reciprocal square root function. The GI x-1/2 is far more accurate than Quake's InvSqrt, Quare root.
Supplemental Material
Available for Download
Supplemental material.
- B.J. Alexander and M.J. Gratton. 2009. Constructing an Optimisation Phase Using Grammatical Evolution. In 2009 IEEE Congress on Evolutionary Computation, Andy Tyrrell (Ed.). IEEE Computational Intelligence Society, IEEE Press, Trondheim, Norway, 1209--1216. https://doi.org/ Google ScholarDigital Library
- Mahmoud A. Bokhari, Bobby R. Bruce, Brad Alexander, and Markus Wagner. 2017. Deep Parameter Optimisation on Android Smartphones for Energy Minimisation - A Tale of Woe and a Proof-of-Concept. In GI-2017, Justyna Petke, David R. White, W. B. Langdon, and Westley Weimer (Eds.). ACM, Berlin, 1501--1508. https://doi.org/ Google ScholarDigital Library
- Bobby R. Bruce. 2018. The Blind Software Engineer: Improving the Non-Functional Properties of Software by Means of Genetic Improvement. Ph.D. Dissertation. Computer Science, University College, London, UK. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/bruce_bobby_r_thesis.pdfGoogle Scholar
- Bobby R. Bruce, Jonathan M. Aitken, and Justyna Petke. 2016. Deep Parameter Optimisation for Face Detection Using the Viola-Jones Algorithm in OpenCV. In Proceedings of the 8th International Symposium on Search Based Software Engineering, SSBSE 2016 (LNCS), Federica Sarro and Kalyanmoy Deb (Eds.), Vol. 9962. Springer, Raleigh, North Carolina, USA, 238--243. https://doi.org/Google ScholarCross Ref
- Nikolaus Hansen and Andreas Ostermeier. 2001. Completely Derandomized Self-Adaptation in Evolution Strategies. Evolutionary Computation 9, 2 (Summer 2001), 159--195. https://doi.org/ Google ScholarDigital Library
- Mark Harman, Yue Jia, and William B. Langdon. 2014. Babel Pidgin: SBSE Can Grow and Graft Entirely New Functionality into a Real World System. In Proceedings of the 6th International Symposium, on Search-Based Software Engineering, SSBSE 2014 (LNCS), Claire Le Goues and Shin Yoo (Eds.), Vol. 8636. Springer, Fortaleza, Brazil, 247--252. https://doi.org/ Winner SSBSE 2014 Challange Track.Google Scholar
- John R. Koza, Forrest H Bennett III, Jason Lohn, Frank Dunlap, Martin A. Keane, and David Andre. 1997. Automated Synthesis of Computational Circuits Using Genetic Programming. In Proceedings of the 1997 IEEE International Conference on Evolutionary Computation. IEEE Press, Indianapolis, 447--452. https://doi.org/Google ScholarCross Ref
- W. B. Langdon. 2012. Genetic Improvement of Programs. In 18th International Conference on Soft Computing, MENDEL 2012 (2nd ed.), Radomil Matousek (Ed.). Brno University of Technology, Brno, Czech Republi. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/Langdon_2012_mendel.pdf Invited keynote.Google Scholar
- William B. Langdon. 2014. Genetic Improvement of Programs. In 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC 2014), Franz Winkler, Viorel Negru, Tetsuo Ida, Tudor Jebelean, Dana Petcu, Stephen Watt, and Daniela Zaharie (Eds.). IEEE, Timisoara, 14--19. https://doi.org/ Keynote.Google Scholar
- W. B. Langdon. 2015. Genetic Improvement of Software for Multiple Objectives. In SSBSE (LNCS), Yvan Labiche and Marcio Barros (Eds.), Vol. 9275. Springer, Bergamo, Italy, 12--28. https://doi.org/ Invited keynote.Google Scholar
- William B. Langdon. 2015. Genetically Improved Software. In Handbook of Genetic Programming Applications, Amir H. Gandomi, Amir H. Alavi, and Conor Ryan (Eds.). Springer, Chapter 8, 181--220. https://doi.org/Google Scholar
- W. B. Langdon and M. Harman. 2010. Evolving a CUDA Kernel from an nVidia Template. In 2010 IEEE World Congress on Computational Intelligence, Pilar Sobrevilla (Ed.). IEEE, Barcelona, 2376--2383. https://doi.org/Google Scholar
- William B. Langdon and Mark Harman. 2015. Optimising Existing Software with Genetic Programming. IEEE Transactions on Evolutionary Computation 19, 1 (Feb. 2015), 118--135. https://doi.org/Google ScholarDigital Library
- William B. Langdon, Brian Yee Hong Lam, Marc Modat, Justyna Petke, and Mark Harman. 2017. Genetic Improvement of GPU Software. Genetic Programming and Evolvable Machines 18, 1 (March 2017), 5--44. https://doi.org/ Google ScholarDigital Library
- William B. Langdon and Justyna Petke. 2018. Evolving Better Software Parameters. In SSBSE 2018 Hot off the Press Track (LNCS), Thelma Elita Colanzi and Phil McMinn (Eds.), Vol. 11036. Springer, Montpellier, France, 363--369. https://doi.org/Google Scholar
- W. B. Langdon and Justyna Petke. 2019. Genetic Improvement of Data gives Binary Logarithm from sqrt. In GECCO '19: Proceedings of the Genetic and Evolutionary Computation Conference Companion, Manuel Lopez-Ibanez et al. (Eds.). ACM, Prague, Czech Republic. https://doi.org/ Google ScholarDigital Library
- William B. Langdon, Justyna Petke, and Ronny Lorenz. 2018. Evolving better RNAfold structure prediction. In EuroGP 2018: Proceedings of the 21st European Conference on Genetic Programming (LNCS), Mauro Castelli, Lukas Sekanina, and Mengjie Zhang (Eds.), Vol. 10781. Springer Verlag, Parma, Italy, 220--236. https://doi.org/Google Scholar
- Jie Lu, Hongyang Jia, Naveen Verma, and Niraj K. Jha. 2018. Genetic Programming for Energy-Efficient and Energy-Scalable Approximate Feature Computation in Embedded Inference Systems. IEEE Trans. Comput. 67, 2 (Feb. 2018), 222--236. https://doi.org/Google ScholarCross Ref
- Alexandru Marginean, Earl T. Barr, Mark Harman, and Yue Jia. 2015. Automated Transplantation of Call Graph and Layout Features into Kate. In SSBSE (LNCS), Yvan Labiche and Marcio Barros (Eds.), Vol. 9275. Springer, Bergamo, Italy, 262--268. https://doi.org/Google Scholar
- P. W. Markstein. 1990. Computation of elementary functions on the IBM RISC System/6000 processor. IBM Journal of Research and Development 34, 1 (Jan 1990), 111--119. https://doi.org/ Google ScholarDigital Library
- Justyna Petke. 2017. Preface to the Special Issue on Genetic Improvement. Genetic Programming and Evolvable Machines 18, 1 (March 2017), 3--4. https://doi.org/ Editorial Note. Google ScholarDigital Library
- Justyna Petke, Saemundur O. Haraldsson, Mark Harman, William B. Langdon, David R. White, and John R. Woodward. 2018. Genetic Improvement of Software: a Comprehensive Survey. IEEE Transactions on Evolutionary Computation 22, 3 (June 2018), 415--432. https://doi.org/Google ScholarCross Ref
- Justyna Petke, Mark Harman, William B. Langdon, and Westley Weimer. 2014. Using Genetic Improvement and Code Transplants to Specialise a C++ Program to a Problem Class. In 17th European Conference on Genetic Programming (LNCS), Miguel Nicolau, Krzysztof Krawiec, Malcolm I. Heywood, Mauro Castelli, Pablo Garcia-Sanchez, Juan J. Merelo, Victor M. Rivas Santos, and Kevin Sim (Eds.), Vol. 8599. Springer, Granada, Spain, 137--149. https://doi.org/ Google ScholarDigital Library
- Jeongju Sohn, Seongmin Lee, and Shin Yoo. 2016. Amortised Deep Parameter Optimisation of GPGPU Work Group Size for OpenCV. In Proceedings of the 8th International Symposium on Search Based Software Engineering, SSBSE 2016 (LNCS), Federica Sarro and Kalyanmoy Deb (Eds.), Vol. 9962. Springer, Raleigh, North Carolina, USA, 211--217. https://doi.org/Google ScholarCross Ref
- Zdenek Vasicek and Vojtech Mrazek. 2017. Trading between quality and non-functional properties of median filter in embedded systems. Genetic Programming and Evolvable Machines 18, 1 (March 2017), 45--82. https://doi.org/ Google ScholarDigital Library
- David R. White. 2017. GI in No Time. In GI-2017, Justyna Petke, David R. White, W. B. Langdon, and Westley Weimer (Eds.). ACM, Berlin, 1549--1550. https://doi.org/ Google ScholarDigital Library
- David R. White, Andrea Arcuri, and John A. Clark. 2011. Evolutionary Improvement of Programs. IEEE Transactions on Evolutionary Computation 15, 4 (Aug. 2011), 515--538. https://doi.org/ Google ScholarDigital Library
- David R. White, Leonid Joffe, Edward Bowles, and Jerry Swan. 2017. Deep Parameter Tuning of Concurrent Divide and Conquer Algorithms in Akka. In 20th European Conference on the Applications of Evolutionary Computation (Lecture Notes in Computer Science), Giovanni Squillero and Kevin Sim (Eds.), Vol. 10200. Springer, Amsterdam, 35--48. https://doi.org/Google Scholar
- Michal Wiglasz and Lukas Sekanina. 2018. Cooperative Coevolutionary Approximation in HOG-based Human Detection Embedded System. In 2018 IEEE Symposium Series on Computational Intelligence (SSCI). Bangalore, India, 1313--1320. https://doi.org/Google Scholar
- John R. Woodward, Colin G. Johnson, and Alexander E. I. Brownlee. 2016. Connecting Automatic Parameter Tuning, Genetic Programming as a Hyper-heuristic, and Genetic Improvement Programming. In GECCO '16 Companion: Proceedings of the Companion Publication of the 2016 Annual Conference on Genetic and Evolutionary Computation. ACM, Denver, Colorado, USA, 1357--1358. https://doi.org/ Google ScholarDigital Library
- Fan Wu. 2017. Mutation-Based Genetic Improvement of Software. Ph.D. Dissertation. Department of Computer Science, University College, London, UK. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/Thesis_Fan_v2.1.pdfGoogle Scholar
- Fan Wu, Westley Weimer, Mark Harman, Yue Jia, and Jens Krinke. 2015. Deep Parameter Optimisation. In GECCO '15: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, Sara Silva, Anna I Esparcia-Alcazar, Manuel Lopez-Ibanez, Sanaz Mostaghim, Jon Timmis, Christine Zarges, Luis Correia, Terence Soule, Mario Giacobini, Ryan Urbanowicz, Youhei Akimoto, Tobias Glasmachers, Francisco Fernandez de Vega, Amy Hoover, Pedro Larranaga, Marta Soto, Carlos Cotta, Francisco B. Pereira, Julia Handl, Jan Koutnik, Antonio Gaspar-Cunha, Heike Trautmann, Jean-Baptiste Mouret, Sebastian Risi, Ernesto Costa, Oliver Schuetze, Krzysztof Krawiec, Alberto Moraglio, Julian F. Miller, Pawel Widera, Stefano Cagnoni, JJ Merelo, Emma Hart, Leonardo Trujillo, Marouane Kessentini, Gabriela Ochoa, Francisco Chicano, and Carola Doerr (Eds.). ACM, Madrid, 1375--1382. https://doi.org/ Google ScholarDigital Library
Index Terms
- Genetic improvement of data gives double precision invsqrt
Recommendations
Genetic Improvement of Data for Maths Functions
We use continuous optimisation and manual code changes to evolve up to 1024 Newton-Raphson numerical values embedded in an open source GNU C library glibc square root sqrt to implement a double precision cube root routine cbrt, binary logarithm log2 and ...
Evolving sqrt into 1/x via software data maintenance
GECCO '20: Proceedings of the 2020 Genetic and Evolutionary Computation Conference CompanionWhile most software automation research concentrates on programs' code, we have started investigating if Genetic Improvement (GI) of data can assist developers by automating aspects of the maintenance of parameters embedded in source code. We extend ...
Genetic improvement of data gives binary logarithm from sqrt
GECCO '19: Proceedings of the Genetic and Evolutionary Computation Conference CompanionAutomated search in the form of the Covariance Matrix Adaptation Evolution Strategy (CMA-ES), plus manual code changes, transforms 512 Newton-Raphson floating point start numbers from an open source GNU C library, glibc, table driven square root ...
Comments