Friday, November 23, 2007

Book Reviews

I have recently had the pleasure of reading 2 recent books about ABM and I thought that I would share my thoughts on them. Below is the review.

Agent-based modelling (ABM) is at the forefront of computer modelling research focusing on the individual or groups of individuals, and how these individuals interact to form emergent structures. In particular, the ABM paradigm is becoming an increasingly used technique to study cities and regions. The two books ‘Managing Business Complexity Discovering Strategic Solutions with Agent-Based Modelling and Simulation’ by North and Macal (2007) and the ‘Handbook of Research on Nature-Inspired Computing for Economics and Management edited by Rennard (2007) aim at outlining the fundamental concepts and principles of ABM supplemented with numerous applications. While there are many books relating to ABM, I was interested in reading these two books to see if they could successfully address the diverse literature pertaining to the rapidly growing field of ABM in a concise and simple way thus aiding understanding of ABM and their wider applications.

Managing Business Complexity Discovering Strategic Solutions with Agent-Based Modelling and Simulation’ by North and Macal (2007) has two goals, the first is to teach the reader how to think about agents, and secondly to teach how to do something with agents by developing agent-based models and simulations to assist decision-making. The book provides fifteen well-written chapters providing a consistent vocabulary for ABM, something which is often missing from edited books. North and Macal claim the book offers a complete resource for agent-based modelling and simulation (ABMS). While this is a strong claim, it does go some way of doing so. The book tackles questions, ranging from who needs agents, what are agents, where are agent applications being used, when is it appropriate to use ABM, why use agents and how should one think of agents. The ABMS paradigm is outlined, detailing the main approaches to implementing computational agents while relating it to several fields of knowledge (e.g. complexity science, network science) and technological advances, for example. The book emphasises ABMS unique capabilities and how it can be effectively applied and used together with more traditional modelling approaches which the authors term ‘blended modelling’ to further our understanding of systems of interest.

The book surveys a range of implementation environments that can be used to carryout ABMS, ranging from simple spreadsheets (e.g. Excel), to prototyping environments (e.g. NetLogo), to computational mathematics systems (e.g. MATLAB). These examples highlight how ABMS can be done on standard office computers, along with presenting participatory ABMS (e.g. using people to act as agents) and large scale ABMS and toolkits that support such development (e.g. Swarm).

The latter chapters address some of the more challenging aspects of ABM, that of verification and validation, what sorts of data should be feed into agent-based models and how the appropriate inputs for ABMS can be found. Specifically discussing data collection and quality issues, and how to understand outputs of an agent-based model through recording, analysing and interpreting results. Furthermore, how these results can be used to make an impact, to supply useful information and to support decision-making. The penultimate chapter discuses how techniques for testing models, preparing data, and approaches to using and communicating model results can be managed within organisations and the roles that various participants play in the process. Emphasising the need to identify the problem that needs to be solved and considerations for the design of an agent-based model, and the processes that need to be achieved to accomplish this goal. Overall the book provides a good overview of ABMS with many example applications the authors themselves have developed and applied to solve real world problems.

The authors write that the intended audience for this book are managers, analysts and software developers in business and government. This should not put off other readers from other fields, as this book provides a useful source of reference for anyone interested in ABM no matter how much they know. For those who want to acquaint themselves with ABM this book is an easy way to do so. For those that already have an understanding, this book will compound it. Additionally, it is reasonably priced at £52. However, I do have one criticism about this book. While there is a host of illustrative examples (including tables and figures) to support the discussion, the book misses links to actual code and models, which I believe would further help the readers understanding and learning about ABMS.

The second book edited by Rennard entitled ‘Handbook of Research on Nature-Inspired Computing for Economics and Management’ complements the first book by highlighting how computational modelling is being utilized in a diverse set of fields. However, unlike the book by North and Macal, it is not intended to be a beginner’s guide to modelling but more of a reference of the current state-of-the-art research topics in the field of nature-inspired computing from a wide range of disciplines, ranging from social sciences to operations research. The two edited volumes by Rennard (58 papers in total) provides a concise reference of the varied role of nature-inspired computing in a single source, as these topics/applications tend to be published in a diverse range of journal articles.

The main tread through these papers to quote Bonabeau “is human behaviour, individual or collective, and how it can be understood, modelled, approximated, or even enhanced using a range of techniques and approaches from ‘complexity science’ (pp xxviii).” Such techniques include evolutionary algorithms, swarm intelligence, social networks and ABM. Many of which are discussed in the previous book and shows how a variety of approaches can help advance science in a wide set of domains.

