Academia.eduAcademia.edu

Nature-inspired computing technology and applications

2000, BT Technology Journal

Increasing demands upon current computer systems, along with technological changes, create a need for more flexible and adaptable systems. Natural systems provide many examples of the type of versatile system required. This paper reviews examples of nature-inspired computing, drawing inspiration from many different areas of living systems including evolution, ecology, development and behaviour. The implications for the future development of computing technology and applications are also discussed.

Nature-inspired computing technology and applications P Marrow Increasing demands upon current computer systems, along with technological changes, create a need for more flexible and adaptable systems. Natural systems provide many examples of the type of versatile system required. This paper reviews examples of nature-inspired computing, drawing inspiration from many different areas of living systems including evolution, ecology, development and behaviour. The implications for the future development of computing technology and applications are also discussed. 1. Introduction urrent computer systems are used in diverse and complex ways, and are interconnected to a higher degree than ever before. The rise of eCommerce applications based upon the Internet makes such interconnection even more significant. Distributed computer systems of this sort depend upon effective communications, and modern telecommunications themselves could not function without the use of powerful computing devices. include social insect colonies, mammalian nervous systems, and temperate woodland communities [3]. Such distributed systems need to be highly flexible and adaptable, to cope with the changing demands placed upon them over time. However, the way in which they have typically been constructed is often very inflexible and centralised. This arises for a number of reasons: • C • • • the need for clear control of the operation of the system, the requirement for an exact specification of what needs to be built in the first place, because this has been in the past the way that traditional systems were built. However, centralised, top-down control of this form has resulted in a number of technical problems, sometimes with substantial consequences, due to the failure to adapt to changing circumstances [1, 2]. Such centralised control contrasts strongly with the situation in the natural world. Natural systems are typically characterised by a great degree of complexity, at various levels of description. This complexity means that the behaviour of natural systems may appear unpredictable and imprecise, but at the same time living organisms, and the ecosystems in which they are found, show a substantial degree of resilience. Examples of such resilient systems This resilience arises from several sources: • • • firstly, because of the large number of elements in each system (which may be individual animals, cells or even macromolecules within a cell), each of which may be interchangeable for another, secondly, because of the loose but flexible interconnections between elements, allowing transfer of tasks between entities, and communication throughout the system, thirdly, because of the differences between elements in the system, allowing a diversity of responses to a changing environment, finally, because of the resulting complex environment that all the interacting parts produce, which stimulates diverse responses from living organisms. The ideal situation would be if these characteristics were able to contribute positively to the improvement of computer systems. The desire to achieve this has led many computing researchers to look to natural systems for inspiration in the design of computer software and hardware [4—6]. Their sources of inspiration come from many aspects of natural systems — evolution [7], ecology [8], development [9], cell and molecular phenomena [10], behaviour [11], cognition and neurosystems [12], and other areas. Rather than resulting in esoteric academic research, these natureinspired techniques have led to applications in many different areas including networks [13], data mining [14], and many others. This paper will give an overview of the BT Technol J Vol 18 No 4 October 2000 13 NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS field of nature-inspired computing by considering the different sources of inspiration in turn. On the way, some of the applications that have arisen will be discussed. Particular aspects of the nature-inspired computing field will be addressed in more detail in companion papers; still other papers will focus on particular application areas. 2. initialise population evaluate fitness of individuals Evolutionary systems select individuals for reproduction according to fitness O ne of the primary sources of inspiration from nature has been evolution. Evolution has been clearly identified as the source of many diverse and creative solutions to problems in nature [15, 16]. However, it can also be useful as a problem-solving tool in artificial systems [17]. There is also the possibility of simulating living systems, and particularly their evolution, in computer software. Computer scientists and other theoreticians realised that the selection and mutation mechanisms that appear so effective in biological evolution could be abstracted so as to be implemented in a computational algorithm. There are two main strands to evolutionary systems in computing. On the one hand, there are the systems where the interest is in the algorithm which implements evolution, and the use of this algorithm for problem solving — this is the field of evolutionary computation. On the other hand, there is a community of researchers who are fascinated by the complexity of living systems, and seek to recreate these, or at least the major features of these, by simulation on computers — this is the field of artificial life [4]. 2.1 14 Evolutionary computation Evolutionary algorithms are based upon a number of fundamental principles (Fig 1). The algorithm operates on a set of individuals, called a population. In the natural world an ‘individual’ is an organism with an associated fitness. In evolutionary algorithms an ‘individual’ is a candidate solution to a defined problem. The number of individuals varies between different implementations and may vary through time during the implementation of the algorithm. Each individual possesses some characteristics that are defined through its genotype, its genetic composition. These characteristics may be passed on to descendants of that individual. Processes of mutation (small random changes) or crossover (generation of a new genotype by the combination of components from two individuals) may occur, resulting in new individuals with different genotypes that are descendants of the original individuals. New individuals may modify or completely replace the original ones. These processes repeat iteratively, resulting in the modification of the characteristics of the population. Which members of the population are kept, or are used as parents for offspring, will often depend upon some external characteristic — this is the fitness function of the population and it is this which enables improvement to occur. This corresponds to the fitness of an organism in the natural BT Technol J Vol 18 No 4 October 2000 combine parent genotypes to produce offspring replace parents with offspring no yes output results terminate? Fig 1 Structure of an evolutionary algorithm. world. The whole process has a stochastic component that allows exploration of different solutions. There are three main strands of what has come to be called evolutionary computation research. The first follows Holland [18] — this is the area of genetic algorithms. A second strand was initiated by several German engineers [19] — this area, evolution strategies, focuses strongly on engineering applications. A third strand, evolutionary programming [20], originally developed from machine intelligence motivations, and is related to the other two. Genetic algorithms (GAs) implement a population of individuals, each of which possesses a genotype that encodes a candidate solution to a problem. Typically genotypes were encoded as bit-strings, but other encodings have been used in later developments of GAs. Mutation and crossover, along with selection, are used to choose a solution to a problem. Genetic algorithms probably represent the most active and populated division of evolutionary computation research — as well as a number of books [21, 22], they have stimulated several major conferences in the area [7, 23]. Also, as will be discussed below, they have resulted in many applications in widely differing domains. Evolutionary strategies (ES) arose out of an attempt by several German civil engineers to understand a problem in hydrodynamics [24]. Evolutionary strategies differ from GAs in operating on real-valued parameters, and historically they have tended not to use crossover as a NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS variational operator, only mutation. However, mutation rates have themselves been allowed to adapt in ES, which is not often the case with GAs. Evolution strategies have also been used for many applications. Evolutionary programming (EP) arose distinctly from the other two strands of evolutionary computation, out of an attempt to understand machine intelligence through the evolution of finite state machines. EP emphasises the evolution of the phenotype (instance of a solution) rather than the genotype (genetic material) of individuals, and the relation between the phenotype of parents and offspring. Crossover is not used. Thus EP has some differences in approach from the other major strands of evolutionary computation research. However, there have been many overlaps between the different fields and it too has been applied in many areas. Apart from the three main strands of evolutionary computation research there are several other types of algorithm worth considering. Genetic programming (GP) [25] can be considered as a variant of genetic algorithms where individual genotypes are represented by executable programs. Specifically, solutions are represented as trees of expressions in an appropriate programming language. The function of a genetic programming algorithm then is to evolve the most effective program for solving a particular problem. Learning classifier systems (LCSs) [26] are another variant of genetic algorithms where the emphasis is on rule-based machine learning. Here the issue is improving a control problem by iteratively learning about errors of the control rules already used. For more information, see Kinnear et al [26]. In addition, so-called hybrid genetic algorithms are often used, which are based upon a particular variant of evolutionary algorithm, but are modified by the inclusion of other heuristics usually not based upon nature, and often domain specific. The paper by He and Mort [27] uses such hybrid techniques. 2.2 applications to telecommunications problems, e.g. network design, network routeing, network restoration, wavelength allocation, frequency assignment. For references to particular examples, see Smith [30] and Sinclair [31]. Researchers at, or collaborating with, BT have been working on a number of different applications described elsewhere in this issue. Firstly, evolutionary algorithms have been used to design new networks. Poon et al [13] describe a networkplanning tool that successfully uses a genetic algorithm to design cost-effective networks. A related issue is how to develop or extend existing networks. Shipman et al [32] present an algorithm which uses a genetic algorithm to modify rules that describe the growth of a network. This algorithm predicts the manner in which the dial-up IP access network should be expanded to cope with rapidly increasing customer demand. Given an existing network, there is the question of how to route traffic across the network so as to efficiently use the resources available without causing congestion, and in spite of changing customer demand. This type of complex, unpredictable problem is most appropriate for an evolutionary algorithm solution. He and Mort [27] apply a hybrid genetic algorithm to the construction of back-up routes for a telecommunications network. Knowles et al [33] investigate off-line routeing using a multi-objective evolutionary algorithm. Problems in computing which relate to telecommunications applications are also discussed in companion papers — Oates [34] considers allocation across distributed databases using genetic algorithms, and Bonsma [35] studies the role of evolutionary algorithms in effective information filtering. These papers give an overview of the type of problems for which evolutionary algorithms can be useful, and highlight some recent successes of using these techniques. Applications of evolutionary computation 2.3 The application domains of evolutionary computation have been, and remain, wide. One strand of evolutionary computation research was begun specifically in order to solve particular engineering applications (evolution strategies). General surveys of the range of applications of evolutionary computation are available in several places — the Handbook of Evolutionary Computation [28], the EvoNet Web site [29], books [21, 22], survey papers [30, 31], conferences [7, 23]. This paper is concerned in particular with applications relevant both to telecommunications, and to those areas of computational technology which are related to telecommunications. Several reviews of telecommunications applications of evolutionary algorithms are available [30, 31]. These papers identify several major categories of Evolutionary computation research Many important questions remain to be answered in understanding the performance of evolutionary algorithms. A substantial part of the academic research effort in the field focuses on understanding the general principles by which they operate, indeed the Foundations of Genetic Algorithms conference series [36] focuses on this issue in particular. There is insufficient space here to discuss the issues in detail; however, the concept of evolvability is worth mentioning [37] — the capacity of evolutionary systems to evolve. Natural systems (i.e. living things) seem to be rather good at evolving — evolutionary algorithms less so, in terms of the complexity of the solutions they produce. Improved understanding of evolvability promises to shed more light on how to ensure evolutionary algorithms solve a more diverse range of real-world problems. BT Technol J Vol 18 No 4 October 2000 15 NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS Several papers in this issue focus on some of the research questions surrounding the application of evolutionary algorithms [38—43]. One of the perennial problems of using evolutionary algorithms is the need to write tailor-made computer code for each problem that is tackled. Bonsma et al [38] describe the Eos evolutionary and ecosystem platform, a set of Java classes designed to overcome this problem by offering a flexible framework for the implementation of a wide range of evolutionary algorithms, including the three major different strands described above (GA, ES, EP). The Eos platform also includes the capability to model ecological interactions, a theme of nature-inspired computation that will be described in more detail below. The Eos platform is expected to provide a useful basis both for research into more effective evolutionary algorithms, and for implementation of specific problem-solving applications. Other authors focus on specific research topics relating to evolutionary methods. Shipman et al [39] investigate the influence that redundancy in genotype-to-phenotype mappings can have on artificial evolution; Tateson [40] discusses computational systems inspired by development, which can interact effectively with evolutionary change (see also section 5, below). Kearney et al [41] consider the application of evolutionary algorithms to adaptation in multi-agent software systems where economic phenomena also affect the system. This can lead to very different evolutionary algorithms than in conventional evolutionary computation. The above papers give a range of perspectives on the frontier of evolutionary computation research, and indicate some of the directions in which future applications of evolutionary algorithms may arise. 3. Artificial life O ther evolutionary systems have been developed which do not fit easily into the evolutionary computation framework. The field of artificial life developed as an attempt to construct life in the computational realm. It does not appear to have succeeded in this yet, in part because of the extreme difficulty of defining what is meant by life. But artificial life has been successful in exploring some aspects of ‘life-as-it-could-be’ as opposed to ‘life-as-we-know-it’ [42]. In doing so it has tended to a synthetic approach rather than the analytic approach taken in biology and most other sciences, and one important phenomenon is that of emergence — where overall properties of a system arise from the interaction of many sub-units [43]. As computer systems have increased in capability to deal with complicated systems in realistic time-scales, artificial life systems have allowed advances in evolutionary computation, the modelling of complex systems, and the simulation of ecological and behavioural systems. 16 Artificial life has drawn upon evolutionary computation, ecology, neural modelling and many other features of BT Technol J Vol 18 No 4 October 2000 biological systems, and in doing so it has resulted in a diversity of simulations, showing some aspects of living things [4, 42, 44]. Because of the diverse sources of inspiration upon which artificial life systems draw, it is difficult to point to a set of characteristics which all artificial life systems will have, unlike the major evolutionary computational systems discussed above. Maybe for this reason, artificial life has been a less strong source of applications than evolutionary systems per se. However, it is possible to identify several applications inspired by artificial life ideas — the system discussed by Hoile and Tateson [45] draws upon both evolutionary and morphogenetic ideas in simulating a developing multi-cellular structure; the Eos evolutionary and ecological research platform [38] allows the simulation of complex environments and ecosystems as well as evolutionary algorithms; Shipman et al [32] use both development and evolution combined to grow telecommunications networks. Many of the other innovations mentioned in the following sections can be argued as falling within the field of artificial life, as well as nature-inspired computing, whether or not they include any evolutionary component. 4. Ecological systems L iving organisms exist in a web, or network, of interactions with other organisms. The form of these interactions is very familiar from everyday life; they include feeding, co-operation and competition. Similarly, computing and telecommunications technology is typically organised into networks, with different types of interaction between devices in the network; it is therefore not surprising that comparisons have been drawn between nature and technology. Ecology is the scientific discipline concerned with the study of living organisms in their environment, including the interactions between them [46]. Living creatures are organised into hierarchical structures of similar entities, of which the biosphere is the largest unit, within which are placed successively, ecosystems, communities, populations and individuals. The ecosystem represents a collection of populations and their non-living environment, and thus is an appropriate unit with which to compare many computational networks. Analogies between computational systems and natural ecosystems have led to the concept of ‘computational ecology’ [8] where the dynamics of interacting networks of computers and associated devices are considered as an entity, rather than focusing on the performance of individual machines. This approach seems appropriate, given the great interdependence of computing devices and the communications systems that link them. The related concept of ‘information ecosystem’ [47] emphasises the NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS information that is being transmitted between networked devices, rather than the devices themselves, but reinforces the dynamic nature of information flow. In sociology and economics this area has become known as ‘artificial societies’ [48] and in biology there is a parallel field of ‘individual-based modelling’ [49]. All these areas rely on the simulation of many individuals in a web of interactions akin to those in ecology, something which has only become easily possible as the power of computers has increased. At the same time it has become much more relevant as the interconnection of computers themselves becomes ever more complex. Ecology has inspired computer systems in other ways. One of the directions of the field of artificial life has been in the development of computer systems inspired by ecology. An early example was the ‘Echo’ system developed by Holland [50]. This system models a 2-D space in which agents move around. There are sources of food in the space that agents must find, and the agents also have the capability of interacting with each other in several ways (mating, trading or fighting). Although not specifically oriented towards applications, this type of architecture provides a basis for thinking about ways of making diverse and flexible computer systems that may lead to applications in the future. For this reason functionality of this ecological type has been included in the Eos evolutionary and ecosystem platform developed by BT. The Eos platform is described more fully elsewhere [38]. It was not thought appropriate to include evolutionary functionality without some capability for ecological interaction as well. Several other papers report on the use of inspiration from ecological systems; Marrow and Ghanea-Hercock compare mobile agents with social insects [51], drawing upon the role of social insects as producers and consumers in natural ecosystems, while Marshall and Roadknight [52] report on a model of an active network which draws upon the ecology of bacteria. 5. Developmental and cellular systems C omplex living organisms such as humans develop from very simple single-cell origins into complicated multicellular creatures [53]. This process of development is analogous to the process of evolutionary change that has produced current life on earth; hence it is not surprising that biological development has also inspired computer systems. Development is in many ways a very appropriate source of computational algorithms, because it incorporates substantial flexibility along with robustness that means that it is relatively stable to perturbation, while providing the means to generate complex structures. Development has been used in a variety of computational applications; these will not be reviewed in detail here as they are covered in a companion paper [40]. Instead here are a few examples. The first [9] uses a process found in the development of the abdominal bristles of the fruit fly Drosophila to allocate channels for a cellular telecommunications network. The arrangement of bristles on the abdomen of Drosophila is such that not every cell on the back of the fly can generate a bristle; there is not enough space. Instead cells that develop bristles inhibit the further development of neighbouring cells, and out of these local interactions the appropriate pattern of bristles is generated. This pattern of inhibition of neighbouring cells is appropriate to the prevention of interference in mobile telephone networks, and is currently being developed for application to real-world mobile networks. Biological development has inspired other computing and telecommunications applications, for example evolutionary optimisation techniques which draw upon aspects of the developmental process, as used by Shipman et al [32] to assist in the planning of the growth of the dialup IP network. The ability of a cellular organisation to act as a generalised template for recognition of entities enables the immune system of higher organisms such as humans to recognise and deal with external invaders, with usually positive effects on health and survival. In the networked computer environment, where systems may face a multitude of external inputs, possibly malicious, it is not surprising that analogies from the immune system have been used in the context of security [54]. There is much more to do in this area considering the complexity of natural immune and developmental systems, where more is being discovered almost continually. 6. Molecular systems B eneath the developmental and cellular level in living organisms there is a great deal of complexity within cells, at the level of organelles (parts of cells) and molecules. This type of diversity can and has been exploited in computational systems, with no fear of contradiction in combining it with metaphors derived from organisation on a larger scale. One area of inspiration from molecular systems has been in the development of computing based upon substrates other than silicon, as at present. In particular, molecular computing [10] seeks to use molecular substrates for computing, because of the potential advantages of gains in miniaturisation and speed from information processing down at the molecular level. While a substantial amount of theory and simulation of molecular computing systems has been done, it has proved more difficult to implement molecular computing systems in the laboratory. A possible exception is provided by DNA computing [55—57]; as the name suggests, this is a branch of BT Technol J Vol 18 No 4 October 2000 17 NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS molecular computing in which the substrate for information storage and retrieval is DNA. A ready-made set of tools exists for the manipulation of information in DNA in the form of the restriction enzymes used in genetic manipulation. The procedures used can be adapted to carry out optimisation tasks, such as the directed Hamiltonian path problem [55]; while current laboratory techniques mean that solving this problem currently takes much longer than conventional computing, improvements can be expected in the future. Other studies have looked at ways of implementing molecular-like phenomena in software, in order to gain the potential advantages of molecular computing without having to put up with the difficult substrates. An example is the Information Chemistry system [58]. This comprises an environment in which information, in the form of simulated strings of molecules of different length, and enzymes which can break or join these molecules, are found. The molecules represent numbers, and by interaction with the enzymes moving randomly throughout the space, they can be sorted. This demonstrator shows the basic principles of the system; it would be possible to include many other types of information in the molecules, and thus adapt the algorithm to other uses. Molecular biology has inspired other areas of computational research, such as artificial metabolisms and algorithmic chemistries [59, 60]. These mainly theoretical areas of research have not to date led to many real-world applications, but may in the longer term give us more insight into how to use systems inspired by molecular interactions for practical problem-solving. 7. Behaviour-inspired systems B ehaviour is a feature of living systems that makes them instantly distinguishable from most inanimate objects [61]. In nature-inspired computing research and associated applications, this distinction is blurred — software systems can appear to carry out behaviour, and robots can show behaviour in the external world. This is not surprising since the nature-inspired computing field has to a large extent developed out of the much older field of artificial intelligence, itself inspired by the ideal of reproducing human intelligence by artificial means. One component of research in behaviour-inspired systems has been to go to the neural basis of behaviour and work on neural networks and related algorithms intended to mimic aspects of the cognitive basis of behaviour. This will be discussed below. Another strand has focused more on implementing the behaviour without making assumptions about the cognitive architectures that underlie it — this aspect is considered here. 18 Behaviour-based systems can be considered on several levels. Excluding systems based on neural or other BT Technol J Vol 18 No 4 October 2000 cognitively inspired models, there are at least three types. Firstly, there are the software systems that replicate aspects of human behaviour without considering any aspects of the internal states of the entities visualised as carrying out the behaviour. Here the behaviour-based aspects are only seen through the execution of the software; the instantiation of the software is largely independent of the implementation. Secondly, there are software systems that simulate behavioural entities where the behaviour is affected by the internal state of the entity. These can be described as ‘software agents’, although this phrase has many definitions associated with it. Finally, there are systems where the behaviour is implemented in the physical world based on motors and sensors, and it arises from some internal state encoded in software on board the entity; this is the realm of mobile robotics. Next software-based systems without internal state are considered before moving on to software agents and mobile robots. The implementation of behaviour in software has been one of the aims of biologically inspired computing since its origin, but especially since the development of the field of artificial life. One of the features of living systems that artificial life seeks to reproduce is the movement and dynamic interaction of many entities. In pursuit of these aims researchers developed such systems as ‘Boids’, a selforganising software system which simulates the flocking behaviour of birds. These ideas have applications beyond the merely visual; Proctor and Winter [11] developed an algorithm they called ‘information flocking’ which uses similar ideas, but links individual entities to information in a database. From the aggregation of groups of individuals representing clusters of information, users of the system can get a rapid and intuitive view of associations among the data. This system is a useful addition to the data mining tools that are required to understand the mass of data that arises in current telecommunications and computing systems. Other researchers have focused more on the behaviour of individual animals. Sims [62] used a powerful computer to simulate the physical forces arising from the movement of simulated creatures made of blocks. He then used an evolutionary algorithm to evolve movement behaviours in these creatures. It was possible in relatively few generations to evolve recognisable swimming motions, even though the anatomy of these creatures did not permit swimming in the manner seen in conventional aquatic organisms. Terzopoulos and colleagues [63] have adopted a related approach, but based on sophisticated computer graphics simulating living organisms. They are able to evolve movement in simulation that is similar to that seen in the natural world. For many business applications of computing, the interaction of a human being with the application is crucial. For this reason much attention has been paid to the NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS simulation of human beings, and particularly human faces, in order to provide a human-like interface with which people can feel more at home. Related developments include software ‘avatars’ which visualise entire people within virtual environments. In the longer term these graphical technologies may provide a means for very general interaction between customers and computer systems working on behalf of businesses, complementing face-to-face or telephone interaction. Software avatars and other visualisations of human actors in software may be indistinguishable from computational entities — at least to the superficial external observers. In such a case the software entities involved may behave according to their internal state, which may be modified as they interact with other entities in the system. These computational entities can be described as software agents, a rapidly growing class of biologically inspired software which is considered next. 7.1 Software agents Software agents are software entities that carry out activities to some degree autonomously from human management. However, they are more than this [64, 65] — they have some social ability, so they can interact with other agents; they can react to external events; they have some degree of proactivity, so they can modify their behaviour in anticipation of external events. This comprises what has been called a weak definition of a software agent [64]; other definitions exist which are more or less restrictive. Other authors consider software agents as a sub-class of autonomous agents, a category that includes robots [66]. The ability of software agents to act somewhat autonomously links them with living animals and humans, so they seem appropriate for discussion under natureinspired computing. Within the class of software agents there are a number of categories of entity which are often considered. Intelligent agent is often used as a synonym for software agent, although some definitions of the latter would allow agents without intelligence. Reactive agents emphasise action in response to stimuli at the expense of other agent properties. Mobile agents are software agents that can move between machines across a network. In many cases the emphasis is on the interaction between a number of similar, but typically heterogeneous, agents, in a multi-agent system (see, for example, Ferber [67]). In this paper there is insufficient space to discuss the software agent field in any detail; for more information and detailed overviews of the state of software agent technology and research, a number of books and papers are available [64, 65]. Two previous issues of this journal have considered software agents; that edited by Azarmi et al [68] surveys work done in BT’s Intelligent Systems group on agent systems for computing and telecommunications applications; that edited by O’Brien and Kearney [69] reviews the application of multi-agent systems to organisational and business management issues. These publications give a thorough overview of recent work on agents technology carried out by BT researchers and their academic collaborators. The current issue is intended to complement them by covering a wide range of additional computational techniques inspired by nature — hence only two papers address aspects of agent technology. Marrow and Ghanea-Hercock [51] consider how the capabilities of mobile agent systems can be enhanced by drawing inspiration from the behaviour of social insects; and Kearney et al [41] present a multi-agent system in which both economic and genetic mechanisms are used to evolve interactions between the agents. These two papers are intended to give some indication of the potential for fruitful interaction between the software agents and nature-inspired computing fields, and it is expected that such interaction will become more widespread in the future, as both computer technology improves, and networked applications become more widespread. 7.2 Robotics The term robot has referred to an autonomous, often human-like machine in fiction for longer than computer and hardware technology has allowed real robots to be constructed. However, computer hardware, and electrical and electronic engineering technology is now at a stage where mobile robots can be constructed relatively easily, and can be used to test many issues in nature-inspired computing. Although many other types of robots now exist, for instance those used in manufacturing or in leisure applications, the discussion here emphasises autonomous robots, for it is these which are being used to address the fundamental issues of robotics research, and where there is the strongest link to nature-inspired computing. In some cases such autonomous robots use evolutionary techniques to adapt their behaviour to a changing environment; this is the field of evolutionary robotics [70]. Modern robots are typically not humanoid (Fig 2), since this configuration is not efficient for the type of hardware used in these machines. Although the external structure of a robot often does not give any indication of being natureinspired (Sony’s AiboTM [71] pet robot is an exception), robots are important platforms for testing many hypotheses in nature-inspired computing. This is because robots are situated in the physical world, unlike software agents. Typically, they have actuators which enable them to move about (the qualifier mobile is often unnecessary), and sensors which enable them to perceive something about their environment. An analogy can be drawn between these capabilities and muscles/limbs (equivalent to actuators) and sense organs (equivalent to robot sensors). Exploration of robot behaviour is therefore a way to learn about how computational entities can interact with the real physical world, drawing upon the study of animals in the natural world. BT Technol J Vol 18 No 4 October 2000 19 NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS Fig 2 A mobile robot (reproduced by permission of Dr L Bull, University of the West of England). However, current robots face considerable problems. To robots, the physical world, even in extremely humanmodified form, such as an office, is very complicated. Robots must learn to distinguish fixed obstacles, such as desks, from mobile ones, such as humans, and must learn to manoeuvre on different surfaces such as carpet and concrete. This must be done in an environment where the sensory input, such as light, sound and temperature varies substantially over time and space. It is therefore not surprising that many robots are restricted to arenas with carefully controlled conditions, e.g. with uniform lighting. It should not be assumed from this that research into mobile robots has made no progress. Mobile robots have been constructed which can carry out remarkable behavioural feats under realistic conditions; for example, Möller et al [72] describe a robot which uses a navigational system based upon that of the desert ant Cataglyphis fortis which can navigate effectively under similar conditions to that of the living animal. Other adaptive robot systems have been developed for such functions as sewer inspection [73], and other applications that require autonomous behaviour in difficult or hazardous environments. 20 There still remain substantial problems to be surmounted. In pursuit of this, academic researchers in collaboration with BT have been working on the issues surrounding control systems for mobile robots. In this issue, Smith and Philippides [12] introduce the additional flexibility that can be supplied to neural network architectures through the modelling of diffusion of nitrous oxide as a regulator of neural function. This gas is known to BT Technol J Vol 18 No 4 October 2000 be involved in the function of biological neurones, but only recently has it been included as an additional feature in the simulation of artificial neural networks. Such a flexible mechanism may be very useful for the control of mobile robots in complicated environments. Robotics is a large field in itself, its intersection with nature-inspired computing is only part of the subject, and for that reason the treatment of the topic here must be brief. Robotics may seem to be a long way from many of the research and application areas discussed in this paper, because it is concerned with implementation in the physical world. Most of the other nature-inspired systems discussed here or applied in telecommunications and/or computing are implemented in software. However, addressing the problems facing robots in the physical world may give many insights into how to make intelligent and adaptive behaviour-based systems with which people can easily interact. 7.3 Cognitive and neural systems A consideration of behaviour-based nature-inspired systems such as software agents and robots leads logically to the examination of the systems which lie behind behaviour, that is to say neural systems and cognitive architectures. Neural networks have been a vibrant field of study for many years. Originally inspired by the consideration of natural neurones, artificial neural networks adopt models of neurones in software which are simpler than real ones, but which turn out to be very useful for many types of applications. Smith and Philippides [12] consider NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS neural networks in the context of control of mobile robots. There are many other possible applications of neural network technology — Mehrotra et al [74] provide an introductory text that gives more details. 8. Acknowledgements I thank the other members of BT’s Future Technologies group for many fruitful discussions and comments on the topics covered here. I would also like to thank Larry Bull for suggesting the image used for Fig 2. The future I t is always easy to write something about the future but difficult to write something that will stand the test of time. The telecommunications industry is currently in a state of dramatic change — the increasing importance of mobile, data, broadband and other telecommunications technologies indicates the relevance of novel and radical techniques to tackle the problems that arise in these areas. At the same time, the convergence of telecommunications and computing makes methods developed in computing research important for telecommunications applications. This paper has shown that nature-inspired computing can provide a range of inspiration and approaches to problem solving for real problems in industry. In many cases natureinspired techniques have already gone from being marginal research tools to components of realistic applications. At the same time it must be conceded that many of the areas discussed here require further investigation before they can be widely used in applications, e.g. mobile robotics. In consequence, nature-inspired computing remains an active area of research, and will continue to be so for some time. If any conclusion can be drawn about future developments, it is that computing and telecommunications systems will tend to become more complicated, while at the same time user requirements will force them to become more adaptable and versatile. References 1 Lin H: ‘The development of software for ballistic-missile defense’, Scientific American, 253, No 6, pp 32—39 (1985). 2 European Space Agency Board of Inquiry Report (1996) — http:// www.esrin.esa.it/htdocs/tidc/Press/Press96/ariane5rep.html 3 Begon M, Harper J L and Townsend C R: ‘Ecology: individuals, populations and communities’, Blackwell Scientific, Oxford (1990). 4 Langton C G (Ed): ‘Artificial Life’, Addison Wesley, Redwood City (1987). 5 Floreano D, Nicoud J-D and Mondada F (Eds): ‘Advances in Artificial Life: Proceedings of the 5th European Conference on Artificial Life (ECAL’99)’, Springer, Berlin (1999). 6 Eiben A E, Bäck T, Schoenauer M and Schwefel H-P (Eds): ‘Parallel problem solving from nature — PPSN V’, Springer, Berlin (1998). 7 Banzhaf W, Daida J, Eiben A E, Garzon M H, Honavar V, Jakiela M and Smith R E (Eds): ‘GECCO-99: Proceedings of the Genetic and Evolutionary Computation Conference’, Morgan Kauffman, San Francisco (1999). 8 Huberman B (Ed): ‘The Ecology of Computation’, North-Holland, Amsterdam. 9 Tateson R: ‘Self-organising pattern formation: fruit flies and cell phones’, in Eiben A E, Bäck T, Schoenauer M and Schwefel H-P (Eds): ‘Parallel problem solving from nature — PPSN V’, pp 732—741, Springer, Berlin (1998). 10 Conrad M: ‘Molecular computing’, Advances in Computers, 30, pp 235—324 (1990). A possible example of this trend is in the increasing sophistication of mobile phones and other handheld devices, a trend likely to be accelerated by the forthcoming third generation of mobile devices using the UMTS standard. As systems change in this way, they will become more like the complex systems already seen in nature, and the need to hide most of this complexity from the user will increase. In such circumstances the use of nature-inspired techniques promises substantial benefits. 9. T Conclusions his paper has shown that nature-inspired computing, although often considered a marginal area of current computing research, is active in a number of different areas inspired by different aspects of biological systems. Although many of these areas represent the cutting edge of computing research, at the same time they have led to a number of significant applications to telecommunications and related computing technologies. These applications demonstrate the importance of the continuing research effort in this area, which points the way towards further useful applications in the future. 11 Proctor G and Winter C: ‘Information flocking: data visualisation in virtual worlds using emergent behaviours’, Proceedings of Virtual Worlds 1998, (1998). 12 Smith T and Philippides A: ‘Nitric oxide signalling in real and artificial neural networks’, BT Technol J, 18, No 4, pp 140—149 (October 2000). 13 Poon K F, Conway A, Wardrop G and Mellis J: ‘Successful application of genetic algorithms to network design and planning’, BT Technol J, 18, No 4, pp 32—41 (October 2000). 14 Coker P and Tateson R: ‘Data chromatography’, in: ‘Practical Application of Knowledge Discovery and Data Mining Conference’, PADD99, pp 71—78 (1999). 15 Darwin C R: ‘The Origin of Species by Means of Natural Selection’, Penguin, Harmondsworth (1859/1969). 16 Futuyma D: ‘Evolutionary Biology’, Sinauer, Sunderland (1986). 17 Bäck T, Fogel D and Michalewicz Z: ‘The Handbook of Evolutionary Computation’, Institute of Physics, Bristol (1997). 18 Holland J: ‘Adaptation in Natural and Artificial Systems’, MIT Press, Cambridge (1976). 19 Schwefel H-P: ‘Evolution and Optimum Seeking’, John Wiley, New York (1995). BT Technol J Vol 18 No 4 October 2000 21 NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS 20 Porto V W: ‘Evolutionary programming’, in Bäck T, Fogel D and Michalewicz Z (Eds): ‘Handbook of Evolutionary Computation’, Institute of Physics, Bristol (1997). 21 Goldberg D: ‘Genetic Algorithms in Search, Optimization and Machine Learning’, Addison-Wesley (1989). 41 Kearney P, Smith R E, Bonacina C and Eymann T: ‘Integration of computational models inspired by economics and genetics’, BT Technol J, 18, No 4, pp 150—161 (October 2000). 22 Mitchell M: ‘An Introduction to Genetic Algorithms’, MIT Press, Cambridge (1991). 42 Langton C G (Ed): ‘Artificial life: an overview’, MIT Press, Cambridge (1995). 23 Porto V W (Ed): ‘Proceedings of the 1999 Conference on Evolutionary Computation CEC99’, IEEE, Piscataway (1999). 24 De Jong K, Fogel D B and Schwefel H-P: ‘A history of evolutionary computation’, in Bäck T, Fogel D and Michalewicz Z (Eds): ‘Handbook of Evolutionary Computation’, Institute of Physics, Bristol (1997). 25 Koza J: ‘Genetic Programming: the programming of computers by means of natural selection’, MIT Press, Cambridge (1992). 26 Kinnear K E Jr, Smith R E and Michalewicz Z: ‘Derivative methods’, in Bäck T, Fogel D and Michalewicz Z (Eds): ‘Handbook of Evolutionary Computation’, Institute of Physics, Bristol (1997). 27 He L and Mort N: ‘Hybrid genetic algorithms for telecommunications network back-up routeing’, BT Technol J, 18, No 4, pp 42—50 (October 2000). 28 Beasley D: ‘Possible applications of evolutionary computation’, in Bäck T, Fogel D and Michalewicz Z (Eds): ‘Handbook of Evolutionary Computation’, Institute of Physics, Bristol (1997). 29 EvoNet Web page — http://www.dcs.napier.ac.uk/evonet/Coordinator/ evonet.html 30 Smith G D (Ed): ‘ECTELNET — Application of evolutionary algorithms in the telecommunications domain: a preliminary report’, ECTELNET Working Group report (1999). 31 Sinclair M C: ‘Evolutionary telecommunications: a survey’, Proceedings of the GECCO-99 Workshop Program, Workshop on Evolutionary Telecommunications: Past, Present and Future, Orlando, USA, pp 209—212 (1999). 32 Shipman R, Botham P and Coker P: ‘Coupling developmental rules and evolution to aid in planning network growth’, BT Technol J, 18, No 4, pp 95—102 (October 2000). 33 Knowles J, Oates M J and Corne D W: ‘Advanced multi-objective evolutionary algorithms applied to two problems in telecommunications’, BT Technol J, 18, No 4, pp 78—84 (October 2000). 34 Oates M J: ‘Evolutionary algorithm performance profiles on the adaptive distributed database management problem’, BT Technol J, 18, No 4, pp 66—77 (October 2000). 35 Bonsma E: ‘A non-discrete approach to the evolution of information filtering trees’, BT Technol J, 18, No 4, pp 122—128 (October 2000). 36 Foundations of Genetic Algorithms Conference 2000 (FOGA2000) — http://www.aic.nrl.navy.mil/foga/ 37 Marrow P: ‘Evolvability: evolution, computation, biology’, Proceedings of the GECCO-99 Workshop Program, Workshop on Evolvability, Orlando, USA, pp 30—33 (1999). 22 40 Tateson R: ‘The role of development in computational systems’, BT Technol J, 18, No 4, pp 85—94 (October 2000). 43 Holland J H: ‘Emergence: from chaos to order’, Oxford University Press, Oxford (1998). 44 Langton C G, Taylor C, Farmer J D and Rasmussen S (Eds): ‘Artificial life II’, Addison Wesley, Redwood City (1992). 45 Hoile C and Tateson R: ‘Design by morphogenesis’, BT Technol J, 18, No 4, pp 112—121 (October 2000). 46 Cherret M (Ed): ‘Ecological Concepts’, Blackwell Scientific, Oxford (1989). 47 EU Future and Emerging Technologies proactive initiative on Universal Information Ecosystems — http://www.cordis.lu/ist/fetuie.htm 48 Epstein J M and Axtell R: ‘Growing Artificial Societies: social science from the bottom up’, MIT Press, Cambridge (1996). 49 DeAngelis D L and Gross L J: ‘Individual-based Models and Approaches in Ecology: populations, communities and ecosystems’, Chapman and Hall, London (1992). 50 Holland J H: ‘Hidden Order: how adaptation builds complexity’, Perseus Books, Reading (1995). 51 Marrow P and Ghanea-Hercock R: ‘Mobile software agents: insectinspired systems’, BT Technol J, 18, No 4, pp 129—139 (October 2000). 52 Marshall I W and Roadknight C: ‘Adaptive management of an active service network’, BT Technol J, 18, No 4, pp 78—84 (October 2000). 53 Gerhart J and Kirschner M: ‘Cells, Embryos and Evolution’, Blackwell Science, Oxford (1997). 54 Kephart J O, Sorkin G B, Swimmer M and White S R: ‘Blueprint for a computer immune system’, in Dasgupta D (Ed): ‘Artificial immune systems and their applications’, pp 242—261, Springer, Berlin (1998). 55 Adelman L M: ‘Molecular computation of solutions to combinatorial problems’, Science, 266, pp 1021—1027 (1994). 56 Adelman L M: ‘On constructing a molecular computer’, in Baum E B and Lipton R J (Eds): ‘DNA based computers’, pp 27—46, American Mathematical Society (1995). 57 Amos M: ‘Theoretical and experimental DNA computation’, Bulletin of the EATCS, 67, pp 125—138 (1999). 58 Shackleton M and Winter C: ‘A computational architecture based on cellular processing’, in Holcombe M and Paton R J (Eds): ‘Information processing in cells and tissues’, IPCAT98, pp 261—271 (1998). 38 Bonsma E, Shackleton M and Shipman R: ‘Eos: an evolutionary and ecosystem research platform’, BT Technol J, 18, No 4, pp 24—31 (October 2000). 59 Bagley R J and Farmer J D: ‘Spontaneous emergence of a metabolism’, in Langton C G, Taylor C, Farmer J D and Rasmussen S (Eds): ‘Artificial Life II’, pp 93—140, Addison Wesley, Redwood City (1991). 39 Shipman R, Shackleton M and Harvey I: ‘The use of neutral genotypephenotype mappings for improved evolutionary search’, BT Technol J, 18, No 4, pp 103—111 (October 2000). 60 Fontana W: ‘Algorithmic chemistry’, in Langton C G, Taylor C, Farmer J D and Rasmussen S (Eds): ‘Artificial Life II’, pp 159—210, Addison Wesley, Redwood City (1991). BT Technol J Vol 18 No 4 October 2000 NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS 61 MacFarland D: ‘Animal Behaviour’, 3rd Edition, Longman, Harlow (1999). 62 Sims K: ‘Evolving 3D morphology and behavior by competition’, in Brooks R and Maes P (Eds), ‘Artificial Life IV’, pp 28—39, MIT Press, Cambridge (1994). 63 Terzopoulus D, Tu X and Grzeszczuk R: ‘Artificial fishes: autonomous locomotion, perception, behaviour and learning in a simulated physical world’, Artificial Life, 1, pp 327—351 (1994). 64 Wooldridge M and Jennings N R: ‘Intelligent agents: theory and practice’, Knowledge Engineering Review, 10, pp 115—152 (1995). 65 Nwana H S and Ndumu D T: ‘A perspective on software agents research’, Knowledge Engineering Review, 14, pp 125—142 (1999). 66 Maes P: ‘Modelling adaptive autonomous agents’, in Langton C G (Ed): ‘Artificial Life: an overview’, pp 135—162, MIT Press, Cambridge (1995). 67 Ferber J: ‘Multi-Agent Systems: an introduction to distributed artificial intelligence’, Addison Wesley, Harlow (1999). 68 Azarmi N, Azvine B, Ndumu D T and Lesaint D (Eds): ‘Towards engineering intelligent systems’, BT Technol J, 16, No 3 (July 1998). 69 O’Brien P and Kearney P (Eds): ‘The emerging enterprise’, BT Technol J, 17, No 4 (October 1999). 70 Floreano D: ‘Evolutionary mobile robotics’, in Quagliarelli D, Periaux J, Poloni C and Winter G (Eds): ‘Genetic Algorithms in Engineering and Computer Science’, John Wiley, Chichester (1997). 71 Sony AiboTM Web site — http://www.world.sony.com/Electronics/ aibo/top.html 72 Möller R, Lambrinos D, Pfeifer R, Labhart T and Wehner R: ‘Modelling ant navigation with an autonomous agent’, in Pfeifer R, Blumberg B, Meyer J-A and Wilson SW (Eds): ‘From animals to animats 5’, Proceedings of the fifth international conference on simulation of adaptive behavior, pp 185—194, MIT Press, Cambridge (1998). 73 Hertzberg J, Christaller T, Kirchner F, Licht U and Rome E: ‘Sewer robotics’, in Pfeifer R, Blumberg B, Meyer J-A and Wilson S W (Eds): ‘From animals to animats 5’, Proceedings of the fifth international conference on simulation of adaptive behavior, pp 427—436, MIT Press, Cambridge (1998). 74 Mehrotra K, Mohan C K and Ranka S: ‘Elements of Artificial Neural Networks’, MIT Press, Cambridge (1997). Paul Marrow began his career as a biologist, gaining an MA in Pure and Applied Biology from Oxford University and DPhil in Mathematical Biology from York University. He held a Royal Society research fellowship at Leiden University, before moving to Cambridge University, where his research focused on evolutionary dynamics, coevolutionary theory and the evolution of reproductive strategies. He moved to BT’s Future Technologies group at Adastral Park in April 1997, where he works on biologically motivated solutions to computing and telecommunications problems. His recent work has addressed the evolvability of artificial and natural evolutionary systems, as well as applications of evolutionary theory to resource allocation and strategic modelling. Recently he has been involved in setting up the DIET (Decentralised Information Ecosystems Technologies) project, a major European collaboration under the Framework V programme. 23 BT Technol J Vol 18 No 4 October 2000