Skip to main content

Human mobility and innovation spreading in ancient times: a stochastic agent-based simulation approach


Human mobility always had a great influence on the spreading of cultural, social and technological ideas. Developing realistic models that allow for a better understanding, prediction and control of such coupled processes has gained a lot of attention in recent years. However, the modeling of spreading processes that happened in ancient times faces the additional challenge that available knowledge and data is often limited and sparse. In this paper, we present a new agent-based model for the spreading of innovations in the ancient world that is governed by human movements. Our model considers the diffusion of innovations on a spatial network that is changing in time, as the agents are changing their positions. Additionally, we propose a novel stochastic simulation approach to produce spatio-temporal realizations of the spreading process that are instructive for studying its dynamical properties and exploring how different influences affect its speed and spatial evolution.

1 Introduction

Modeling human mobility behavior is a topic of great relevance, since such models can be used for analyzing and understanding many real-world processes, like migration and traffic flows [14], as well as processes depending on human mobility and interaction, such as epidemic spreading [5, 6] and the propagation of information and innovations [710]. In many cases, observed mobility patterns have been shown to be of crucial importance for uncovering essential properties of the underlying dynamics, which is needed for effective prediction, control and optimization of the mobility as well as spreading dynamics [1118]. Although mathematical modeling of such systems has been studied since decades [1923], in recent years traditional modeling techniques needed to be adapted [24] to the large amount of newly accessible data and collected observations about people’s locations and movements, e.g. from social media [25, 26] or mobile phone data [4, 27].

Human mobility behavior in ancient times, however, differs in many aspects from the mobility dynamics we observe in modern times, especially in their spatio-temporal scales, in the observed patterns and in the motivations for movement. In prehistoric times, due to the lack of modern transportation, the distances that could be traveled were shorter and required more effort and time to be traversed. Despite this, people were constantly migrating, mostly influenced and forced by climate changes, unsuitable environmental conditions, the search for resources and social conflicts [1, 28, 29]. Human movements of this type have triggered exchange of various innovations, as people were also spreading their socio-cultural and technological influences [30]. Thus, the importance of studying migration flows in ancient times is closely related to the understanding of the origin of cultural, social and technological ideas in the world nowadays.

Modeling spreading processes that are governed by human mobility in prehistoric times faces several additional difficulties compared to spreading processes in modern times. First, the available data is very sparse, indirect and uncertain [31]. The reason for this is that there is a limited amount of archaeological traces at hand which may or may not represent the true, complete data set. Second, besides the limited data resources, we cannot replicate or observe anymore a process that had happened in prehistoric times in order to obtain new data. Third, given the level of socio-technological development in ancient times, the possibility for humans to interact were restricted to close distances. And thus the produced patterns of the dynamical properties of spreading processes are quite different compared to the ones that can be observed nowadays. For all these reasons, when modeling mobility and spreading processes in ancient times, we can not directly apply many of the state-of-the-art modeling approaches, based on data-fitting and validation [7], data assimilation [25] or methods that assume perfect social mixing [32].

In this paper we will model the spreading of innovations coupled to the mobility of people in the ancient world by using an agent-based modeling approach [33, 34]. Agent-based modeling (ABM), also termed individual-based modeling, considers agents, representing people, organizations or other discrete entities [35], and consists of rules specifying the behavior of these agents. Additionally, agents are autonomous, they can learn and adapt their behavior while interacting with their environment and other agents. We are considering agents that are moving diffusively in a region, but preferentially in direction of a more suitable environment, considering at the same time how densely populated an area is. In our model, the motion of agents is described by a stochastic differential equation that includes random agent movements [36], similar as in the case of Brownian agents [37, 38]. If agents are close to each other in space, they are able to communicate and can exchange the innovation at a certain rate. These connections between agents form a spatial network that is evolving in time [39], as the contacts between agents are changing due to their movements. Since the spreading process of the innovation is happening on this time-evolving network, the two processes, diffusion and spreading, are strongly coupled. Taking this into account, we are proposing here a joint algorithm for the simulation of the time-continuous diffusion and the event-based spreading process, building on the Euler–Maruyama scheme [40, 41] and the Temporal Gillespie algorithm [4244], respectively. Our new simulation scheme benefits from a statistically accurate evolution of the spreading process, while being computationally more efficient than equivalent time-discretizations [42, 45].

As a real-world scenario, we will demonstrate the applicability of our model and data-driven simulation tool to study the emergence and spreading of the wool-bearing sheep from south-west Asia towards central Europe between 6200 BC and 3000 BC. During this time period human mobility and innovation spreading are considered closely related [46]. Thus, the spreading path of the wool-bearing sheep as an innovation can be assumed to be linked to migration routes and mobility dynamics. Since the introduction of wool was an important driving force for the textile production and socio-economic development of past societies [47, 48] it is a question of interest to infer possible spreading patterns of the wool-bearing sheep.

The article is organized as follows. Our general model for human migration and the innovation spreading will be introduced in Sect. 2. In Sect. 3 we will present a new simulation scheme for the combined dynamics. Finally, in Sect. 4 we will apply our modeling and simulation approach on a real-world example and discuss its results. We will derive our final conclusions and possible future directions in Sect. 5.

2 Model formulation

We will briefly introduce the concept behind agent-based models in Sect. 2.1, before arguing our modeling assumptions and the scope of the model in Sect. 2.2. We are modeling the migration of agents in the ancient world, coupled to the spreading of an innovation among agents. In order to achieve this, we first formulate the migration process in Sect. 2.3 and the spreading process in 2.4, and then couple the two processes in Sect. 2.5.

2.1 What is an agent-based model?

Agent-based modeling (ABM) is a modeling technique that captures the behavior patterns of a large number of interacting agents on the global scale by describing and simulating the behavior on the local agent-scale. Agents are discrete autonomous entities that behave according to simple rules and can learn and adapt their behavior in response to other agents and changes in their surroundings [33, 34]. For these reasons, ABM is a technique that is widely applicable and used, especially in scientific disciplines such as sociology, economics, geography [49, 50], but recently also more data-driven and mathematical formulations of ABM’s appeared in the literature [5155].

In this paper we want to model the spreading of innovations with an ABM approach, such that we can couple the spreading of the innovation to the migration of people. By setting up behavior rules for the individuals we can observe complex patterns that emerge from social interactions and movements of the population. Additionally, these models are well suited for incorporating data, for example in order to set unknown parameters or for validation purposes.

The outcome of an ABM simulation depends on the rules one specifies for the agents. One challenge is therefore to find a reasonable model formulation. More precisely, one has to find a compromise between making too simplistic assumptions, which would lead to a model that is not plausible, and an unnecessarily complicated model, which would be hard to analyze and test [56, 57]. We will tackle this issue by emphasizing the mathematical formulation of the model.

2.2 Modeling assumptions

In our agent-based modeling framework, an agent represents a small tribe or group of people that are able to adopt the innovation in the ancient world. We consider the number of agents n to be constant and thus population growth and decline are not incorporated into the model. Each agent k, \(k=1,\dots, n\) has a position state and an innovation state. The agents’ positions are restricted to a given domain \(D\subset \mathbb {R}^{2}\). The innovation state is denoted by values in \(\{0,1\}\), indicating whether the innovation has been adopted by the agent (state 1) or not (state 0). Thus, the state space of the system is \(S = \{0,1\}^{n} \times D^{n}\). Spatial movements of agents can induce changes in both the position and the innovation states over time, so we distinguish between individual states for each agent at a particular point in time. We denote the state of the kth agent at time t by

$$Y_{k}(t) = \bigl(I_{k}(t), X_{k}(t)\bigr), $$

where \(I_{k}(t)\in\{0,1\}\) is the agents’ innovation state and \(X_{k}(t)\in D\) its position in the domain. The state of the system at time t for the set of agents is then given by

$$Y(t) = \bigl(I(t), X(t)\bigr), $$

where the kth row of the systems’ state corresponds to the state \(Y_{k}(t)\) of the kth agent.

