2018 IEEE International Conference on Big Data and Smart Computing
Global A* for Pedestrian Room Evacuation Simulation Jing Liu, Xiao Song, Jinghan Sun, Ziping Xie School of {Electronic and Information engineering, Computer Science and Engineering}, Beihang University, Beijing, China
[email protected],
[email protected],
[email protected],
[email protected]
algorithm. It can find the optimal path in a short time. However, when the pedestrian size is larger, A* algorithm will have a long planning time and occupy a large memory space. There are many research studies focusing on optimization of A* algorithm. For example, Sven Koenig and Maxim Likhachev [3] proposed Real-Time Adaptive A* which is able to choose its local search spaces in a fine-grained way. Yao Junfeng [4] described the analysis process of optimizing the evaluation function of A* algorithm for improving the path finding method during the process of game designing. There are also many pedestrian escape models. A model by Helbing et al. [5, 6], which belongs to the group of social force models, is frequently cited in evacuation simulations. This model is based on a strong mathematical calculation using agents to determine their movement to destinations (e.g. exits). Kirchner A and Schadschneider [7] proposed the floor field model that uses computationally more efficient cellular automata (CA) approach. In this model, local movement rules that only consider adjacent cells are defined to translate Helbing’s long-ranged interaction of agents into a local interaction. The former is space-continuous and formulates equations for acceleration, deceleration and repulsive effect to other pedestrians or walls. In the latter, space is discretized and pedestrians move on a lattice [8, 13, 14]. In this paper, we propose a simple but efficient way of accelerating repeated A* searches, called Global A*. It plans the path of the entire map before the simulation which reduces the planning time and memory space usage and allows it to be used in simulation of mass population. Then, we use social force model to model pedestrian escape in real scenes as the background, apply the Global A* to it.
Abstract—Route planning is an essential component of pedestrian evacuation simulation. To enhance the performance of multi-scale simulation, we describe a new simple and efficient algorithm called Global A* which can outperform normal A* algorithm because it is not executed with each pedestrian. This algorithm is to do path planning for all the cells on the map before simulation. It is suitable for scenarios that have static exits such as canteens, cinemas and subway stations. Simulation experiments are carried out based on this algorithm and the social force model. Results demonstrate that with a certain size of map, Global A* shows a better performance when the population of pedestrians is larger than a threshold, which is 2000 when the map is 200*50. Index Terms—Pedestrian evacuation, A*, path planning, social force model.
I. INTRODUCTION
P
UBLIC places such as restaurants, shopping malls, subway stations and so on have the characteristics of densely populated, closed space and complicated topographical environment. When an emergency occurs, it is easy to cause casualties. Because of the cost and safety reasons, the operability of the above problems is poor through real-person experiments. Using computer to simulate pedestrian movement and its relationship with facilities has gradually become a main means. Evacuation plan simulations are crucial in the design of any space in which people may occur. In an emergency situation the behavior of vulnerable persons is affected by a number of psychological factors (ability to recognize danger, ability of rational thinking, etc.) [1].Real-time crowd simulation is difficult because large groups of people exhibit behavior of enormous complexity and subtlety. A crowd model must not only include individual human motion and environmental constraints such as boundaries, but also address a bewildering array of dynamic interactions between people [2]. Further, the model must reflect intelligent path planning through this changing environment. Humans constantly adjust their paths to reflect congestion and other dynamic factors. There are many traditional algorithms for the path planning of escape, such as depth-first search, breadth-first search, Dijkstra’s algorithms, A* and so on. Now, A * is a widely used 2375-9356/18/$31.00 ©2018 IEEE DOI 10.1109/BigComp.2018.00099
II. GLOBAL A* Before explaining the Global A*, we give a brief overview of the A* [9] algorithm. A* is an algorithm for finding the shortest path planning. For every state s encountered during the search, A* maintains two values g(s) and h(s) . Its heuristic function is
f[s] = g[s] + h[s] . The value g[s] is the smallest cost of any discovered path or the moving distance from the start state to state s .The value h[s] estimates the goal distance of the state, which is the cost of minimal path from the state s to a
573
open list and the closed list, whose function and initialization are the same as those of the A*. At each iteration, the Global A* removes the top state s from the open list until the open list is empty. It explores the states around state s and updates the g -value of each visited state. If the current cell (node) is not in the open list and the closed list, add it to the open list. If it is in the open list or the closed list, and the g -value is reduced, put it back into the open list and change its g -value. Then repeat the process. Finally, the g -value of every visited state s is equal to the distance from the start state to state s .
goal state. The commonly used distance evaluation functions include Manhattan distance, Chebyshev distance and Euclidean distance. The A* algorithm requires two lists in the search process, the open list and the closed list. The open list is a priority and used to store the states that have been found but have not been searched yet. Initially it stores the start state. The closed list is used to store the states that have been searched. Its initialization is empty. At each iteration, A* removes the state t with the smallest f[s] from the open list. If state s is a goal state, it terminates. Otherwise, it explores the states around state s and updates the g -value of each visited state. If the current state of exploration is not in the open list and the closed list, add it to the open list. If it is in the open list or the closed list, and the g -value is
ALGORITHM2: The Global A* 1: Input: a goal node 2: Function: 3: CloseList ← Ø; 4: OpenList ← goal; 5: g[goal] ← 0; 6: while (OpenList Į Ø) do 7: x ← ExtractTheTopNode(OpenList); 8: for all the sęNeighborNodes(x) do 9: newg ← g[x] + Cost(x,s); 10: if sęOpenList and newg