Order this book
Reviewed by Duncan A. Robertson, Said Business School, University of Oxford
At first sight, An Introduction to Multi-Agent Systems looks as if it is an ideal book for the researcher who is seeking a general introduction to agent-based modelling. The text is well presented, and set out in a way that encourages the reader to delve more deeply into the material.
However, this is first and foremost a book written by a computer scientist from a computer science perspective. This is of course very valuable for getting behind the intricacies of the computer science of multi-agent systems. But what of its audience of social science researchers, modellers who want to use agent-based toolkits as a way of developing their research agendas? Nwana and Ndumu (1999) point out that:
'... a new field is only defined by its problems, not its methods/techniques. We argue strongly that MAS [multi-agent systems] has to some degree been falling into the trap that befell AI [artificial intelligence] - that of deluding itself that its methods and techniques (e.g. co-operation, rationality theories, agent languages, conceptual and theoretical foundations, multi-agent planning, negotiation) are the really important issues. No! They are not! It is the problems that they are meant to solve.'
For a book on agent-based modelling to be really valuable to a social scientist requires a fine balance between the methodological intricacies of the technique and more of a general overview of how such techniques can be applied in the specific domain of the researcher.
Is An Introduction to Multi-Agent Systems a book that is of real value to social science researchers, or is its use mainly as a subsidiary text firmly grounded in the domain of computer science?
Perhaps for an answer to this question one may review Woodridge's own conclusions on social science (p. 11):
'Although we can usefully draw insights and analogies from human societies, it does not follow that we can build artificial societies in exactly the same way ... although it is perfectly legitimate to design a multi-agent system by drawing upon and making use of analogies and metaphors from human societies, it does not follow that this is going to be the best way to design a multi-agent system. ... It seems to me that multi-agent systems and the social sciences have a lot to say to each other. Multi-agent systems provide a powerful and novel tool for modelling and understanding societies, while the social sciences represent a rich repository of concepts for understanding and building multi-agent systems - but they are quite distinct disciplines.'
This perhaps sums up the view of the book - a text by a computer scientist intended as core reading to accompany a computer science course on multi-agent systems. The book is divided in to three main sections: an introduction to 'intelligent agents', an introduction to multi-agent systems, and a discussion of the applications of multi-agent systems (from a computer science perspective). These sections are interspersed with chapters or appendices covering the history of research into multi-agent systems, methodologies, and logics for multi-agent systems.
The author first discusses intelligent agents, starting with the author's definition (Woodridge and Jennings 1995). Competing definitions, such as that of Ferber (1989:249) are not given equal prominence. The author then turns to deductive reasoning agents, and presents a very short introduction to agent-oriented programming. Practical reasoning agents, reactive and hybrid agents are introduced. Multi-agent interactions are discussed from the paradigm of utility, encapsulating the preferences of agents by introducing the concept of utility functions. This economics-based approach continues with the discussion of the Prisoner's Dilemma, which nicely introduces the Axelrod tournament for playing the Iterated Prisoner's Dilemma. Agent communication languages, co-ordination and co-operative distributed problem solving, and applications in distributed systems are all discussed.
The book is designed to be an undergraduate textbook for a course on multi-agent systems. Throughout, the book uses logical notation (for example ¬ representing 'not', representing 'syntactic consequence', and representing 'semantic consequence', which for a general audience may render these parts of the book less accessible. (Thanks are due to Peter Suber for the logical symbol images.) This is certainly not a book for the researcher who is looking for an introduction to multi-agent systems applied to the social sciences.
A companion web site is associated with the book. This contains a valuable set of slides to accompany the text, as well as a detailed syllabus and sample exam papers. These may be a useful starting point to gain an appreciation of the emphasis of the text.
For a computer science student wishing to explore the depths of the field, or for a social science researcher wishing to investigate the fundamentals of programming concepts behind agent-based modelling, this is an ideal, well-written book. However, for the modeller who wishes to go straight into building an agent-based model, this book will be of little immediate value. Nowhere for instance does the author discuss the toolkits (such as RePast, NetLogo and others) that would enable a user to start building their first agent-based models applied to the social sciences. As a background text for the seasoned modeller, this is a valuable resource; for the newcomer wishing to build their first models, it is of lesser value.
FERBER J. 1989. Des Objets aux Agents. Unpublished Doctoral Dissertation, University of Paris VI.
NWANA H. S. and D. T. Ndumu 1999. A perspective on software agents research. The Knowledge Engineering Review, 14:125-142.
WOOLDRIDGE M. J. and N. R. Jennings 1995. Intelligent agents: Theory and Practice. The Knowledge Engineering Review, 10:115-152.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2004