User:GenVal/sandbox

Microscale and Macroscale Models --- Article in Development

Microscale models form a broad class of computational models that simulate myriad fine-scale details, compared with macroscale models that amalgamate such details into a relatively few categories. Both microscale and macroscale models can be used in concert to address different aspects of the same problem.

Applications
Macroscale models typically include ordinary, partial, and integro-differential equations, where categories and flows between the categories determine the dynamics. An abstract macroscale model may be coupled with more detailed microscale models, and connections among the two scales are related to multiscale modeling.

On the other hand, microscale models may simulate a variety of details, such as individual bacteria in biofilms, individual pedestrians in simulated neighborhoods, individual light beams in ray-tracing imagery, individual houses in cities, fine-scale pores and fluid flow in batteries, fine-scale compartments in meteorology, fine-scale structures in particulate systems, and other models where interactions among the individuals and with background conditions determine the dynamics.

Discrete-event models, individual-based models, and agent-based models are special cases of microscale models. However, microscale models do not require discrete individuals nor discrete events. Fine details on topography, buildings, and trees can add microscale detail to meteorological simulations, and connect to what are called mesoscale models in that discipline. Square-meter-sized landscape resolution available from images allow waterflow across land surfaces to be modeled, from rivulets to rivers, using gigabyte-sized arrays of detail. Models of neural networks may include individual neurons but may run in continuous time and thereby lack precise discrete events.

History
Ideas for computational microscale models arose in the earliest days of computing, as soon as automatic computation was possible, and were applied to complex systems that could not accurately be described by standard mathematical forms.

Two themes immediately emerged in the work of two founders of modern computation around the middle of the 20th century. First, pioneer Alan Turing used simplified macroscale models to understand the chemical basis of morphogenesis, but then proposed and used computational microscale models to understand the nonlinearities and other conditions that would arise in actual biological systems. Second, pioneer John von Neumann created a cellular automaton to understand the possibilities for self-replication of arbitrarily complex entities, which had a microscale representation in the cellular automaton but afforded no simplifed macroscale form. This second theme is taken to be part of agent-based models, where the basic entities ultimately can be artificially intellegent agents operating autonomously.

By the last quarter of the 20th century, computational capacity had followed Moore's Law, so far that up to ten of thousands of individuals or more could be included in microscale models, and that sparse arrays could be applied to also achieve a good turn of speed speed. The continued doubling of computing capacity every year or two allowed hundreds of millions of individuals to be simulated on ordinary computers with microscale models by the early 21st century.

The term "microscale model" arose later in the 20th century and now appears in the literature of many branches of physical and biological science.

Example
Figure 1 is the most fundamental macroscale model in ecology: population growth in an unlimited environment. The equation is also relevant elsewhere, such as compounding growth of capital in economics or exponential decay in physics. It has one amalgamated variable, $$N(t)$$, the number of individuals in the population at some time $$t$$. It has an amalgamated parameter $$r=\beta-\delta$$, the annual growth rate of the population, calculated as the difference between the annual birth rate $$\beta$$ and the annual death rate $$\delta$$. Time $$t$$ can measured in years, as appears here for illustration, or in any other time unit convenient for the situation.

The macroscale model of Figure 1 amalgamates parameters and incorporates a number of simplifying approximations: (1) the birth and death rates are constant, (2) all individuals are identical, with no genetics or age structure, (3) fractions of individuals are meaningful, (4) parameters are constant and do not evolve, (5) habitat is perfectly uniform, (6) no immigration or emigration occurs, and (7) randomness does not enter. These approximations of the macroscale model can all be refined in analogous microscale models.

On the first approximation listed above---that birth and death rates are constant---Robert May demonstrated that the macroscale model of the Figure 1 is exactly the mean of a large number of stochastic trials with the growth rate fluctuating randomly in each instance of time. In that demonstration, microscale details were subsumed into a partial differential diffusion equation and that equation was used to demonstrate the equivalence.

To relax other assumptions, researchers have applied computational methods. Figure 2 is a sample computational microscale algorithm that corresponds to the macroscale model of Figure 1. When all individuals are identical and mutations in birth and death rates are disabled, the microscale dynamics closely parallel the macroscale dynamics (Figures 3A and 3B). The slight differences between the two models arise from stochastic variations in the microscale version, not present in the deterministic macroscale model. Those variations will be different each time the algorithm is carried out, arising from intentional variations in random number sequences.

