Jim Smith

Jim Smith
  • Professor (Associate) at University of the West of England, Bristol

About

134
Publications
42,570
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
10,889
Citations
Current institution
University of the West of England, Bristol
Current position
  • Professor (Associate)
Additional affiliations
September 1996 - present
University of the West of England, Bristol
Position
  • Associate Professor of Interactive Artificial Intelligence

Publications

Publications (134)
Conference Paper
Full-text available
The Healthy, Mobility and Security-based Data Communication Architecture, also known as HAMSTER, is provided with a special platform for safety & security: Sphere. It concentrates all the safety & security aspects of the main architecture and all derivative versions. The aim is to define patterns for assuring safety & security that allow every unma...
Article
Evolution has provided a source of inspiration for algorithm designers since the birth of computers. The resulting field, evolutionary computation, has been successful in solving engineering tasks ranging in outlook from the molecular to the astronomical. Today, the field is entering a new phase as evolutionary algorithms that take place in hardwar...
Article
This paper examines the factors affecting the quality of solution found by meta-heuristic search when optimising object-oriented software class models. From the algorithmic perspective, we examine the effect of encoding, choice of components such as the global search heuristic, and various means of incorporating problem- and instance-specific infor...
Conference Paper
Full-text available
Early lifecycle software design is an intensely human activity in which design scale and complexity can place a high cognitive load on the software designer. Recently, the use of evolutionary search has been suggested to yield insights in the nature of software engineering problems generally, and so we have applied dynamic evolutionary computation...
Conference Paper
The “end-game” of evolutionary optimisation is often largely governed by the efficiency and effectiveness of searching regions of space known to contain high quality solutions. In a traditional EA this role is done via mutation, which creates a tension with its other different role of maintaining diversity. One approach to improving the efficiency...
Article
Full-text available
Finding good designs in the early stages of the software development lifecycle is a demanding multi-objective problem that is crucial to success. Previously, both interactive and non-interactive techniques based on evolutionary algorithms (EAs) have been successfully applied to assist the designer. However, recently ant colony optimization was show...
Article
Full-text available
This paper investigates the one-dimensional cutting stock problem considering two conflicting objective functions: minimization of both the number of objects and the number of different cutting patterns used. A new heuristic method based on the concepts of genetic algorithms is proposed to solve the problem. This heuristic is empirically analyzed b...
Conference Paper
Full-text available
Recent research has demonstrated that the problem of class modelling within early cycle object orientated software engineering can be successfully tackled by posing it as a search problem to be tackled with meta-heuristics. This "Search Based Software Engineering" approach has been illustrated using both Evolutionary Algorithms and Ant Colony Optim...
Conference Paper
In this paper Ant Colony Optimisation (ACO) is applied in the field of Statistical Disclosure Control (SDC) for the first time. It has been applied to a permutation problem found in Cell Suppression. ACO has successfully improved the suppression patterns created to protect published statistical tables but when compared to using the Genetic Algorith...
Article
Software design is crucial to successful software development, yet is a demanding multi-objective problem for software engineers. In an attempt to assist the software designer, interactive (i.e. human in-the-loop) meta-heuristic search techniques such as evolutionary computing have been applied and show promising results. Recent investigations have...
Article
Full-text available
The accuracy of machine learning systems is a widely studied research topic. Established techniques such as cross-validation predict the accuracy on unseen data of the classifier produced by applying a given learning method to a given training data set. However, they do not predict whether incurring the cost of obtaining more data and undergoing fu...
Article
Full-text available
Advances in processing capacity, coupled with the desire to tackle problems where a human subjective judgment plays an important role in determining the value of a proposed solution, has led to a dramatic rise in the number of applications of Interactive Artificial Intelligence. Of particular note is the coupling of meta-heuristic search engines wi...
Article
Full-text available
Statistical disclosure control is the collective name for a range of tools used by data providers such as government departments to protect the confidentiality of individuals or organizations. When the published tables contain magnitude data such as turnover or health statistics, the preferred method is to suppress the values of certain cells. Assi...
Chapter
Results from applications of meta-heuristics, and Evolutionary Computation in particular, have led to the widespread acknowledgement of two facts. The first is that evolutionary optimisation can be improved by the use of local search methods, creating so-called Memetic Algorithms. The second is that there is no single “best” choice of memetic opera...
Article
Among the most promising and active research areas in heuristic optimisation is the field of adaptive memetic algorithms (AMAs). These gain much of their reported robustness by adapting the probability with which each of a set of local improvement operators is applied, according to an estimate of their current value to the search process. This pape...
Chapter
Developing automated problem solvers (that is, algorithms) is one of the central themes of mathematics and computer science. Similarly to engineering,where looking at Nature’s solutions has always been a source of inspiration, copying ‘natural problem solvers’ is a stream within these disciplines. When looking for the most powerful problem solver o...
Conference Paper
This paper looks at the real world problem of statistical disclosure control. National Statistics Agencies are required to publish detailed statistics and simultaneously guarantee the confidentiality of the contributors. When published statistical tables contain magnitude data such as turnover or health statistics the preferred method is to suppres...
Article
GECCO-2011 A joint meeting of the twentieth international conference on genetic algorithms (ICGA-2011) and the sixteenth annual genetic programming conference (GP-2011)
Article
Full-text available
The choice of mutation rate is a vital factor in the success of any genetic algorithm (GA), and for permutation representations this is compounded by the availability of several alternative mutation operators. It is now well understood that there is no one "optimal choice"; rather, the situation changes per problem instance and during evolution. Th...
Conference Paper
This paper investigates the search efficiency of a class of adaptive memetic algorithms where the pivot function, depth, and definition of the local search operators are co-evolved alongside a population of potential solutions to the problem in hand. Such co-evolutionary mechanism requires a means for assigning meme fitness based in some way on the...
Conference Paper
Diversity or redundancy based software fault tolerance encompasses the development of application domain specific variants and error detection mechanisms. In this regard, this paper presents an analytical design strategy to develop the variants for a fault tolerant real-time control system. This work also presents a generalized error detection mech...
Article
Full-text available
In surface inspection applications, the main goal is to detect all areas which might contain defects or unacceptable imperfections, and to classify either every single ‘suspicious’ region or the investigated part as a whole. After an image is acquired by the machine vision hardware, all pixels that deviate from a pre-defined ‘ideal’ master image ar...
Article
Full-text available
In this paper, we present a framework for the classification of images in surface inspection tasks and address several key aspects of the processing chain from the original image to the final classification result. A major contribution of this paper is a quantitative assessment of how incorporating adaptivity into the feature calculation, the featu...
Article
The nearest-neighbour (1NN) classifier has long been used in pattern recognition, exploratory data analysis, and data mining problems. A vital consideration in obtaining good results with this technique is the choice of distance function, and correspondingly which features to consider when computing distances between samples. In recent years there...
Conference Paper
Diversity or redundancy based software fault tolerance does not come for free; rather it introduces additional complexity to the core functionality in the form of redundancy development, management and controlled execution. This results in tangling of core functionality with the fault tolerance concerns. This paper presents a novel design framework...
Chapter
Software fault tolerance demands additional tasks like error detection and recovery through executable assertions, exception handling, diversity and redundancy based mechanisms. These mechanisms do not come for free; rather they introduce additional complexity to the core functionality. This paper presents light weight error detection and recovery...
Article
Creating successful machine vision systems often begins a process of developing customised reliable image segmentation algorithms for the detection, and possibly categorisation of regions of interest within images. This can require significant investment of time from both the image processing and the domain experts to set up. Frequently this proces...
Article
Full-text available
Dependable computer based systems employing fault tolerance and robust software development techniques demand additional error detection and recovery related tasks. This results in tangling of core functionality with these cross cutting non-functional concerns. In this regard current work identifies these dependability related non-functional and cr...
Article
Full-text available
This paper considers on a number of issues that arise when a trainable machine vision system learns directly from humans. We contrast this to the ldquonormalrdquo situation where machine learning (ML) techniques are applied to a ldquocleanedrdquo data set which is considered to be perfectly labeled with complete accuracy. This paper is done within...
Conference Paper
This paper considers a number of issues that arise when a trainable machine vision system learns directly from humans, rather than from a "cleaned" data set, i.e. data items which are perfectly labelled with complete accuracy. This is done within the context of a generic system for the visual surface inspection of manufactured parts. The issues tre...
Conference Paper
Full-text available
Statistical Disclosure Control is the collective name for a range of tools that data providers such as government departments use to protect the confidentiality of individuals or organizations. When the published tables contain magnitude data such as turnover or health statistics, the preferred method is to suppress the values of certain cells. Ass...
Conference Paper
A pre-processing optimisation is proposed that can be applied to the integer and mixed integer linear programming models that are used to solve the cell suppression problem in statistical disclosure control. In this paper we report our initial findings which confirm that in many situations the pre-processing optimisation can considerably reduce the...
Chapter
Full-text available
Feature selection (FS) algorithms are popular methods to reduce the dimensionality of the feature space and remove the redundant, irrelevant or noisy data and improves the classification accuracy. In this chapter; we have dis- cussed our recently proposed tabu search based algorithms for feature se- lection problems and have compared with other seq...
Conference Paper
In this paper we present a novel image classification framework, which is able to automatically re-configure and adapt its feature-driven classifiers and improve its performance based on user interaction during on-line processing mode. Special emphasis is placed on the generic applicability of the framework to arbitrary surface inspection systems....
Conference Paper
Automated surface inspection of products as part of a manufacturing quality control process involves the applications of image processing routines to segment regions of interest (ROI) or objects which correspond to potential defects on the product or part. In these type of applications, it is not known in advance how many ROIs may be segmented from...
Article
Full-text available
In previous work (Krasnogor, http://www.cs.nott.ac.uk/~nxk/papers.html. In: Studies on the Theory and Design Space of Memetic Algorithms. Ph.D. thesis, University of the West of England, Bristol, UK, 2002; Krasnogor and Smith, IEEE Trans Evol Algorithms 9(6):474–488, 2005) we develop a syntax-only classification of evolutionary algorithms, in parti...
Conference Paper
The successful application of machine learning techniques to industrial problems places various demands on the collaborators. The system designers must possess appropriate analytical skills and technical expertise, and the management of the industrial or commercial partner must be sufficiently convinced of the potential benefits that they are prepa...
Chapter
The nearest-neighbour (NN) classifier has long been used in pattern recognition, exploratory data analysis, and data mining problems. A vital consideration in obtaining good results with this technique is the choice of distance function, and correspondingly which features to consider when computing distances between samples. In this chapter, a new...
Article
5 6 Abstract 7 An increasingly frequent application of Machine Vision technologies is in automated surface inspection for the detection of defects in 8 manufactured products. Such systems offer significant benefits in terms of cost, detection rates, and user-satisfaction over conventional 9 human inspection systems. However, they usually require si...
Article
Coevolving memetic algorithms are a family of metaheuristic search algorithms in which a rule-based representation of local search (LS) is coadapted alongside candidate solutions within a hybrid evolutionary system. Simple versions of these systems have been shown to outperform other nonadaptive memetic and evolutionary algorithms on a range of pro...
Article
Steady State models of Evolutionary Algorithms are widely used, yet surprisingly little attention has been paid to the effects arising from different replacement strategies. This paper explores the use of mathematical models to characterise the selection pressures arising in a selection-only environment. The first part brings together models for th...
Conference Paper
ABSTRACT Adaptive Memetic Algorithms couple an evolutionary algo- rithm with a number,of local search heuristics for improving the evolving solutions. They are part of a broad family of meta-heuristics which maintain a set of local search opera- tors applying them,at different stages of the search. This creates a need to make,decisions about which...
Chapter
Full-text available
The issue of setting the values of various parameters of an evolutionary algorithm is crucial for good performance. In this paper we discuss how to do this, beginning with the issue of whether these values are best set in advance or are best changed during evolution. We provide a classification of different approaches based on a number of complemen...
Conference Paper
Full-text available
This work will discuss further tests carried out using a pool of operational research and artificial intelligence techniques to solve the cell suppression problem. Existing solutions to the problem available through Tau-Argus software are mathematically demanding and only enable a solution to the problem for small table sizes. The approaches invest...
Conference Paper
The nearest-neighbor (NN) classifier has long been used in pattern recognition, exploratory data analysis, and data mining problems. A vital consideration in obtaining good results with this technique is the choice of distance function, and correspondingly which features to consider when computing distances between samples. In this paper, a new ens...
Conference Paper
Gene libraries are a biological mechanism for generating combinatorial diversity in the immune system. However, they also bias the antibody creation process, so that they can be viewed as a way of guiding lifetime learning mechanisms. In this paper we examine the implications of this view, by examining coverage, avoidance of self, clustering and di...
Chapter
Memetic Evolutionary Algorithms (MAs) are a class of stochastic heuristics for global optimization which combine the parallel global search nature of Evolutionary Algorithms with Local Search to improve individual solutions. These techniques are being applied to an increasing range of application domains with successful results, and the aim of this...
Chapter
This paper describes a co-evolutionary learning-optimisation approach to Protein Structure Prediction which uses a Memetic Algorithm as its underlying search method. Instance-specific knowledge can be learned, stored and applied by the system in the form of a population of rules. These rules determine the neighbourhoods used by the local search pro...
Chapter
This paper examines the use of genetic algorithms (GAs) in generating sets of input data to use for software testing. The aim is to produce test sets which maximise coverage of the software using a given metric, whilst minimising the size of the sets. Using the well known triangle program as an example, a representation is described which allows th...
Conference Paper
A genetic recombination framework is presented within which both the unit of inheritance of genetic material from a parent, and the number of parents involved in the creation of a new individual are potentially learnt through the evolution of competing subpopulations representing different strategies. At the heart of the framework is a recombinatio...
Article
Full-text available
The combination of evolutionary algorithms with local search was named "memetic algorithms" (MAs) (Moscato, 1989). These methods are inspired by models of natural systems that combine the evolutionary adaptation of a population with individual learning within the lifetimes of its members. Additionally, MAs are inspired by Richard Dawkin's concept o...
Conference Paper
Full-text available
Artificial Immune Systems (AIS) have been shown to be useful, practical and realisable approaches to real-world problems. Most AIS implementations are based around a canonical algorithm such as clonotypic learning, which we may think of as individual, lifetime learning. Yet a species also learns. Gene libraries are often thought of as a biological...
Conference Paper
A rapidly emerging model in the field of adaptive computing is the symbiosis of human expertise with evolutionary algorithms for user controlled and directed search. The two aspects in any EA are the selection of individuals to reproduce based on some measure of their quality or fitness and the application of variation operators to produce new solu...
Article
This paper presents a real-coded memetic algorithm that applies a crossover hill-climbing to solutions produced by the genetic operators. On the one hand, the memetic algorithm provides global search (reliability) by means of the promotion of high levels ...
Conference Paper
We present a coevolutionary learning-optimisation approach to protein structure prediction which uses a memetic algorithm as its underlying search method. Instance-specific knowledge can be learned, stored and applied by the system in the form of a population of rules. These rules determine the neighbourhoods used by the local search process, which...
Conference Paper
We present results from analyses of fitness landscapes of the HP model of protein structure prediction problems. The work concentrates on those issues that are likely to impact on the effectiveness of evolutionary search of those landscapes, such as massive multimodality, degeneracy, and the presence of large regions corresponding to physically inf...
Conference Paper
This paper presents and examines the behaviour of a system whereby the rules governing local search within a memetic algorithm are co-evolved alongside the problem representation. We describe the rationale for such a system, and then describe the implementation of a simple version in which the evolving rules are encoded as (condition:action) patter...
Conference Paper
The symbiosis of human expertise, in terms of creativity and pattern recognition, with evolutionary algorithms for user controlled and directed search is now a rapidly emerging model. One of the main issues that need to be addressed is the development of techniques to ensure that the power of the evolutionary search is exploited without compromisin...
Article
Evolutionary algorithms combined with local search were named "Memetic Algorithms" (MAs) in [1]. These methods are inspired by models of adaptation in natural systems that combine evolutionary adaptation of populations of individuals with individual learning within a lifetime. Additionally, MAs are inspired by Richard Dawkins concept of a meme, whi...
Chapter
In this chapter we introduce evolution strategies (ES), another member of the evolutionary algorithm family. We also use these algorithms to illustrate a very useful feature in evolutionary computing: self-adaptation of strategy parameters. In general, self-adaptivity means that some parameters of the EA are varied during a run in a specific manner...
Chapter
The most important aim of this chapter is to describe what an evolutionary algorithm is. This description is deliberately based on a unifying view presenting a general scheme that forms the common basis of all evolutionary algorithm (EA) variants. The main components of EAs are discussed, explaining their role and related issues of terminology. Thi...
Chapter
In this chapter we present evolutionary programming (EP), another historical member of the EC family. Other EC streams have an algorithm variant that can be identified as being the “standard”, or typical, version of genetic algorithms, evolution strategies, or genetic programming. For EP such a standard version is hard to define for reasons discuss...
Chapter
In this chapter we present a brief overview of some of the approaches taken to analysing and modelling the behaviour of Evolutionary Algorithms. The “Holy Grail” of these efforts is the formulation of predictive models describing the behaviour of an EA on arbitrary problems, and permitting the specification of the most efficient form of optimiser f...
Chapter
In this chapter we present genetic programming, the youngest member of the evolutionary algorithm family. Besides the particular representation (using trees as chromosomes), it differs from other EA strands in its application area. While the EAs discussed so far are typically applied to optimisation problems, GP could instead be positioned in machi...
Chapter
The main objective of this chapter is to provide practical guidelines for working with EAs. Working with EAs often means comparing different versions experimentally. Guidelines to perform experimental comparisons are therefore given much attention, including the issues of algorithm performance measures, statistics, and benchmark test suites. The ex...
Chapter
In this chapter we consider the issue of constraint handling by evolutionary algorithms. This issue has great practical relevance because many practical problems are constrained. It is also a theoretically challenging subject since a great deal of intractable problems (NP-hard, NP-complete, etc.) are constrained. The presence of constraints has the...
Chapter
Gray coding is a variation on the way that integers are mapped on bit strings that ensures that consecutive integers always have Hamming distance one. A three bit Gray coding table is given in Table A.l, and the procedures for converting a binary number b = 〈b 1,..., b m〉, where m is the number of bits, into a Gray code number g = 〈g 1,..., g m〉 an...
Chapter
This chapter introduces an evolutionary approach to machine learning tasks working with rule sets, rather than parse trees, to represent knowledge. In learning classifier systems (LCS) the evolutionary algorithm acts as a rule discovery component. LCS systems are used primarily in applications where the objective is to evolve a system that will res...
Chapter
So far in our discussion of evolutionary algorithms we have considered the entire population to act as a common genepool, with fitness as the primary feature affecting the likelihood of an individual taking part in the creation of new offspring, and surviving to the next generation. However we know that evolution in vivo is also affected by another...
Chapter
In this chapter we discuss special forms of evolution that in some sense deviate from the standard evolutionary algorithms. In particular, we present coevolution and interactive evolution that both work under “external influence”. In coevolution the influence comes from another population, whose members affect the fitness of the main population. In...
Chapter
We cannot hope here to give a comprehensive set of test functions, and by the arguments given in Sect. 14.4.1, it would not be particularly appropriate. Rather we will give a few instances of test problems that we have referred to in this book, along with descriptions and pseudocode for two randomised test function generators.
Chapter
In this chapter we describe the most widely known type of evolutionary algorithm: the genetic algorithm. After presenting a simple example to introduce the basic concepts, we begin with what is usually the most critical decision in any application, namely that of deciding how best to represent a candidate solution to the algorithm. We present four...
Chapter
In the preceding chapters we described the main varieties of evolutionary algorithms and described various examples of how they might be suitably implemented for different applications. In this chapter we turn our attention to systems in which, rather than existing as “stand-alone” algorithms, EA-based approaches are either incorporated within larg...
Conference Paper
This paper presents and examines the behaviour of a system whereby the rules governing local search within a Memetic Algorithm are co-evolved alongside the problem representation. We describe the rationale for such a system, and the implementation of a simple version in which the evolving rules are encoded as (condition:action) patterns applied to...
Article
Full-text available
To understand the behaviour of search methods (including GAs), it is useful to understand the nature of the landscapes they search. What makes a landscape complex to search? Since there are an infinite number of landscapes, with an infinite number of characteristics, this is a di#cult question. Therefore, it is interesting to consider parameterised...
Article
Full-text available
This paper carefully considers random landscapes related to Kauffman's NK model. In particular, it considers a superset of this model (the NKP model) recently suggested in the GA-analytic literature. Landscapes are exhaustively examined for both the distribution of local optima relative to the global optima, and for characteristics that would effec...
Article
A number of algorithms have been proposed aimed at tackling the problem of learning “Gene Linkage” within the context of genetic optimisation, that is to say, the problem of learning which groups of co-adapted genes should be inherited together during the recombination process. These may be seen within a wider context as a search for appropriate re...
Article
Full-text available
CATEGORY: Real-World Applications Structural comparison of proteins is a core problem in modern biomedical research.
Article
Full-text available
In this paper we present results on the application of Multimeme Algorithms to two important bioinformatics problems: Protein Structure Prediction and Proteins' Structure Comparison. We briey introduce our metaheuristic and give a short introduction to both problems, before presenting results and conclusions.
Conference Paper
Self-adaptation has been widely used in Evolution Strategies (ES) and Evolutionary Programming (EP), where it has proved useful in varying the mutation step size for continuous objective variables. To date, relatively little work has been performed on applying self- adaptation to the canonical Genetic Algorithm (GA). This research applies a simple...
Chapter
Evolutionary algorithms are search algorithms based on the Darwinian metaphor of natural selection. Typically these algorithms maintain a finite memory, or ‘population’, of individual solutions (points on the search landscape), each of which has a scalar value, or ‘fitness’ attached to it, which in some way reflects the quality of the solution. The...

Network

Cited By