CrowdAgent


Crowd modeling techniques traditionally take inspiration either from fluid systems or particle systems. Both approaches deal with attractive, repulsive and frictional forces; in addition, particle systems place motion decision with the individual. In the implementation of the CrowdAgent, we chose the aggression level of the agents as the grouping characteristic of the crowd. An agent will start out with an initial aggression rating, 'A(0)=Ai', and then migrate towards the aggression level of the agents surrounding them. This transition is governed by:


The first term of the equation guarantees that if the agent is not surrounded by other agents it will return to its initial aggression level. If there are other crowd agents in the neighborhood, the agent will have its aggression level pulled towards the aggression level of each of the surrounding agents. The motion of an agent is related to the position of all other agents in the sensor range, and what there aggression levels are. The equation of motion used is:


A similar function is calculated for the 'Y' direction. Once again we are summing over all agents in the sensor range, but this time we also generate a factor for the attraction between agents. The 'pF' attribute is based on the aggression of the agent of interest and the aggression of the agent in the sensor range. This is an attractive/repulsive attribute which is defined by the piecewise function
 

The 'pF' factor will give an attractive influence between 0 and 'pfB', the remaining distance will give a repulsive influence. As long as the attractive forces are not made too large then the individuals will have the ability to separate from a group, and rejoin another group.

As the particle grouping paradigm deals only with the motion of agent in the presence of crowds, it was supplemented by a series of heuristics. In the absence of other agents, the movement of the agent will perform random wandering. If food is detected, the agent moves directly towards the food. The agent is reproducing with a random probability whenever the energy level is high enough. Finally, a simple heuristic was used for the fighting: the agent tries to avoid coming in contact with other agents, but if it comes into contact, it will attack. Finally, a simple heuristics is used for obstacle avoidance. If an obstacle is in the direction you are trying to move then keep turning to the right until you find an open direction and go that way.

In practice we found that there was a need for at least 4 agents of this type to get any really dynamic interactions going, and this was also the needed level to guarantee a long survival time, the algorithm performing the best with 6 agents of this type, given the limitations of the environment size.

 
   
Author: Rex Oleson