# A Lookahead Behavior Model for Multi-Agent Hybrid Simulation
## 2 Related Works
### Approaches of Combining DES and Agent-Based Modeling  
In general, the combination of DES and agent-based modeling can obtain better efficiency than pure MAS. In the existing hybrid simulation, agent-based modeling and DES play different roles. According to the different ways of discretization of a continuous model in MAS, the model pattern of the hybrid simulation can be classified into four categories: strict discrete, complete time-stepped and discrete, partial time-stepped and discrete, and implicit modeling-based discrete. (1) Strict discrete (SD). The method converts a continuous model strictly to a discrete model [34]. Since the models in the system are all discrete models, this method mainly adopts an asynchronous simulation mechanism such as CR or PR to update the state. Although strict discreteness can improve efficiency, it cannot fully express the dynamics of a continuous model, which should be involved when there is a need for the study of the continuous model in depth. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Mechanism**} & **All States Need** & **All Agents Need** & \multirow{2}{*}{**Update Synchronizationly or Not?**} \\  & **to Be Updated?** & & \\ \hline FS & Yes & Yes & Synchronizationly \\ VS & Yes & Yes & Synchronizationly \\ OS & Yes & Yes & Synchronizationly + Asynchronously rollback \\ CR & No & Yes & Asynchronously \\ PR & No & No & Asynchronously \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The qualitative comparison of efficiency for the five state update mechanisms (FS: fixed time synchronization, VS: variable time synchronization, OS: optimistic synchronization, CR: complete resynchronization, PR: partial resynchronization). (2) Complete time-stepped and discrete (CTD). This approach applies a discrete event simulator to an agent-based model. When the behaviors of agents cannot be predicted, discrete events are created based on the time steps. This is a compromise approach. It is based on the similarity of time-driven simulation and event-driven simulation, where discrete events can be used to realize the time-advancing mechanism of time-stepped simulations. This method is consistent with the timed simulation in the realization of continuous model. The state update mechanism can be a synchronous simulation such as FS, VS, and OS. It should be noted that sometimes it is even less efficient than the time-stepped simulation because of the overhead in the operation of events, such as creating, sorting, and deleting. (3) Partial time-stepped and discrete (PTD). This method allows hybrid discrete-continuous simulation models to coexist explicitly in the simulation. Some continuous models are used to describe unpredictable agent behavior. For example, in the research on human travel simulation [35], where a human is abstracted as an agent, the time steps are used to schedule the course of reaching destinations for pedestrians, and discrete events are adopted to simulate the queuing system of agents when the pedestrians are waiting for a bus. In a SPADES system, the model to interact with the world model is scheduled by a continuous simulator, which advances the simulation time by a small number of time quanta, and the interaction between agents (e.g., sensations and actions) is scheduled by a discrete events simulator [31]. Due to the existence of an explicit continuous model, the state update mechanism of this method is a hybrid mechanism of a synchronous simulation plus an asynchronous simulation, which can improve the efficiency to a certain extent. (4) Implicit modeling-based discrete (IMD). The continuous models in this method are realized as internally-implicit models, and discrete events are used for explicit updates and interactions [36]. CR and PR can be applied in this pattern to retain dynamics while taking full advantage of DES in efficiency. However, the implementation of this method depends on the purpose of the study and the characteristics of the system to be studied.