© Copyright JASSS

  JASSS logo

Computational Intelligence: An Introduction

Andries P. Engelbrecht
Chichester: John Wiley
2002
Cloth: 0-470-84870-7

Order this book

Reviewed by
Ana Maria Ramanath
School of Human Sciences, University of Surrey, Guildford, UK.

Cover of book

The book offers a succinct discussion of four "paradigms" within the artificial intelligence (AI) field grouped under the banner of computational intelligence (CI).

The CI sub-field is defined by the author as the study of 'adaptive mechanisms' which enable or facilitate intelligent behaviour in complex and changing environments. In other words, CI is mainly about the design of algorithmic models to solve complex problems. The four paradigms are, in order of presentation: artificial neural networks; evolutionary computing; swarm intelligence and fuzzy systems.

However, multi-agent based systems (MAS) are not covered, and although this is acknowledged in the concluding section of the book, a strong justification for its omission is not provided. MAS, it can be argued, fits under the CI umbrella, because MAS is also about the search for adaptive mechanisms to solve complex, messy problems. The author recognises the fact that the definition of CI provided may cause some debate and makes this explicit in the introductory chapter (Part I). The rest of the book considers each of the paradigms in turn.

* Part II: Artificial Neural Networks (NN)

Inspired by brain modelling studies, the smallest unit of analysis of NN is what is called the neuron or perceptron. Various configurations or topologies of NN based on the modelling of areas of the brain in mammals, particularly the auditory and visual cortex areas, are described. Because one important feature of NN is their ability to learn from their environment, the rest of the discussion in this part of the book centres on four common approaches to NN 'training'. These are supervised learning, unsupervised learning, hybrid learning (supervised and unsupervised) and reinforcement learning. These approaches are basically ways of training the NN such that the output of the network is an accurate approximation of target values. 'Learning' in this context primarily means tinkering with variables (e.g. weights) in the several mathematical equations involved until the empirical error falls below a threshold. In all of the approaches the NN receive input signals and propagate them in different ways throughout their various layers or configurations, in order to calculate and return a result (or output).

The ultimate goal of NN and the other paradigms discussed in the book is one of optimisation (achieving a fast, accurate result with a minimum of resources and effort). This idea permeates the algorithms suggested in the various sections and chapters.

NN have been applied to classification, pattern matching, pattern completion, optimisation, control, function approximation, time series modelling, data mining/knowledge discovery and so on.

* Part III: Evolutionary Computing (EC)

Evolutionary computing draws ideas from natural evolution such as survival of the fittest, natural selection, reproduction, mutation, competition and symbiosis. In EC techniques and tools the emphasis is therefore on adaptation and optimisation. To emulate the processes involved in natural selection, EC makes use of genetic algorithms to model genetic evolution. These algorithms operate on strings of information similar to the chromosome (or genome) concept in biology. In these algorithms, the characteristics of individuals can be represented in two ways, by genotypes (which focus on inherited aspects) and phenotypes (which focus on behavioural aspects). The reader is presented with six types of genetic algorithms that differ in the way in which they represent (and study) individuals. These are:

Examples of areas to which EC has been applied are: routing optimisation and scheduling, design of filters, neural network architectures and structural optimisation, controllers for gas turbine engine, visual guidance systems for robots, classification and clustering, function approximation and time series modelling, regression, composing music and data mining.

* Part IV: Swarm Intelligence

A swarm is a structured collection of interacting organisms or agents. Although the interaction or co-operation among individuals is determined genetically (as in evolutionary computing), social interaction to achieve a global objective plays a key role in the resulting behaviour of the swarm. This means that although every agent has an impact on the resulting behaviour of a swarm, the global behaviour of the swarm simultaneously determines the conditions under which individual agents perform.

What is also interesting about swarms is their distribution of tasks. This means that in pursuit of their overarching goal of surviving and adaptation, although there is cohesion as a group, control of activities is not centralised (by the 'queen ant' in the case of an ant colony, a classic example of a widely studied type of swarm). Instead, smaller groups of agents carry out specialised tasks under local control, and for which they are morphologically (genetically) prepared. In the case of ants, for example, it has been observed that minor ants feed the brood and clean the nest, whilst major ants (with larger jaw structures) cut large prey and defend the nest.

Generic optimisation algorithms for modelling that are based on studies of ants and bird flocks are described in two subsections on particle swarm optimisation and ant colony optimisation.

Successful applications of the computational modelling of swarms which are mentioned include function optimisation, finding optimal routes, scheduling, structural optimisation and image and data analysis.

* Part V: Fuzzy Systems

The word 'fuzzy' brings to mind things or situations that are rather blurred, unclear or even hazy. Although in this part of the book, the author makes a good attempt at explaining past and future developments in this area, the novice AI reader like myself was left none the wiser about this topic (in contrast to the previous parts of the book).

Despite the intrinsic difficulty of the task, this part of the book seems to make a serious attempt to unravel the fundamentals of fuzzy logic theory and present it as a way of creating tools to develop software products (fuzzy systems) that model human reasoning. Applications of fuzzy systems are to be found in areas such as control, information systems, pattern recognition, and decision support. Real-world applications have included control of dam gates for hydroelectric-power plants, camera aiming, compensation against vibration in camcorders, cruise-control for automobiles, controlling air-conditioning systems, archiving systems for documents, optimised planning of timetables and so on. It is notable, however, that these applications are further from any understanding of "social" systems than those presented in previous sections.

* General Comments

As a researcher new to certain AI topics, I feel I benefited from reading this book because it provided me with a basis from which to explore further literature and Internet sites about the topics discussed. It is also well written, the language is clear and the chapters and sections are structured in a flexible way such that it is possible to reference sections of interest as and when needed without having to read the entire book.

There are, however, three aspects of this book that its intended audience may find difficult. Firstly, the book does not shy away from the mathematical detail involved in the four paradigms. A considerable knowledge of advanced mathematics is required to understand some of the probabilistic/statistical formulas, functions and logic presented. Secondly, although a number of exercises to stimulate thought and inspire new ideas are provided at the end of each chapter, there are few demonstrations or practical examples. Thirdly, some notions (for example 'hidden layers' in the chapter about neural networks) appear throughout the text, but are not defined or explained in sufficient detail.

In conclusion, this book could be worthwhile for readers (including researchers new to the field) with a mathematical, computer science or similar background. For those without such a background, it is also of interest but they may need to seek some help from additional sources in order to understand the detail presented.

ButtonReturn to Contents of this issue

© Copyright Journal of Artificial Societies and Social Simulation, 2004