
Michael O'Neill- Chair at University College Dublin
Michael O'Neill
- Chair at University College Dublin
About
256
Publications
45,254
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
6,203
Citations
Introduction
Current institution
Publications
Publications (256)
We present this article as a small gesture in an attempt to counter what appears to be exponentially growing hype around Artificial Intelligence (AI) and its capabilities, and the distraction provided by the associated talk of science-fiction scenarios that might arise if AI should become sentient and super-intelligent. It may also help those outsi...
This paper explores the potential opportunities, risks, and challenges associated with the use of large language models (LLMs) in sports science and medicine. LLMs are large neural networks with transformer style architectures trained on vast amounts of textual data, and typically refined with human feedback. LLMs can perform a large range of natur...
This research introduces a new novel method for mathematically optimizing team sport training models to enhance two measures of athletic performance using an evolutionary computation based approach. A common training load model, consisting of daily training load prescriptions, was optimized using an evolutionary multi-objective algorithm to produce...
The purpose of this research was to compare the robustness and performance of a local and global optimization algorithm when given the task of fitting the parameters of a common non-linear dose-response model utilized in the field of exercise physiology. Traditionally the parameters of dose-response models have been fit using a non-linear least-squ...
An important but elusive goal of computer scientists is the automatic creation of computer programs given only input and output examples. We present a novel approach to program synthesis based on the combination of grammars, generative neural models, and evolutionary algorithms. Programs are described by sequences of productions sampled from a Back...
Grammar-Guided Genetic Programming is already outperforming humans at creating efficient transmission sched-ulers for large heterogeneous communications networks. We have previously proposed a multi-level grammar approach which achieved significantly better results than the canonical Grammar-Guided Genetic Programming approach. Initially, a restric...
While the origins of genetic programming (GP) stretch back over 50 years, the field of GP was invigorated by John Koza’s popularisation of the methodology in the 1990s. A particular feature of the GP literature since then has been a strong interest in the application of GP to real-world problem domains. One application domain which has attracted si...
We present a review of the application of genetic programming (GP) and other variations of evolutionary computation (EC) to the creative art of music composition. Throughout the development of EC methods, since the early 1990s, a small number of researchers have considered aesthetic problems such as the act of composing music alongside other more t...
At a high level, data centres are large IT facilities hosting physical machines (servers) that often run a large number of virtual machines (VMs)—but at a lower level, data centres are an intricate collection of interconnected and virtualised computers, connected services, complex service-level agreements. While data centre managers know that reass...
Learning has been shown to be beneficial to in creating more adaptive algorithms, and also in evolving neural networks. Moreover, learning can be classified into two types, namely social learning, or learning from others (e.g., imitation), and individual trial-and-error learning. A "social learning strategy"-a rule governing whether and when to use...
Business Analytics makes the assumption that given a sufficient set of analytics capabilities exist within an organisation, the existence of these capabilities will result in the generation of organisational value and/or competitive advantage. Taken further, do enhanced capability levels lead to enhanced impact for organisations? Capability in this...
Learning has been shown to be beneficial to an evolutionary process through the Baldwin Effect. Moreover, learning can be classified into two categories: asocial learning, e.g. trial-and-error; and social learning, e.g. imitation learning. A learning strategy, or learning rule-a combination of individual and social learning-has been suggested by re...
Wireless communications networks are operating at breaking point during an era of relentless traffic growth. Network operators must utilize scarce and expensive wireless spectrum efficiently in order to satisfy demand. Spectrum on the links between cells and user equipments ('users': smartphones, tablets, etc.) frequently becomes congested. Capacit...
We present a novel approach to generating seasonal training plans for elite athletes using the grammatical evolution approach to genetic programming. A grammatical encoding of a team sport training plan dictates the plan structure. The quality of the training plan is calculated using the widely adopted fitness-fatigue model, which in this study inc...
Learning as a form of adaptation has been shown to benefit the evolutionary process through the Baldwin Effect, promoting the adaptivity of an evolving population. Learning generally can be classified into two types: asocial learning, e.g., trial-and-error; and social learning, e.g., imitation learning. Recent research has shown that a learning str...
The scale at which the human race consumes data has increased exponentially in recent years. One key part in this increase has been the usage of smart phones and connected devices by the populous. Multi-Level Heterogeneous Networks are the driving force behind this mobile revolution, but these are constrained with limited bandwidth and over-subscri...
Evolution and learning are two different forms of adaptation by which the organism can change their behaviour to cope with problems posed by the environment. The second form of adaptation occurs when individuals exhibit plasticity in response to environmental conditions that may strengthen their survival. Learning has been shown to be beneficial to...
Traditional single-tiered wireless communications networks cannot scale to satisfy exponentially rising demand. Operators are increasing capacity by densifying their existing macro cell deployments with co-channel small cells. However, cross-tier interference and load balancing issues present new optimization challenges in channel sharing heterogen...
We outline a research journey which set out to tackle automatic programming and got distracted by success in a series of real-World applications including Software-defined Cellular Communications Networks, Design, Engineering, Business Analytics and Finance and Search-based Software Engineering. In particular the domain of software-defined communic...
Grammar-Guided Genetic Programming has shown its capability to evolve beyond human-competitive transmission schedulers for the benefit of large and heterogeneous communications networks. Despite this performance, a large margin of improvement is demonstrated to still exist. We have recently proposed a multi-level grammar approach which evolves stru...
Evolution and learning are two different ways in which the organism can adapt their behaviour to cope with problems posed by the environment. The second type of adaptation occurs when individuals exhibit plasticity in response to environmental conditions that may strengthen their survival. Individuals seek a behaviour that increases fitness. Theref...
Learning can be classified into two categories: asocial learning, e.g. trial-and-error; and social learning, e.g. imitation learning. Theory using mathematical models suggest that social learning should be combined with asocial learning in a strategic way (called learning rule or learning strategy), and that that combination should be scrutinised u...
The use of semantic information in genetic programming operators has shown major improvements in recent years, especially in the regression and boolean domain. As semantic information is domain specific, using it in other areas poses certain problems. Semantic operators require being adapted for the problem domain they are applied to. An attempt to...
Learning, through the Baldwin effect, has been shown to provide beneficial adaptation in evolving populations, which is not genetically inherited. More interestingly, learning can be classified into two categories. The first is asocial (indi-vidual) learning when individuals learn by directly interacting with their environment, e.g. trial-and-error...
Evolutionary Computation is used to automatically evolve small cell schedulers on a realistic simulation of a 4G-LTE heterogeneous cellular network. Evolved schedulers are then further augmented by human design to improve robustness. Extensive analysis of evolved solutions and their performance across a wide range of metrics reveals evolution has u...
Profiling techniques highlight where performance issues manifest and provide a starting point for tracing cause back through a program. While people diagnose and understand the cause of performance to guide formulation of a performance improvement, we seek automated techniques for highlighting performance improvement opportunities to guide search a...
Evolutionary Computation is used to automatically evolve small cell schedulers on a realistic simulation of a 4G-LTE heterogeneous cellular network. Evolved schedulers are then further augmented by human design to improve robustness. Extensive analysis of evolved solutions and their performance across a wide range of metrics reveals evolution has u...
Client-side Javascript execution environments (browsers) allow anonymous functions and event-based programming concepts such as callbacks. We investigate whether a mutate-and-test approach can be used to optimise web page load time in these environments. First, we characterise a web page load issue in a benchmark web page and derive performance met...
This chapter focuses on genetic programming (GP), a stochastic optimization and model induction technique. An advantage of GP is that the modeler need not select the exact parameters to be used in the model beforehand. Rather, GP can effectively search a complex model space defined by a set of building blocks specified by the modeler. This flexibil...
Semantic information has been used to create operators that improve performance in genetic programming. As different problem domains have different semantics, extracting semantics and calculating semantic similarity is of tantamount importance to use semantic operators for each domain. To date researchers have struggled to effectively do this beyon...
Grammatical Evolution (GE) is a Evolutionary Algorithm (EA) that takes inspiration from the biological evolutionary process to search for solutions to problems. This chapter gives a brief introduction to EAs, paying particular attention to those involved in automatic program generation.We then describe grammars, the core building blocks of programs...
This book constitutes the refereed proceedings of the 7th International Conference on Theory and Practice of Natural Computing, TPNC 2017, held in Dublin, Ireland, in December 2018. The 35 full papers presented in this book, together with one invited talk, were carefully reviewed and selected from 69 submissions. The papers are organized around the...
Computer games are highly dynamic environments,where players are faced with a multitude of potentially unseen scenarios. In this article, AI controllers are applied to the MarioAI Benchmark platform, by using the Grammatical Evolution system to evolve Behavior Tree structures. These controllers are either evolved to both deal with navigation and re...
The merit of a given piece of music is difficult to evaluate objectively; the merit of a computational system that creates such a piece of music may be even more so. In this article, we propose that there may be limitations resulting from assumptions made in the evaluation of autonomous compositional or creative systems. The article offers a review...
Managing and curating software is a time consuming process particularly as programming languages, libraries, and execution environments change. To support the engineering of software, we propose applying a GP-based continuous learning system to all "useful" software. We take the position that search-based itemization and analysis of all commonly us...
Grammatical Evolution (GE) is a population-based evolutionary algorithm, where a formal grammar is used in the genotype to phenotype mapping process. PonyGE2 is an open source implementation of GE in Python, developed at UCD's Natural Computing Research and Applications group. It is intended as an advertisement and a starting-point for those new to...
Wireless communications networks are a global trillion dollar industry, where small improvements can scale to provide significant cost savings to networks operators. In a field full of NP-hard optimisation problems, heuristic optimisation techniques such as Evolutionary Computation offer a means to provide bespoke, scalable solutions. Grammatical G...
Gradient Boosting (GB) learns an additive expansion of simple basis-models. This is accomplished by iteratively fitting an elementary model to the negative gradient of a loss function with respect to the expansion’s values at each training data-point evaluated at each iteration. For the case of squared-error loss function, the negative gradient tak...
The primary aim of automated performance improvement is to reduce the running time of programs while maintaining (or improving on) functionality. In this paper, Genetic Programming is used to find performance improvements in regular expressions for an array of target programs, representing the first application of automated software improvement for...
This paper proposes an initial framework for using PonyGE, a python implementation of Grammatical Evolution in generating ChucK files for music creation. We develop a number of grammars for creating individual instruments as shreds that can be added or sporked to the ChucK VM via the command line. A quicktime video example of the system running is...
Drawing on a rich literature concerning social learning in animals, this paper presents a variation of Grammatical Evolution (GE) which incorporates one of the most powerful forms of social learning, namely imitation arising from observational learning. This replaces the traditional method of `communication' between individuals in GE - crossover -...
This paper presents a cyclical system that generates autonomous
�tness functions or Agents for evolving short melodies. A
grammar is employed to create a corpus of melodies, each of which is
composed of a number of segments. A population of Agents are evolved
to give numerical judgements on the melodies based on the spacing of
these segments. The �...
The primary aim of automated performance improvement is to reduce the running time of programs while maintaining (or improving on) functionality. In this paper, Genetic Programming is used to find performance improvements in regular expressions for an array of target programs, representing the first application of automated software improvement for...
Heterogeneous cellular networks are composed of macro cells (MCs) and small cells (SCs) in which all cells occupy the same bandwidth. Provision has been made under the third generation partnership project-long term evolution framework for enhanced intercell interference coordination (eICIC) between cell tiers. Expanding on previous works, this pape...
Grammatical Evolution (GE) is a population-based evolutionary algorithm, where a formal grammar is used in the genotype to phenotype mapping process. PonyGE2 is an open source implementation of GE in Python, developed at UCD's Natural Computing Research and Applications group. It is intended as an advertisement and a starting-point for those new to...
Today, money laundering (ML) poses a serious threat not only to financial institutions but also to the nations. This criminal activity is becoming more and more sophisticated and seems to have moved from the clichy of drug trafficking to financing terrorism and surely not forgetting personal gain. Most of the financial institutions internationally...
Initialisation in Grammatical Evolution (GE) is a topic that remains open to debate on many fronts. The literature falls between two mainstay approaches: random and sensible initialisation. These methods are not without their drawbacks with the type of trees generated. This paper tackles this problem by extending these traditional operators to inco...
Network operators are struggling to cope with exponentially increasing demand. Capacity can be increased by densifying existing Macro Cell deployments with Small Cells. The resulting two-tiered architecture is known as a Heterogeneous Network or 'HetNet'. Significant inter-tier interference in channel sharing HetNets is managed by resource interlea...
Credit card classification based on machine learning has attracted considerable interest from the research
community. One of the most important tasks in this area is the ability of classifiers to handle the imbalance
in credit card data. In this scenario, classifiers tend to yield poor accuracy on the minority class despite
realizing high overall a...
Effective scheduling in Heterogeneous Networks is key to realising the benefits from enhanced Inter-Cell Interference Coordination. In this paper we address the problem using Grammar-based Genetic Programming. Our solution executes on a millisecond timescale so it can track with changing network conditions. Furthermore, the system is trained using...
Heterogeneous Cellular Networks are multi-tiered cellular networks comprised of Macro Cells and Small Cells in which all cells occupy the same bandwidth. User Equipments greedily attach to whichever cell provides the best signal strength. While Macro Cells are invariant, the power and selection bias for each Small Cell can be increased or decreased...
Automatic Speaker Verification (ASV) is a highly unbalanced binary classification problem, in which any given speaker must be verified against everyone else. We apply Genetic programming (GP) to this problem with the aim of both prediction and inference. We examine the generalisation of evolved programs using a variety of fitness functions and data...
An algorithmic compositional system that uses hill climbing to create short melodies is presented. A context free grammar maps each section of the resultant individual to a musical segment resulting in a series of MIDI notes described by pitch and duration. The dissimilarity between each pair of segments is measured using a metric based on the pitc...
Grammar-based genetic programming systems have gained interest in recent decades and are widely used nowadays. Although researchers normally present the grammar used to solve a certain problem, they seldom write about processes used to construct the grammar. This paper sheds some light on how to design a grammar that not only covers the search spac...
The majority of existing discrete truss optimization methods focus primarily on optimizing global truss topology using a ground structure approach, in which all possible node and beam locations are specified a priori. The ground structure discrete optimization method has been shown to be restrictive as it limits derivable solutions to what is expli...
Semantics has gained much attention in the last few years and new advanced crossover and mutation operations have been created which use semantic information to improve the quality and generalisability of individuals in genetic programming. In this paper we present a new selection operator in grammatical evolution which uses semantic information of...
Grammatical Evolution (GE) is applied to the problem of load balancing in heterogeneous cellular network deployments (HetNets). HetNets are multi-tiered cellular networks for which load balancing is a scalable means to maximise network capacity, assuming similar traffic from all users. This paper describes a proof of concept study in which GE is us...
Accurate, real time, continuous ocean wave height measurements are required for the initialisation of ocean wave forecast models, model hindcasting, and climate studies. These measurements are usually obtained using in situ ocean buoys or by satellite altimetry, but are sometimes incomplete due to instrument failure or routine network upgrades. In...
An Artificial Genetic Regulatory Network (GRN) is a model of the gene expression regulation mechanism in biological organisms. It is a dynamical system that is capable of mimicking non-linear time series. The GRN was adapted to allow for input and output so that the system's rich dynamics could be used for dynamic problem solving. In order for the...
This paper considers the general problem of function estimation via Genetic Programming (GP). Data analysts typically select a model from a population of models, and then proceed as if the selected model had generated the data. This approach ignores the uncertainty in model selection, leading to over-confident inferences and lack of generalisation....
We present the results of a series of investigations where we apply a form of grammar-based genetic programming to the problem of program synthesis in an attempt to evolve an Integer Sorting algorithm. The results confirm earlier research in the field on the difficulty of the problem given a primitive set of functions and terminals. The inclusion o...
Traditional CAD tools generate a static solution to a design problem. Parametric systems allow the user to explore many variations on that design theme. Such systems make the computer a generative design tool and are already used extensively as a rapid prototyping technique in architecture and aeronautics. Combining a design generation tool with an...
Several methods which apply genetic programming (GP) in dynamic optimization environments implicitly assume that the smaller the semantic change in the optimization goal, the better the adaptation of the GP population to the new target. However, GP searches over genetic operator-based fitness landscapes. As such, relative distances between solution...
Following a recent call for a suite of benchmarks for genetic programming, we investigate the criteria for a meaningful dynamic benchmark for GP. We explore the design of a dynamic benchmark for symbolic regression, based on semantic distance between evaluated functions, where larger distances serve as a proxy for greater environmental change. We d...
This paper attempts to provide a guideline for function set selection based on fitness landscape analysis. We used two well-known techniques, autocorrelation function and information content, to analysize the fitness landscape of each function set. We tested these methods on a large number of real-valued symbolic regression problems and the experim...
Since its inception, πGE has used evolution to guide the order of how to construct derivation trees. It was hypothesised that this would allow evolution to adjust the order of expansion during the run and thus help with search. This research aims to identify if a specific order is reachable, how reachable it may be, and goes on to investigate what...
Nearest Neighbour (NN) classification is a widely-used, effective method for both binary and multi-class problems. It relies on the assumption that class conditional probabilities are locally constant. However, this assumption becomes invalid in high dimensions, and severe bias can be introduced, which degrades the performance of the method. The em...
Population diversity has long been seen as a crucial factor for the efficiency of Evolutionary Algorithms in general, and Genetic Programming (GP) in particular. This paper experimentally investigates the diversity property of a recently proposed crossover, Semantic Similarity based Crossover (SSC). The results show that while SSC helps to improve...
The last decade has seen the development of a family of powerful optimisation algorithms inspired by the foraging behaviours of honey bees. A key component of these algorithms is the concept of 'recruitment' whereby successful foragers transmit information to other colony members concerning the location of discovered resources and thereby 'recruit'...
A novel extension of an existing artificial Gene Regulatory Network model is introduced, combining the dynamic adaptive nature of this model with the generative power of grammars. The use of grammars enables the model to produce more varied phenotypes, allowing its application to a wider range of problems. The performance and generalisation ability...
We analyse the impact of dynamic training scenarios when evolving algorithms for femtocells, which are low power, low-cost, user-deployed cellular base stations. Performance is benchmarked against an alternative stationary training strategy where all scenarios are presented to each individual in the evolving population during each fitness evaluatio...
This paper explores the computational power of genetic regulatory network models, and the practicalities of applying these to real-world problems. The specific domain of financial trading is tackled; this is a problem where time-dependent decisions are critical, and as such benefits from the differential gene expression that these networks provide....
We consider the fundamental property of generalisation of data-driven models evolved by means of Genetic Programming (GP). The statistical treatment of decomposing the regression error into bias and variance terms provides insight into the generalisation capability of this modelling method. The error decomposition is used as a source of inspiration...
Modularity has been an important vein of research in evolutionary algorithms. Past research in evolutionary computation has shown that techniques able to decompose the benchmark problems examined in this work into smaller, more easily solved, sub-problems have an advantage over those which do not. This work describes and analyzes a number of approa...
Adaptive mutation operations have been proposed in Evolutionary Computation (EC) many times and in different varieties, but few have gained widespread use. In nature, mutation rates vary over time, however it has become common practice to use static, widely accepted, values for mutation, particularly in GP-like systems. In this study, an adaptive m...
Methods for evolving robust solutions are necessary when the evolved solutions are algorithms which are deployed in actual consumer products, e.g. Femtocells, low power, low-cost, user-deployed cellular base stations. We compare how multiple and dynamic applications of training scenarios in the evolutionary search produce different solutions and pe...
This paper explores the issues with mapping termination in Grammatical Evolution, and examines approaches that can be used to minimise them. It analyses the traditional approach of reusing the same genetic material, known as wrapping, and shows why this is inefficient with some grammars used in the literature. It suggests the appending of non-codin...
Although significant attention is given to the study of intellectual property rights (IPR) in economic and other literatures our understanding of the impact of these rights on the process of technological advance is surprisingly incomplete. In this paper we focus on one form of IPR, namely patents. An important and open question faced by policy-mak...
Accurate measurements of Net Ecosystem Exchange of CO
2 between atmosphere and biosphere are required in order to estimate annual carbon budgets. These are typically obtained with Eddy Covariance techniques. Unfortunately, these techniques are often both noisy and incomplete, due to data loss through equipment failure and routine maintenance, and r...
This study uses Genetic Programming (GP) in developing a classifier to distinguish between five musical instruments. Using only simple arithmetic and boolean operators with 95 features as terminals, a program is developed that can classify 300 unseen samples with an accuracy of 94%. The experiment is then run again using only 14 of the most often c...
In this study we evolve seasonal forecasting temperature models, using Genetic Programming (GP), in order to provide an accurate, localised, long-term forecast of a temperature profile as part of the broader process of determining appropriate pricing model for weather-derivatives, financial instruments that allow organisations to protect themselves...
A designer should be able to express their intentions with a design tool. This paper describes an evolutionary design tool that enables the architect to directly interact with the encoding of designs they find aesthetically pleasing. Broadening interaction beyond simple evaluation increases the amount of feedback and bias a user can apply to the se...
This paper investigates the efficiency of using semantic and syntactic distance metrics in fitness sharing with Genetic Programming (GP). We modify the implementation of fitness sharing to speed up its execution, and used two distance metrics in calculating the distance between individuals in fitness sharing: semantic distance and syntactic distanc...
Preferential language biases which are introduced when using Tree-Adjoining Grammars in Grammatical Evolution affect the distribution of generated derivation structures, and as such, present difficulties when designing initialisation methods. Similar initial populations allow for a fairer comparison between different GP methods. This work proposes...
Evolutionary methods afford a productive and creative alternative design workflow. Crucial to success is the choice of formal representation of the problem. String-rewriting context-free grammars (CFGs) are one common option in evolutionary computation, but their suitability for design is not obvious. Here, a CFG-based evolutionary algorithm for de...
The field of natural computing (NC) has advanced rapidly over the past decade. One significant offshoot of this progress has been the application of NC methods in finance. This chapter provides an introduction to a wide range of financial problems to which NC methods have been usefully applied. The chapter also identifies open issues and suggests f...