Agents in ancient times have a nomadic lifestyle and are able to move and change their position in the domain D. These movements are modeled such that agents are attracted to regions that are suitable for them. Additionally, agents tend to group together in space and form communities, while keeping a certain distance to avoid spatial overlap with others. Each agent has limited knowledge about other agents in his neighborhood. Especially, its movement in space is independent of the innovation states of the other agents. Based on these assumptions we formulate a model for the spatial migration of agents in Sect. 2.3.

Adopters of the innovation can pass on the innovation to non-adopters at a certain rate independently of each other if their Euclidean distance is closer than some radius r. We assume that agents that have adopted the innovation will stay in state 1 for all times, which leads to the spreading dynamics of the innovation as described in Sect. 2.4.

2.3 Modeling the agent mobility

All agents are following the same rules that describe their mobility and migration. We are including three factors motivating an agent to change its position: First, agents are taking into account the suitability of their environment and move in direction of more attractive areas. Second, agents are considering other agents in their neighborhood and tend to form loose groups without crowding too much. Third, we include some randomness in the agents’ movement to model other unknown incentives for positional changes and to allow agents to take random choices or make mistakes in their evaluation of the environment.

Having this in mind, the movement for every agent k is described by a diffusion process

$$ dX_{k}(t) = -\bigl(\nabla V\bigl(X_{k}(t) \bigr)+ \nabla U_{k}\bigl(X(t)\bigr)\bigr)\,dt + \sigma \,dW_{k}(t), $$

where \(V: \mathbb {R}^{2} \rightarrow \mathbb {R}\) denotes the suitability landscape, \(U_{k}:\mathbb {R}^{2n}\rightarrow \mathbb {R}\) is the kth agents’ attraction–repulsion potential with respect to all other agents’ positions, \(\sigma\in \mathbb {R}\) is a constant and \(W_{k}(t)\) denotes the standard Brownian motion in \(\mathbb {R}^{2} \). Every agents’ movement is governed by this diffusion equation, thus we have n equations in total, coupled via the attraction–repulsion potential. The evolution of the system of agents can be written as

$$ dX(t)=-\nabla(\tilde{V}+U) \bigl(X(t)\bigr)+\sigma \,dW(t)$$


$$\tilde{V}\bigl(X(t)\bigr)=\bigl(V\bigl(X_{k}(t)\bigr) \bigr)_{k=1}^{n},\qquad U\bigl(X(t)\bigr)=\bigl(U_{k} \bigl(X(t)\bigr)\bigr)_{k=1}^{n}\quad \text{and}\quad W(t)= \bigl(W_{k}(t)\bigr)_{k=1}^{n}. $$

The suitability landscape accounts for the attractivity of the environment (e.g. climate, landscape features) and the availability of resources (e.g. for employing the innovation) in different parts of the domain. The values of V are higher for a less suitable environment, which means that valleys of the suitability landscape correspond to attractive regions and peaks and divides correspond to unsuitable areas that are moreover difficult to surmount. An example is given in Fig. 1. The most natural way to construct the suitability landscape is on the basis of data (see for example Sect. 4.2).

Figure 1
figure 1

An example of a suitability landscape in form of the double well potential \(V(x,y)=(x^{2}-1)^{2}+y^{2}\) is shown here. The heat map colours, ranging from dark blue to yellow, indicate low to high values of the landscape. This landscape is characterized by two attractive areas that are centered at the two local minima and a barrier between them. We consider \(n=35\) agents and the interaction radius \(r=1\). Adopters of the innovation are represented by red dots, whereas non-adopters are shown as yellow dots

The attraction–repulsion potential, on the other hand, drives agents to change their position due to other agents in their vicinity. Attraction between agents occurs when agents at long distances are driven towards another, and repulsion appears when agents are forced apart at short distances (e.g. similar to models in Physics such as [5860]). Thus, intuitively, it is the tendency for agents to find a balance between forming clusters of agents on the one hand and distributing in space on the other hand. In that way communication and exchange with other agents is possible but conflict over resources is avoided. An example of how such a simple system can be constructed and which patterns can be produced is shown in Fig. 1.

2.4 Modeling the spreading of innovations

Given the positional movements of agents in the suitability landscape, we can construct a spatial network between agents that is changing in time, i.e. a time-evolving network [39]. The innovation is then spreading on this time-evolving network which models possible interactions and contacts between agents. The network at time t is constructed in the following way: the set of nodes represents the set of agents, and an edge exists between two nodes if the corresponding agents are close in distance. Thus, the edge set of the network depends on the positions of agents at time t and is defined as

$$E(t) = \bigl\{ \{k,l\}: k,l =1,\dots n, k\neq l, \bigl\Vert X_{k}(t)-X_{l}(t) \bigr\Vert < r\bigr\} , $$

where \(\|\cdot\|\) refers to the Euclidean distance. The edge set can equivalently be given in form of an adjacency matrix \(A(t)\), where \(A_{kl}(t) = 1\) if two agents k and l are closer than some distance r in position space at time t, while \(A_{kl}(t) = 0\) otherwise. The diagonal of \(A(t)\) will be zero as we do not consider self-interactions of agents.

We can then model the spreading process of the innovation on the network as a Markov jump process with time-dependent transition rates, similar to the SI-model that describes epidemic spreading processes [35]. Every agent can only be in one of the two discrete innovation states: 0 (non-adopter) and 1 (adopter of the innovation). In our model, once an agent adopts the innovation, his innovation state becomes 1 for all times, i.e. he can never forget the innovation. Generalizations of this assumption are possible by following for example the SIS- or SIR-modeling approach [20, 35]. We denote by

$$ \mathcal{I}(t) = \bigl\{ k \in\{ 1,\ldots, n\} : I_{k}(t) = 0\bigr\} $$

the set of agents that have not adopted the innovation until time t. Moreover, each agent can independently influence other agents in their vicinity to adopt the innovationFootnote 1 with a fixed influence rate γ. For each agent k we define the adaption rate \(\lambda_{k}\) at time t by

$$ \lambda_{k}(t) = \sum_{l}A_{kl}(t)I_{l}(t) \bigl(1-I_{k}(t)\bigr)\gamma, $$

which means that the adaption rate \(\lambda_{k}(t)\) for a non-adopter agent \(k\in\mathcal{I}(t)\) is proportional to the number of its neighbors which are in innovation state 1 at time t,Footnote 2 while for agents that already have adopted the innovation the adaption rate is 0. Since the interaction network and the innovation states change in time, also the adaption rates are time-dependent.

Let \((N_{k}(t))_{t\geq0 }\) be the adaption process counting the number of adaptions for agent k depending on time. In general, the adaption processes can be expressed in terms of Poisson processes, see the Appendix. For the specific rate function defined in (4) the adaption event can happen only once for each agent such that

$$ N_{k}(t)= \textstyle\begin{cases} 0 &\mbox{if } t < \tau_{k}, \\ 1 & \mbox{if } t \geq\tau_{k}, \end{cases} $$

where \(\tau_{k}\in[0,\infty]\) is the adaption time. The probability for the adaption event to take place before time \(t\in[0,\infty)\) is given by

$$\mathbb{P}(\tau_{k}\leq t) = 1-\exp \biggl(- \int_{0}^{t} \lambda_{k}(s)\,ds \biggr). $$

For agents that know about the innovation from the beginning (i.e. \(I_{k}(0)=1\)) it holds \(\lambda_{k}(t)=0\) for all t, such that \(\tau _{k}=\infty\) almost surely and \(N_{k}(t)=0\) for all t by definition. Therefore, the innovation state of any agent k can be written as

$$I_{k}(t) = I_{k}(0) + N_{k}(t). $$

Combining the jump processes for all agents, we can write for the system innovation state

$$ I(t) = I(0) + \sum_{k} N_{k}(t) v_{k}, $$

with the initial innovation state \(I(0)\in\{0,1\}^{n}\) and the state-change vector \(v_{k} = (v_{k,i})_{i=1}^{n} \in\{0,1\}^{n}\) with \(v_{k,i} = \delta_{ki}\).

2.5 Joint model: movements of the agents and spreading of the innovation

We now combine the two dynamics, the spreading process and the diffusion process, into one equation that describes the complete process \(Y(t)=(I(t), X(t))\). To this end we define the function

$$f\bigl(Y(t)\bigr) = \bigl(0,-\nabla(\tilde{V} + U) \bigl(X(t)\bigr)\bigr) $$

