5 research outputs found
Evolution of trading strategies with flexible structures: A configuration comparison
Evolutionary Computation is often used in the domain of automated discovery of trading rules. Within this area, both Genetic Programming and Grammatical Evolution offer solutions with similar structures that have two key advantages in common: they are both interpretable and flexible in terms of their structure. The core algorithms can be extended to use automatically defined functions or mechanisms aimed to promote parsimony. The number of references on this topic is ample, but most of the studies focus on a specific setup. This means that it is not clear which is the best alternative. This work intends to fill that gap in the literature presenting a comprehensive set of experiments using both techniques with similar variations, and measuring their sensitivity to an increase in population size and composition of the terminal set. The experimental work, based on three S&P 500 data sets, suggest that Grammatical Evolution generates strategies that are more profitable, more robust and simpler, especially when a parsimony control technique was applied. As for the use of automatically defined function, it improved the performance in some experiments, but the results were inconclusive. (C) 2018 Elsevier B.V. All rights reserved.The authors acknowledge financial support granted by the Spanish Ministry of Science and Innovation under grant ENE2014-56126-C2-2-R
A modular genetic programming system
Genetic Programming (GP) is an evolutionary algorithm for the automatic
discovery of symbolic expressions, e.g. computer programs or mathematical
formulae, that encode solutions to a user-defined task. Recent advances in GP
systems and computer performance made it possible to successfully apply this
algorithm to real-world applications.
This work offers three main contributions to the state-of-the art in GP
systems:
(I) The documentation of RGP, a state-of-the art GP software implemented as an
extension package to the popular R environment for statistical computation and
graphics. GP and RPG are introduced both formally and with a series of tutorial
examples. As R itself, RGP is available under an open source license.
(II) A comprehensive empirical analysis of modern GP heuristics based on the
methodology of Sequential Parameter Optimization. The effects and interactions
of the most important GP algorithm parameters are analyzed and recommendations
for good parameter settings are given.
(III) Two extensive case studies based on real-world industrial applications.
The first application involves process control models in steel production,
while the second is about meta-model-based optimization of cyclone dust
separators. A comparison with traditional and modern regression methods
reveals that GP offers equal or superior performance in both applications,
with the additional benefit of understandable and easy to deploy models.
Main motivation of this work is the advancement of GP in real-world application
areas. The focus lies on a subset of application areas that are known to be
practical for GP, first of all symbolic regression and classification. It has
been written with practitioners from academia and industry in mind
Utilising restricted for-loops in genetic programming
Genetic programming is an approach that utilises the power of evolution to allow computers to evolve programs. While loops are natural components of most programming languages and appear in every reasonably-sized application, they are rarely used in genetic programming. The work is to investigate a number of restricted looping constructs to determine whether any significant benefits can be obtained in genetic programming. Possible benefits include: Solving problems which cannot be solved without loops, evolving smaller sized solutions which can be more easily understood by human programmers and solving existing problems quicker by using fewer evaluations. In this thesis, a number of explicit restricted loop formats were formulated and tested on the Santa Fe ant problem, a modified ant problem, a sorting problem, a visit-every-square problem and a difficult object classificat ion problem. The experimental results showed that these explicit loops can be successfully used in genetic programming. The evolutionary process can decide when, where and how to use them. Runs with these loops tended to generate smaller sized solutions in fewer evaluations. Solutions with loops were found to some problems that could not be solved without loops. The results and analysis of this thesis have established that there are significant benefits in using loops in genetic programming. Restricted loops can avoid the difficulties of evolving consistent programs and the infinite iterations problem. Researchers and other users of genetic programming should not be afraid of loops