A Computational Framework
In the project GENIUS, the framework provides some standardized components and possibly a basic design for the modeling and simulation tools to investigate human behavior in urban environments. The goal is to capture the complexity and diversity of human behavior in a robust and systematic way. In the course of this project, using the Agent-Based Modeling (ABM) techniques, we developed a methodological framework and tool environment to address the needs and challenges of modeling complex behaviors.
ABM is a class of computational models for simulating the actions and interactions of autonomous agents with each other and the environment. This approach is based on the idea that a system is composed of decentralized individual agents and that each agent interacts with other agents and the environment according to localized knowledge and rules. The goal of the model is to re-create and predict the appearance of complex phenomena based on the simulation of the simultaneous operations and interactions of multiple agents. The process is one of emergence from the lower (micro) level of systems to a higher (macro) level. As such, a key notion is that simple behavioral rules generate complex behavior.
The GENIUS framework is divided into five components: 1) the Agent Module (AM) model for decision making process and different behaviors of the agents, 2) the Spatial and Environmental Module (SEM) that models the navigation space, 3) the Visualization Module (VM) to allow the visualization of the results during and after the simulation, 4) the Target Selection Module (TSM) models specific agent behaviors while making decision and accomplishing a specific goal, and 5) the Event Generation Module (EGM) that generates threats in a timed fashion. This is a flexible architecture which allows the modification of each module easily.
The goal of this research is to develop a framework to support the analysis and modeling of complex, large-scale agent systems. Moreover, instead of the current approach of using input-output behavior of individual agents, the model allows the behavior to be parametrized in terms of variables that represent aggregated behavior of large numbers of agents. In the subsequent sections, we explain each module in detail.
Agent-Based Modeling
Agent-based modeling is a computational method that enables researchers to create, analyze, and experiment with models composed of decentralized agents that interact with each other and within an environment according to localized knowledge[6]. This modeling technique is using a bottom-up approach in contrast to a top-down approach where the system is breaking down into compositional sub-systems and each sub-systems are refined in greater detail. The bottom-up approach allows the agents to make local decisions for themselves and we can observe the emergent behavior in the global level. In the past decade, the concept of agent-based modeling has been successfully developed and applied to problems that exhibit complex behavioral patterns[7].
The agent behavior engine in GENIUS is constructed using the Swarm Intelligence (SI) paradigm[8]. The expression Swarm Intelligence was first introduced by Beni and Wang in the context of cellular robotic systems[9]. Since then, SI has been successfully applied in many areas, including forecasting pedestrian evacuation times[10], diagnosis of human tremor[11] and a variety of optimization applications. SI is a decentralized and self-organized system where the collective behaviors of agents interacting locally with their environment cause coherent functional global behaviors. Typically these agents are unsophisticated and global patterns emerge from their collective behavior. SI relies upon countless interactions between individual agents, each of which is following simple rules of thumb.
Agents
The central component of the GENIUS is an agent-based modeling tool that utilize swarm intelligence (SI). Agents provide a natural abstraction for using geographically distributed computational and memory resources. Typically, agents are autonomous mobile actors that may be invoked to satisfy specific goals, possibly requiring travel within an environment. In our model, each agent represents an individual moving around in an urban environment. Agents navigate within the environment and may assume different roles such as citizens, visitors, or police. Depending on their roles, they exhibit different behaviors[6].
The approach that GENIUS uses in defining an agent’s behavior is based on a hierarchical parametric approach which is a part of the Agent Module (AM) module. The essence of defining a different type of an agent is a set of numerical parameters, each of which controls some aspect of the agent’s behaviors. Parameters are typically unitized vectors, each representing a sub-routine which performs some low level complex transformations on the part of the behavior it controls. Because parameters are abstracted from their low level numerical parameters, they have mathematically rigorous properties such as the ability to be combined, subtracted, and/or added together while still maintaining controllable and repeatable effects to the agent model.
Using a parametric model to model human behaviors is not new in the literature. Wakita et. al[12] modeled the driving behavior when following another vehicle. Parameters can be varied independently to modify a specific agent’s behavior (e.g. walking speed, memory, decision rules etc.) This authoring paradigm is highly flexible, allowing a wide range of applications. The entire set of parameters can be exposed individually for full low level authoring control or a sub-set of these parameters with constraints can be presented to a novice user for customization and personalization. In general, agents can be described by the following characteristics[6]:
-
Perception: the agents can perceive their environment and other agents in their vicinity.
-
Performance: the agents have a set of behaviors that they can perform, often include the following: motion, communication, and action.
-
Memory: the agents can record their perceptions of the previous states and actions.
-
Policy: the agents operate using a set of rules, heuristics, or strategies.
Higher-level constructs can be imposed on the basic parameter scheme by combining low-level parameters to create application specific descriptive elements. In this way we have begun to build up a hierarchical library of behaviors and agent types which all can be combined and changed in any number of ways. In the highest level of the hierarchy of the GENIUS system, there are three types of agents profile in our model: 1) police, 2) citizen, and 3) visitor and they all behave differently. Furthermore, the second level of the agent’s profile hierarchy can be refined using the following parametric qualities: age (small children, adult, seniors), gender (male and female), and personalities (bold or fearful).
Users can define a number of agents with the same characteristics or create an agent with an individual profile separately. The characteristics of crowd behaviors are modeled based on our previous research studies in examining pedestrians in an urban environment[13]. These experiments were performed in our own virtual environment. Through the experiments, we found that people had different behavioral characteristics based on their gender and age. Our framework incorporates these findings to create a large number of people with specific behavioral characteristics.
Figure1 shows the visualization of a group of agents while the simulation is running. Note that in order to simulate a large number of agents, we have introduced the idea of the cluster agent. From a distance, the cluster of many agents will be presented by a single agent (cluster agent) with an area surrounding him/her. However, when the cluster is zoomed in, the individual agents can be seen in a finer details. This is part of the GENIUS’s Visualization Module (VM).
Environment
The environment is a simulated surrounding in which an agent is located. Typically the environment also includes simulated physical elements and other agents. This is part of the Spatial and Environmental Module (SEM).
Currently, in SEM there are two types of threats: gas and bombs. Bomb explosion is onmidirectional, where gas explosion can be affected by the wind and hence the affected area will be an ellipse in shape in comparison to a circular shape.
Different test scenarios can be created by importing or creating 3D urban environments and putting certain terrorist attacks (such as bombs or toxic gas) on specific locations and timeline. There are two methods to create virtual environments which represent urban environments where the agents are able to move around. To create a virtual environment one can 1) import an existing black and white map or 2) select the building blocks in real time.
Events
We have modeled a real-time situation analysis in GENIUS, which is a part of the Event Generation Module (EGM). Users can either create multiple real-time events while the simulation is in progress or create multiple timed events as well.
Technical Details
GENIUS has been developed using the 3D game engine called Darkbasic Professional. This game engine provides all the basic features for crowd simulations such as 3D modeling, lighting, cameras, animation, graphical user interface, collision detection, keyboard and mouse control, etc. This affordable game engine also uses a simple BASIC-like language, so that the learning curve is relatively short. Rapid prototyping can be done easily with this engine. MATLAB Ⓡ was used to convert a map image to a binary table which can be imported to GENIUS to visualize the environment.
In summary, GENIUS provides a framework for decision support, threats response planning and risk assessment framework. Users can define an agent’s profiles by using high-level constructs (roles) or by defining low-level parameters to create application specific descriptive elements. GENIUS allows the user to define different environments, agents’ profiles (walking speed, perception, memory, role and policy), different types of threats (gas and bombs), and rescue strategies. As a result, the user can study different scenarios and make appropriate planning strategies. The following section describes a couple of experiments that we used to verify and validate our model.