The book is split into ten sections. The first section explains and explores nature-inspired computing, specifically the approach of artificiality and simulation in the social science by providing details on different modelling approaches and applications based on social insects –ants, bees, wasps and termites behaviours and how this has inspired social applications such as pheromone trails used for route planning. A short introduction to stochastic optimization algorithms such as simulated annealing, and neural networks evolutionary algorithms and genetic programming is then provided thus setting the scene for the following sections and example applications.

The sections include social modelling, with a particular insightful paper by Axelrod entitled ‘Simulation in the social sciences’ which offers advice for doing simulation research, focussing on the programming of a simulation model, analysing the results, sharing the results and replicating other peoples simulation in which he advocates providing the source code or links to the code. While many of the other papers adhere to this paper by providing links to actual code and data, or say that the code is available from the author upon request therefore allowing for replication and learning, this is not always the case.

The use of agents to explore economics (i.e. agent-based computational economics - ACE) is presented and examples of where agent-based models have been used in economics. These included how agents can learn through the use of genetic algorithms, the use of neural networks for processing activities of firms, or using agent-based models to explore the competitive advantages of geographical clusters. Other sections detail how nature-inspired computing can be used in design and manufacturing, particularly using evolutionary algorithms applied to design and project management. Other parts of the book explore operations and supply chain management issues specifically focusing on how evolutionary computation can be used to solve operations and supply chain problems. Applications are then given on how information systems can be informed by nature-inspired computing, focusing on knowledge gathering. Commerce and negotiation issues are explored, such as the use of agents to study auctions using genetic algorithms as a way for developing bidder strategies. Other examples use agents to study price wars between different brands, or product propagation in marketing. In finance, house prices and stock markets are explored using evolutionary computing.

Unfortunately, I have several criticisms about this book; first, while providing many example applications it does not provide many spatially explicit examples. Secondly, while these applications provide a valuable insight into nature-inspired computing crossing many domains, the papers do not flow particularly well, but this is to be expected from such comprehensive book, contributed by numerous authors. Thirdly, while key terms are presented at the end of most papers, helping clarify terminology used throughout the book and within each paper, this is not always the case. The fourth criticism is the cost, at £210 it is an expensive reference book. Nevertheless, do not let these criticisms detract from the book. Each paper adds knowledge to how nature-inspired computing can help tackle complex problems in a wide range of applications in economics and management.

As stated at the beginning of the review, I was interested in seeing if the books could present clearly the diverse literature pertaining to ABM. Both books provide a good introduction and source of reference pertaining to the current state-of-art of ABM. While these books highlight mainly applications/examples from business and economics with relatively few spatially explicit examples. Much of this knowledge is inspired from a wide range of disciplines commonly linked through complexity research. Thus providing a way of fostering thought and cross-disciplinary research.

Both of these books and many more can be found on our recommended books page.

Wednesday, November 07, 2007

Matsim

A previous post introduced the notion of microsimulation and how it can be integrated with ABM. As a follow on to this post, I would like to draw ones attention to such an application. That of MATSim (Multi Agent Traffic Simulation),n open source java application which links diverse datasets such as networks (e.g. roads and public transport networks), population data (e.g. census data and commuter matrices) and demand (places of work, leisure facilities, opening hours) and uses this information to simulated a range of issues. From that of road pricing schemes, location based services, city evacuation and social networks.

Basically MATSim provides a toolbox to implement large-scale agent-based transport simulations. The toolbox consists of several modules which can be combined or used in stand-alone applications. Currently, MATSim offers a toolbox for demand-modelling, mobility-simulation, re-planning, a controller to iteratively run simulations as well as methods to analyze the output generated by the modules.

MATSim is currently being developed by two groups: Transport Planning at the Institute for Transport Planning and Systems (IVT), Swiss Federal Institute of Technology Zurich, and the Transport Systems Planning and Transport Telematics at the Institute for Land and Sea Transport Systems, Technische Universität Berlin.

MATSim can be download from http://sourceforge.net/projects/matsim while further information and links about MATSim can be found on the Project website.

An alternative to MATSim is TRANSIMS, and Balmer, et al. 2005 provide a comparison of MAtSIM with TRANSIMS.


Tuesday, November 06, 2007

The Basic Immune Simulator

