2019 International Conference on Computational Science and Computational Intelligence (CSCI) Computational Science and Intelligence Programming in Business with Genetic, Generic Algorithms and AI Software Products: An Adaptive Algorithmic Approach Anastasia-Dimitra Lipitakis1 and Evangelia A.E.C. Lipitakis2 (1) Department of Informatics and Telematics, Harokopio University, Athens, Hellas adlipita@hua.gr (2) Kent Business School, University of Kent, Canterbury, England leacynthialipitakis@yahoo.com connections between job performance and certain attributes by applying ML models and analytics methods. The resulting search results can be matched the intents of job seekers and special software can be applied by doing searchers on the related pages of internet. The optimal result of algorithmic and ML methodologies usage is to match job applicants to the available jobs in a better way than actual human endeavor can do. Abstract In this research study the topic of Artificial Intelligence and Business is examined. AI methodologies and their usage in several organizations in various applications concerning staffing, careers etc. and hiring predictions are discussed. The concept of genetic and generic algorithms with their several important aspects are discussed and various related applications in a wide spectrum of topics are presented. Various genetic programming implementations with the corresponding related software products are given and several AI software packages, genetic algorithmic methodologies and related applications are presented. 2. Artificial Intelligence Algorithms and Business In recent times the field of Artificial Intelligence (AI) has significant impact on financial services sectors and global financial markets comparing with sophisticated classes of algorithms for trading by creating a new interesting applied research topic for traders and regulators (McGrath, 2016). It is reported that algorithmic trading systems are handling about 75% of the volume of global trades (Thomson Reuters, 2016-2017) with industrial predictions owing a constant increase mainly due to the following reasons: (i) huge product demand and several innovations, (ii) greater automation of trades in several asset classes (EU-MiFID II), (iii) retail trading market expansion worldwide opening new algorithmic trading and increasing demand for technological advancement. Algorithmic procedures can be efficiently used for computing, data processing, automated reasoning and sophisticated algorithmic applications play a significant role in sifting through masses of data and have a widespread use in everyday life (Hickman, 2013). Note that certain computer algorithms are designed for allowing computers to learn on their own facilitating machine learning (ML) and including data mining, pattern recognition and other related applications (Finley, 2014). The inventor of World Wide Web (WWW) stated characteristically that ‘Data is a precious thing and will last longer than the systems themselves’. Keywords and Phrases: Artificial intelligence, businesses, algorithmic methodologies, AI applications, evolution process, generic algorithms, genetic algorithms 1. Introduction Artificial Intelligence (AI) software provides appropriate solutions for several organizations and businesses by speeding processes of online simulations of what software includes multiple choice questions and captures several human qualities using natural language processing and machine learning (ML) methodologies for constructing psychological profiles of suitable candidates. ML methodologies and related predictive algorithms can be used as tools for identifying best candidates and assessing certain human qualities by analyzing special characteristics such as word choice, gestures, emotional traits, facial expressions, body language, social media posts etc. Furthermore, human judgment, face to face interaction and personal communication can be used. Better communication with potential applicants can be achieved by special AI programs allowing the scanning of millions of job openings for uncovering 978-1-7281-5584-5/19/$31.00 ©2019 IEEE DOI 10.1109/CSCI49370.2019.00058 289 Authorized licensed use limited to: University of Exeter. Downloaded on June 21,2020 at 18:23:21 UTC from IEEE Xplore. Restrictions apply. 3. Genetic Algorithms and Applications such as Ada, C#, Delphi, Eiffel, F#, Java, ObjectiveC, Visual Basic and others. Generic programming follows the idea of abstracting from concrete, efficient algorithms to obtain generic algorithms that can be combined with different data representations in order to produce a wide variety of useful software. Genetic algorithms can be efficiently used for computing solutions of complex search problems. They can be used in several fields, such as engineering for creating incredibly high quality products due to their ability to search a through a huge combination of parameters to find the best match. They can search through different combinations of materials and designs for finding the perfect combination of both which could result in a stronger, lighter and overall, better final products. They can also be used for designing computer algorithms, scheduling different tasks, and solving other optimization problems. Genetic algorithms are based on the process of evolution by natural selection which has been observed in nature. They can basically replicate the way in which life uses evolution for computing solutions to real world problems. They are currently considered to be prominent computational models of evolution in artificial life systems. These decentralized models can be used as basis for understanding other complex systems and phenomena in the world. The generic algorithms can be used for studying how learning and evolution processes interact and furthermore for modelling various interesting systems, such as ecosystems, immune systems, cognitive systems and social systems (Winder et al., 1995; Whitley and Vose, 1995; Louis, 1993). Genetic algorithms can be efficiently used on mixed (continuous and discrete) combinatorial problems, but they tend to be computationally expensive. By using genetic algorithms, the solution of the original problem is represented as a genome (chromosome or strings of ones and zeros or bits [genes]) and then a population of solutions is created and genetic operators (mutation, crossover, inversion) are applied for evolving the solutions in order to find the best ones. Genetic algorithms can be efficiently used by considering the following important aspects: (i) definition of objective functions, (ii) definition and implementation of generic representations and (iii) definition and implementation of generic operators. Several variations for improving performance, computing multiple optima and parallelizing these algorithms can be tested for solving the considered problems (Grefenstette and Baker, 1989; Altenberg, 1994; Vose, 1993). The main difference between genetic programming and genetic algorithms is the representation of solutions, i.e. genetic programming creates computer programs following the schemes of computer languages as solutions, while genetic Genetic algorithms (GA) differ from classical algorithms (CA) (derivative based optimization algorithms) in the following: (i) GA generate populations of points at every iteration, with the best point approaching optimal solutions, while CA generate single points at every iteration with sequences of points approaching optimal solutions, (ii) GA select the next populations by computing which use random processes, while CA select next points in sequences by deterministic computations. Genetic algorithms are heuristic searches that mimic the process of natural selection using basic methods, such as mutation and crossover for generating new genotypes aiming to computation of acceptable solutions to given problems. ML algorithms can be used for improving the performance of genetic and evolutionary algorithms (Zhang et al., 2011). Genetic algorithms can be efficiently used on mixed (continuous and discrete) combinatorial problems, but they tend to be computationally expensive. By using genetic algorithms, the solution of the original problem is represented as a genome (chromosome) and then a population of solutions is created and genetic operators (mutation, crossover) are applied for evolving the solutions in order to find the best ones. 3.1 Genetic and Generic Algorithms In computer science and operations research, a genetic algorithm is a metaheuristic procedure inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms. Genetic algorithms are heuristic search methods used in artificial intelligence and computing. They can be used for finding optimized solutions to search problems based on the theory of natural selection and evolutionary biology. Genetic algorithms are excellent for searching through large and complex data sets. They are considered capable of finding reasonable solutions to complex issues as they are highly capable of solving unconstrained and constrained optimization issues. The genetic algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm selects individuals at random from the current population to be parents and uses them to produce the children for the next generation. Generic programming is a style of computer programming in which algorithms can be written in terms of types to be specified later. This programming approach allows writing common functions or types that differ only in the set of types on which they operate when used, thus reducing duplication. These software entities are known as generics in computer languages, 290 Authorized licensed use limited to: University of Exeter. Downloaded on June 21,2020 at 18:23:21 UTC from IEEE Xplore. Restrictions apply. algorithms create strings of numbers that represent solutions (Whitley and Vose, 1995; Mitchell, 1999). Genetic algorithms can be considered as weak optimization methods and their search procedures can be used for solving a wide range of computational problems without any domain specific knowledge. These search procedures are based on mechanics of natural selection and natural genetics using various evolution theories as tools for solving computational problems in science and engineering. This can be achieved by evolving populations of candidate solutions to particular problems using operations based on natural selection and natural genetic variation (Goldberg, 1989). A wide spectrum of genetic algorithms applications are included in various scientific, information science topics in business such as bankruptcy predictions, currency demand analysis, control design, craud detection, interest earnings maximization, money laundering identification, plant layout, portfolio optimization, process control, risk analysis, space allocation for ROI, supply chain optimization, resource allocation, data modeling and analysis, stock market risk analysis, broker surveillance, routing, sports event attendance prediction, complex equipment design, job shop scheduling, signal processing, vehicle scheduling, worker scheduling and job schedule developments. significant complexity. These computational techniques can lead to optimized solutions of certain complex problems (McCall, 2005). Several genetic programming implementations with the corresponding related software products are given. Genetic programming implementations can be achieved by several languages and their variants, such as it is shown in Table 1. 4. The implementation of a simple Genetic Algorithm Genetic algorithms are heuristic modelling techniques inspired be natural evolution and can be efficiently applied to wide spectrum of real world of significant complexity. These computational techniques can lead to optimized solutions of certain complex problems (McCall, 2005). Let us consider a given well defined given problem for solution and a bit string representation for candidate solutions. Then a simple genetic algorithm can be presented as follows: Algorithm GA-1 (εRP RPC, εFC FCP, εPC PCCP, εCR CRFO, εTC TCNP, εRPN RPNP, εUF FPBC) Purpose: This algorithm describes the population of bit chromosomes Input: randomly generated population of (n-1) bit chromosomes (RPC), fitness f(x) of each chromesome x in the population (FCP), pair chromosomes from current population with selection probability being an increasing function of fitness (PCCP), crossover probability cross over the selected pair at a randomly chosen point (chosen with uniform probability) to form two offspring (CRFO), transfer the resulting chromosomes in the new population (TCNP), replacement of current population with the new population (RPNP), predetermined real parameters εRP , εFC , εPC , εCR , εTC , εRPN and the undetermined factor parameter εFP . Output: final population of bit chromosomes (FPBC) Computational Procedure: Step 0: consider the adaptive parameters εRP, εFC, εPC,, εCR , εTC , εRPN . Step 1: chose a randomly generated population of (n1) bit chromosomes (i.e. candidate solutions) εRP (RPC) Step 2: compute the fitness f(x) of each chromesome x in the population εFC (FCP). Step 3: repeat the following iterative steps until noffspring have been created: Step 3.1: chose pair chromosomes from current population with selection probability being an increasing function of fitness εPC (PCCP). /*Note that the selection process can be done with replacement, i.e. the same chromosome can be 3.2 Genetic Programming Implementations and Software Products In the latter work the two basic conceptions of universe, i.e. the rational mechanics of Newton and Galileo, and the advanced electromagnetic theory, i.e. Maxwell, Hertz and Lorentz, are discussed. Genetic Programming algorithms are evolutionary algorithms based on methodologies inspired by biological evolution for finding that can perform several user defined tasks. These algorithms are machine learning techniques used for optimizing populations of computer programs according to fitness landscape determined by programming abilities for performing predetermined computational tasks. The term Meta-Genetic Programming refer to meta-learning techniques of evolving genetic programming systems using generic programming itself. The process is a recursive terminating algorithm that allows avoiding infinite recursion (Schmidhuber, 1987). Genetic Algorithms Applications The wide spectrum of AI applications and the universal applicability of algorithmic methodologies. Genetic algorithms are heuristic modelling techniques inspired be natural evolution and can be efficiently applied to wide spectrum of real world of 291 Authorized licensed use limited to: University of Exeter. Downloaded on June 21,2020 at 18:23:21 UTC from IEEE Xplore. Restrictions apply. Genetic Language MATLAB Implementation Description Reference GPLAB GPTIPS Silva, 2007 Searson et al., 2010 Python Pyvolution: A Genetic Programming Toolbox Genetic Programming & Symbolic Regression Toolbox, aiming at performing multigene symbolic regression modular extensible evolutionary algorithms framework with complete documentation Java deap: pySTEP: Pyevolve EvoJ: JEF GenPro: Distributed Evolutionary Algorithms Python Strongly Typed gEnetic Programming JAGA JGAP n-genes: PMDGP MOEA Framework: Java GALib: PushGP: Groovy: GEVA: jGE: JCLEC: C C++ Watchmaker Framework: TinyGP: LAGEP RobGP: GPC++: GeneXproTools: RMIT GP: PMDGP: GAlib: ECF: MicroGP (uGP): C# EOEvolutionary Computation Framework: BraneCloud Evolution: HeuristicLab GPdotNET Prolog Ruby DCTG-GP: DRP Perl .NET PerlGP: GPE Evolutionary computations framework JAVA Evolution Framework Reflective Object Oriented Genetic Programming. Open Source Framework. Extend with POJO's, generates plain Java code Extensible and pluggable open source API for implementing genetic algorithms and genetic programming applications Java Genetic Algorithms and Genetic Programming, an open-source framework Java Genetic Algorithms and Genetic Programming (stack oriented) framework object oriented framework for solving genetic programming problems Multiobjective Evolutionary Algorithm Framework Source Forge open source Java genetic algorithm library, complete with Javadocs and examples a strongly typed, stack-based genetic programming system that allows GP to manipulate its own code Groovy Java Genetic Programming Grammatical Evolution in Java Java Grammatical Evolution Evolutionary Computation Library in Java, expression tree encoding, syntax tree encoding Genetic Computation Framework A tiny genetic programming system Supporting single/multiple population genetic programming to generate mathematical functions. Open Source, OpenMP used Robust Genetic Programming System) Genetic Programming C++ Class Library Commercial gene expression programming software for logistic regression, classification and regression A Genetic Programming Package with support for Automatically Defined Functions object oriented framework for solving genetic programming problems Object oriented framework with 4 different GA implementations and 4 representation types Evolutionary Computation Framework. different genotypes, parallel algorithms General purpose tool, mostly exploited for assembly language generation) C++ with static polymorphism Fork of ECJ for .NET 4.0 A Paradigm-Independent and Extensible Environment for Heuristic Optimization, rich graphical user interface, open source, plugin-based architecture Codeplex open source project for modeling and optimization based on Genetic programming). Grammar-guided GP using logic-based attribute grammars Directed Ruby Programming, Genetic Programming & Grammatical Evolution Library Grammar-based genetic programming in Perl Framework for conducting experiments in Genetic Programming Table 1: Genetic Languages: Implementation and description characterists Panchapakesan, 2012 Python Software Foundation Fortin et al., 2012 Khoury, 2009 Perone, 2014 Keijzer et al., 2002 Cheong, 2011; Le Goues C., 2011 Weise, 2009 Van der Meulen et al., 2001 Zhang and Li, 2007 Java-GAlib, 1996 Spectorand Helmuth, 2014 GEVA, 2008 Georgiou 2006 and Teahan, Ventura et al.,2007 Dyer, 2010 Poli et al., 1999 Baily et al., 2012 Schmieder, 2014 Ferreira, 2006 RMIT-GP Doc., 2004 Van der Meulen et al., 2001 Wall, 1996 Georgopoulos et all., 2009 Keijzer et al., 2002 Wagner, 2009 Bahrudin, 2009 Ross, 2001 Nuanain and O’ Sullivan, 2014 McCallum, 2006 Manec, 2016 292 Authorized licensed use limited to: University of Exeter. Downloaded on June 21,2020 at 18:23:21 UTC from IEEE Xplore. Restrictions apply. respective parents. The crossover probability is defined as the probability that two parents will cross over in single point. The genetic algorithm can have multi-point crossover versions in which the crossover rate for a pair of parents is the number of points at which a crossover takes place*/. Step 3.3: mutate the two offspring at each locus with mutation probability pm and transfer the resulting chromosomes in the new population εTC (TCNP). /*If n is odd, then one new population member can be discarded randomly*/ Step 4: replace the current population with the new population εRPN (RPNP). Step 5: has the computational finished (EOC)? If yes, then go to step 6, otherwise goto step 2 Step 6: consider parameter εUF and the final population of bit chromosomes εUF (FPBC) biological DNA chromosomes, such as strings of letters from the set {A, C, G, T}. Note that a particular position (locus) in a chromosome is referred to as gene, while the letter occurring at that point in the chromosome is referred to as allele (value). Each bit-string representation used is referred to as the genetic algorithm encoding of the problem. The fitness function is the computed value for the quality of chromosome as a solution to the given problem (Engelbrecht, 2002). A Genetic Algorithm Bio-medical Example Tumor developments in cancer chemotherapy can be controlled by delivery of several toxic drugs subject to various numbers of nonlinear constraints coupled to combinatorial possibilities for multi-drug schedules that make difficult the cancer chemotherapy optimization by using empirical clinical experimentation or traditional optimization methods. Various anti-cancer drugs can be delivered according to discrete dosage program with n-doses given at time-steps t1, t2, … tn. Every dose includes d-drugs with concentration levels Ci , j i 1,..., n and j 1,..., d i=1,…,n, and j=1,…,d of The simplest algorithmic case of this algorithm results when εRP = εFC = εPC = εCR = εTC = εRPN = εUF = 1. Note that each iteration of this iterative process is called a generation. 5. Genetic Algorithms and Evolution Process anti-cancer drugs in blood plasma. An optimization of treatment can be achieved by modifying these variables and then the solution is a set of control vectors c C i , j representing drug concentration Genetic algorithms are considered to be heuristic computational techniques for searching or optimization, originally motivated by the evolution principle through genetic- selection process. The genetic algorithms by using highly abstract versions of evolutionary processes in order to evolve solutions to given problems, by operating on certain populations of artificial chromosomes, i.e. strings in a finite alphabet (binary). Note that each chromosome represents a solution of the problem having a fitness, i.e. a real number measuring how good the obtained solution is to the given problem. A random generated population of chromosomes is selected and a genetic algorithm, with a highly modular nature, is using a process of fitness-based selection and recombination in order to produce a successor population (next generation). This iterated process produces a sequence of successive generations and is terminated by a predetermined stopping criterion, evolving to a good (best) solution to the original problem. The genetic algorithms, initially proposed by Holland (1975), can be efficiently used in a wide spectrum of scientific, engineering and industrial problems, particularly in computational intelligence problems including topics such as, neural networks, artificial immunology, particle swarm optimization, ant colony optimization. Genetic algorithms manipulate several populations of chromosomes, i.e. abstractions of profiles. The response to tumours chemotherapy can be simulated by the following modified growth model based on the original growth model of Gompertz (Gompertz, 1835): HN wN (t ) wt N (t )O ln[ 4N (t )] ¦ dk ¦ nH j i 1 C c i , j H H [ H (t t i ) H (t t i 1 )], (5.1) i 1 where N(t) represents the number of tumours cells at time t, H is the Heaviside step function, Ci , j denotes the concentrations of anti-cancer drugs, kj denote quantities representing efficacy of anti-cancer drugs estimated using clinical trial results (20) and Θ, λ are parameters of tumours growth, and εi are predetermined adaptive parameters. Cancer chemotherapy treatment may be (i) curative attempting to eradicate tumours using special mechanisms, such as programmed cell death or immune system, trying to remove remaining tumour cells, or (ii) palliative applied only when tumours are deemed to be incurable and having the objectives of maintaining reasonable quality of life for patients for as long as possible. Note that the objective of the two treatments can conflict with each other in the sense that the minimization of 293 Authorized licensed use limited to: University of Exeter. Downloaded on June 21,2020 at 18:23:21 UTC from IEEE Xplore. Restrictions apply. tumor sizes are highly toxic and may have negative effects on patient quality of life. more sophisticated hybrid algorithms as problemsolving heuristic techniques inspired by the human immune system in the same way that genetic algorithms were inspired by evolution. A known mathematical model for cancer growth describing tumor growth is given by N (t ) N o exp( Ot ) (6.1) While the tumor dynamics can be described by the so-called Gompertz function or Gompertz model (Gompertz, 1835), defined as : N (t ) N o exp{ln[( N f / N 0 )(1 exp( bt )]} (6.2) or in parametrized form: 6. An Algorithmic Treatment using Genetic Algorithms Treatment optimization process can be accomplished by using two genetic algorithms GA-1 and GA-2, where GA-2 is a delta coding genetic algorithm operating on chromosomes of GA-1. The genetic algorithms GA-1 and GA-2 can be used for searching curative or palliative solutions, as indicated in the following algorithmic procedure. N (t ) H 0 N o exp{ln[ H N ( N f / N 0 )(1 exp( bt )]} (6.3) where N f is the plateau cell number which can be reached at large values of r and parameter b related to the initial tumor growth rate. Note that single sets of growth parameters are insufficient for modelling clinical data. Tumor cells can have different growth characteristics in different patients and various micrometastases within a patient can have different growth parameters. Algorithm GA-TREATMENT-1 (εCA1 GA-1, εDCS GA-2, DCS, FPT, εUF PTC) Purpose: application of genetic algorithms GA-1 and GA-2 for patient curative or palliative solutions PTC Input: genetic algorithms GA-1 and GA-2, parameter εDCS, εFPT, and undetermined factor parameter εUF Output: patient curative or palliative solution εPTC PTC Computational Procedure: Step 0: consider the values of parameters εDCS, εFPT Step 1: apply εCA1 CA-1 for eradicating tumors Step 2: check if there is feasible solution. Step 3: If there is feasible solution then, apply εDCS GA-2 to delta code solution and goto step 6, otherwise Step 4: apply εFPT GA-1 to fin palliative treatment Step 5: apply εDCS GA-2 to delta code solution Step 5a: consider the value of undetermined factor parameter εUF Step 6: check the patient treatment and overall condition εUF PTC 7. Conclusion Certain issues of research topics of Artificial Intelligence and Business have been examined. Several AI methodologies and their usage in several organizations in various applications concerning staffing, careers etc. and hiring predictions were discussed. The concept of genetic and generic algorithms with their several important aspects were also discussed and various related applications in a wide spectrum of topics have been presented. Various genetic programming implementations with the corresponding related software products were given and several AI software packages, genetic algorithmic methodologies and related applications have been given. Genetic algorithms have been efficiently applied to many optimal control problems and multi-objective optimization algorithms of chemotherapy have been presented (Van der Meulen et al., 2001). Artificial immune systems can be used for the development of Benhaddou, D. and Al-Fuqaha, A., 2015. Wireless Sensor and Mobile Ad-Hoc Networks (p. 253). by Driss Benhaddou and Ala Al-Fuqaha.Benson T., Akella A. and Maltz D.A. (2010): Network Traffic Characteristics of Data Centers in the Wild, IMC-2010. Ouzounis, C.A., 2012. Rise and demise of bioinformatics? Promise and progress. PLoS computational biology, 8(4), p.e1002487. Dos Reis, G. and Järvi, J., 2005. What is generic programming?, Library-Centric Software Design (LCSD’05), p.1. El Karoui N., 2013: The Future of Financial Mathematics, ParisTech Review. REFERENCES Dupuis, R., Bourque, P., Abran, A., Moore, J.W. and Tripp, L.L., 1998, December. Guide to the software engineering body of knowledge. In 1999 Frontiers in Education Conference–FIE (Vol. 99, pp. 10-13) Council, A.C.M., 2000. A summary of the acm position on software engineering as a licensed engineering profession. George, A., Rajakumar, B.R. and Binu, D., 2012, August. Genetic algorithm based airlines booking terminal open/close decision system. In proceedings of the International Conference on Advances in Computing, Communications and Informatics (pp. 174-179). ACM. Alsever J., 2017: How A.I. is changing your job hunt and what the new algorithms want, Fortune 7 294 Authorized licensed use limited to: University of Exeter. Downloaded on June 21,2020 at 18:23:21 UTC from IEEE Xplore. Restrictions apply. Goldberg, Y., 2016. A primer on neural network models for natural language processing. Journal of Artificial Intelligence Research, 57, pp.345-420. Hogeweg, P., 2011. The roots of bioinformatics in theoretical biology. PLoS computational biology,7(3), p. e1002021. Krawiec, K. and Pawlak, M., 2015, April. Genetic programming with alternative search drivers for detection of retinal blood vessels. In European Conference on the Applications of Evolutionary Computation (pp. 554-566). Springer, Cham. Mánek, P., 2016. Genetic programming in Swift for human-competitive evolution, Univerzita Karlova, Matematicko-fyzikalni fakulta Marr B., 2016: The Top 10 AI and Machine Learning Use Cases Everyone Should Know About, https://www.forbes.com/sites/bernardmarr/2016/09/30/wh at-are-the-top-10-use-cases-for-machine-learning-andai/#5a4f59cf94c9 McGrath, J., 2016. The rise of AI and algorithms in the financial services sector, Raconteur EU N, 70. Morio, J. and Balesdent, M., 2015, Estimation of rare event probabilities in complex aerospace and other systems: a practical approach. Woodhead Publishing. Obradović, D., 2018. Review of nature-inspired optimization algorithms applied in civil engineering. EGFOS, 9(17), pp.74-88 Perone C.S., 2014: Pyevolve 0.6rc1, Python Software Foundation, http://pyevolve.sourceforge.net Schmieder A. (2014): Swift, C++ Performance, http://www.primatelabs.com/ blog/2014/12/swiftperformance/. Perone C.S., 2014: Pyevolve 0.6rc1, Python Software Foundation, http://pyevolve.sourceforge.net Schmieder A. (2014): Swift, C++ Performance, http://www.primatelabs.com/ blog/2014/12/swiftperformance/. Searson, D.P., Leahy, D.E. and Willis, M.J., 2010, March. GPTIPS: an open source genetic programming toolbox for multigene symbolic regression. In Proceedings of the International multiconference of engineers and computer scientists (Vol. 1, pp. 77-80). Hong Kong: IMECS. Spector, L. and Helmuth, T., 2014. Uniform linear transformation with repair and alternation in genetic programming. In Genetic Programming Theory and Practice XI (pp. 137-153). Springer, New York, NY. Stanislawska, K., Krawiec, K. and Kundzewicz, Z.W., 2012. Modeling global temperature changes with genetic programming. Computers & Mathematics with Applications, 64(12), pp.3717-3728. Wong, K.C., Peng, C., Wong, M.H. and Leung, K.S., 2011. Generalizing and learning protein-DNA binding sequence representations by an evolutionary algorithm. Soft Computing, 15(8), pp.1631-1642. Zhang, J., Zhan, Z.H., Lin, Y., Chen, N., Gong, Y.J., Zhong, J.H., Chung, H.S., Li, Y. and Shi, Y.H., 2011. Evolutionary computation meets machine learning: A survey. IEEE Computational Intelligence Magazine, 6(4), pp.68-75. 295 Authorized licensed use limited to: University of Exeter. Downloaded on June 21,2020 at 18:23:21 UTC from IEEE Xplore. Restrictions apply.