and a Brownian motion

$$B(t) = \bigl(0, W(t)\bigr) $$

for the agent migration. The joint equation for the evolution of the system is then given by

$$ Y(t) = Y(0) + \int_{0}^{t}f\bigl(Y(s)\bigr)\,ds + \int_{0}^{t}\sigma \,dB(s) + \sum _{k}N_{k}(t) \tilde{v}_{k}, $$

where \(\tilde{v}_{k} = (v_{k},0)\).

3 Simulation approaches

In this section we will present a new technique for simulating the introduced ABM, where agents are moving diffusively in a suitability landscape, while interacting with other agents and passing on the innovation. These two processes are coupled: the spreading process of the innovation takes place on the time-evolving network that is given by the positional movements of the agents. Additionally, the diffusion process, which affects the network changes, and the spreading process are evolving on similar time scale orders, which makes an accurate discretization of both processes an essential requirement in order to produce precise results.

Since our model is continuous in time and space we need to find a good approximation scheme that, on the one hand side minimizes the error we make in the simulations and, that is computationally efficient on the other hand. This is essential for real-world models in which we often deal with a large number of agents and due to the stochasticity in the model we need to repeat the simulations many times to get a reasonable prediction for the outcome. For simulating the movements of the agents we will discretize the diffusion process by means of the Euler–Maruyama [40, 41] scheme, see Sect. 3.1. However, in order to simulate the whole system, we need to adapt and combine simulations for the joint process i.e. for the diffusion as well as the spreading process. To this end, in Sect. 3.2 we will present a time-discrete synchronous updating scheme and in Sect. 3.3 we will introduce the new event-based scheme. Last, we will illustrate the simulation approaches on two toy examples in Sects. 3.4 and 3.5.

3.1 Simulating the migration of agents

Movements of the agents can be appropriately simulated by using the well known Euler–Maruyama scheme [40, 41] to discretize Equation (2). Then, in every time step the positions of the agents are updated according to

$$ X(t + \Delta t) = X(t) - \nabla(\tilde{V} + U) \bigl(X(t)\bigr) \Delta t + \sigma \xi\sqrt{\Delta t}, $$

where ξ is drawn from a standard normal distribution in \(\mathbb {R}^{2n}\). For the Euler–Maruyama scheme to be consistent, the time step Δt needs to be chosen sufficiently small, keeping at the same time the computational cost in the feasible limits. Additionally, because of ξ, every new simulation of the diffusion process will be different from the previous ones and one needs to run sufficiently many Monte Carlo simulations for obtaining reliable results.

In our model, since the interaction network depends on the positions, we will also need to update the interaction network, which influences the spreading process directly. Thus, for simulating the whole system, we need to introduce a joint simulation technique which will take into account properties of both processes.

3.2 Joint simulation: synchronous time-discrete updating

For time-discrete simulations a time step-size Δt has to be chosen and the state of the system can change only at every discrete time step \(t_{m}= m \Delta t\), where the agent movements are calculated from (6).

The time-continuous spreading process, see (5), is then adjusted to discrete time steps, i.e. instead of adaption events happening at certain rates, they happen in each time step with a certain probability. More precisely, the probability for agent k at time \(t_{m}\) to adopt the innovation within the next time interval \([t_{m},t_{m}+\Delta t)\) is set to be

$$p_{k}(t_{m})=1-\exp\bigl(-\lambda_{k}(t_{m}) \Delta t\bigr). $$

Clearly, if \(\lambda_{k}(t_{m})=0\), then this probability is zero. The adaption to time-dependent spreading rates is already included in this discretization. As we are checking the probability of events at every discrete time step, when rates are changing with time, the probabilities will be automatically updated as well.

It is important to note that this simulation scheme gives a good approximation of the true time-continuous and space-continuous process only for Δt approaching zero [45]. However, checking every possible adaption event at every small time step is computationally inefficient, as many events will not happen and will be rejected. On the other hand, for large values of Δt interactions of agents may be missed.

Another byproduct of such time-discrete simulations is that adaption events can happen synchronously, i.e. in the same time step, and the effect of simultaneously happening events on each other is ignored. In time-continuous models this is rarely the case, since agents most likely update their innovation state at different times, and thus immediately affect the other agents’ rates.

In order to circumvent these problems, we will present our new event-based simulation algorithm, which allows for adaption events to happen continuously in time.

3.3 Joint simulation: event-based approach

An efficient approach for simulating time-continuous stochastic processes is by using the Gillespie algorithm [62], also often referred to as the stochastic simulation algorithm (SSA). Time-continuous simulations that are based on the Gillespie algorithm are statistically exact and they can be faster to simulate than time-discrete simulations [45]. This algorithm was originally developed for simulating chemical reactions, and it got generalized for different systems among which is simulating spreading processes on static networks [63, 64].

In the language of innovation spreading, the Gillespie algorithm consists of the following two steps:

  1. (i)

    determining the waiting time τ until the next adaption event,

  2. (ii)

    determining which agent will adopt the innovation next.

The waiting time τ between two events is drawn from an exponential distribution with the total adaption rate \(\Lambda(t) = \sum_{k\in\mathcal{I}(t)} \lambda_{k}(t)\). An agent l is randomly chosen with probability \(\frac{\lambda_{l}(t)}{\Lambda(t)}\) for the adaption event. Following this scheme, the Gillespie algorithm produces a statistically correct evolution of events in continuous time without rejecting some events. In this classical setting, it is assumed that the interaction network itself does not change between events, but that only the states of the agents can change, i.e. the adaption rates are time-dependent but only changing when an adaption happens. More precisely, if the last event happened at time \(t^{*}\), then \(\Lambda(t) = c_{0}\) for \(t\in[t^{*},t^{**})\), where \(t^{**}\) is the time when the next event happens given by \(t^{**} = t^{*}+\tau\), with \(\tau\sim\mbox{Exp}(c_{0})\). Alternatively one can use \(\alpha\sim\mbox{Exp}(1)\) on a normalized timescale and derive τ by solving \(\alpha= \int _{t^{*}}^{t^{**}} \Lambda(t) \,dt\) which here reduces to the simple equation \(\alpha=\tau c_{0} \).

However, in our model the positions of agents are changing continuously in time and so the interaction network is as well. Thus, the adaption rates can change both when adaption events happen, but additionally also in between when the interaction network evolves. The problem then again consists of finding the time \(t^{**}\) of the next event from \(\alpha= \int_{t^{*}}^{t^{**}} \Lambda(t) \,dt\) given \(\alpha\sim\mbox{Exp}(1)\). But for rates that are not constant between the adaption events, the integral equation is more complex to solve. In our algorithm this is done iteratively, as proposed in the Temporal Gillespie approach [42], with parallels also to adaptive simulation methods considered in other fields of research, see e.g. [65].

In order to capture both the diffusion and the spreading processes, our new simulation tool is combining (i) an Euler–Maruyama discretization of the migration process with (ii) a Gillespie algorithm for time-continuous spreading of the innovation, see Fig. 2. More precisely, we choose again a time step size Δt and set the initial time to \(t^{*}=0\), starting the simulation with the initial innovation states given by \(I(0)\). We draw a random number \(\alpha\sim\mbox{Exp}(1)\). Then, until the first adaption event happens, the interaction network and resulting adaption rates are updated every Δt. The first event happens at the first time \(t^{**}\) when the total adaption rate integrates to α. We immediately update the positions of agents at time \(t^{**}\) by (5) and the following network updates are at times \(t^{**} +\Delta t\), \(t^{**} + 2\Delta t\) etc. until another adaption event takes place.

Figure 2
figure 2

Toy example of an innovation spreading among four agents that are changing their positions in the suitability landscape continuously in time. Agents that adopted the innovation are colored in red and non-adopters are shown in yellow. We start with an updated network at time \(t^{*}\) with one agent knowing about the innovation. Then, the interaction network and resulting adaption rates are updated every Δt, until the next adaption event happens at time \(t^{**} = t^{*} + \tau\), i.e. when the total adaption rate integrates to \(\alpha\sim \mbox{Exp}(1)\). The network and rates are updated at time \(t^{**}\). Similarly, between \(t^{**}\) and the next adaption event, fixed updates for the adaption rates and network are done at times \(t^{**} +\Delta t\), \(t^{**} + 2\Delta t\) etc.

