William B. Langdon

dblp:l/WilliamBLangdon · DBLP profile ↗
← Back
91ranked-venue papers
59as first author
17since 2021 · last 2026
0000-0002-6388-4160ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Artificial intelligence and machine learning · 78 · 53 first-author · 14 since 2021Software engineering, systems software and programming languages · 21 · 6 first-author · 9 since 2021Applied, interdisciplinary, general and emerging computing · 5 · 2 first-authorTheory of computation · 1 · 1 first-author
YearPublicationVenuePosition
2026 Fuzz3 : Entropy as a Third Oracle
Karine Even-Mendoza, Janine Obiri, Aidan Dakhama, Phil McMinn, William B. Langdon
SSBSE5
2025 Population Diversity, Information Theory and Genetic Improvement
William B. Langdon, David Clark 0001
EuroGP1
2025 HotCat: Green and Effective Feature Selection toward Hotfix Bug Taxonomy
Luis De La Cal, Yazhuo Cao, Ayse Irmak Ercevik, Giovanni Pinna, Lukas Twist, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Federica Sarro
SSBSE8
2025 GreenMalloc: Allocator Optimisation for Industrial Workloads
Aidan Dakhama, William B. Langdon, Héctor D. Menéndez 0001, Karine Even-Mendoza
SSBSE2
2025 GA4GC: Greener Agent for Greener Code via Multi-objective Configuration Optimization
Jingzhi Gong, Yixin Bian, Luis De La Cal, Giovanni Pinna, Anisha Uteem, Mar Zamorano López, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Federica Sarro
SSBSE9
2025 Enhancing search-based testing with LLMs for finding bugs in system simulators
abstract
Abstract Despite the wide availability of automated testing techniques such as fuzzing, little attention has been devoted to testing computer architecture simulators. We propose a fully automated approach for this task. Our approach uses large language models (LLM) to generate input programs, including information about their parameters and types, as test cases for the simulators. The LLM’s output becomes the initial seed for an existing fuzzer, , which has been enhanced with three mutation operators, targeting both the input binary program and its parameters. We implement our approach in a tool called . We use it to test the system simulator. discovered 21 new bugs in , 14 where ’s software prediction differs from the real behaviour on actual hardware, and 7 where it crashed. New defects were uncovered with each of the 6 LLMs used.
Aidan Dakhama, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Justyna Petke
Autom. Softw. Eng.3
2025 Deep imperative mutations have less impact
abstract
Abstract Information theory and entropy loss predict deeper more hierarchical software will be more robust. Suggesting silent errors and equivalent mutations will be more common in deeper code, highly structured code will be hard to test, so explaining best practise preference for unit testing of small methods rather than system wide analysis. Using the genetic improvement (GI) tool MAGPIE , we measure the impact of source code mutations and how this varies with execution depth in two diverse multi-level nested software. gem5 is a million line single threaded state-of-the-art C++ discrete time VLSI circuit simulator, whilst PARSEC VIPS is a non-deterministic parallel computing multi-threaded image processing benchmark written in C. More than 28–53% of mutants compile and generate identical results to the original program. We observe 12% and 16% Failed Disruption Propagation (FDP). Excluding internal errors, exceptions and asserts, here most faults below about 30 nested function levels which are Executed and Infect data or divert control flow are not Propagated to the output, i.e. these deep PIE changes have no visible external effect. Suggesting automatic software engineering on highly structured code will be hard.
William B. Langdon, David Clark 0001
Autom. Softw. Eng.1
2024 Genetic Improvement of Last Level Cache
William B. Langdon, David Clark 0001
EuroGP1
2024 GreenStableYolo: Optimizing Inference Time and Image Quality of Text-to-Image Generation
Jingzhi Gong, Giordano d'Aloisio, Zishuo Ding, Yulong Ye, William B. Langdon, Federica Sarro
SSBSE6
2023 Genetic Improvement of LLVM Intermediate Representation
William B. Langdon, Afnan A. Al-Subaihin, Aymeric Blot, David Clark 0001
EuroGP1
2023 SearchGEM5: Towards Reliable Gem5 with Search Based Software Testing and Large Language Models
Aidan Dakhama, Karine Even-Mendoza, William B. Langdon, Héctor D. Menéndez 0001, Justyna Petke
SSBSE3
2022 Measuring failed disruption propagation in genetic programming
abstract
Information theory explains the robustness of deep GP trees, with on average up to 83.3% of crossover run time disruptions failing to propagate to the root node, and so having no impact on fitness, leading to phenotypic convergence. Monte Carlo simulations of perturbations covering the whole tree demonstrate a model based on random synchronisation of the evaluation of the parent and child which cause parent and offspring evaluations to be identical. This predicts the effectiveness of fitness measurement grows slowly as O(log(n)) with number n of test cases. This geometric distribution model is tested on genetic programming symbolic regression.
William B. Langdon, Afnan A. Al-Subaihin, David Clark 0001
GECCO1
2022 Long-Term Evolution Experiment with Genetic Programming
abstract
We evolve floating point Sextic polynomial populations of genetic programming binary trees for up to a million generations. We observe continued innovation but this is limited by tree depth. We suggest that deep expressions are resilient to learning as they disperse information, impeding evolvability, and the adaptation of highly nested organisms, and we argue instead for open complexity. Programs with more than 2,000,000,000 instructions (depth 20,000) are created by crossover. To support unbounded long-term evolution experiments in genetic programming (GP), we use incremental fitness evaluation and both SIMD parallel AVX 512-bit instructions and 16 threads to yield performance equivalent to 1.1 trillion GP operations per second, 1.1 tera GPops, on an Intel Xeon Gold 6136 CPU 3.00GHz server.
William B. Langdon, Wolfgang Banzhaf
Artif. Life1
2022 Deep Genetic Programming Trees Are Robust
abstract
We sample the genetic programming tree search space and show it is smooth, since many mutations on many test cases have little or no fitness impact. We generate uniformly at random high-order polynomials composed of 12,500 and 750,000 additions and multiplications and follow the impact of small changes to them. From information theory, 32 bit floating point arithmetic is dissipative, and even with 1,501 test cases, deep mutations seldom have any impact on fitness. Absolute difference between parent and child evaluation can grow as well as fall further from the code change location, but the number of disrupted fitness tests falls monotonically. In many cases, deeply nested expressions are robust to crossover syntax changes, bugs, errors, run time glitches, perturbations, and so on, because their disruption falls to zero, and so it fails to propagate beyond the program.
William B. Langdon
ACM Trans. Evol. Learn. Optim.1
2021 Incremental Evaluation in Genetic Programming
William B. Langdon
EuroGP1
2021 Software robustness: a survey, a theory, and prospects
abstract
If a software execution is disrupted, witnessing the execution at a later point may see evidence of the disruption or not. If not, we say the disruption failed to propagate. One name for this phenomenon is software robustness but it appears in different contexts in software engineering with different names. Contexts include testing, security, reliability, and automated code improvement or repair. Names include coincidental correctness, correctness attraction, transient error reliability. As witnessed, it is a dynamic phenomenon but any explanation with predictive power must necessarily take a static view. As a dynamic/static phenomenon it is convenient to take a statistical view of it which we do by way of information theory. We theorise that for failed disruption propagation to occur, a necessary condition is that the code region where the disruption occurs is composed with or succeeded by a subsequent code region that suffers entropy loss over all executions. The higher is the entropy loss, the higher the likelihood that disruption in the first region fails to propagate to the downstream observation point. We survey different research silos that address this phenomenon and explain how the theory might be exploited in software engineering.
Justyna Petke, David Clark 0001, William B. Langdon
ESEC/SIGSOFT FSE3
2021 Genetic Improvement of Data for Maths Functions
abstract
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 reciprocal square root function for C in seconds. The GI inverted square root x -1/2 is far more accurate than Quake’s InvSqrt, Quare root. GI shows potential for automatically creating mobile or low resource mote smart dust bespoke custom mathematical libraries with new functionality.
William B. Langdon, Oliver Krauss
ACM Trans. Evol. Learn. Optim.1
2020 Genetic Improvement of Genetic Programming
abstract
GISMOE BNF grammar based GI is applied to optimise run time of the tree interpreter in the fastest single computer floating point genetic programming system, GPavx. Up to two fold speed up is obtained. Performance varies with tree size. The GI version of Singleton's C++ GPquick is demonstrated on random trees of up to 79 million opcodes on Intel AVX512 SIMD parallel compute servers.
William B. Langdon
CEC1
2020 Automatically Evolving Lookup Tables for Function Approximation
Oliver Krauss, William B. Langdon
EuroGP2
2019 Evolving AVX512 Parallel C Code Using GP
William B. Langdon, Ronny Lorenz
EuroGP1
2018 Evolving Better RNAfold Structure Prediction
William B. Langdon, Justyna Petke, Ronny Lorenz
EuroGP1
2018 Evolving Better Software Parameters
abstract
Genetic improvement might be widely used to adapt existing numerical values within programs. Applying GI to embedded parameters in computer code can create new functionality. For example, CMA-ES can evolve 1024 real numbers in a GNU C library square root to implement a cube root routine for C.
William B. Langdon, Justyna Petke
SSBSE1
2018 Genetic Improvement of Software: A Comprehensive Survey
abstract
Genetic improvement (GI) uses automated search to find improved versions of existing software. We present a comprehensive survey of this nascent field of research with a focus on the core papers in the area published between 1995 and 2015. We identified core publications including empirical studies, 96% of which use evolutionary algorithms (genetic programming in particular). Although we can trace the foundations of GI back to the origins of computer science itself, our analysis reveals a significant upsurge in activity since 2012. GI has resulted in dramatic performance improvements for a diverse set of properties such as execution time, energy and memory consumption, as well as results for fixing and extending existing system functionality. Moreover, we present examples of research work that lies on the boundary between GI and other areas, such as program transformation, approximate computing, and software repair, with the intention of encouraging further exchange of ideas between researchers in these fields.
Justyna Petke, Saemundur O. Haraldsson, Mark Harman, William B. Langdon, David Robert White, John R. Woodward
IEEE Trans. Evol. Comput.4
2018 Specialising Software for Different Downstream Applications Using Genetic Improvement and Code Transplantation
abstract
Genetic improvement uses automated search to find improved versions of existing software. Genetic improvement has previously been concerned with improving a system with respect to all possible usage scenarios. In this paper, we show how genetic improvement can also be used to achieve specialisation to a specific set of usage scenarios. We use genetic improvement to evolve faster versions of a C++ program, a Boolean satisfiability solver called MiniSAT, specialising it for three different applications, each with their own characteristics. Our specialised solvers achieve between 4 and 36 percent execution time improvement, which is commensurate with efficiency gains achievable using human expert optimisation for the general solver. We also use genetic improvement to evolve faster versions of an image processing tool called ImageMagick, utilising code from GraphicsMagick, another image processing tool which was forked from it. We specialise the format conversion functionality to greyscale images and colour images only. Our specialised versions achieve up to 3 percent execution time improvement.
Justyna Petke, Mark Harman, William B. Langdon, Westley Weimer
IEEE Trans. Software Eng.3
2017 Visualising the Search Landscape of the Triangle Program
William B. Langdon, Nadarajen Veerapen, Gabriela Ochoa
EuroGP1
2016 Genetic improvement: A key challenge for evolutionary computation
abstract
Automatic Programming has long been a sub-goal of Artificial Intelligence (AI). It is feasible in limited domains. Genetic Improvement (GI) has expanded these dramatically to more than 100 000 lines of code by building on human written applications. Further scaling may need key advances in both Search Based Software Engineering (SBSE) and Evolutionary Computation (EC) research, particularly on representations, genetic operations, fitness landscapes, fitness surrogates, multi objective search and co-evolution.
William B. Langdon, Gabriela Ochoa
CEC1
2016 Kin Selection with Twin Genetic Programming
William B. Langdon
PPSN1
2016 Optimising Quantisation Noise in Energy Measurement
William B. Langdon, Justyna Petke, Bobby R. Bruce
PPSN1
2016 API-Constrained Genetic Improvement
William B. Langdon, David Robert White, Mark Harman, Yue Jia 0001, Justyna Petke
SSBSE1
2016 Exact Mean Absolute Error of Baseline Predictor, MARP0
William B. Langdon, José Javier Dolado, Federica Sarro, Mark Harman
Inf. Softw. Technol.1
2015 Improving CUDA DNA Analysis Software with Genetic Programming
abstract
We genetically improve BarraCUDA using a BNF grammar incorporating C scoping rules with GP. Barracuda maps next generation DNA sequences to the human genome using the Burrows-Wheeler algorithm (BWA) on nVidia Tesla parallel graphics hardware (GPUs). GI using phenotypic tabu search with manually grown code can graft new features giving more than 100 fold speed up on a performance critical kernel without loss of accuracy.
William B. Langdon, Brian Y. H. Lam, Justyna Petke, Mark Harman
GECCO1
2015 Grow and Serve: Growing Django Citation Services Using SBSE
Yue Jia 0001, Mark Harman, William B. Langdon, Alexandru Marginean
SSBSE3
2015 Genetic Improvement of Software for Multiple Objectives
William B. Langdon
SSBSE1
2015 Optimizing Existing Software With Genetic Programming
abstract
We show that the genetic improvement of programs (GIP) can scale by evolving increased performance in a widely-used and highly complex 50000 line system. Genetic improvement of software for multiple objective exploration (GISMOE) found code that is 70 times faster (on average) and yet is at least as good functionally. Indeed, it even gives a small semantic gain.
William B. Langdon, Mark Harman
IEEE Trans. Evol. Comput.1
2014 Genetically Improved CUDA C++ Software
William B. Langdon, Mark Harman
EuroGP1
2014 Using Genetic Improvement and Code Transplants to Specialise a C++ Program to a Problem Class
Justyna Petke, Mark Harman, William B. Langdon, Westley Weimer
EuroGP3
2014 Improving 3D medical image registration CUDA software with genetic programming
abstract
Genetic Improvement (GI) is shown to optimise, in some cases by more than 35percent, a critical component of healthcare industry software across a diverse range of six nVidia graphics processing units (GPUs). GP and other search based software engineering techniques can automatically optimise the current rate limiting CUDA parallel function in the NiftyReg open source C++ project used to align or register high resolution nuclear magnetic resonance NMRI and other diagnostic NIfTI images. Future Neurosurgery techniques will require hardware acceleration, such as GPGPU, to enable real time comparison of three dimensional in theatre images with earlier patient images and reference data. With millimetre resolution brain scan measurements comprising more than ten million voxels the modified kernel can process in excess of 3 billion active voxels per second.
William B. Langdon, Marc Modat, Justyna Petke, Mark Harman
GECCO1
2014 Search based software engineering for software product line engineering: a survey and directions for future work
abstract
This paper presents a survey of work on Search Based Software Engineering (SBSE) for Software Product Lines (SPLs). We have attempted to be comprehensive, in the sense that we have sought to include all papers that apply computational search techniques to problems in software product line engineering. Having surveyed the recent explosion in SBSE for SPL research activity, we highlight some directions for future work. We focus on suggestions for the development of recent advances in genetic improvement, showing how these might be exploited by SPL researchers and practitioners: Genetic improvement may grow new products with new functional and non-functional features and graft these into SPLs. It may also merge and parameterise multiple branches to cope with SPL branchmania.
Mark Harman, Yue Jia 0001, Jens Krinke, William B. Langdon, Justyna Petke, Yuanyuan Zhang 0003
SPLC4
2014 Babel Pidgin: SBSE Can Grow and Graft Entirely New Functionality into a Real World System
Mark Harman, Yue Jia 0001, William B. Langdon
SSBSE3
2013 Applying Genetic Improvement to MiniSAT
Justyna Petke, William B. Langdon, Mark Harman
SSBSE2
2012 The GISMOE challenge: constructing the pareto program surface using genetic programming to find better programs (keynote paper)
abstract
Optimising programs for non-functional properties such as speed, size, throughput, power consumption and bandwidth can be demanding; pity the poor programmer who is asked to cater for them all at once! We set out an alternate vision for a new kind of software development environment inspired by recent results from Search Based Software Engineering (SBSE). Given an input program that satisfies the functional requirements, the proposed programming environment will automatically generate a set of candidate program implementations, all of which share functionality, but each of which differ in their non-functional trade offs. The software designer navigates this diverse Pareto surface of candidate implementations, gaining insight into the trade offs and selecting solutions for different platforms and environments, thereby stretching beyond the reach of current compiler technologies. Rather than having to focus on the details required to manage complex, inter-related and conflicting, non-functional trade offs, the designer is thus freed to explore, to understand, to control and to decide rather than to construct.
Mark Harman, William B. Langdon, Yue Jia 0001, David Robert White, Andrea Arcuri, John A. Clark
ASE2
2011 Strong higher order mutation-based test data generation
abstract
This paper introduces SHOM, a mutation-based test data generation approach that combines Dynamic Symbolic Execution and Search Based Software Testing. SHOM targets strong mutation adequacy and is capable of killing both first and higher order mutants. We report the results of an empirical study using 17 programs, including production industrial code from ABB and Daimler and open source code as well as previously studied subjects. SHOM achieved higher strong mutation adequacy than two recent mutation-based test data generation approaches, killing between 8% and 38% of those mutants left unkilled by the best performing previous approach.
Mark Harman, Yue Jia 0001, William B. Langdon
SIGSOFT FSE3
2011 Graphics processing units and genetic programming: an overview
William B. Langdon
Soft Comput.1
2010 Evolving a CUDA kernel from an nVidia template
abstract
Rather than attempting to evolve a complete program from scratch we demonstrate genetic interface programming (GIP) by automatically generating a parallel CUDA kernel with identical functionality to existing highly optimised ancient sequential C code (gzip). Generic GPGPU nVidia kernel C++ code is converted into a BNF grammar. Strongly typed genetic programming uses the BNF to generate compilable and executable graphics card kernels. Their fitness is given by running the population on a GPU with randomised subsets of training data itself derived from gzip's SIR test suite. Back-to-back validation uses the original code as a test oracle.
William B. Langdon, Mark Harman
IEEE Congress on Evolutionary Computation1
2010 A Many Threaded CUDA Interpreter for Genetic Programming
William B. Langdon
EuroGP1
2010 Efficient multi-objective higher order mutation testing with genetic programming
William B. Langdon, Mark Harman, Yue Jia 0001
J. Syst. Softw.1
2010 A Survey of Spatial Defects in Homo Sapiens Affymetrix GeneChips
abstract
Modern biology has moved from a science of individual measurements to a science where data are collected on an industrial scale. Foremost, among the new tools for biochemistry are chip arrays which, in one operation, measure hundreds of thousands or even millions of DNA sequences or RNA transcripts. While this is impressive, increasingly sophisticated analysis tools have been required to convert gene array data into gene expression levels. Despite the assumption that noise levels are low, since the number of measurements for an individual gene is small, identifying which signals are affected by noise is a priority. High-density oligonucleotide array (HDONAs) from NCBI GEO shows that, even in the best Human GeneChips 1/4 percent of data are affected by spatial noise. Earlier designs are noisier and spatial defects may affect more than 25 percent of probes. BioConductor R code is available as supplementary material which can be found on the Computer Society Digital Library at http://doi.ieeecomputersociety.org/10.1109/TCBB.2008.108 and via http://bioinformatics.essex.ac.uk/users/wlangdon/TCBB-2007-11-0161.tar.gz.
William B. Langdon, Graham J. G. Upton, Renata da Silva Camargo, Andrew P. Harrison
IEEE ACM Trans. Comput. Biol. Bioinform.1
2009 Multi objective higher order mutation testing with GP
abstract
Mutation testing is a powerful software engineering technique for fault finding. It works by injecting known faults (mutations) into software and seeing if the test suite finds them. It remains very expensive and the few valuable traditional mutants that resemble real faults are mixed in with many others that denote unrealistic faults. The expense and lack of realism inhibit industrial uptake of mutation testing. Genetic programming searches the space of complex faults to find realistic higher order mutants. Despite the much larger search space, we have found mutants composed of multiple changes to the C source code that challenge the tester and which cannot be represented in the first order space.
William B. Langdon, Mark Harman, Yue Jia 0001
GECCO1
2009 Creating regular expressions as mRNA motifs with GP to predict human exon splitting
abstract
RNAnet [3] http://bioinformatics.essex.ac.uk/users/wlangdon/rnanet/ allows the user to calculate correlations of gene expression, both between genes and between components within genes. We investigate all of Ensembl http://www.ensembl.org and find all the Homo Sapiens exons for which there are sufficient robust Affymetrix HG-U133 Plus 2 GeneChip probes. Calculating correlation between mRNA probe measurements for the same exon shows many exons whose components are consistently up regulated and down regulated. However we identify other Ensembl exons where sub-regions within them are self consistent but these transcript blocks are not well correlated with other blocks in the same exon. We suggest many current Ensembl exon definitions are incomplete. Secondly, having identified exon with substructure we use machine learning to try and identify patterns in the DNA sequence lying between blocks of high correlation which might yield biological or technological explanations. A Backus-Naur form (BNF) context-free grammar constrains strongly typed genetic programming (STGP) to evolve biological motifs in the form of regular expressions (RE) (e.g. TCTTT) which classify gene exons with potential alternative mRNA expression from those without. We show biological patterns can be data mined by a GP written in gawk and using egrep from NCBI's GEO http://www.ncbi.nlm.nih.gov/geo/ database. The automatically produced DNA motifs suggest that alternative polyadenylation is not responsible. (Full version in TR-09-02 [7].) Blocky exons can be found in http://bioinformatics.essex.ac.uk/users/wlangdon/tr-09-02.tar.gz
William B. Langdon, Joanna Rowsell, Andrew P. Harrison
GECCO1
2009 Probes containing runs of guanines provide insights into the biophysics and bioinformatics of Affymetrix GeneChips
abstract
The reliable interpretation of Affymetrix GeneChip data is a multi-faceted problem. The interplay between biophysics, bioinformatics and mining of GeneChip surveys is leading to new insights into how best to analyse the data. Many of the molecular processes occurring on the surfaces of GeneChips result from the high surface density of probes. Interactions between neighbouring adjacent probes affect their rate and strength of hybridization to targets. Competing targets may hybridize to the same probe, and targets may partially bind to more than one probe. The formation of these partial hybrids results in a number of probes not reaching thermodynamic equilibrium during hybridization. Moreover, some targets fold up, or cross-hybridize to other targets. Furthermore, probes may fold and can undergo chemical saturation. There are also sequence-dependent differences in the rates of target desorption during the washing stage. Improvements in the mappings between probe sequence and biological databases are leading to more accurate gene expression profiles. Moreover, algorithms that combine the intensities of multiple probes into single measures of expression are increasingly dependent upon models of the hybridization processes occurring on GeneChips. The large repositories of GeneChip data can be searched for systematic effects across many experiments. This data mining has led to the discovery of a family of thousands of probes, which show correlated expression across thousands of GeneChip experiments. These probes contain runs of guanines, suggesting that G-quadruplexes are able to form on GeneChips. We discuss the impact of these structures on the interpretation of data from GeneChip experiments.
William B. Langdon, Graham J. G. Upton, Andrew P. Harrison
Briefings Bioinform.1
2008 A fast high quality pseudo random number generator for graphics processing units
abstract
Limited numerical precision of nVidia GeForce 8800 GTX and other GPUs requires careful implementation of PRNGs. The Park-Miller PRNG is programmed using G80's native Value4f floating point in RapidMind C++. Speed up is more than 40. Code is available via ftp cs.ucl.ac.uk genetic/gp- code/random-numbers/gpu_park-miller.tar.gz.
William B. Langdon
IEEE Congress on Evolutionary Computation1
2008 Evolving GeneChip correlation predictors on parallel graphics hardware
abstract
A GPU is used to datamine five million correlations between probes within Affymetrix HG-U133A probesets across 6685 human tissue samples from NCBIpsilas GEO database. These concordances are used as machine learning training data for genetic programming running on a Linux PC with a RapidMind OpenGL GLSL backend. GPGPU is used to identify technological factors influencing high density oligonuclotide arrays (HDONA) performance. GP suggests mismatch (PM/MM) and adenosine/guanine ratio influence microarray quality. Initial results hint that Watson-Crick probe self hybridisation or folding is not important. Under GPGPGPU an nVidia GeForce 8800 GTX interprets 300 million GP primitives/second (300 MGPops, approx 8 GFLOPS).
William B. Langdon
IEEE Congress on Evolutionary Computation1
2008 A SIMD Interpreter for Genetic Programming on GPU Graphics Cards
William B. Langdon, Wolfgang Banzhaf
EuroGP1
2008 Evolving Regular Expressions for GeneChip Probe Performance Prediction
William B. Langdon, Andrew P. Harrison
PPSN1
2008 An overview of image-processing methods for Affymetrix GeneChips
abstract
We present an overview of image-processing methods for Affymetrix GeneChips. All GeneChips are affected to some extent by spatially coherent defects and image processing has a number of potential impacts on the downstream analysis of GeneChip data. Fortunately, there are now a number of robust and accurate algorithms, which identify the most disabling defects. One group of algorithms concentrate on the transformation from the original hybridisation DAT image to the representative CEL file. Another set uses dedicated pattern recognition routines to detect different types of hybridisation defect in replicates. A third type exploits the information provided by public repositories of GeneChips (such as GEO). The use of these algorithms improves the sensitivity of GeneChips, and should be a prerequisite for studies in which there are only few probes per relevant biological signal, such as exon arrays and SNP chips.
Jose M. Arteaga-Salas, Harry Zuzan, William B. Langdon, Graham J. G. Upton, Andrew P. Harrison
Briefings Bioinform.3
2008 Repeated patterns in genetic programming
William B. Langdon, Wolfgang Banzhaf
Nat. Comput.1
2008 Mapping non-conventional extensions of genetic programming
William B. Langdon, Riccardo Poli
Nat. Comput.1
2008 GP on SPMD parallel graphics hardware for mega Bioinformatics data mining
William B. Langdon, Andrew P. Harrison
Soft Comput.1
2007 On the Limiting Distribution of Program Sizes in Tree-Based Genetic Programming
Riccardo Poli, William B. Langdon, Stephen Dignum
EuroGP2
2007 The genetic programming collaboration network and its communities
abstract
Useful information about scientific collaboration structures and patterns can be inferred from computer databases of published papers. The genetic programming bibliography is the most complete reference of papers on GP. In addition to locating publications, it contains coauthor and coeditor relationships from which a more complete picture of the field emerges. We treat these relationships as undirected small world graphs whose study reveals the community structure of the GP collaborative social network. Automatic analysis discovers new communities and highlights new facets of them. The investigation reveals many similarities between GP and coauthorship networks in other scientific fields but also some subtle differences such as a smaller central network component and a high clustering.
Leslie Luthi, Marco Tomassini, Mario Giacobini, William B. Langdon
GECCO4
2007 Markov chain models of bare-bones particle swarm optimizers
abstract
We apply a novel theoretical approach to better understand the behaviour of different types of bare-bones PSOs. It avoids many common but unrealistic assumptions often used in analyses of PSOs. Using finite element grid techniques, it builds a discrete Markov chain model of the BB-PSO which can approximate it on arbitrary continuous problems to any precision. Iterating the chain's transition matrix gives precise information about the behaviour of the BB-PSO at each generation, including the probability of it finding the global optimum or being deceived. The predictions of the model are remarkably accurate and explain the features of Cauchy, Gaussian and other sampling distributions.
Riccardo Poli, William B. Langdon
GECCO2
2007 Evolving Problems to Learn About Particle Swarm Optimizers and Other Search Algorithms
abstract
We use evolutionary computation (EC) to automatically find problems which demonstrate the strength and weaknesses of modern search heuristics. In particular, we analyze particle swarm optimization (PSO), differential evolution (DE), and covariance matrix adaptation-evolution strategy (CMA-ES). Each evolutionary algorithm is contrasted with the others and with a robust nonstochastic gradient follower (i.e., a hill climber) based on Newton-Raphson. The evolved benchmark problems yield insights into the operation of PSOs, illustrate benefits and drawbacks of different population sizes, velocity limits, and constriction (friction) coefficients. The fitness landscapes made by genetic programming reveal new swarm phenomena, such as deception, thereby explaining how they work and allowing us to devise better extended particle swarm systems. The method could be applied to any type of optimizer.
William B. Langdon, Riccardo Poli
IEEE Trans. Evol. Comput.1
2006 Finding Social Landscapes for PSOs via Kernels
abstract
Particle swarm optimiser and genetic algorithm populations are macro-organisms, which perceive their environment as if filtered via a kernel. The kernel assimilates each individual's sensory abilities so that the collective moves using a greedy hill-climbing strategy. This model is fitted to data collected in real PSO and GA runs by using genetic programming to evolve the kernel. In nature animals tend to live within groups. The social interactions effectively transform the fitness selection landscape seen by an isolated individual. In some cases a group behaves (or even can be said to think) like a single organism. Kernels provide a lens which coarse-grains or averages individual senses and so may help explain joint actions and social responses. The original multi-modal problem is smoothed by convolving it with a problem specific filter designed by GP. Because populations see the transformed social fitness landscape, they can pass over local optima. GP can give a good fit between the predicted behaviour of the macroscopic organism and the actual runs.
William B. Langdon, Riccardo Poli
IEEE Congress on Evolutionary Computation1
2006 Emergent Behaviour, Population-based Search and Low-pass Filtering
abstract
In recent work we have formulated a model of emergent coordinated behaviour for a population of interacting entities. The model is a modified spring mass model where masses can perceive the environment and generate external forces. As a result of the interactions the population behaves like a single organism moving under the effect the vector sum of the external forces generated by each entity. When such forces are proportional to the gradient of a resource distribution f(x), the resultant force controlling the single emergent organism is proportional to the gradient of a modified food distribution. This is the result of applying a filtering kernel to f(x). The kernel is typically a low-pass filter. This model can be applied to genetic algorithms (GAs) and other population-based search algorithms. For example, in previous research, we have found kernels (via genetic programming) that allow the single organism model to track the motion of the centre of mass of GAs and particle swarm optimisers accurately for many generations. In this paper we corroborate this model in several ways. Firstly, we provide a mathematical proof that on any problem and for any crossover operator, the effect of crossover is that of reducing the amplitude of the derivatives (slopes) of the population distribution. This implies that a GA perceives an effective fitness landscape which is a smoothed, low-pass filtered version of the original. Then, taking inspiration from this result and our active mass-spring model, we propose a class of fitness functions, OneMix, where there is an area of the landscape with high frequency variations. This area contains the global optimum but a genetic algorithm with high crossover probability should not be able "see" it due to its low-pass behaviour. So, a GA with strong crossover should be deceived and attracted towards a local optimum, while with low crossover probability this should not happen. This is, indeed, what happens as we demonstrate with a variety of empirical runs and with infinite-population model simulations. Finally, following our earlier approach, we also evolved kernels for OneMix, obtaining again a good fit between the behaviour of the "single-organism" hill-climber and the GA.
Riccardo Poli, Alden H. Wright, Nicholas Freitag McPhee, William B. Langdon
IEEE Congress on Evolutionary Computation4
2006 The Halting Probability in Von Neumann Architectures
William B. Langdon, Riccardo Poli
EuroGP1
2006 Mapping Non-conventional Extensions of Genetic Programming
William B. Langdon
UC1
2006 Backward-chaining evolutionary algorithms
Riccardo Poli, William B. Langdon
Artif. Intell.2
2005 Evolving problems to learn about particle swarm and other optimisers
abstract
We use evolutionary computation (EC) to automatically find problems which demonstrate the strength and weaknesses of modern search heuristics. In particular we analyse particle swarm optimization (PSO) and differential evolution (DE). Both evolutionary algorithms are contrasted with a robust deterministic gradient based searcher (based on Newton-Raphson). The fitness landscapes made by genetic programming (GP) are used to illustrate difficulties in GAs and PSOs thereby explaining how they work and allowing us to devise better extended particle swarm systems (XPS)
William B. Langdon, Riccardo Poli
Congress on Evolutionary Computation1
2005 Evolutionary Solo Pong players
abstract
An Internet Java Applet http://www.cs.essex.ac.uk/staff/poli/SoloPong/ allows users anywhere to play the Solo Pong game. We compare people's performance to a hand coded "optimal" player and programs automatically produced by computational intelligence. The computational intelligence techniques are: genetic programming, including a hybrid of GP and a human designed algorithm, and a particle swarm optimiser. The computational intelligence approaches are not fine tuned. GP and PSO find good players. Evolutionary computation (EC) is able to beat both human designed code and human players.
William B. Langdon, Riccardo Poli
Congress on Evolutionary Computation1
2005 Repeated Patterns in Tree Genetic Programming
William B. Langdon, Wolfgang Banzhaf
EuroGP1
2005 Extending Particle Swarm Optimisation via Genetic Programming
Riccardo Poli, William B. Langdon, Owen Holland
EuroGP2
2005 Exploring extended particle swarms: a genetic programming approach
abstract
Particle Swarm Optimisation (PSO) uses a population of particles that fly over the fitness landscape in search of an optimal solution. The particles are controlled by forces that encourage each particle to fly back both towards the best point sampled by it and towards the swarm's best point, while its momentum tries to keep it moving in its current direction.Previous research started exploring the possibility of evolving the force generating equations which control the particles through the use of genetic programming (GP).We independently verify the findings of the previous research and then extend it by considering additional meaningful ingredients for the PSO force-generating equations, such as global measures of dispersion and position of the swarm. We show that, on a range of problems, GP can automatically generate new PSO algorithms that outperform standard human-generated as well as some previously evolved ones.
Riccardo Poli, Cecilia Di Chio, William B. Langdon
GECCO3
2005 Backward-chaining genetic programming
abstract
This paper presents a backward-chaining version of GP.
Riccardo Poli, William B. Langdon
GECCO2
2005 Understanding particle swarm optimisation by evolving problem landscapes
abstract
Genetic programming (GP) is used to create fitness landscapes, which highlight strengths, and weaknesses of different types of PSO and to contrast population-based swarm approaches with non stochastic gradient followers (i.e. hill climbers). These automatically generated benchmark problems yield insights into the operation of PSOs, illustrate benefits and drawbacks of different population sizes and constriction (friction) coefficients, and reveal new swarm phenomena such as deception and the exploration/exploitation tradeoff. The method could be applied to any type of optimizer.
William B. Langdon, Roswitha Poll, Owen Holland, Thiemo Krink
SIS1
2004 Global Distributed Evolution of L-Systems Fractals
William B. Langdon
EuroGP1
2004 An Estimation of Distribution Algorithm Based on Maximum Entropy
Alden H. Wright, Riccardo Poli, Christopher R. Stephens, William B. Langdon, Sandeep Pulavarty
GECCO (2)4
2004 BioRAT: extracting biological information from full-length papers
abstract
MOTIVATION: Converting the vast quantity of free-format text found in journals into a concise, structured format makes the researcher's quest for information easier. Recently, several information extraction systems have been developed that attempt to simplify the retrieval and analysis of biological and medical data. Most of this work has used the abstract alone, owing to the convenience of access and the quality of data. Abstracts are generally available through central collections with easy direct access (e.g. PubMed). The full-text papers contain more information, but are distributed across many locations (e.g. publishers' web sites, journal web sites and local repositories), making access more difficult. In this paper, we present BioRAT, a new information extraction (IE) tool, specifically designed to perform biomedical IE, and which is able to locate and analyse both abstracts and full-length papers. BioRAT is a Biological Research Assistant for Text mining, and incorporates a document search ability with domain-specific IE. RESULTS: We show first, that BioRAT performs as well as existing systems, when applied to abstracts; and second, that significantly more information is available to BioRAT through the full-length papers than via the abstracts alone. Typically, less than half of the available information is extracted from the abstract, with the majority coming from the body of each paper. Overall, BioRAT recalled 20.31% of the target facts from the abstracts with 55.07% precision, and achieved 43.6% recall with 51.25% precision on full-length papers.
David P. A. Corney, Bernard F. Buxton, William B. Langdon, David T. Jones
Bioinform.3
2003 Predicting biochemical interactions - human P450 2D6 enzyme inhibition
abstract
In silico screening of chemical libraries or virtual chemicals may reduce drug discovery and medicine optimisation lead times and increase the probability of success by directing search through chemical space. About a dozen intelligent pharmaceutical QSAR modelling techniques were used to predict IC50 concentration (three classes) of drug interaction with a cell wall enzyme (P450 CYC2D6). Genetic programming gave comprehensible cheminformatics models which generalised best. This was shown by a blind test on Glaxo Welcome molecules of machine learning knowledge nuggets mined from SmithKline Beecham compounds. Performance on similar chemicals (interpolation) and diverse chemicals (extrapolation) suggest generalisation is more difficult than avoiding over fitting. Two GP approaches, classification via regression using a multiobjective fitness measure and a direct winner takes all (WTA) or one versus all (OVA) classification, are described. Predictive rules were compressed by separate follow up GP runs seeded with the best program.
William B. Langdon, S. J. Barrett, Bernard F. Buxton
IEEE Congress on Evolutionary Computation1
2003 Convergence of Program Fitness Landscapes
William B. Langdon
GECCO1
2002 Combining Decision Trees and Neural Networks for Drug Discovery
William B. Langdon, S. J. Barrett, Bernard F. Buxton
EuroGP1
2002 Convergence Rates For The Distribution Of Program Outputs
William B. Langdon
GECCO1
2002 A Hybrid Genetic Programming Neural Network Classifier for Use in Drug Discovery
William B. Langdon
HIS1
2001 Evolving Receiver Operating Characteristics for Data Fusion
William B. Langdon, Bernard F. Buxton
EuroGP1
2001 Evolving Hand-Eye Coordination for a Humanoid Robot with Machine Code Genetic Programming
William B. Langdon, Peter Nordin
EuroGP1
2000 Application of Genetic Programming to Induction of Linear Classification Trees
Martijn C. J. Bot, William B. Langdon
EuroGP2
2000 Seeding Genetic Programming Populations
William B. Langdon, Peter Nordin
EuroGP1
2000 Quadratic Bloat in Genetic Programming
William B. Langdon
GECCO1
2000 Genetic Programming Bloat without Semantics
William B. Langdon, Wolfgang Banzhaf
PPSN1
1999 Java based Distributed Genetic Programming on the Internet
Fuey Sian Chong, William B. Langdon
GECCO2
1999 Scaling of Program Fitness Spaces
abstract
We investigate the distribution of fitness of programs concentrating on those represented as parse trees and, particularly, how such distributions scale with respect to changes in the size of the programs. By using a combination of enumeration and Monte Carlo sampling on a large number of problems from three very different areas, we suggest that, in general, once some minimum size threshold has been exceeded, the distribution of performance is approximately independent of program length. We proof this for both linear programs and simple side effect free parse trees. We give the density of solutions to the parity problems in program trees which are composed of XOR building blocks. Limited experiments with programs including side effects and iteration suggest a similar result may also hold for this wider class of programs.
William B. Langdon
Evol. Comput.1
1998 Schema Theory for Genetic Programming with One-Point Crossover and Point Mutation
abstract
We review the main results obtained in the theory of schemata in genetic programming (GP), emphasizing their strengths and weaknesses. Then we propose a new, simpler definition of the concept of schema for GP, which is closer to the original concept of schema in genetic algorithms (GAs). Along with a new form of crossover, one-point crossover, and point mutation, this concept of schema has been used to derive an improved schema theorem for GP that describes the propagation of schemata from one generation to the next. We discuss this result and show that our schema theorem is the natural counterpart for GP of the schema theorem for GAs, to which it asymptotically converges.
Riccardo Poli, William B. Langdon
Evol. Comput.2