Simulation: Continuous vs. Discrete
From SystemsWiki
One of the most often asked questions relates to whether a continuous or discrete modeling tool should be used. And yes, the answer is, "It Depends!" It depends on several aspects of the system to be considered and it depends even more on the perspective one wishes to take with regard to the system.
Benjamin Kuipers makes a rather off the cuff comment in the first chapter of "Qualitative Reasoning: Modeling and Simulation with Incomplete Knowledge" regarding the nature of change. Ben says, "In most ways, and at most times, the world changes continuously." And, if one ponders this for a while, it should be quite evident that this must be the case. What causes something to appear or to be described as discrete depends on ones choice, or unconscious choice, of perception. Actions and events may appear to be discrete depending on which portions of the real actions and events we choose to pay attention to, and the manner in which we pay attention. This perception seems to have everything to do with the chunking of time frames.
If I watch as water flows into a bathtub, once I turn the faucet on, it appears to be a rather continuous filling process. Thus what I perceive is a continuous process as I watch the bathtub fill little by little over time. If I were instead to turn the faucet on and then leave the room, and provided I returned before the tub overflowed, on my return I would notice that that bathtub was full. So over a period of some number of minutes what I perceive is a discrete change in the bathtub water level, from empty to full. And if I were riding on a water molecule experiencing time in nanoseconds this would all appear a very continuous process.
So the answer depends on the time frame of the events to be considered and the time frame over which I choose to pay attention to those events. If the time frame of the events is shorter than the time one chooses to consider then a continuous perspective is usually better. If the time frame of events is in the same time frame one choose to consider then a discrete perspective is usually better. Sounds rather clear cut, doesn't it? Well the universe just refuses to be this simple. I often find that I have to do multiple models from differing time perspectives to ensure I have an understanding I'm comfortable with.
Refinement
In some branches of engineering, the term discrete is used to describe a system with periodic or constant time steps. Thus discrete modeling is really continuous modeling and differs from discrete event modeling, which is event based, not time based. That bathtub is filling with discrete drops of water, which we choose to perceive as a continuous flow of so much water per time period. While the level did change while we were out of the bathroom, and the changed level appears as a discrete step, rather than a continuous curve, there was still a continuous flow of discrete drops of water while we were gone. The changed level and its stepped appearance does not make it a discrete event system.
In addition to being event-based, a discrete event model allows the modeler to specifically identify each entity (usually by attaching attributes, priorities, etc to the entities) and to use that information in the model to get a better understanding of the existing or proposed system. For instance, to cause emergency room patients with a specific medical characteristics to be sent to the appropriate lab, exam room, and so forth. For a lot of reasons this is quite different from just estimating that a certain percentage of patients will have that medical characteristic, which is how it would be done in the continuous realm.
If the event timing is always periodic, such that the time between events is always the same, and there is no entity to model, there is probably no good reason to use discrete event modeling to model that system.
from Pat Diamond at Imagine That, developer of ExtendSim.
References
| Systems Thinking World Discussions Systems Thinking World Q&A * Gene Bellinger |