The pseudo-code for our joint algorithm then reads as Algorithm 1.

Algorithm 1
figure a

Joint event-based simulation

As discussed above, our joint algorithm builds on the Temporal Gillespie approach [42], but it also allows for network updates in smaller time steps, i.e. directly after a spreading event, taking into account the current situation for the further evolution of the system. This adaption is more accurate for our model, where the network is changing continuously in time, as more network updates are done. Moreover, by the immediate network update after every adaption event, the algorithm is also suitable for systems where the innovation spreading influences the movement of the agents. For example, more connections could be formed with agents who adopted the innovation. Such systems, where both the network and the spreading processes can influence each other, are often seen in real-world examples and they are modeled by the so-called adaptive networks [66].

3.4 Numerical example: single well suitability landscape

For illustration and comparison of the two simulation approaches, we consider a simple model example with \(n=20\) agents moving in a single well given by

$$V(x,y)=10 \bigl(x^{2} +y^{2}\bigr). $$

The landscape contains one minimum at \((0,0)\), which for the agents corresponds to the most attractive point of the suitability landscape. For simplicity the attraction–repulsion potential is neglected, i.e. \(U_{k}=0\) for all agents k. The diffusion process will then result in the agents’ positions to be clustered around the minimum. In order to study the spreading of an innovation among the agents, one randomly chosen agent receives the innovation at time \(t=0\). With rate \(\gamma= 10\) the innovation spreads to other agents along the edges of the time-evolving contact network.

Next, we compare the two joint simulation approaches, i.e. the synchronous updating and the event-based simulation. Due to the stochastic nature of our model, we need to simulate repeatedly in order to give meaningful statements, here we average over 2000 realizations. By varying the Δt for the Euler–Maruyama time steps, we are also changing the fixed time intervals at which the network is updated. In this example, the network needs to be updated at least every \(\Delta t=0.002\), in order to obtain a reasonable approximation of the agents’ movement and the resulting time-evolving network. Given the time-evolving network, for any Δt, the event-based simulation approach provides statistically exact event times, whereas the synchronous updating scheme is a good approximation of the spreading process only for small Δt [45]. Thus, in order to compare the two combined approaches, we use the synchronous updating scheme with \(\Delta t = 0.0001\) as a benchmark. From the plot in Fig. 3, one can see that the event-based simulation with \(\Delta t=0.002\) indeed agrees with our benchmark. The synchronous updating for larger time steps \(\Delta t=0.002\) deviates from the benchmark and on average the spreading is slower.

Figure 3
figure 3

We consider the coupled process for 20 agents in a single well suitability landscape given by \(V(x,y)=10 (x^{2} +y^{2})\) with spreading rate \(\gamma = 10\). As an initial condition at \(t=0\) one randomly chosen agent is in state 1. For an ensemble of 2000 realizations, we plot the mean proportion of adopters of the innovation depending on time and compare the results for the synchronous updating scheme (for \(\Delta t = 0.0001\) and \(\Delta t = 0.002\)) as well as for the event-based simulation scheme (for \(\Delta t = 0.002\)). The synchronous updating simulation with larger time steps is deviating from the simulation with the small time step size, while the event based simulation is still accurate even for \(\Delta t = 0.002\)

In this example case, we have confirmed that the event-based approach is more accurate than the synchronous updating scheme for the same step-size, but also in other cases this holds [42, 45] due to the immediate response of the simulation algorithm to adaption events in the event-based approach. Besides the accuracy of the event-based scheme, we can also consider computational costs. In general, the simulation time for the discretization of the diffusion process is the same for both simulation approaches as long as the same time step sizes are chosen. However, if we consider the network updates as given, then the simulation time for the event-based simulation of the spreading process has been shown to be a few orders of magnitude faster than for the synchronous updating scheme [42]. Especially in the case of large systems with many agents and in the case of sparse connections between agents, the computational gain is high. This is also the regime in which our real world example in Sect. 4 is given.

3.5 Numerical example: double well suitability landscape

To give a second example for illustration of the interesting dynamical patterns, we are considering again the suitability landscape, shown in Fig. 1, given by

$$ V(x,y)=\bigl(x^{2}-1\bigr)^{2}+y^{2}. $$

This landscape consists of two attractive areas that are centered around the two local minima \((-1,0)\) and \((1,0)\) and a barrier between them. The agent diffusion process in this landscape exhibits a metastable behavior, i.e. agents stay for a long time near the center of one of the wells, while rarely transitioning to the other well.

Equipped with this suitability landscape, we can study a system of \(n=30\) agents that spread the innovation with rate \(\gamma=10\) when getting closer than \(r=1\). For simplicity the attraction–repulsion potential is neglected. As an initial condition at time \(t=0\), one randomly chosen agent will receive the innovation, while all other agents are in innovation state 0. As simulation time advances, more and more agents will adopt the innovation, see Fig. 4 for several temporal snapshots of the coupled process. Agents are attracted to the centers of the two wells and thus their positions will be clustered near the two wells. Connections between agents will mostly exist for agents in the same well. Therefore the spreading of the innovation inside the well of the initial adopter will be fast, since mixing of the agents inside the wells happens on a small timescale. The transition of an agent from one well to the other is a rare event with an exponential waiting time on a larger timescale, so the spreading of the innovation between wells will be slower. Thus, the metastability of the diffusion process induces a metastability in the spreading process, where the system stays for a long time in the state that all agents in one well have adopted the innovation while there are no adopters in the other well. In total, the innovation will take much longer to spread to all agents compared to the single well example.

Figure 4
figure 4

We are considering a model example with \(n=30\) agents, where the suitability landscape is given by the double well potential \(V(x,y)=(x^{2}-1)^{2}+y^{2}\) and the interaction radius is \(r=1\). In the first row, temporal snapshots of one realization of the process highlight its metastability. Due to the fast mixing in the well of the initial adopter, the innovation spreads quickly in the first well. In contrast, the transitioning between the two wells is a rare event, resulting in a large time gap for the innovation to spread from one well to the other. Then again, when the innovation has reached the second well, it will spread fast. The metastability of the spreading process is also confirmed in the plot of the evolution of the proportion of adopters. The 50 realizations (plotted in gray) out of an ensemble of 2000 simulations with the event-based approach for \(\Delta t=0.002\) show the fast spreading inside the wells and the exponential waiting time for the innovation to jump from one well to another

This example landscape is very simple compared to the real-world example in Sect. 4 which has a suitability landscape that contains many wells and barriers, but the metastable behavior of fast spreading inside attractive areas and slow spreading between areas also applies there.

4 Data-driven modeling and simulation: spreading of wool-bearing sheep

We will now apply our ABM framework and simulation tools proposed in the previous section on a real-world example. In particular we will model the spreading of the wool-bearing sheep (as an innovation) among groups of herders (represented by agents) in the ancient world. Between 6200 BC and 3000 BC, the wool-bearing sheep appeared and spread in the area spanned from the Zagros Mountains in the south-east to the Carpathian Basin in the north-west. Prior to the appearance of the wool-bearing sheep, herders were already keeping other domestic animals, among them the hairy sheep [67]. The exact spreading path of the wool-bearing sheep is a question of interest in the archaeological research community [47, 68]. Here, we will make the assumption that the origin of the wool-bearing sheep in 6200 BC is Tell Sabi Abyad [69] and use forward-modeling to infer possible spreading scenarios. People at that time had a nomadic life-style and it has been shown that migration and technological change were strongly related [46]. Therefore, it is a reasonable approach to model the spreading of the innovation via migration and exchange between herders.

4.1 Data sources

Archaeological data from ancient times is sparse, uncertain and indirect [31]. In this example, the archaeological data provides information on sheep herding during prehistoric times, but unfortunately direct evidences of the wool-bearing sheep are missing and indirect evidences are limited to certain parts of the study area and to restricted time periods. Therefore, instead of fitting our model to limited and uncertain data available, we will use modern-day environmental data to construct the suitability landscape which will reflect how suitable an area is for herding the wool-bearing sheep.