Just a quick note on a Repast model we recently found called the Basic Immune Simulator developed by Charles Orosz, Virginia Folcik and Christina Sasswas utilizing RepastJ. The model was developed to explore the behaviour of the immune system as a complex system.

The site provide the source code of the model and instructions to run the model. Which addresses some of the key issues with regard to sharing information with the social sciences which Axelrod (2007) recommends.


Further information and model code can be seen at the Basic Immune Simulator website and an article

Folcik, V.A., An, G.C. and Orosz, C.G.(2007) The Basic Immune Simulator: An agent-based model to study the interactions between innate and adaptive immunity. Theoretical Biology and Medical Modelling, 4:39.

Axelrod (2007) ‘Simulation in the social sciences’ inRennard, J.-P. (ed), Handbook of Research on Nature-Inspired Computing for Economics and Management, Idea Group Reference, Hershey, PA.


Wednesday, October 31, 2007

Urban Modelling

Urban modelling has had a long lineage and finding quality articles that trace their routes and clarify their roots and terminology are often difficult to find. Mike Batty has recently written a short piece of work entitled “Urban Modelling” for a forthcoming book “International Encyclopaedia of Human Geography.” This chapter provides a excellent introduction to the subject of urban modelling. Highlighting how urban modelling has changed over time.

Mike reviews how the lineage of urban models has been developed and changed from their first implementations relating it to how we now think of cities, as complex systems, growing from the bottom up and how dynamics are becoming increasingly important.
To summarise, it provides a concise reference about urban modelling by presenting a discussion on how urban modelling principles can be defined. Specifically, defining models, urban theory, modelling principles, types and styles of models (e.g. spatial interaction models, agent-based models, cellular automata models, land-use transport model, etc.), the model building process and urban modelling applications. Additionally the paper provides links to online resources, which extend the paper along with valuable references on all the topics covered.

On a side note Mike has recently published a book entitled “Cities and Complexity: Understanding Cities with Cellular Automata, Agent-Based Models, and Fractals” which provides a good source of reference for anyone interested furthering their understanding in cities using CA, ABM and fractals.

Thursday, October 18, 2007

Microsimulation



Often within ABM one wants to model the individual and how these individuals interact to form emergent patterns such as individuals and the resulting crowd or popupulations. The problem is the lack of data at the individual level. One potential solution to this is combing microsimulation and agent-based modelling techniques.

The foundations of microsimulation as a technique for socio-economic modelling was pioneered by Orcutt (1957) who identified and represented individual actors in the economic system through the way in which their behaviour changed over time. However, early adoption of this technique for socio-economic modelling was hindered by the limited computer resources and lack of data about temporal behaviour.

Today, microsimulation provides one of the most disaggregated techniques for urban modelling. The main features of microsimulation can be found in a paper by Clarke and Holm (1987) which additionally reviews its early applications in economics, healthcare planning and demographics. The basic concept is simply to represent the elementary units (of a city or region) be it a person, a house or a car as a set of individuals objects with unique characteristics rather than using aggregate counts such as output areas from the census. This is often achieved by generating a synthetic population to represent imaginary rather than real people using aggregate data. In such a way those particular characteristics are associated with a particular individual, so that the distributions of the simulated population match the real or modelled distributions (as a way of building artificial populations which closely resemble actual societies). Once the individuals have been created in this way, the model is used for some purpose such as policy analysis.

Microsimulation models can be both dynamic and static in nature and have been applied to disciplines associated with urban and regional analysis especially for the analysis of policy impact. Early efforts in particular focused on the sociology, economics, social administration (e.g. healthcare provision), housing and residential location (see Holm et al., 2000 and Wilson, 2000 for further details and reviews; additionally the International Microsimulation Association provides links to models under active development). The models are often used to simulate changes in distribution, for example, demographic and land-use changes (as in UrbanSim) or the distribution of traffic flow over a street network (e.g. as in the TRANSIMS model, see Waddell, 2001) and are the basis for many popular planning support systems.

While early microsimulation modelling efforts where not overtly spatial as they were often developed outside the field of geography, with the advent of more comprehensive datasets, more powerful computing technology and the development of GIS, microsimulation models now have the ability to represent spatial processes explicitly. For example at the University of Leeds, an explicit and detailed spatial dimension has been added to microsimulation models, including the coupling with spatial interaction models (e.g. Birkin and Clarke, 1987, cited in Birkin, 2005; Clarke and Holm, 1987) and its integration with GIS. Microsimulation models at Leeds have been applied to domains such as education, health, labour markets and retailing (see Birkin, 2005 for further details). In particular, the MoSeS (Modelling and Simulation for e-Social Science) project from the University of Leeds aims to develop a demographic simulation at the level of individuals and households to give robust forecasts of the future population of the UK (Birkin et al., 2006) For more information on MoSeS click here).

