One virtue of the differential equation method of system dynamics is that if one wants to know the system state at some point in the future one can often just plug in the appropriate t value and get the system state at that time (given the specified starting conditions). Not always. In some applications (such as for chaos theory) the system must be iterated step by step and there is no way to just "skip ahead" to a particular time. Agent-based models have this property too. One specifies the initial conditions and then to find out what will happen at some arbitrary time in the future one must actually run the simulation through all the intermediate steps. What a pain! The situation is not hopeless, however there might be some shortcuts we can exploit and I've got a few ideas.

Temporal Resolution

Resolution typically refers to the granularity of our spatial map the dimensions of the smallest discernable area or volume ("pixel" or "voxel" respectively). Of course it also applies to time and modelers have to decide whether to resolve time in attoseconds, minutes, millennia, or whatever. The same is true of recursive functions, but typically differential equations use a continuum of time and space. Temporal resolution can't be chosen for convenience, it must be on an appropriate scale for the processes being modeled. Models can either keep the resolution constant (discrete time) or let it vary (discrete event).

Discrete event simulations have the advantage that only the necessary time steps are taken, but the disadvantage of needing to know the time between events. It's not typically clear how to convert a model done with discrete time steps into one that is event-driven. Here's where the state transition modeling technique I've been working on comes in. Sometimes systems transition out of a state and go through a loop of states to return to the starting state. Several things might happen along the way, but in certain circumstances we can collapse the loop into a time-delayed self loop. There are, of course, some caveats and alteration that need to be made to accommodate this possibility in our Markov model.

One addition is that we need to add a parameter to our edges to hold the time-length value. This applies not just to self loops but to all of them. There is more to add and consider and this will be taken up in future research.