When not all individuals are identical, the microscale dynamics can differ significantly from the macroscale, simulating more realistic situations than can be modeled at the macroscale (Figures 3C and 3D). The microscale model does not explicitly incorporate the differential equation, though it can simulate it closely. When individuals differ from one another, the system has a well defined behavior but the differential equations governing that behavior are difficult to write down. The algorithm of Figure 2 is thus a basic case of what is called an equation-free model.

When mutations are enabled in the microscale model ($$\sigma>0$$), the population grows more rapidly than in the macroscale form (Figures 3C and 3D). Mutations in parameters allow some individuals to have higher birth rates and others to have lower death rates, and those individuals contribute proportionally more to the population. All else being equal, the average birth rate drifts to higher values and the average death rate drifts to lower values as the simulation progresses. Such drift is tracked in the data structures named beta and delta of the microscale algorithm of Figure 2.

The algorithm of Figure 2 is a simplified illustration of a microscale model using the Euler method. Other algorithms such as the Gillespie method and the discrete event method are also used in practice. Versions of the algorithm in practical use include efficiencies such as removing individuals from consideration once they die, to reduce memory requirements and increase speed. They can also schedule stochastic events into the future to provide a continuous time scale and to further improve speed. In practice such approaches are many orders of magnitude faster.

Complexity
The complexity of systems addressed by microscale models leads to complexity in the models themselves, and the specification of a microscale model can be tens or hundreds of times larger than its corresponding macroscale model (e.g., the simplified example of Figure 2 has 25 times as many lines in its specification than does Figure 1). Since bugs occur frequently in computer software and cannot completely be removed by standard methods such as testing, and since complex models often are neither published in detail nor peer-reviewed, their validity has been called into question. Guidelines on best practices for microscale models exist but no papers on the topic claim a full resolution of the problem of validating complex models.

Future
Computing capacity is reaching levels where populations of entire countries or even the entire world is within the reach of microscale models, and improvements in census and travel data allow further improvements in parameterizing such models. Remote sensors from earth-observing satellites and from ground-based observatories such as the National Ecological Observatory Network (NEON) provide large amounts of data for calibration. Potential applications range from predicting and preventing the spread of disease to understanding the dynamics of the whole earth.



Figure 1. ''One of the simplest of macroscale models, an ordinary differential equation describing continuous exponential growth. $$N(t)$$ is the size of the population at time $$t$$, $$dN(t)/dt$$ is the rate of change through time in the single dimension $$N$$. $$N(0)$$ is the initial population at $$t=0$$, $$\beta$$ is a birth rate per time unit, and $$\delta$$ is a death rate per time unit. At the left is the differential form and at the right is the explicit solution in terms of standard mathematical functions, which follows in this case from the differential form. Almost all macroscale models are more complex than this in that they have multiple dimensions, no explicit solutions in terms of standard mathematical functions, and must be understood from their differential forms.''

Figure 2. ''A basic algorithm illustrating the Euler method applied to an individual-based model represented in pseudocode. See text for discussion. The algorithm begins with invocation of procedure $$Microscale$$, which uses the data structures to carry out the simulation according to the numbered steps described at the right. It repeatedly invokes function $$Mutation(v)$$, which returns its parameter perturbed by a random number drawn from a uniform distribution with standard deviation $sigma$. The factor $$\sqrt{12}$$ appears in that code because the standard deviation of a uniform distribution includes that factor. Function $$Rand$$ in the algorithm is assumed to return a uniformly distributed random number $$0\le Rand<1$$. The data structures are assumed to be reset to their initial values on each invocation of $$Microscale$$.''

Figure 3. ''Graphical comparison of the dynamics of macroscale and microscale simulations of Figures 1 and 2, respectively. (A) The red curve is the exact solution to the macroscale model of Figure 1 with $$\beta=1/5$$ per year, $$\delta=1/10$$ per year, and $$N_0=1000$$ individuals. (B) The black open circles are dynamics of the microscale model of Figure 2, shown at intervals of one year, using the same values of $$\alpha$$, $$\beta$$, and $$N_0$$, and with no mutations ($$\sigma=0$$). (C) The blue filled circles are the dynamics of the microscale model with mutations having a standard deviation of $$\sigma=0.006$$. (D) The green circles are with larger mutations, $$\sigma=0.010$$.''