Microsimulation provides a mechanism to evaluate the effects of policy changes at the level of the decision making units such as individuals, firms and households rather than focusing on the aggregate information of groups of individuals to predict policy impacts, while at the same time estimates of aggregate outcomes can still be derived by summing up individual predictions. Whilst this process of creating individuals based on aggregate data addresses the ecological fallacy of assigning average group attributes to individual entities, and assuming an ecological correlation between them, it does not address the Modifiable Areal Unit Problem (MAUP) of decomposing aggregate spatial data arbitrarily into smaller geographical units (Benenson and Torrens, 2004).

Another important question concerns the relationship between microsimulation and agent-based modelling for urban modelling. While both approaches focus on the individual, the two approaches are different. For example, Birkin (2005) writes that it may be fair to characterise agent-based approaches as mostly concerned with behaviour at the individual level, while microsimulation as concerned with questions of composition and structure of the urban area. In traditional ABM, the emphasis is on interaction between individuals based on behavioural rules, which evolve stochastically over time and space in response to the interactions with other individuals, while traditional microsimulation transition probabilities lack evolutionary and spatial dimensions.

On the other hand, the two approaches are moving towards a more common ground as microsimulation models add more behavioural and spatial interaction between individual units and ABM add both space and demographic characteristics to their agents (The International Microsimulation Association, 2006). For example, TRANSIMS is an agent-based model using disaggregate microsimulation techniques to simulate traffic for large metropolitan areas, and the ILUTE (Integrated Land-use, Transportation Environment) model is an agent-based model which examines land-use and transportation within a metropolitan area (Miller et al., 2004).

References:
Benenson, I. and Torrens, P.M. (2004), Geosimulation: Automata-Based Modelling of Urban Phenomena, John Wiley ANDSons, London, UK.
Birkin, M. (2005), 'Retail and Service Location Planning', in Maguire, D.J., Batty, M. and Goodchild M, F. (eds.), GIS, Spatial Analysis and Modelling, ESRI Press, Redlands, CA, pp. 221-244.
Birkin, M. and Clarke, M. (1987), 'Comprehensive Models and Efficient Accounting Frameworks for Urban and Regional Systems', in Griffith, D. and Haining, R. (eds.), Transformations Through Space and Time, Martinus Nijhoff, The Hague, Netherlands, pp. 169-195.
Birkin, M., Turner, A. and Wu, B. (2006), 'A Synthetic Demographic Model of the UK Population: Methods, Progress and Problems', Regional Science Association International British and Irish Section, 36th Annual Conference, Jersey, Channel Islands.
Clarke, M. and Holm, E. (1987), 'Microsimulation Methods in Spatial Analysis and Planning', Geografiska Annaler. Series B, Human Geography, 69(2): 145-164.
Holm, E., Lindgren, U. and Malmberg, G. (2000), 'Dynamic Microsimulation', in Fotheringham, A.S. and Wegener, M. (eds.), Spatial Models and GIS: New Potential and New Models, Taylor and Francis, London, UK, pp. 143-165.
Miller, E.J., Hunt, J.D., Abraham, J.E. and Salvini, P.A. (2004), 'Microsimulating Urban Systems', Computer, Environment and Urban Systems, 28(1-2): 9-44.
Orcutt, G.H. (1957), 'A New Type of Socio-Economic System', Review of Economics and Statistics, 39(2): 116-123.
The International Microsimulation Association (2006), What is Microsimulation?, Available at http:www.microsimulation.org [Accessed on 18th Oct, 2007].
Wilson, A.G. (2000), Complex Spatial Systems: The Modelling Foundations of Urban and Regional Analysis, Pearson Education, Harlow, UK.
Waddell, P. (2001), 'Between Politics and Planning: UrbanSim as a Decision-Support System for Metropolitan Planning', in Brail, R.K. and Klosterman, R.E. (eds.), Planning Support Systems: Integrating Geographic Information Systems, Models and Visualisation Tools, ESRI Press, Redlands, CA, pp. 201-228.