The environmental data consists of: (1) elevation data derived from the Shuttle Radar Topography Mission with resolution 500 m × 500 m (SRTM 500) [70], (2) topographic compound index (TCI) [71], (3) terrestrial landforms [72, 73] and (4) data on the soil texture [74], see Fig. 5(a)–(d). The TCI represents the tendency of water to accumulate at any point in the catchment and the tendency for gravitational forces to move the water downslope. These factors influence the suitability of an area for grazing sheep and thus will be used to construct the mobility model. The environmental data covers the whole area of interest with a resolution of 500 m × 500 m and is constant for the simulated time period.

Figure 5
figure 5

For each of the environmental factors discussed in Sect. 4, the Figures (a)–(d) show the suitability of the geographical areas for herding the wool-bearing sheep, i.e. yellow color corresponds to very suitable areas and blue tones to less suitable areas. In Figure (e) the suitability landscape for the innovation spreading of the wool-bearing sheep is plotted, the landscape is constructed by combining influences from different types of environmental data (a)–(d). The assumed origin of the woolly sheep Tell Sabi Abyad is marked by a red circle

4.2 Constructing the mobility model

The mobility model consists of two components: the suitability landscape and the attraction–repulsion potential.

The suitability landscape V encodes the attractiveness of each point in space for an agent to herd sheep. Available environmental data accounts for the four main environmental factors that influence sheep-keeping: (1) elevation, (2) water availability (TCI), (3) different geomorphological landforms (such as ridges, flat plains) and (4) soil texture [36, 75]. We construct the suitability landscape V (see Fig. 5) by using an evaluation of the suitability \(S_{i}: \mathbb {R}\rightarrow \mathbb {R}\) for keeping sheep depending on each factor \(f_{i}:D \rightarrow \mathbb {R}\), \(i=1,\ldots, 4\), at each point in our domain \((x,y)\in D\) and summing them up to get

$$V: D \rightarrow \mathbb {R}\quad \text{by } (x,y) \mapsto\sum_{i} S_{i}\bigl(f_{i}(x,y)\bigr). $$

The suitability functions \(S_{i}\) are chosen such that higher values correspond to less suitable conditions, so for increasing values of \(V(x,y)\), the suitability decreases. The gradient of V, which is needed for the Euler–Maruyama discretization, is estimated by a first order finite difference approximation.

Another way to construct the suitability landscape is considered in [36]. Additionally, if the environmental factors are changing in time or their suitability changes in time (for example seasonally [75]), then one can consider a time-evolving suitability landscape \(V(t,x,y)\) instead.

In order to model the positional interactions between agents we use a potential similar to interatomic potentials between atoms and molecules. The attraction–repulsion potential for agent k is of the form

$$ U_{k}\bigl(X(t)\bigr)=\sum_{j=1, j \neq k}^{n}-C_{A} \exp \biggl(-\frac{\lVert X_{k}(t)-X_{j}(t) \rVert}{l_{A}} \biggr) + C_{R} \exp \biggl(- \frac{\lVert X_{k}(t)-X_{j}(t) \rVert}{l_{R}} \biggr), $$

where \(C_{A}\) is the attraction potential constant, \(C_{R}\) is the repulsion potential constant and \(l_{A}\), \(l_{R}\) are the respective decay rate constants [58]. The constants are chosen such that \(C_{R}>C_{A}>0\) and \(l_{A}>l_{R}>0\), which leads to the repulsion dominating at short ranges while the attraction is the dominating term when the distance between two agents is larger.

4.3 Simulation details

We construct the suitability landscape and the attraction–repulsion potential as described in the previous section. For the construction of the suitability functions \(S_{i}\) we assume all influences to be equally important and the suitability evaluations of the different environmental factors are based on [75]. We choose the attraction and repulsion constants \(C_{A}=20\), \(C_{R}=20.5\) and decay rate constants \(l_{A}=1.5\) and \(l_{R}=1\), such that the optimal distance between two agents is 650 m.

For the joint simulation of the spreading of the woolly sheep we use the event-based Algorithm 1, which produces accurate realizations of the agent diffusion and the innovation spreading process. The time step size \(\Delta t=\frac{1}{365}\) is chosen such that one time step represents one simulated day. The suitability landscape and the random noise are scaled such that the average distance an agent is moving in a time step is 1 km. Since an agent represents a small group of 10–30 people, the position change of an agent can be understood as changing the location of the camp of the group or as the daily activities. We set the interaction distance between two agents to \(r=10\) km and the spreading rate to \(\gamma=8\). The number of agents is set to be \(n=4000\), which corresponds to a population of \(40\mbox{,}000\) to \(100\mbox{,}000\) herders. Not much is known about the population density between 6000 BC to 3000 BC, but simulations suggest [76] that the population density in today’s Greece was 2–5 people per square kilometer during that time period, therefore the chosen number of herders seems reasonable.

Since the suitability landscape is not given in terms of an analytical function, the initial distribution of the agents is achieved by starting with a uniform distribution of agents and letting the dynamics run for 400 simulation years in order to approximate the equilibrium distribution. The initial innovation state of all agents is 0, except for agents with a position in a 125 km radius of the assumed origin of the woolly sheep at Tell Sabi Abyad in northern Syria [69], who start with innovation state 1. Since it is assumed that the spreading of the woolly sheep started around 6200 BC, this will also be the starting time of our simulation. We stop the simulation when 95% of agents have adopted the innovation, which in our example simulation is the case after 3200 simulation years at 3000 BC. The reason for this criterion is that our domain contains many islands and the modeling approach does not consider sea travel, thus agents that are on the island will never get in contact with the innovation and therefore we will never reach 100% of agents in state 1.

4.4 Analysis and simulation results

We run the simulation using the settings from Sect. 4.3. At the beginning of the simulation at 6200 simulated BC, see Fig. 6(a), the spreading is very fast since the agents are mixing well in the regions close to the origin. The spreading slows down around 6000 simulated BC, as soon as all agents in the suitable areas around the origin have fully adopted the innovation. The reason is that, at this point an agent has to make a transition via an unsuitable area to interact with other agents that are not yet adopters. This behavior of the innovation process, where the innovation is stuck for a very long time in one suitable area before it quickly enters another suitable area where it spreads fast, is called metastability. As we discussed above, in this example, metastability of the spreading process is caused directly by the metastability of the human mobility process. Metastability of the adaption process can be seen in Fig. 6(b), which plots the change of the proportion of adopters in time. We see that whenever a rare transition happens, the number of adopters rapidly increases. After the innovation has fully spread in a new region, the adaption speed slows down and the system is again in a metastable state. This pattern continues until the innovation of the wool-bearing sheep has spread among 95% of agents.

Figure 6
figure 6

(a) Snapshot of one realization of the wool-bearing sheep innovation spreading, where blue dots indicate agents that have not adopted the innovation and red dots give agents that have adopted the innovation. (b) Proportion of adopters over time, indicating metastability of the innovation process is presented. (c) The first hitting times of the 23 landscape regions for the example simulation

Next, we study how properties of different geographical regions influence human mobility and human interactions over time. To this end, we consider a partition of our domain into 23 major landscape units [36]. For each of these 23 regions we can measure the first arrival time of the innovation, i.e. the first time an agent with innovation state 1 enters the region, see Fig. 6(c). From the color-scheme of the plot one can deduce the spreading path resulting from our simulation: starting from red, the darker the color becomes the further away the innovation is from the origin, blue being the furthest point. Additionally, this figure reflects the rare transition between the two main metastable sets Asia (in red tones) and Europe (in blue tones), i.e. the intercontinental transition through the Bosporus around 5200 simulated BC in the example simulation.

Our model shows how the metastability of the spreading process reflects the metastability of the human mobility process. This is achieved by evaluating the area of interest and finding the most attractive regions to adopt and use the innovation. The largest limitation of the spreading process is then the human mobility process which is biased towards attractive parts of the domain given by the suitability landscape.

