Discrete-event simulation is dead, long live agent-based simulation!
- 3.3k Downloads
There has been much discussion about why agent-based simulation (ABS) is not as widely used as discrete-event simulation in Operational Research (OR) as it is in neighbouring disciplines such as Computer Science, the Social Sciences or Economics. To consider this issue, a plenary panel was organised at the UK Operational Research Society's Simulation Workshop 2010 (SW10). This paper captures the discussion that took place and addresses the key questions and opportunities regarding ABS that will face the OR community in the future.
Keywordsdiscrete-event simulation agent-based simulation panel discussion the future
Discrete-event simulation (DES) has been the mainstay of the Operational Research (OR) simulation community for over 40 years. The arrival of agent-based simulation (ABS) in the early 1990s promised to offer something novel, interesting, and potentially highly applicable to OR. However, there is relatively little evidence that ABS is much used in the OR community, there being few publications relating to its use in OR and OR-related simulation journals. This contrasts with the much greater volume of ABS papers in journals from disciplines such as Computer Science, the Social Sciences, and Economics.
Why is this the case? Has the OR-related simulation community missed the ABS bus? Are they monolithically stuck in a proverbial rut? Will they soon be outshone and shown to be outdated by simulation work in other communities? Can we expect DES to be completely redundant and incapable of solving the key problems in OR?
This paper is capturing the panel discussion on this topic which was initiated by Peer-Olaf Siebers and has been held on the OR SW2010 in order to help answer these questions and perhaps to develop a new image for ABS in OR. The panellists were Charles Macal from the Center for Complex Adaptive Systems Simulation (USA), Peer-Olaf Siebers from the University of Nottingham (UK), Jeremy Garnett from the University of the West of Scotland (UK) and David Buxton from dseConsulting LTD (UK). The panel was chaired by Michael Pidd from Lancaster University (UK).
In Section 2, we will discuss the questions raised above in a structured way. The conclusions we have drawn from this discussions are presented in Section 3, which also features a list of topics we thought would be important to discuss but could not deal with in this panel discussion due to time constraints. We would like to encourage the OR simulation community to discuss these topics at another panel.
2. Panel discussion
The panel was organised in the following way. Before the panel took place four questions were defined in order to structure the discussion and each panellist was asked to prepare a 5-minute presentation to express his view on the question given. Once the panel member had finished his presentation the question was passed on to the other panel members to add their views. Finally, the question was opened up to the audience to express their thoughts and discuss with the panellists. We used the same structure for writing up the discussion of the four questions, which is presented in this section. In addition, we asked each panellist to write down their individual conclusions from this panel discussion at the end of their sub-section.
2.1 Charles Macal: What kind of phenomena can ABS help us to understand better?
Summary of presentation
The short answer to this question goes like this. ABS will help us better understand real-world systems in which the representation or modelling of many individuals is important and for which the individuals have autonomous behaviours (ie, actions are not scripted but agents respond to the simulated environment).
The kinds of problems having these specific requirements arise in a surprisingly large number of and variety of application areas. I’ve looked at the peer-reviewed literature on agent-based modelling (ABM) applications and found them strewn across many disciplines and publication outlets. I looked at a sampling of 20 papers (which I referenced in my keynote address) and distilled from them the reasons that the authors contend for why they used ABM in their work. The single most given reason given boils down to, and I am paraphrasing many papers here, essentially the same thing: Agent-based models can explicitly model the complexity arising from individual actions and interactions that arise in the real world. In other words, ABS allows people to model their real-world systems of interest in ways that were either not possible or not readily accommodated using traditional modelling techniques, such as DES or system dynamics (SD).
Although the OR community is perhaps lagging in applications of ABS, I attribute this to the wide availability and experience of the OR community with DES software. People use the modelling techniques that they are familiar with and attempt to fit these to their problems, and go as long as they can. I see the situation as very likely changing in the future as the number of people developing ‘agent-type’ models grows, for I see the OR community being called upon to address new kinds of problems that have not been adequately addressed by DES, or SD approaches, and not readily modelled using existing simulation software, toolkits, or development environments.
An example is epidemic or pandemic modelling. For a long time, differential equation (and SD) models of disease states known as SIR models (for Susceptible-Infected4 Recovered population states), have been the primary modelling technique for understanding the spread of infectious disease. These models have been very valuable in providing information about tipping points and informing policy decisions. But it is now recognised that these models are not adequate for modelling the human behavioural aspects that are important in disease transmission and epidemic dynamics. For including behaviour into such models, ABS is a natural approach.
On the more traditional operations front, agile manufacturing and dynamic supply chains are natural application areas, if these applications require the modelling of processes that are dynamic and must quickly adapt to changing requirements and events on a real-time basis. For example, through ABS we can include descriptive models of how people actually make decisions within a supply chain and see the effects of all decision makers on the supply chain. In contrast, most operations models take a normative approach, that is, indicating what should be done rather than how the system really works, such as Economic-Order-Quantity models for inventory planning. In many knowledge domains, it can be straightforward to understand how people make decisions, for example, how they forecast demand, how they decide when to order to inventory, or how they select suppliers, etc. For that matter, one can also develop some very interesting and useful queuing models in the traditional DES applications domain, that incorporate general agent behaviours. For example, we can model how people actually behave in the evacuation of a building or an area when designing evacuation strategies.
when the problem has a natural representation as agents—when the goal is modelling the behaviours of individuals in a diverse population;
when agents have relationships with other agents, especially dynamic relationships—agent relationships form and dissipate, for example, structured contact, social networks;
when it is important that individual agents have spatial or geo-spatial aspects to their behaviours (eg, agents move over a landscape);
when it is important that agents learn or adapt, or populations adapt;
when agents engage in strategic behaviour, and anticipate other agents’ reactions when making their decisions;
when it is important to model agents that cooperate, collude, or form organisations;
when the past is not a predictor of the future (eg, new markets that do not currently exist);
when scale-up to arbitrary levels is important, that is, extensibility;
when process structural change needs to be a result of the model, rather than an input to the model (eg, agents decide what process to go to next).
Also, on a somewhat lighter note, I can say from experience that ABM tends to be a fun way of doing simulation! Understanding how people behave and why, based on interviews and observation of their behaviours, and then being able to implement the behaviours in agent-based models to see their cumulative effects can be a very interesting and educational experience.
Summary of panel responses
There were many responses from the panel on the presentation which we summarise here. Choosing between DES and ABS should be based on the problem requirements rather than the application domain. There is a danger in considering the categories of application rather than on the nature of the underlying research questions that drive the applications. The discussion on the applicability of ABS could become one of a tool looking for a problem, as in the adage ‘a hammer looking for a nail’. Good modelling (and Management Science) practice dictates that you should identify the research question, first, and then ask what methods would be most applicable in solving it, second. So it would be valuable in moving the discussion forward to enumerate the kinds of questions that ABS is being used to (uniquely) answer in various application domains. One of the panellists stated that they had tried to implement human behaviour models in a DES model, but did not succeed and are now successfully using ABS for this problem. Another panellist stated that he has an SD model that has become too complex to understand and is considering recasting the problem as an ABS with the thought that the ABS would be easier to understand as the model grows in complexity. In his view, the kinds of problems for which ABS is applicable are similar to the kinds of problems for which SD is applicable. The inherent lower level abstraction is easier to understand with ABS.
Summary of audience comments and panel responses to these comments
A question came from the audience about for what kinds of problems I would recommend to others using DES. I answered that DES is useful for problems that consist of queuing simulations or complex network of queues, in which the processes can be well defined and their emphasis is on representing uncertainty through stochastic distributions. Many of these applications occur in manufacturing and service industries as well as queuing situations. People tend to use whatever approach that they are familiar with to model their problem and then switch into another technique if and when their original approach turns out to be inadequate to fully address the problem requirements. This multi-step approach to building models is what we recommend in the book that I wrote with Michael North (North and Macal, 2007): Start out by using what you know and what you have, and build the model through phases. For example, in the book we begin ABM by using SpreadSheets (SS). Eventually the SS model will no longer scaled-up in terms of the number of agents, complexity of agent behaviours that can be represented, etc, but serves an important purpose in understanding the problem requirements for a full-scale model that were not fully evident at the initiation of the project. A question came from the audience concerning the possible applicability of ABS to sports, particularly team sports. Team sports offers a rich set of modelling opportunities for ABS, for ABS could hypothetically consider, in addition to individual players’ abilities, the unique interactions that occur between pairs of players.
The OR community has plenty of experience with process modelling through DES. New problems for the OR community require modelling of populations of diverse individuals having a variety of behaviours and interactions. ABS has been developed to address just this type of problem because existing simulation and DES software was not adequate for these types of problems. The ABS paradigm, in terms of software, naturally follows the object-oriented software paradigm. This paradigm allows extensibility, for modelling more and more agents, more and more behaviours, and the full range of diversity required of large-scale, real-world applications. A closer relationship of the OR community to the Computer Science community would facilitate the transfer of tools and software approaches to the OR community and be beneficial for furthering the ABS modelling enterprise. New modelling procedures or processes are needed to fully encompass the challenges of ABS. These include procedures for encoding agent behaviours and developing agent model components. In addition, validating agent behavioural model components is a new challenge.
2.2 Peer-Olaf Siebers: How can we define ABS in OR and how does it differ from DES?
Summary of presentation
Before starting the debate on this question panel members and audience were asked to raise their hand if they have a clear idea of what ABS in an OR context actually means. As expected only very few people in the audience and only half the panel members raised there hands.
The first part of the question focuses on defining some vocabulary. It is important to have a definition for the terminology we use (eg ABS, ABM, agent) to which we as the OR community can relate. Here, we give some broad definitions that we think are useful in finding definitions that we can all agree on. In order to define ABS, we adapt the definition of what constitutes a simulation by Shannon (1975): ABS is the process of designing an ABM of a real system and conducting experiments with this model for the purpose of understanding the behaviour of the system and/or evaluating various strategies for the operation of the system. In ABMs, a complex system is represented by a collection of agents that are programmed to follow some (often very simple) behaviour rules. System properties emerge from its constituent agent interactions (Bonabeau, 2002). Agents are ‘objects with attitudes’ (Bradshaw, 1997). They are discrete entities that are designed to mimic the behaviour of their real-world counterparts. Agents have their own set of goals and behaviours and their own thread of control. Unlike objects, agents are capable of making autonomous decisions (ie, they are able to take flexible action in reaction their environment) and agents are capable of showing proactive behaviour (ie, actions depend on motivations generated from their internal state).
Attributes that define the model type
Process oriented (top-down modelling approach); focus is on modelling the system in detail, not the entities
Individual based (bottom-up modelling approach); focus is on modelling the entities and interactions between them
Top-down modelling approach
Bottom-up modelling approach
One thread of control (centralised)
Each agent has its own thread of control (decentralised)
Passive entities, that is something is done to the entities while they move trough the system; intelligence (eg, decision making) is modelled as part in the system
Active entities, that is the entities themselves can take on the initiative to do something; intelligence is represented within each individual entity
Queues are a key element
No concept of queues
Flow of entities through a system; macro behaviour is modelled
No concept of flows; macro behaviour is not modelled, it emerges from the micro decisions of the individual agents
Input distributions are often based on collect/measured (objective) data
Input distributions are often based on theories or subjective data
Looking at these definitions we come to the conclusion that true ABS models in OR do not exist. Instead, in OR we have combined DES/ABS models where we represent the process flow as a DES model and then add some active entities (to replace the passive DES entities) that are autonomous and can display proactive behaviour.
Summary of panel responses
There was a general agreement by the other panel members regarding the conclusions. However, some additional comments were made. One panel member stated that most of the discussions around the topic only focus on the content of the model while other important topics like methodologies and practice are often neglected. Another panel member commented that it is high time that academics decide on names, definitions, and frameworks quickly, so that we can all get on with our business. He reminded everyone that the choice of method should be problem driven. Finally a panel member referred to ongoing discussions he is having with Averill Law (Averill M. Law & Associates, Inc.), who produced a DES model with active entities and concluded that it was unclear what ABS had to offer beyond what DES already offers. However, the fact is that currently very few DES models do take an approach in which the entities are really the centre of focus and in which they exhibit active behaviour. If we say it is impossible for DES to include active entities we could clearly differentiate DES and ABS (in OR).
Summary of audience comments and panel responses to these comments
Some people in the audience realised from the definitions given above that they must have used some form of ABS but were not aware of it. In addition, a health-care example was given that challenged the above statement that ABS in OR does not exist. This model which dates back to the early 1990s looked at HIV infection (Brailsford et al, 1992). It was used for testing different strategies for controlling the disease. Some of the interventions tested were behavioural interventions. In this manually coded model the people's own behaviour determined what happened to them next, which today seems like a typical ABS approach. However, a DES structure (process) was forced on top which was feeling unnatural at the time but was the standard in OR. The question was raised if this is really an OR application or in fact a Social Science application of behavioural change which lead to a short discussion if Social Science is part of OR. It was agreed that this question cannot be solved in this panel. Finally, it was discussed when a model should be called agent-based. The general opinion was that this is often decided at the conceptual and not on the implementation level. Some indicators for agent-based models are that they are object oriented, that the entities become the focus of interest (they are driving the system) and that unique decision making internal to the entity is modelled. The perspective you take (agent perspective or process perspective) defines how you implement your model.
The application of combined DES/ABS seems to be the way forward to tackle the problems in what becomes more an investigation into behavioural OR due to the recent shift of attention from manufacturing to service industry. Software vendors need to respond to this demand and develop easy to use software that allows adding intelligence to the entities themselves, rather than having all the intelligence stored in the process flow definition. Academia has now started to add ABS to their research toolbox while the industry is still struggling, having issues regarding the credibility of the simulation results.
2.3 Jeremy Garnett: Is there a difference between ABS as used in disciplines such as Computer Science, Social Science, and Economics and ABS as used in OR?
Summary of presentation
Historically, DES has always been closely linked to OR. DES software developers have always been closely aligned with the ideas and objectives of OR. Most of the major developments concerning methodology and practice have come from within the OR community. Not so with ABS, here it has been quite a different story. ABS is associated with a large number of different disciplines but not particularly with OR.
The development and use of ABS has been driven by computer scientists, economists, biologists, and sociologists—each with their own particular goals and objectives. A discussion about the use of ABS within OR therefore needs to review how other disciplines use it, and decide what we can learn from those disciplines. Do different disciplines use ABS in the same way as we do in OR? What can OR learn from other disciplines? What should be OR's main contribution to the application of ABS?
For many people, their first awareness of and interest in ABS was prompted by reading about Complexity theory and the setting up of the Santa Fe Institute in the 1990s (Waldrop, 1994). The Santa Fe Institute was a deliberate attempt to bring experts together from different disciplines and for them to share and exchange problems and ideas. This resulted in various models which demonstrated how simple rules of interaction can lead to complex behaviours. There are many well-known models from this time, such as the ‘game of life’, ‘flocking’, slime mould and Schelling segregation. These examples are of great academic interest; in particular, they seem to point towards universal, fundamental theories of nature. However, they are very theoretical, and none of them are based on actual implementations. Therefore, they are of limited relevance to the practice of OR; OR is not generally concerned with uncovering fundamental theories of nature. There are a few examples of general theories in the OR text books, such as Little's Law for queuing systems. But theory, in OR terms generally concerns problem-solving methodologies. In the 1990s, ABS seemed more relevant to academic research in the pure sciences than to an applied discipline such as OR.
Summary of panel responses
The panel discussed how ABS has developed and evolved rapidly over the past 10 years. While many of those early examples were concerned with general theories, there is now an increasing body of literature documenting successful applications of ABS. These examples concern traffic and transportation, financial markets, supply chains, energy usage, health and social policies (see Macal and North, 2007). These applications show that ABS is of much more relevance to OR than originally thought. On the other hand, many of these projects are conducted by people who would see themselves primarily as economists, biologists, or sociologists, not as operational researchers.
Summary of audience comments and panel responses to these comments
The audience raised a number of points on the topic of different disciplines: OR with its strong problem-solving focus is much closer to engineering than any pure science. The focus of OR is on decision support for problem owners, and its theories concern the use of models and problem-solving methodologies. OR is also more concerned than other disciplines with the practice of modelling. It is in these areas where OR can make useful contributions to the application of ABS. For example, the collection and use of good data from real systems is a problem common to most simulation projects. OR can also provide guidance in the relationship between modellers and stakeholders, such as improving the understanding of those stakeholders. One audience member stated that it is important to consider the purpose of any simulation project. Objectives such as greater system understanding, predicting future behaviour and providing decision support are all objectives familiar to OR. Using an ABS application to test an underlying theory is not a common OR objective.
Panel and audience agreed that OR practitioners can usefully conduct ABS projects within a range of different problem domains. These projects generally require a range of skills. An ABS model may be based on underlying theories, and require detailed knowledge about a particular domain, such as how an infection is transmitted, or how a particular network structure shapes communication between customers. ABS might be considered as a tool to develop the relationship between the pure and applied branches of a particular discipline, in much the same way as experimental and theoretical physics have always been closely linked. Behavioural economics, for example, is one discipline that has attracted much recent interest (Levitt and Dubner, 2005). Potentially, it will provide a useful alternative theory to rational choice theory. However, there remains much to do in developing and testing that theory, quite probably using ABS.
As we learn to successfully apply ABS within OR, it is important to consider the use of ABS by other disciplines. It is important to learn from and work with those disciplines. We can spot opportunities for applications to business problems which might not be tackled by other disciplines. Where other disciplines are already using ABS, we can provide guidance for how best to use it.
2.4 David Buxton: DES is well known and used by both practitioners and academics. What barriers exist for ABS to achieve such universal acceptance?
Summary of presentation
The emergence of ABS as a technique in OR is timely. Globalised business is a highly complex management process, and making decisions in this environment is not well supported by the current set of tools, including DES (North and Macal, 2007). ABS is not a new technique; as far back as the year 2000 the SD practicioner John Sterman noted that the technique presented a huge opportunity to progress simulation methods and enhanced simulation applications. However, today, 10 years later, the adoption of the technique has not yet filtered into the mainstream, either within the academic community, although evidence suggests that this is increasing, and certainly not within industry.
The modern history of DES is dominated by the software and computers. During the 1970s early general simulation languages such as SIMAN, latterly Arena and ExtendSim provided software for simulating complex queuing theory and resource allocations problems. The increasing computer power and evolving user interfaces led the software and hence the DES technique to progressively move towards ‘drag and drop’. Languages, such as the Simul8, then emerged to make the process accessible and cost effective for all business sizes. The technique's use in industry did not truly mature until the early 1990s and the acceptance of DES as a management tool (not just a researcher tool) is clearly linked to the development of software application (Kelton et al, 2003).
This presents the first barrier for ABS. Although there are a number of excellent academically developed tools (Repast, NetLogo), the commercially available software is limited to AnyLogic, and all of these products expect knowledge of object oriented programming techniques and the modeller needs to be comfortable with Java. These are not traits that the average manager has focussed on developing during his career.
For this reason, ABS remains the domain of a relatively few skilled experts and academic researchers.
The first challenge is therefore for the software development community, working in collaboration with current users to establish how and where software can simplify the more technical aspects of ABS and reduce this barrier to entry. Reducing the amount of java code to be written is a must.
Evidence of the second challenge can be seen in the title of this debate ‘DES is dead—long live ABS’. I do not consider ABS to be a replacement for all the alternative mature techniques. It is not a panacea that will answer all questions, quicker, better and more robustly than either SD or DES. It is, however, a highly flexible modelling approach that can answer a range of questions better than anything else I have come across in my career. In considering that ABS can and should the tool to be used to answer all things, then the debate continues to be centred on methodology rather than problems and opportunities. Resolve the debate and acceptance of ABS will follow. Perhaps, we should therefore be concentrating research on establishing a clear and accepted problem driven general framework for the answer to Q1, where the benefits and drawbacks of all of the simulation approaches are highlighted.
The third and final challenge I identify is the current set of managers! The dominant tool is use in industry is Excel, anecdotally, I find awareness of other quantitative decision making tools low, including for DES simulation. Excel alone does not represent good preparation for the current range global business challenges and we need to ensure that the new generation of managers in production at Universities understands all the available tools, where they can be applied and what benefits can be delivered. ABS should be core to this. Taught undergraduate, post-graduate or executive courses in ABS are few and far between, reinforcing low awareness and low adoption. Given the literature about the potential benefits of ABS (North and Macal, 2007) surely we have not done enough yet to equip the students fully.
Summary of panel responses
The response of the panel reinforced the need to increase awareness of ABS in the field. It was noted that there was huge demand for ABS learning but very little supply.
The panellists also highlighted that a key development in DES awareness, currently lacking for ABS, was the publication of tool-centred training material, such as the textbook on the simulation software Arena from Kelton et al (2003).
One of the panellists raised the complex issue of validation, suggesting that this may be responsible for low adoption by DES practitioners. DES has established rules for validation which cannot be directly transferred to ABS.
It was felt that one of the major obstructions to ABS adoption and clearly linked with the low software maturity, was the current model development time. Simulation has benefitted from the ability to do quick and dirty models that get 80% of the answer in a short time frame. Moving to ABS would represent a step backwards for many simulation researchers and practitioners used to the benefits of a mature tool. This view was supported by one of the other panellist, who suggested that maybe the best technique to apply regardless of the problem is the one the modeller knows best.
Summary of audience comments and panel responses to these comments
There was a general consensus that software tools were a fundamental problem. Without visual approaches to ABS then it will always be too technical for mass adoption and difficult to integrate into teaching where skills and interests differ among students; not all OR students will be interested in mastering Java. One of the panellist responded by suggesting it may be possible to create a series of blueprints or templates for typical agent actions and behaviours. However, substantial further work in this area will be needed.
A member of the audience commented that validation should not be a barrier. Raising the example of SD, it was noted that this techniques also suffer from the same validation questions but this has not proved a substantial barrier. SD has addressed problems by focussing on validating the inputs and the emergence.
A final comment came from the chairman who said that DES is so popular due to the availability of good (easy to use) software. It is the issue in ABS; software supporting the implementation of models is not so widely available. A way around this might be if DES vendors would think about offering integrated development environments for their current products that would better support the implementation of ABS concepts, for example, allowing to define the model using a state chart approach.
For a practitioner ABS is a more natural way to simulation and achieves better buy in from customers. It allows simulation to be applied to a new range of problems more robustly without many of the workarounds that need to be applied when using SD or DES. The highly technical nature of the current software is a significant barrier to acceptance by the wider community. More fundamentally, the OR community needs to accept and define the roles for each of the simulation techniques.
In conclusion, we can say that the discussion has been very lively and the panel has sparked a lot of interest in the topic discussed during and after the panel. We would like to thank everyone who contributed to it. It has been a great success and we hope that we will have some follow-up activities from this discussion.
The key finding of the panel has been that there is lots of interest in using ABS in academia and industry but most people don’t know how to apply it. There are no established frameworks or methodologies to guide researchers and analysts through the ABM and simulation process, there is no specific guidance on ABS output analysis, there are no easy to use drag-and-drop ABM and simulation tools, and there are no text books focussing on practitioner needs. All of this leads to ABS not getting a foot in the door in OR.
But changes are within reach. We are currently in the process of setting up a Special Interest group for ABS in the OR Society that will further investigate the issues raised here and promote the application of ABS and combined DES/ABS in OR. Also, the software vendors in the panel audience showed some interest in the discussion around extending their existing software packages to accompany some ABS ideas inside their DES software, for example, developing some agent templates for drag-and-drop or defining entities through state charts.
At SW10, we had an OR-only panel and audience for our plenary panel. It would be interesting to hear and compare the views of members of other communities, for example Computer Science, Social Sciences, and Economics on the topics discussed. However, we hope this will be the topic of another paper.
- Bonabeau E (2002). Agent-based modeling: Methods and techniques for simulating human systems. Proceedings of the National Academy of Science of the USA 99: 7280–7287.Google Scholar
- Bradshaw J (1997). Software Agents. MIT Press: Cambridge, MA, (cited in Odell J (2002). Objects and agents compared. J Object Technol1(1): 41–53.Google Scholar
- Kelton WD, Sadowski RP and Sturrock DT (2003). Simulation with Arena. 3rd edn, McGraw-Hill: New York.Google Scholar
- Levitt S and Dubner S (2005). Freakonomics: A Rogue Economist Explores the Hidden Side of Everything. Allen Lane: London.Google Scholar
- Macal CM and North MJ (2007). Agent-based modeling and simulation: Desktop ABMS. In: Henderson SG et al (eds). Proceedings of the 2007 Winter Simulation Conference. IEEE Press: Washington DC, 9–12 December, pp 95–106.Google Scholar
- Shannon RE (1975). Systems Simulation: The Art and Science. Prentice-Hall: Englewood Cliffs, NJ.Google Scholar
- Sterman J (2000). Business Dynamics: Systems Thinking and Modeling for a Complex World. Irwin McGraw-Hill: New York.Google Scholar
- Waldrop MM (1994). Complexity: The Emerging Science at the Edge of Order and Chaos. Penguin Books: Harmondsworth, England.Google Scholar