Laboratoire d'Informatique, Université Paris 6, 4 Place Jussieu, 75252 Paris, CEDEX 05, France.
Patrick Coquillard and David Hill provide us with an overview of a wide range of techniques in the field of ecosystem modelling and simulation: from classical approaches such as Markovian analysis, to discrete event simulation techniques like Monte-Carlo simulation and object-oriented modelling. Their book is intended as an advanced textbook and will therefore prove useful not only to graduate or PhD students seeking current information on the field of modelling, but also to researchers from many other disciplines wishing to get an upto date and fully referenced synthesis of modelling and simulation techniques in this field.
Because ecosystem modelling issues are very topical at present and increasingly provoke interest from diverse disciplines within the scientific community, there is considerable interest and use to be had from a book which attempts to settle some definitions and clarify concepts, while taking stock of techniques currently in use.
The book consists of three independent parts: part one provides us with the fundamentals, part two with a synthesis of classic models and part three presents some simulation techniques that prove more efficient than the classical ones in attempting to integrate spatial effects with ecosystem simulations. The organisation of the book is, to my mind, very much suited to a multi-disciplinary approach. Indeed the first part of the book gives the basic definitions which provide the minimum of shared knowledge which is a necessary starting point for any interdisciplinary communication.
The authors synthesise pre-existing literature and their own experience to address fundamental questions about the meaning of key concepts like "system" and "model". They also examine the methodological choices which underpin the modelling process. To the three characteristics that Popper finds in all models (a model must share some resemblance with the real system, a model must be a simplification of the real system, a model is an idealisation of the real system), the authors add that if a model is to reproduce some of the behaviour of the real system as well as possible, it will do so in accordance with the objectives that the model designer has established.. Such fundamental issues are sometimes not given as much importance as they ought to be and it is valuable to recall them from time to time. The most important task for the apprentice modeller to perform, according to this view, is to identify the aim of the model. Simulation involves having a model evolve over time, so that we may understand the behaviour of the real system and apprehend some of its dynamic characteristics (Hill 1993). With respect to particular objectives and the knowledge and data available for the real system, several methodological choices condition all model construction processes:
The authors give us a thorough overview of modelling techniques, describing the advantages and drawbacks for each technique with particular reference to their ability to cope with spatial effects in simulated phenomena. This property is becoming more and more important when designing models for wide ecosystems in which phenomena are deeply dependent on space and time resolution and representation. In the light of many examples of experiments, mainly in the field of environmental ecosystem modelling, we now aware that classic models, based on differential equations or Markovian analysis are rather reluctant to take into account multiple scale phenomena and space-time interactions among individuals. If they do so, it is at a high cost in terms of computation and loss of their main benefits such as their simplicity. See for example Lippe et al., (1985) for derived Markovian analysis, or Kimura's stepping stone model, Skellman's diffusion model (Skellman 1951) and other models described in Renshaw (1995).
As far as the integration of spatial effects is concerned, the authors favour discrete event simulation techniques, among which they focus on Monte Carlo simulations, cellular automata and individual based simulations (agents and object oriented modelling). The latter techniques provide efficient means for producing equivalence in the forms of software components and the analysis entities that domain experts are used to manipulating, yet at the cost of an urgent need to work with technical experts from computer science and distributed artificial intelligence.
The expressive power of these techniques goes far beyond that of classical models which merely describe global parameters and fail to represent interacting phenomena. The trade-off however is that these techniques are hard to use as far as the validation and exploitation of the model are concerned.
The authors present much discussion on the particular field which I would like to focus on from now on. As a PhD student working on multi-agent simulations of physical processes, I am much interested in their topical coverage of this approach.
One key point in multi-agent simulations (and in all object-oriented modelling as well) is the use of randomness through pseudo-random number generators. These enable us to simulate the parallel nature of natural phenomena by executing processes in random order and to compensate for our lack of knowledge about the actual causes of some events by representing them as having a probability of occurrence. However, it is easy to forget once we make use of randomness routinely that it conditions all the outcomes of our experiments, and as such, deserves much concern from the perspective of efficiency. Coquillard and Hill are very well aware of this and intend to draw our attention to it. They provide a thorough review of classic pseudo-random number generation techniques using congruential methods, loop-back registers and generator shuffling. Furthermore, they present a whole battery of quality tests for these generators, along with thorough references to the literature: Knuth (1981), Fishman (1978), Marsaglia et al. (1990) and Ripley (1990). A whole chapter is dedicated to this issue and focuses on the spatial cover and pseudo-period of different generators. In conclusion, the authors point out that for current computer architectures, 32 bits do not provide a good implementation of congruential generators and a passage to 64 or even 128 bits would be necessary. As a consequence, they recommend the shuffling of generators based on loop-back registers. Such detailed discussions, often absent from books on simulation, are of great interest for those of us wanting to implement models on specific computer architectures.
The authors discuss both the verification of the simulation model, that is, according to SCS (1979), "substantiation that a computerised model represents a conceptual model within specified limits of accuracy", and its validation, "substantiation that a computerized model within its domain of applicability possesses a satisfactory range of accuracy consistent with the intended application of the model". Both these steps refer to experimental frameworks, defining the observed data model inputs: initialisation of input parameters, input time constraints, definition of model outputs and stopping conditions of the simulation. The verification step consists mainly of a software engineering validation process for the simulation program: a battery of tests from component tests to the integration test, well known by programmers. The authors then present some techniques for validation, such as validation by confrontation: domain experts are asked to evaluate the accuracy of the simulation results with respect to their own experience in the field, validation through replication, functional validation both structural, that is determining if the model structure is consistent with respect to the underlying reality, and in extreme conditions, which involves investigating the effects of extreme values of parameters or tests with partial submodels.
Graphical validation and animation enable us to represent the transient dynamics of the model and thus prove useful in terms of pedagogy and debugging, but do not provide full validation. This is because graphical animation is obtained through slower processing than the model is actually capable of. Thus events which are unexpected, with respect to the animation, may occur when processing at full speed. Despite this, graphical presentation is a good way of making the user feel comfortable with the model, as they may see some graphical equivalent of what they believe to occur in reality. Ultimately statistical validation through the use of confidence intervals and spectral analysis will be necessary when assessing the validity of the model in predictive terms. In this field the calibration of the model according to real results (data sampling) does not provide any validation. In order that it should, it is necessary to be able to calibrate the model on the basis of several real experiments, for example at different sites.
The final chapter of the book provides the reader with a complete review of several applications of the techniques discussed above, mainly from the field of ecology: modelling the expansion of caulerpa algae in the south east of France, modelling forest growth taking into account spatial effects and simulating the dynamics of calluna vulgaris heathlands. All these examples are quite interesting though slightly difficult to appreciate fully when one is not aware of the detail in the particular fields.
When I read this book, I was eager to learn more about time management within discrete event simulations. I must admit I was a bit disappointed by the authors' coverage of that particular topic. Whereas they provide detailed advice for dealing with spatial effects, they merely present a few alternative approaches to time scheduling (either event driven or clock driven) and process synchronisation. Of course such a huge topic could easily fill a whole book in its own right.
To conclude, I should say that this book is quite interesting and succeeds in giving the reader a respectable level of background on a wide range of simulation techniques. It is just as important to be aware of the techniques one does not use, so as to be able to justify one's choices of modelling methods and the book is obviously useful in this respect. Moreover, the authors provide sufficient references to facilitate further study of any particular topic.
At the beginning of the book, the authors draw attention to the view of current ecosystem modelling presented by Jorgensen (1994). He asserts that most existing models provide us with informative and precise answers to very narrow questions, and suggests, in order to try and cope with the extreme complexity of ecosystems, that we should work towards models that would give partial and incomplete answers to much wider questions. To my mind the book by Coquillard and Hill is in keeping with this approach and therein lie both its strengths and weaknesses as a textbook.
FISHMAN G. S. 1978. Principles of Discrete Event Simulation, John Wiley and Sons, New York.
HILL D. R. C. 1993. Analyse orientée: Objet et modélisation par simulation, Addison-Wesley, Reading, Ma.
JORGENSEN S. E. 1994. Fundamentals of Ecological Modelling, Elsevier, Amsterdam.
KNUTH D. E. 1981. The Art of Computer Programming: Volume 2, Semi-numerical Algorithms, second edition, Addison-Wesley.
LIPPE E., J. T. De Smit and D. C. Glenn-Lewin. 1985. Markov models and succession: A test from a heathland in the Netherlands. Journal of Ecology, 73:775-791.
MARSAGLIA G., A. Zaman and W. Tsang 1990. Toward a universal random number generator. Statistics and Probability Letters, 9:35-39.
RENSHAW E. 1995. Modelling biological populations in space and time, Cambridge University Press, Cambridge.
RIPLEY B. D. 1990. Thoughts on pseudo-random number generators. Journal of Computational and Applied Mathematics, 31:153-163.
TECHNICAL COMMITTEE ON MODEL CREDIBILITY, SOCIETY FOR COMPUTER SIMULATION. 1979. Terminology for Model Credibility. Simulation, 32: 103-107.
SKELLMAN J. G. 1951. Random dispersal in theoretical populations. Biometrica, 38:196-218.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 1998