Here we have presented one realization of the modeled spreading process and it has been shown [36] that even though every realization of the modeled process (with the same parameters) is slightly different due to stochasticity, the overall emergent spreading path is the same. Nonetheless, our model is not intended to reproduce the true prehistorical spreading process in all details, but the simulated spreading path can lead to a better understanding of how different factors might have influenced the prehistorical spreading path. The speed of the simulated innovation spreading gives insights into model components that might have accelerated the prehistorical spreading process. In order to understand the model factors, we will discuss the sensitivity of the model to its key parameters by looking at the global trend in the outcome of a number of independent simulations.

Increasing the innovation influence rate γ doesn’t affect the spreading path but accelerates the speed of innovation spreading [36], small changes in γ lead to small changes in the spreading speed. Similarly, increasing the number of agents n will accelerate the innovation spreading into different regions since the exit events from the metastable regions will be more frequent. If the interaction distance r between agents is chosen in a reasonable range, i.e. large enough such that agents can sometimes interact, and small enough such that agents cannot interact over barriers of the suitability landscape, the model is robust to this distance r and small variations in the interaction distance only lead to small changes in the speed of the simulated process. The suitability landscape is the most important influence for the migration of agents and thus for a different suitability landscape, both the speed and spreading path will change.

In summary, small perturbations of our model parameters do not change considerably the trend of the global emergent spreading path. However, changes in the metastability of human migration can lead to big changes in the spreading dynamics. The main reason for this is that the innovation spreading process is strongly governed by the human mobility.

4.5 Interpretation in the historical context

One could speculate whether or not the true prehistorical spreading path is correlated with the outcome of our simulation. The main reason we can not validate our model is that available archaeological data is very sparse and obscure. This data consists of ovicaprid bone findings from 401 sparsely distributed archaeological sites and spindle whorls from 23 sites located only in Panonian basin [77, 78]. Moreover, the ovicaprid bone data provides only an evidence for sheep (Ovis from scientific Latin) and goats (Capra from scientific Latin) in general, but does not confirm the presence of wool-bearing sheep in particular. Finally, here we can not generate new data to reproduce the true dynamics in order to validate our results. For all these reasons a model validation in the common sense of natural science appears impossible to us. The simulated spreading path can be understood as a spreading path hypothesis which has to be discussed and evaluated with the help of additional expert knowledge. For a discussion of the simulated spreading process of the wool-bearing sheep, we refer the interested reader to [75].

5 Conclusions and future outlook

In this paper we presented a general framework for modeling the spreading of an innovation among human individuals in prehistoric times. We introduced an agent-based model which combines the spatial movement of individuals with a time-evolving network for possible social interactions. Our model considers data-driven dynamics of human movements, i.e. available data is used for building a suitability landscape which governs the diffusion of individuals. The innovation spreading between individuals that are close in distance is modeled by a spatial network that is changing in time, as people are changing their positions. Additionally, a novel simulation algorithm has been proposed, allowing for network updates at flexible time points that are adjusted to the random times of the innovation adaption events. This simulation approach accounts for a faster and more accurate simulation of the spreading process than synchronous time-discrete updating schemes that are usually considered. Especially for settings where the spreading dynamics affect the spatial movement, the accuracy of our simulation approach is increased by this adjustment.

We applied our modeling and simulation approaches to the spreading of the wool-bearing sheep among herders in the south-west Asia and central Europe between 6200 BC and 3000 BC. At this stage it is important to note that, given the complexity of the observed system and very limited available data, we do not claim that our methods can reproduce the exact historical spreading process itself. In this application, our methods can be used to study how different influences can affect the migration and spreading process. In a broader sense, this paper offers a generalized technique for modeling and simulation of spreading processes in the ancient world that are coupled to human migration.

Several extensions of our modeling framework would be interesting to consider in future investigations. For example, one could include competing innovations or consider different type of spreading processes where the adaption process is reversible, such that adopters of the innovation can become non-adopters again or loose interest in the innovation with some fixed rate (SIS or SIR model respectively). The diffusion dynamics could be generalized by considering time-evolving suitability landscapes, where external factors affect the change of the landscape, e.g. seasonal changes or climate influences [28]. Recent publications include extensive research on using genomic data for inferring human migration patterns in ancient times [29, 79]. Such an extensive data-set could be used for comparison and further calibration of the model.

Furthermore, we believe that in some cases taking into account different dynamical properties of the spreading process could be of interest for reducing the model complexity. More precisely, in our real-world example we have observed metastability induced by the fast spreading dynamics between agents located in the same well of the suitability landscape and very slow spreading dynamics between agents located in different wells. This suggests further coarse-graining of the system by splitting the domain into metastable areas within which agents are assumed to quickly mix, such that detailed spatial information becomes redundant. Combining the well-mixed spreading dynamics within the metastable areas with diffusive transitions between them leads to a description by a spatio-temporal master equation, a coarse-grained model for the effective dynamics which is shown to be more efficient to simulate in other applications [80]. Developing this idea for systems of our interest needs further investigation and will be the topic of future research.


  1. In other fields the jump from one state to another models an infection event by a virus or a chemical reaction event [20, 61]. Thus one might refer to the adoption of the innovation as a reaction event or infection event equivalently. And “being infected” for example then just means “being infected with the innovation”.

  2. For a more general model, the adaption rate could have the general form \(\lambda_{k}(t)= \Lambda_{k}(A(t),I(t))\). Moreover, here we explicitly chose \(E(t)\), one could in general have any edge set of the form \(E(t)=\mathcal{E}(X(t))\).


  1. Barbosa H, Barthelemy M, Ghoshal G, James CR, Lenormand M, Louail T, Menezes R, Ramasco JJ, Simini F, Tomasini M (2018) Human mobility: models and applications. Phys Rep 734:1–74

    Article  MathSciNet  Google Scholar 

  2. Brockmann D (2012) Complex systems: spotlight on mobility. Nature 484(7392):40–41

    Article  Google Scholar 

  3. Simini F, González MC, Maritan A, Barabási A-L (2012) A universal model for mobility and migration patterns. Nature 484(7392):96–100

    Article  Google Scholar 

  4. Gonzalez MC, Hidalgo CA, Barabasi A-L (2008) Understanding individual human mobility patterns. Nature 453(7196):779–782

    Article  Google Scholar 

  5. Wesolowski A, Eagle N, Tatem AJ, Smith DL, Noor AM, Snow RW, Buckee CO (2012) Quantifying the impact of human mobility on malaria. Science 338(6104):267–270

    Article  Google Scholar 

  6. Balcan D, Colizza V, Gonçalves B, Hu H, Ramasco JJ, Vespignani A (2009) Multiscale mobility networks and the spatial spreading of infectious diseases. Proc Natl Acad Sci USA 106(51):21484–21489

    Article  Google Scholar 

  7. Tomasello MV, Vaccario G, Schweitzer F (2017) Data-driven modeling of collaboration networks: a cross-domain analysis. EPJ Data Sci 6(1):22

    Article  Google Scholar 

  8. König MD, Battiston S, Schweitzer F (2009) Modeling evolving innovation networks. Springer, Berlin

    Book  Google Scholar 

  9. Iñiguez G, Török J, Yasseri T, Kaski K, Kertész J (2014) Modeling social dynamics in a collaborative environment. EPJ Data Sci 3(1):7

    Article  Google Scholar 

  10. Savin I, Egbetokun A (2016) Emergence of innovation networks from r&d cooperation with endogenous absorptive capacity. J Econ Dyn Control 64:82–103

    Article  MathSciNet  Google Scholar 

  11. Colizza V, Barrat A, Barthélemy M, Vespignani A (2006) The role of the airline transportation network in the prediction and predictability of global epidemics. Proc Natl Acad Sci USA 103(7):2015–2020

    Article  MATH  Google Scholar 

  12. Funk S, Salathé M, Jansen VA (2010) Modelling the influence of human behaviour on the spread of infectious diseases: a review. J R Soc Interface 7:1247–1256

    Article  Google Scholar 

  13. Colizza V, Barrat A, Barthelemy M, Valleron A-J, Vespignani A (2007) Modeling the worldwide spread of pandemic influenza: baseline case and containment interventions. PLoS Med 4(1):13

    Article  Google Scholar 

  14. Dalziel BD, Pourbohloul B, Ellner SP (2013) Human mobility patterns predict divergent epidemic dynamics among cities. Proc R Soc Lond B, Biol Sci 280(1766):20130763

    Article  Google Scholar 

  15. Jiang S, Ferreira J, González MC (2017) Activity-based human mobility patterns inferred from mobile phone data: a case study of Singapore. IEEE Trans Big Data 3(2):208–219

    Article  Google Scholar 

  16. De Luca G, Van Kerckhove K, Coletti P, Poletto C, Bossuyt N, Hens N, Colizza V (2018) The impact of regular school closure on seasonal influenza epidemics: a data-driven spatial transmission model for Belgium. BMC Infect Dis 18(1):29

    Article  Google Scholar 

  17. Tizzoni M, Bajardi P, Decuyper A, King GKK, Schneider CM, Blondel V, Smoreda Z, González MC, Colizza V (2014) On the use of human mobility proxies for modeling epidemics. PLoS Comput Biol 10(7):1003716

    Article  Google Scholar 

  18. Bengtsson L, Gaudart J, Lu X, Moore S, Wetter E, Sallah K, Rebaudet S, Piarroux R (2015) Using mobile phone data to predict the spatial spread of cholera. Sci Rep 5, Article ID 8923

    Article  Google Scholar 

  19. Aleshkovski I, Iontsev V (2006) Mathematical models of migration. In: Livchits VN, Tokarev VV (eds) Systems analysis and modeling of integrated world systems, pp 185–213

    Google Scholar 

  20. Kermack WO, McKendrick AG (1927) A contribution to the mathematical theory of epidemics. Proc R Soc, Math Phys Eng Sci 115:700–721

    Article  MATH  Google Scholar 

  21. Willekens F, Baydar N (1986) Forecasting place-to-place migration with generalized linear models. In: Population structures and models. Developements in spatial demography. Allen & Unwin, London, pp 203–244

    Google Scholar 

  22. Flowerdew R, Aitkin M (1982) A method of fitting the gravity model based on the Poisson distribution. J Reg Sci 22(2):191–202

    Google Scholar 

  23. Anderson RM, May RM, Anderson B (1992) Infectious diseases of humans: dynamics and control, vol 28. Wiley, New York

    Google Scholar 

  24. Riley S, Eames K, Isham V, Mollison D, Trapman P (2015) Five challenges for spatial epidemic models. Epidemics 10:68–71

    Article  Google Scholar 

  25. Beiró MG, Panisson A, Tizzoni M, Cattuto C (2016) Predicting human mobility through the assimilation of social media traces into mobility models. EPJ Data Sci 5(1):30

    Article  Google Scholar 

  26. Dredze M, García-Herranz M, Rutherford A, Mann G (2016) Twitter as a source of global mobility patterns for social good. Arxiv preprint. arXiv:1606.06343

  27. Palchykov V, Mitrović M, Jo H-H, Saramäki J, Pan RK (2014) Inferring human mobility using communication patterns. Sci Rep 4, Article ID 6174

    Article  Google Scholar 

  28. Tierney JE, Zander PD et al. (2017) A climatic context for the out-of-Africa migration. Geology 45(11):1023–1026

    Article  Google Scholar 

  29. Hofmanová Z, Kreutzer S, Hellenthal G, Sell C, Diekmann Y, Díez-del-Molino D, van Dorp L, López S, Kousathanas A, Link V et al. (2016) Early farmers from across Europe directly descended from neolithic aegeans. Proc Natl Acad Sci USA 113(25):6886–6891

    Article  Google Scholar 

  30. Manning P, Trimmer T (2013) Migration in world history. Routledge, London

    Google Scholar 

  31. Burg MB, Peeters H, Lovis WA (2016) Uncertainty and sensitivity analysis in archaeological computational modeling. Springer, Berlin

    Book  Google Scholar 

  32. Bass FM (1969) A new product growth for model consumer durables. Manag Sci 15(5):215–227

    Article  MATH  Google Scholar 

  33. Helbing D (2012) Agent-based modeling. Springer, Berlin

    Book  Google Scholar 

  34. Macy MW, Willer R (2002) From factors to actors: computational sociology and agent-based modeling. Annu Rev Sociol 28(1):143–166

    Article  Google Scholar 

  35. Pastor-Satorras R, Castellano C, Van Mieghem P, Vespignani A (2015) Epidemic processes in complex networks. Rev Mod Phys 87(3):925

    Article  MathSciNet  Google Scholar 

  36. Djurdjevac Conrad N, Furstenau D, Grabundžija A, Helfmann L, Park M, Schier W, Schütt B, Schütte C, Weber M, Wulkow N, Zonker J (2018) Mathematical modeling of the spreading of innovations in the ancient world. eTopoi. J Ancient Studies 7:1–32

    Google Scholar 

  37. Schweitzer F (2002) Modelling migration and economic agglomeration with active Brownian particles. World Scientific, Singapore

    Book  MATH  Google Scholar 

  38. Tadić B, S̈uvakov M, Garcia D, Schweitzer F (2017) Agent-based simulations of emotional dialogs in the online social network MySpace. Springer, Cham, pp 207–229

    Google Scholar 

  39. Holme P, Saramäki J (2012) Temporal networks. Phys Rep 519(3):97–125

    Article  Google Scholar 

  40. Kloeden PE, Platen E (1992) Higher-order implicit strong numerical schemes for stochastic differential equations. J Stat Phys 66(1):283–314

    Article  MathSciNet  MATH  Google Scholar 

  41. Higham DJ (2001) An algorithmic introduction to numerical simulation of stochastic differential equations. SIAM Rev 43(3):525–546

    Article  MathSciNet  MATH  Google Scholar 

  42. Vestergaard CL, Génois M (2015) Temporal Gillespie algorithm: fast simulation of contagion processes on time-varying networks. PLoS Comput Biol 11(10):1004579

    Article  Google Scholar 

  43. Holubec V, Chvosta P, Einax M, Maass P (2011) Attempt time Monte Carlo: an alternative for simulation of stochastic jump processes with time-dependent transition rates. Europhys Lett 93(4):40003

    Article  Google Scholar 

  44. Thanh VH, Priami C (2015) Simulation of biochemical reactions with time-dependent rates by the rejection-based algorithm. J Chem Phys 143(5):08

    Google Scholar 

  45. Fennell PG, Melnik S, Gleeson JP (2016) Limitations of discrete-time approaches to continuous-time contagion dynamics. Phys Rev E 94(5):052125

    Article  Google Scholar 

  46. Loog L, Lahr MM, Kovacevic M, Manica A, Eriksson A, Thomas MG (2017) Estimating mobility using sparse data: application to human genetic variation. Proc Natl Acad Sci USA 114(46):12213–12218

    Article  Google Scholar 

  47. Becker C, Benecke N, Grabundžija A, Küchelmann H-C, Pollock S, Schier W, Schoch C, Schrakamp I, Schütt B, Schumacher M (2016) The textile revolution. research into the origin and spread of wool production between the near East and central Europe. In: Space and knowledge. Topoi research group articles, vol 6, pp 102–151

    Google Scholar 

  48. McCorriston J (1997) Textile extensification, alienation, and social stratification in Ancient Mesopotamia. Curr Anthropol 38(4):517–535

    Article  Google Scholar 

  49. Epstein JM, Axtell R (1996) Growing artificial societies: social science from the bottom up. Brookings Institution Press & MIT Press, Cambridge

    Google Scholar 

  50. Nagel K, Schreckenberg M (1992) A cellular automaton model for freeway traffic. J Phys I 2(12):2221–2229

    Google Scholar 

  51. Banisch S, Lima R, Araújo T (2012) Agent based models and opinion dynamics as Markov chains. Soc Netw 34(4):549–561

    Article  Google Scholar 

  52. Lamperti F, Roventini A, Sani A (2017) Agent-based model calibration using machine learning surrogates. J Econ Dyn Control 90:366-389

    Article  MathSciNet  Google Scholar 

  53. Lerman K, Galstyan A (2001) A general methodology for mathematical analysis of multi-agent systems. ISI-TR-529, USC Information Sciences Institute, Marina del Rey, CA

  54. Brockmann D, Helbing D (2013) The hidden geometry of complex, network-driven contagion phenomena. Science 342(6164):1337–1342

    Article  Google Scholar 

  55. Schweitzer F (2007) Brownian agents and active particles: collective dynamics in the natural and social sciences. Springer, Berlin

    MATH  Google Scholar 

  56. Conte R, Paolucci M (2014) On agent-based modeling and computational social science. Front Psychol 5:668

    Article  Google Scholar 

  57. Grimm V, Revilla E, Berger U, Jeltsch F, Mooij WM, Railsback SF, Thulke H-H, Weiner J, Wiegand T, DeAngelis DL (2005) Pattern-oriented modeling of agent-based complex systems: lessons from ecology. Science 310(5750):987–991

    Article  Google Scholar 

  58. Morse PM (1929) Diatomic molecules according to the wave mechanics. II. vibrational levels. Phys Rev 34(1):57

    Article  MATH  Google Scholar 

  59. Jones JE (1924) On the determination of molecular fields. II. from the equation of state of a gas. Proc R Soc, Math Phys Eng Sci 106:463–477

    Article  Google Scholar 

  60. Buckingham RA (1938) The classical equation of state of gaseous helium, neon and argon. Proc R Soc, Math Phys Eng Sci 168:264–283

    Article  Google Scholar 

  61. Gillespie DT (2007) Stochastic simulation of chemical kinetics. Annu Rev Phys Chem 58:35–55

    Article  Google Scholar 

  62. Gillespie DT (1976) A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. J Comput Phys 22(4):403–434

    Article  MathSciNet  Google Scholar 

  63. Dangerfield C, Ross JV, Keeling MJ (2009) Integrating stochasticity and network structure into an epidemic model. J R Soc Interface 6(38):761–774

    Article  Google Scholar 

  64. Huerta R, Tsimring LS (2002) Contact tracing and epidemics control in social networks. Phys Rev E 66(5):056115

    Article  Google Scholar 

  65. Alfonsi A, Cancès E, Turinici G, Di Ventura B, Huisinga W (2005) Adaptive simulation of hybrid stochastic and deterministic models for biochemical systems. ESAIM Proc 14:1–13

    Article  MathSciNet  MATH  Google Scholar 

  66. Sayama H, Pestov I, Schmidt J, Bush BJ, Wong C, Yamanoi J, Gross T (2013) Modeling complex systems with adaptive networks. Comput Math Appl 65(10):1645–1664

    Article  MathSciNet  MATH  Google Scholar 

  67. Arbuckle BS, Kansa SW, Kansa E, Orton D, Çakırlar C, Gourichon L, Atici L, Galik A, Marciniak A, Mulville J et al. (2014) Data sharing reveals complexity in the westward spread of domestic animals across neolithic Turkey. PLoS ONE 9(6):99845

    Article  Google Scholar 

  68. McCorriston J (1997) Textile extensification, alienation, and social stratification in ancient mesopotamia. Curr Anthropol 38(4):517–535

    Article  Google Scholar 

  69. Rooijakkers CT (2012) Spinning animal fibres at Late Neolithic Tell Sabi Abyad, Syria?. Paléorient 38:93–109

    Article  Google Scholar 

  70. Jarvis A, Reuter HI, Nelson A, Guevara E et al (2008) Hole-filled srtm for the globe version 4. Available from the CGIAR-CSI SRTM 90m Database (

  71. Quinn P, Beven K, Chevallier P, Planchon O (1991) The prediction of hillslope flow paths for distributed hydrological modelling using digital terrain models. Hydrol Process 5(1):59–79

    Article  Google Scholar 

  72. Jasiewicz J, Stepinski TF (2013) Geomorphons—a pattern recognition approach to classification and mapping of landforms. Geomorphology 182:147–156

    Article  Google Scholar 

  73. Stepinski TF, Jasiewicz J (2011) Geomorphons—a new approach to classification of landforms. In: Proceedings of Geomorphometry 2011, pp 109–112

    Google Scholar 

  74. Fischer G, Nachtergaele F, Prieler S, Van Velthuizen H, Verelst L, Wiberg D (2008) Global agro-ecological zones assessment for agriculture (gaez 2008). In: IIASA, Laxenburg, Austria and FAO, Rome, Italy. vol 10

    Google Scholar 

  75. Park M, Djurdjevac Conrad N, Grabundžija A, Helfmann L, Russo E, Weber M, Zonker J, Schier W, Schütte C, Schütt B Modeling the spread of the wool-bearing sheep from South-West Asia into Europe—an agent-based approach. Submitted

  76. Lemmen C (2013) Mechanisms shaping the transition to farming in Europe and the North American Woodland. Archaeol. Ethnol. Anthropol. Eurasia 41(3):48–58

    Article  Google Scholar 

  77. Grabundžija A, Russo E (2016) Tools tell tales-climate trends changing threads in the prehistoric pannonian plain. Documenta Praehistorica 43:301

    Article  Google Scholar 

  78. Grabundžija A, Küchelmann H-C, Park M, Schoch C The textile revolution. Edition Topoi Collections. (in preparation)

  79. Pagani L, Lawson DJ, Jagoda E, Mörseburg A, Eriksson A, Mitt M, Clemente F, Hudjashov G, DeGiorgio M, Saag L et al. (2016) Genomic analyses inform on migration events during the peopling of Eurasia. Nature 538(7624):238–242

    Article  Google Scholar 

  80. Winkelmann S, Schütte C (2016) The spatiotemporal master equation: approximation of reaction-diffusion dynamics via Markov state modeling. J Chem Phys 145(21):214107

    Google Scholar 

  81. Anderson DF, Kurtz TG (2015) Stochastic analysis of biochemical systems. Springer, Berlin

    Book  MATH  Google Scholar 

Download references


The authors would like to thank Martin Park and Brigitta Schütt for providing the data and valuable insights about the model; Ana Grabundžija for her input on historical information and Marcus Weber for fruitful discussions about the modeling approach.

Availability of data and materials

The SRTM 500 data is available at the website Additional data is obtained by using methods from [36]. For more information, please contact the corresponding author.


This research has been partially funded by the Excellence Cluster TOPOI (The Formation and Transformation of Space and Knowledge in Ancient Civilizations), ECMath (Einstein Center for Mathematics Berlin) and Deutsche Forschungsgemeinschaft (DFG) through grant CRC 1114.

Author information

Authors and Affiliations



NDC, SW and CS designed and supervised the study. LH, JZ, SW and NDC performed research. JZ and LH did simulation experiments. LH, JZ, SW and NDC wrote the manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Nataša Djurdjevac Conrad.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information


Agent-based model (ABM). Shuttle Radar Topography Mission with resolution 500 m × 500 m (SRTM 500). Topographic compound index (TCI).

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix:  Presentation in terms of Poisson processes

Appendix:  Presentation in terms of Poisson processes

In the considered time-evolving network the adaption event can happen not more than once for each agent. In other settings, the interaction events can happen several times, e.g. if several innovations can be adopted successively or the adaption is reversible meaning that it can disappear and reappear in the course of time. Then, the counting processes \((N_{k}(t))_{t\geq0 }\), \(k=1,\ldots,K\), are in general not bounded but monotonically increasing in time. Each of it can be expressed in terms of a Poisson process by setting

$$N_{k}(t) := \mathcal{P}_{k} \biggl( \int_{0}^{t} \lambda_{k}(s)\,ds \biggr) $$

where \(\mathcal{P}_{k}(t)\), \(k=1,\ldots,n\), denote independent unit-rate Poisson processes [81]. The event times are determined by the jump times of the Poisson processes. This general representation also applies in the considered setting with the rate function defined in (4). The adaption time \(\tau _{k}\in[0,\infty]\) for agent k is then indirectly defined by

$$\tau_{k}:=\min \biggl\{ t:\mathcal{P}_{k} \biggl( \int_{0}^{t} \lambda _{k}(s)\,ds \biggr)=1 \biggr\} $$

with \(\min\emptyset:= \infty\). With the rate \(\lambda_{k}(t)\) becoming zero after the adaption event, the counting process \(N_{k}(t)\) will not exceed the value 1.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Djurdjevac Conrad, N., Helfmann, L., Zonker, J. et al. Human mobility and innovation spreading in ancient times: a stochastic agent-based simulation approach. EPJ Data Sci. 7, 24 (2018).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: