Next Article in Journal
Critical Success Factors Evaluation by Multi-Criteria Decision-Making: A Strategic Information System Planning and Strategy-As-Practice Perspective
Next Article in Special Issue
Teaching Informatics to Adults of Vocational Schools during the Pandemic: Students’ Views and the Role of Neuroeducation
Previous Article in Journal
Facial Emotion Recognition Using Conventional Machine Learning and Deep Learning Methods: Current Achievements, Analysis and Remaining Challenges
Previous Article in Special Issue
Creative Narration as a Design Technique
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Shortest Path Algorithms for Pedestrian Navigation Systems

1
Department of Computer Science and Engineering, University of Ioannina, GR-45500 Ioannina, Greece
2
Department of Informatics and Telecommunications, University of Ioannina, GR-47100 Arta, Greece
*
Authors to whom correspondence should be addressed.
Information 2022, 13(6), 269; https://doi.org/10.3390/info13060269
Submission received: 15 March 2022 / Revised: 12 May 2022 / Accepted: 16 May 2022 / Published: 25 May 2022

Abstract

:
Efficient shortest path algorithms are of key importance for routing and navigation systems. However, these applications are designed focusing on the requirements of motor vehicles, and therefore, finding paths in pedestrian sections of urban areas is not sufficiently supported. In addition, finding the shortest path is often not adequate for urban sidewalk routes, as users of these applications may also be interested in alternative routes that, although slightly longer, possess other desirable features and properties. According to the literature, the search for alternative routes is carried out mainly using the k-shortest paths (KSP) algorithm which represents an ordered list of all available alternatives. Even though various KSP algorithms have been proposed, to the best of our knowledge, there is no research addressing all issues inherent in a pedestrian navigation system. The purpose of this paper is to present a heuristic algorithm for graph datasets that implements a penalty-based method which, by increasing certain edge weights, effectively searches for the most accessible alternative paths in multi-route cases. To demonstrate how the algorithm works, we present experimental results on finding the most accessible paths in pedestrian sections of the historical center of Thessaloniki city.

1. Introduction

Finding the shortest path between two locations on graph datasets that represent transportation networks is a core function of geographic information systems (GIS) applications that has been intensively studied over the last two decades. Dijkstra’s algorithm [1] and its variants have thoroughly been used to solve the shortest path issue. However, for users navigating through pedestrian sections of urban areas, the calculation of the shortest route is not sufficient, because there are usually alternative routes that, although slightly longer, abide by other desirable preferences and restrictions (i.e., accessibility, safety, comfort, and convenience) and therefore are preferable to the shorter one.
Alternative routing, in the literature, has primarily been addressed using the k-shortest paths (KSP) algorithm [2,3] or by applying penalties to graph edges [4,5] to generate alternative graphs (AGs) to calculate alternative paths from them. However, alternative routes are computed entirely based on their similarity to the shortest path in these works, resulting in alternative paths that are quite similar to one another as they share many graph edges.
A significant parameter that should be considered is that routing applications that make use of the algorithms above have been implemented to compute routes mainly on road networks and not on pedestrian areas. A key difference between these two networks is that the former is mapped with directed graphs while the latter with undirected, which makes the calculation of alternative paths a more complex process [6]. In addition, navigating through pedestrian sections of urban areas is not an easy task for specific population groups (i.e., people using wheelchairs, elderly people with walking stick/cane, parents with baby strollers, etc.), and therefore, before suggesting alternative paths, a GIS application must be able to assess the needs and priorities of those people, in terms of safety and accessibility [7].
Most routing algorithms to date employ only the actual distances of the urban sections registered in their databases, which correspond to edge weights of the graphs they traverse, and eventually return the routes having the lower total weight cost (total distance) [8]. As a result, existing algorithms should be modified to take into account additional factors other than the distance between two points on the map, so as to provide more personalized results that will better meet the user needs. If the level of accessibility of each pedestrian section is known in advance, this factor should be considered when calculating the shortest accessible paths instead of the absolute shortest paths. In addition, the total number of ramps contained in each route should also be considered as it indicates equal number of crossings, which require more effort, and therefore muscle strain, from wheelchair users. Hence, alternative routes that contain fewer crossings, even if they are longer, are usually preferable.
The motivation behind the proposed study was to improve accessibility level of people with mobility problems and especially wheelchair users. The daily movement of these people in the inhospitable centers of modern cities is a process with many challenges, especially when navigating in unknown or less familiar areas. In the pedestrian sections of urban areas, there are various obstacles (very narrow sidewalks, broken pavement tiles, stairs, bus stops, etc.) that restrict or possibly exclude the possibility of access for wheelchair users.
Therefore, the contribution of the present study is the implementation of a routing algorithm, exclusively for navigation in the pedestrian sections of urban areas, which will take into account the information on the level of pedestrian accessibility to ultimately route from the safest and most comfortable route, thus improving the level of mobility of specific population groups.
The purpose of this paper is to present the development of a heuristic algorithm, providing several improvements on the penalty-based alternative route calculation method by increasing certain edge weights depending on their level of accessibility or whether they represent a ramp, to effectively suggest the most accessible alternative paths for multi-route cases. We then present experimental results on finding the most accessible paths in pedestrian sections of the historical center of Thessaloniki city.
The remainder of the paper is organized as follows. Section 2 briefly presents previous related work on alternative path algorithms. Section 3 presents our proposed improvements for producing alternative graphs using the penalty-based method for alternative route calculation. Section 4 presents a thorough experimental evaluation of our proposed method, and finally, conclusions are offered in Section 5.

2. Related Work

In this section, various algorithmic approaches are analyzed, along with higher-level solutions and their disadvantages as mentioned in the literature. The first approach to be analyzed is the most common technique, the k-shortest paths computation between a source s and a target t [9] in order of increasing cost. As the weight of each edge is defined only by the actual distance between the nodes of the graph, some serious disadvantages occur. The computed alternative paths share many edges, which in many cases makes them difficult to be distinguished. Moreover, KSP algorithm does not take into account other preferences and characteristics, which can be important selection criterions for a GIS application user. One way to deal with this issue is assigning a very large value to k, but at the expense of a rather high computational cost, that can be prohibitive for real-time applications. Therefore, in the KSP method, due to the several similar paths that can occur, the candidate result set should be evaluated and further filtered with respect to a number of constraints such as the accessibility, their total length or the number of changes of pavement through ramps according to each use case scenario and subsequently determine the final result set [3].
In general, better results could be achieved under using penalty-based methodologies. In this way, the generated paths become dissimilar to the shortest path by adding a penalty on the weights of certain edges [10]. Each time the weight of some edges is updated, repeated shortest path queries are executed on the alternate graph, thus calculating the alternate paths using mostly Dijkstra’s algorithm or a speedup variation of it. Then the shortest path edges are penalized, and a new query is executed. If the newly calculated shortest path meets the desired requirements and characteristics, it is added to the solution set. This process is repeated until a sufficient number of alternative paths is computed [11]. Akgün et al. [4] proposed a method which doubles the weight of each edge that lies on the shortest path. A similar method is used in [12], where the penalty is computed in terms of both the path overlap and the total turning cost. In [13] Schultes et al. propose a speedup technique for shortest path computation including edge weight changes. Finally, Jian Pu et al. propose a variation of the Dijkstra’s shortest path algorithm using a logarithmic edge weight increment procedure [14].
The initial penalty value before each subsequent iteration is arbitrary and can result in poor performance, so this is a disadvantage for penalty-based methods that needs consideration and experimentation. On the one hand, high initial penalty values seem to result in different but, often, very long alternative routes. On the other hand, small penalty values require more iterations in order to compute the desired results. There are also cases where the calculated alternative routes are not satisfactory enough when compared with the initial shortest path.
Another work on alternative route problem for road networks that can be used for pedestrian routing is [8]. This work is focused on finding several reasonable routes and suggesting new ways to measure the quality of a solution of alternative routes by mathematical definitions based on the graph structure. In addition, several heuristic techniques are presented, such as Pareto optimality, Disjoint Paths and Plateau method for computing alternative routes as determining an optimal solution is NP-hard in general.
Moreover, in [9], a formal solution for the search of alternative paths problem in road networks is presented. The tested algorithms in this work are mostly under the concept of local optimality to find the best alternative paths; moreover, it is optimized and simplified enough for real-time applications. Therefore, the presented methodology takes into consideration various functions, such as fuel consumption, that can be transformed to more pedestrian variables, such as accessibility and safety. Although it seems that it is suitable to solve the pedestrian routing problem, the concept of local optimality does not work so well for short distance routing.
A different perspective on the routing problem can be found in [15] where a ranking system for the traditional computed routes is developed. This integrated solution uses governmental data, OpenStreetMap database and other similar web services. The main idea is to create a more personalized route suggestion based on users’ individual preferences. Thus, the end user can dynamically change the contribution of the above sources to the overall ranking mechanism. At the same research work, a road scene complexity scoring mechanism is proposed that combines geospatial data, traffic, even sensors and Street view images as input to deep neural networks. The scoring mechanism estimates the perceived and the descriptive complexity of the road which can be used as an input for the routing systems to further filter and personalize their results. This more personalized approach is developed for driving circumstances, but theoretically, it can be used on pedestrian routing where the user needs may vary (i.e., wheelchair or walking stick users).
In contrast with the most solutions mentioned above, in this work the proposed method for finding accessible alternative paths accepts common edges with the shortest route as long as these edges are classified as accessible, because not all the sections of the pedestrian network have this classification. The main idea is to find alternative paths that have as many accessible edges as possible compared to the shortest one. Thus, if the accessibility ratio (number of accessible edges/total alternative path edges) is improved, then the alternative path is preferable as long as it does not exceed some experimentally determined thresholds (for example, alternative path total length may not exceed 50% of the shortest path length).
In addition, the data of the pedestrian network representing the historic center of the city of Thessaloniki, collected for the purposes of this study, cannot be used by the algorithms referenced, as the graph dataset that represents road networks is different from the corresponding that represents the pedestrian networks. In the second case, each part of this network can be accessed in any direction from its starting point to its end one and vice versa. This does not happen in road networks that even if they are two-way must have a different traffic flow for each direction and therefore a different edge in the graph that represents them. This fact significantly increases the complexity in the case of pedestrian navigation. As for each starting point and destination, there is a large number of alternative routes, something that does not happen in road networks that the other referenced algorithms deal with.
Therefore, according to the data above, the results of the proposed algorithm cannot be compared with the other state-of-the-art algorithms described in the current section. In summary, the two most important features that are the advantages of the proposed method will be further emphasized. First, as mentioned in the summary of this study, this algorithm successfully addresses an issue of pedestrian navigation, based on the accessibility characteristics of the pedestrian network, that even the largest routing platforms have not been able to resolve effectively to date. Second, due to its smart design, the proposed algorithm has theoretically better performance in the process of calculating the alternative paths in relation to the algorithms mentioned in this section.
The following section describes in detail the principles and the innovation points of the proposed penalty-based algorithm for calculating accessible k-shortest paths.

3. Algorithm Description

In this section, the proposed algorithm and the parameters that affect its operation are described in detail. A pedestrian section network is a graph G = (V, E) consisting of an edge set E and a vertex set V that contains n vertices. Each edge e ∈ E is represented as an ordered pair of vertices, in the form “from vertex i to vertex j”, denoted by e = (i,j), and it is associated with a calculated weight w(e), which in this work’s use-case represents not only the actual distance between them but the resultant of some additional characteristics as well, found in urban sidewalks (e.g., accessibility level, if current section represents a crosswalk between two ramps, etc.).
A k-shortest path query, given two vertices s, t ∈ V, looks for k sequences of edges, that each one connects s to t so that the sum of the calculated weights of these routes is minimized. Let Pk be the kth shortest path from s to t. Then,
p k = [ u k ( 1 ) ,   u k ( 2 ) , , u k ( q k ) ]
where uk(1) is s and uk(qk) is t.
Note that the graph dataset for this study was collected from the mapping of pedestrian routes of the historic center of Thessaloniki city. A penalty-based strategy is used to find the shortest available alternative paths on nondirectional graphs G. In addition to the distance between the nodes linked, the edges of the graph include two more highly useful features for this purpose.
The first of them determines if the current edge represents a crosswalk between two ramps, allowing the number of crosswalks (crosswalks_no) contained in each alternative route to be known after a graph traversal. The second feature is related to the level of accessibility of each pedestrian section. For a wheelchair user to cross a portion of this network, this must be at least 1.5 m wide and free of impediments (e.g., trees, bus stops, stairs, etc.) for the wheelchair to move. If the above conditions are met, then the specific edge of the graph is characterized as accessible, and its level of accessibility is equal to 1 (access_level = 1).
Additionally, if a graph edge has one or more of the above-mentioned obstacles, or if its width is less than 1.5 m but more than 0.90 m (according to the UN accessibility directives for wheelchair users [16]), and it can be accessed even if it is difficult, the graph edge is characterized as less accessible, and its level of accessibility is equal to 4 (access_level = 4). Finally, if a segment is inaccessible, its accessibility level is set to 0 (access_level = 0), and the algorithm ignores it while calculating alternate routes.
According to United Nations’ Convention on the Rights of Persons with Disabilities, a pedestrian section is considered accessible only when its width is more than 1.5 m, its surface is smooth and there are no obstacles into it that make the wheelchair movement difficult or completely inaccessible. However, there is a significant number of sidewalks where navigation, under certain conditions, is possible but clearly more difficult for people with limited mobility. These sections are classified as less accessible, but they are still included in the graph dataset as for some routes it is mandatory to pass through them [17].
Such cases are observed when in a single point or along the entire length of a section its width is less than 1.5 m but at least 0.9 m. Otherwise this section is considered inaccessible. This case concerns the movement in only one direction as the user cannot rotate the wheelchair, because a width of at least 1.5 m is required. A similar case arises when the surface of a section is not completely smooth (pebbles, broken pavement slabs, etc.) but does not prevent access to it. Finally, pedestrian sections that contain various floor elements creating elevation differences such as stairs or surface slopes (slopes of more than 10% are not accessible without the help of an attendant) are also characterized as less accessible.
Based on the above data, it is very clear how the pedestrian sections are categorized. Those that have been considered as accessible are not penalized, and the weight of their edges is equal to their actual length in meters. On the contrary, in those that have been characterized as less accessible, a penalty with a specific factor is applied in order to increase their edge weight and finally to be selected by the routing algorithm as part of an alternative route only when it is really necessary to traverse them.
The access_level parameter for the less accessible parts was set to 2 in the first version of the algorithm, but after the field measurements performed, it was discovered that a value of 4 produces more accurate results in each use case. This change was made to address the usual case in which one side of an urban block is less accessible than the other three and the algorithm must route the user of the application from point A to point B through the three accessible ones. As a result, after the penalty application procedure, the length of the least accessible side must be more than the sum of the three accessible sides. To satisfy this condition, the value of the access_level parameter was changed to 4.
The value of the penalty factor cannot be too high because on the one hand, it would completely exclude the less accessible edges of the graph, while there are cases where the wheelchair user has to pass through them, and on the other hand, the algorithm would suggest routes which in many cases are much longer than the shortest one. In the following section, a comparison of the operation of the algorithm with a value of the parameter access_level equal to 2 and with a value of access_level equal to 4 is made in the same areas that were used as use cases during the presentation of the first version of this algorithm. Then the operation of the two versions of the algorithm will be presented in another 2 new use cases where the first version did not effectively produce the most accessible routes. This was the reason that led us to adjust the value of the access_level factor to 4.
The presented approach searches for the k = 10 shortest paths and selects the one that is the most accessible. As a result, in addition to the total cost of each alternate path, a separate total cost is calculated as well. The sum of all the products of the actual distance of each graph edge with the property access_level of the corresponding edge yields this additional total cost. In order to avoid the less accessible edges as much as possible in the proposed routes, the above total effectively weights them in relation to the accessible ones. At the same time, the total number of crosswalks included in each alternate path is calculated to be evaluated later during the next steps of the algorithm.
The following step is to calculate the alternative paths, with the most accessible being the one that is returned to the user as a result. Once this search is completed, the average path length (avg_path_length) is determined as the average cost of all alternative routes. The average path length increased by an average edge length (avg_edge_length) is the threshold (ap_length_threshold) for accepting alternative paths of a total weight less than that value (i.e., ap_length_threshold = avg_path_length + avg_edge_length). This limit was set because wheelchair users are unable to cover long distances within urban areas, especially without the assistance of an attendant.
In order to calculate paths with as many non-overlapping edges as possible, the approaches of the penalty method for calculating the k-shortest paths mentioned in Section 2 penalize the weights of the shortest path after the end of the first iteration and successively the weights of every alternative path at the end of each iteration. The downside of these methods is that they must generate a separate alternative graph for each iteration, increasing their complexity and total execution time. In contrast to other approaches, the proposed k-shortest path penalty-based algorithm has been implemented in such a way that the weights of all graph edges are penalized by default before its execution rather than after each iteration if their accessibility level is equal to 4 or if a specific edge corresponds to a crosswalk.
The proposed implementation results in the generation of a single alternative graph AG, in which each edge weight is determined by multiplying its distance by its accessibility level (edge_weight = edge_distance × access_level), meaning that the less accessible parts’ distance is substantially quadrupled. In addition, if a graph edge corresponds to a crosswalk, the average edge length (avg_edge_length) is added to its length. Using the generated alternative graph, the weights of the 10 alternative shortest paths found earlier are recalculated, so in the end, the route of the lowest total score is considered as the most accessible and returns as a result of the algorithm. The proposed algorithm is shown in detail in Algorithm 1 and in Flow Scheme 1.
Algorithm 1 The Proposed Algorithm
1:procedure PROPOSED-ALGORITHM
2:G = (V, E) ► Creation of Graph G representing the pedestrian sections of C
the study area
3:avgEdgeLength = 0  ► Average edge length initialization
4:edgeCounter = 0  ► Initialization of edges counter
5:source = source
6:destination = dest
7:for i 0 to E 1 do  ► For all nodes
8:for j 0 to eE(i) − 1 do  ► For all selected node’s edges
9:avgEdgeLength + = ej
10:edgeCounter + = 1
11:end for
12:end for
13:avgEdgeLength = avgEdgeLength/edgeCounter
14:P = ShortestPaths (AG,source,dest,10)  ► Calculate the 10 shortest paths
15:avgPathLength = 0► Initialization of the average path length
16:for i 0 to 9 do► For the 10 shortest paths calculated
17:avgPathLength + = P[i].length
18:end for
19:avgPathLength = avgPathLength/10
20:apLengthThreshold = avgEdgeLength + avgPathLength
21:for i 0 to 9 do► For the 10 shortest paths calculated
22: ifP[i].length > apLengthThreshold then     ► If a path length exceeds the
Threshold
23:P[i].remove► Remove current path from the result list
24: end if
25:end for
26:Rp= 0► Initialization of paths calculated weights
27:for i 0 to P.size do
28: Rp[i] = di × li + ri × avgEdgeLength  ► d: edge distance, l: access level,
r: presence of ramp
29:end for
30:return min(Rp)► Return the minimum calculated weight
31:end procedure
Given the above, the k paths that are found in Equation (1) are then applied on the alternative graph AG. Let d be the edge distance and l be the access level. In addition, r will denote the presence of a ramp while d ¯ is the average edge length. Given that the initial k = 10 paths were calculated based on the actual distances d then the paths are re-calculated for AG,
R ( P k ) = 0 n d n × l n + r n × d ¯
where R ( P k ) is the new calculated weight of the previously found Pk path and n denotes the edges traveled when the path is the kth. Then, the purpose is to find the minimum rR. In this sense,
r = min ( P k )
The innovation of the proposed algorithm focuses mainly on two points. The first of these is the ability to search for alternative routes with criteria that best suit the profile and preferences of each user in addition to the total distance of a route. The alternative route search algorithms mentioned in Section 2 are based only on the actual distances of the sections, which correspond to the edge weights of the graphs they cross and ultimately return the routes with the lowest total weight cost. The proposed method manages to more effectively meet the needs of disabled people that face mobility problems.
The other algorithms based on the penalty method, after the calculation of each alternative path, increase the weights of the graph edges contained in it in order to exclude it from the next traversal of the graph, but any change in weights implies the creation of a new alternative graph, a process that requires computing resources. Therefore, to calculate k paths, an equal number of alternative graphs must be created. The second innovation point of the algorithm presented is the creation of only one alternative graph for any number of k parameter leading to significantly shorter calculation times for the output of the produced results.
The following section presents in detail the results of the proposed penalty-based algorithm and explains its operation in four different use cases within the area where the experiments were performed. In addition, in the last two use cases a comparison is made between the current and the first version of the algorithm that did not perform as expected in specific cases.

4. Research Results

The application of the proposed algorithm for the seach of the most accessible route in the historic center of the city of Thessaloniki gave, in most cases, very good results, two of which are presented in this section. However, there were specific cases when the starting point or destination was within a less accessible section, where the results were not as expected. That was the reason for the correction of the penalty factor. In this section, we will first present two use cases where both versions of the algorithm worked as expected and then two use cases in which the initial version of the algorithm fails to provide acceptable results.
In the following figures, the graph nodes are shown with red markers. Within each marker, its ID is displayed. The accessible edges are represented in green, while the less accessible ones are represented in yellow. Finally, the crosswalks are marked in blue. In each of the following use-cases, the graph of the specific area is initially presented on the Google maps web service, followed by the shortest route between the source and the target node, as well as the most accessible of the ten alternatives paths. In addition, the last two use cases show the most accessible paths returned by both versions of the algorithm so that they can be compared. Finally, for each case, a corresponding table lists all the calculated weights of each of the k shortest routes. These tables show how the results shown in the figures below have been calculated.

4.1. Use Case I

In the first use-case (Figure 1), the transition from node 84 to node 245 is considered. As shown in Table 1, the shortest route passes through the following nodes: 84, 10, 9, 2, 80, 246, 254, 253, 252, 245 and has a total length of 353.3 m (Figure 2). However, we observe that a significant part of this route passes through sections that have been characterized as less accessible.
When the weight of the specific route is recalculated in the alternative graph that has been produced, as described in the previous section, this will be equal to 518.4 m, while the route that crosses the nodes, 84, 197, 205, 198, 209, 199, 244, 243, 245, has a total weight of 514.50 m so it finally returns as the most accessible routes as shown in Table 1. In addition, the sum of the total weights of each route can be calculated using Table A1. We notice that in the second version of the algorithm, the most accessible path is the same as shown in the right part of Figure 2 but has a different weight due to the change in the penalty ratio. For a better understanding of the results in the following tables, it is pointed out that the shortest path appears with an orange background while the most accessible with light blue.
The first column of Table 1 lists the sequences of nodes in each alternative path and the second column reports its actual distance. The third column contains the total crosswalk number of each route, and the fourth one indicates the distance resulting from the traversal of the alternative graph depending on the level of accessibility of each edge. The fifth column denotes the total weight of every route from which we determine which is the most accessible one. The fourth and fifth columns refer to the first version of the algorithm while the last two correspond to the same values in the current one.

4.2. Use Case II

In the second use case (Figure 3), the transition from node 258 to node 264 is examined. As shown in Table 2, the shortest route passes through the following nodes—258, 257, 260, 265, 288, 264—and has a total length of 218.93 m (Figure 4). Moreover, in this use-case, a significant part of this route passes through sections that have been characterized as less accessible. Moreover, the sum of the total weights of each path can be calculated using Table A2.
Respectively, the route that crosses the nodes 258, 261, 346, 354, 353, 336, 263, 264 as depicted in Figure 5 will have a total weight of 307.4 m so it eventually returns as the most accessible of the alternative routes. We notice again that in the second version of the algorithm, the most accessible path is the same.

4.3. Use Case III

In the first two use cases, both versions of the algorithm calculated the same accessible paths as result. However, in the use cases that follow, the first version did not give the best results among the alternative ones, and therefore, after experimental tests on the penalty factor, its value was changed from 2 to 4. To make this difference clearer to the reader, an additional image was added, one for each version of the algorithm, which displays their results. In this use case (Figure 6), the transition from node 401 to node 446 is examined. As shown in Table 3, the shortest route passes through the following nodes—401, 400, 398, 405, 419, 424, 425, 426, 445, 446—and has a total length of 180.7 m (Figure 7).
Because the starting point of the route is located on a part of the sidewalk that is characterized as less accessible (Figure 6), the preferred result is the one that minimizes the passage on it. Therefore, it should go from node 401 to 402 and then continue from the accessible sections of the pavement to the destination at node 446. However, in this case, for the first version of the algorithm, the most accessible path is the same as the shortest one. As shown in the first line of Table 3, the value of the actual distance field for this route is the lowest of the rest so it is the shortest path. Using Table A3 the sum of the total weights of each route can be calculated. In addition, when the weight of the specific route is recalculated using the first version of the alternative graph produced, this will be equal to 327.9 m (Total Weight V1). In this column, the value calculated is also the lowest, so this path is characterized as the most accessible.
After changing the penalty ratio, as shown in Figure 8, crossing the least accessible part is now the minimum possible. This fact is also reflected in the column Total Weight V2 of Table 3 where we observe that in the third line the value of this field becomes the minimum, and therefore, the new most accessible route passes through the nodes 401, 402, 409, 414, 423, 451, 450, 449, 447, 446.

4.4. Use Case IV

In the final use case (Figure 9) presented, the transition from node 458 to node 478 is examined. As shown in Table 4, the shortest route passes through the following nodes—458, 459, 470, 471, 479, 478—and has a total length of 165.8 m (Figure 10). In this use-case, a significant part of this route passes through sections that have been characterized as less accessible. Moreover, in this case, for the first version of the algorithm, the most accessible path is the same as the shortest one.
As shown in the first line of Table 4, the value of the actual distance field for this route is the lower one. In addition, when the weight of the specific route is recalculated using the first version of the alternative graph that has been produced, this will be equal to 260.8 m (Calculated Distance V1). In this column, the value calculated is also the lowest, so this path is characterized as the most accessible. Using the new penalty ratio to calculate the weight of alternative routes, as the most accessible, as shown in Figure 11, is the one indicated in the second row of the Table 4.
This fact is also reflected in the column Calculated Distance V2 of the same table where we observe that in the value of this field becomes the minimum and therefore the new most accessible route passes through the nodes 458, 746, 750, 757, 756, 755, 754, 729, 752, 748, 499, 478. This path, although longer, does not include any yellow sections (less accessible) unlike the first version of the algorithm, most of which was yellow. Therefore, with the change of the penalty ratio, in this case as well, the proposed algorithm behaves more efficiently. Using Table A4 the sum of the total weights of each path can be calculated.
Although the value of Calculated Distance V2 of the second line of Table 4 is the minimum and the path depicted in Figure 11 consists of only accessible parts, this route, due to the fact that it crosses three ramps, does not have the lowest total weight (Total Weight V2) in relation to what the 1st version of the algorithm resulted. Therefore, the burden on the total weight of each alternative route due to the ramps enclosed in it should be studied and evaluated in subsequent versions of the proposed algorithm.

5. Conclusions

In this paper, we have proposed and described a penalty-based k shortest paths algorithm to search for the most accessible routes in the pedestrian sections of urban areas. The experimental tests that took place in the graph dataset representing pedestrian routes of the historic center of Thessaloniki city showed that the proposed algorithm returns, as a result, as the most accessible of the ten shortest paths between two nodes of this graph. To achieve this, the presented heuristic algorithm uses some additional features found in the pedestrian sections apart from the actual distance (e.g., accessibility level, if current section represents a crosswalk between two ramps, etc.). The initial version of the algorithm proved effective in most cases. In order to work optimally in the whole urban pedestrian network, the penalty factor was corrected, and now the proposed algorithm manages to route through paths that pass through the minimum possible number of less accessible pedestrian sections. In a future version, the burden on the total weight of each alternative route due to the ramps enclosed in it will be studied. At the same time, the user will be allowed to choose if he wants the ramps to burden the overall result because, while it is a deterrent for wheelchair riders, the same does not happen for other categories of pedestrians.

Author Contributions

Conceptualization, K.K.; data curation, K.K.; methodology, K.K. and G.T.; software, V.P.; supervision, I.F.; writing—review and editing, K.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research has been co-financed by the European Regional Development Fund of the European Union and Greek national funds through the Operational Program Competitiveness, Entrepreneurship and Innovation, under the call Research—Create—Innovate (project code: T1EDK-00108).

Institutional Review Board Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

In the figures presented in Section 4, the actual or calculated weights of every edge either of the initial or the alternate graph cannot be displayed due to constraints in the google maps platform API. For this purpose, four tables will be listed in this section, one for each use case, that will list the three properties (Actual Length, Accessibility Level, Is Ramp or Not) of every edge according to which the total and the total calculated route weights were calculated. The first feature corresponds to the actual length of the sidewalk between two nodes of the graph. The second identifies the level of accessibility of each segment, and the values it can receive are 1 or 2 for the first version of the algorithm and 1 or 4 for the second one. Finally, the third property gives the information whether an edge corresponds to a ramp or not.
Using this information, it will be possible to verify the results presented in Table 1, Table 2, Table 3 and Table 4. That is, from the sequence of nodes of each route, it will be possible to calculate both the shortest and the most accessible path for each use case. For the calculation of the shortest path only, the first property (Actual Length) is used, while for the calculation of the most accessible, all three properties using the Equations (2) and (3) were found in Section 3.
Table A1. Use Case I.
Table A1. Use Case I.
Source NodeDestination NodeActual Length of Pedestrian SectionIs Ramp?Accessibility Level of Pedestrian Section
1 2 97.10 1
1 268 9.91 1
2 1 97.10 1
2 9 6.51 1
2 80 100.80 1
9 2 6.51 1
9 10 69.40 1
9 81 86.40 1
10 9 69.40 1
10 84 80.90 1
80 2 100.80 1
80 246 6.41 1
81 9 86.40 1
81 85 58.90 2
81 196 5.91 1
84 10 80.90 1
84 85 18.20 2
84 197 5.71 1
85 81 58.90 2
85 84 18.20 2
196 81 5.91 1
196 204 59.10 2
196 208 10.80 2
197 84 5.71 1
197 204 18.60 2
197 205 79.90 1
198 200 19.70 1
198 205 51.30 1
198 209 41.30 1
199 201 21.20 1
199 208 120.30 2
199 209 42.60 1
199 244 6.61 1
200 198 19.70 1
200 201 83.70 1
201 199 21.20 1
201 200 83.70 1
201 242 6.61 1
204 196 59.10 2
204 197 18.60 2
205 197 79.90 1
205 198 51.30 1
208 196 10.80 2
208 199 120.30 2
209 198 41.30 1
209 199 42.60 1
241 242 83.10 1
241 243 22.90 1
242 201 6.61 1
242 241 83.10 1
242 244 20.90 1
243 241 22.90 1
243 244 81.60 1
243 245 129.70 1
244 199 6.61 1
244 242 20.90 1
244 243 81.60 1
244 246 116.70 1
245 243 129.70 1
245 252 25.90 2
245 310 101 1
246 80 6.41 1
246 244 116.70 1
246 254 19.60 2
252 245 25.90 2
252 253 26.70 2
253 252 26.70 2
253 254 17.10 2
254 246 19.60 2
254 253 17.10 2
267 268 91.50 1
267 310 6.71 1
268 1 9.91 1
268 267 91.50 1
310 245 101 1
310 267 6.71 1
Table A2. Use Case II.
Table A2. Use Case II.
Source NodeDestination NodeActual Length of Pedestrian SectionIs Ramp?Accessibility Level of Pedestrian Section
25725869.701
25725938.601
25726038.501
25825769.701
25826136.101
25826243.101
25925738.601
25928750.601
26025738.501
26026268.701
260265711
26026910.811
26125836.101
26128718.201
26134610.611
26225843.101
26226068.701
26226810.211
26326471.701
263266105.202
26333610.511
26426371.701
26428865.302
265260711
26526678.101
26528838.402
266263105.202
26626578.101
26826210.211
26826969.401
26926010.811
26926869.401
28725950.601
28726118.201
28826465.302
28826538.402
33533651.901
33535172.501
33626310.511
33633551.901
33635369.601
3453467301
34535275.301
34626110.611
3463457301
34635471.201
35133572.501
35135235.601
35135351.701
35234575.301
35235135.601
35235457.101
35333669.601
35335151.701
35335437.701
35434671.201
35435257.101
35435337.701
Table A3. Use Case III.
Table A3. Use Case III.
Source NodeDestination NodeActual Length of Pedestrian SectionIs Ramp?Accessibility Level of Pedestrian Section
38138293.901
38140253.901
38238193.901
40238153.901
38238325.101
38338225.101
3834285.111
383384611
38438524.601
384383611
3852205.711
38538424.601
398405611
405398611
38339617.101
39638317.101
39639837.901
39839637.901
40440544.500
40540444.500
40440646.500
40640446.500
41940643.400
40641943.400
41940546.501
40541946.501
39840044.402
40039844.402
4004012702
4014002702
40140242.302
40240142.302
4024096.711
4094026.711
4094144701
4144094701
40840960.200
40940860.200
40740846.500
40840746.500
40741458.400
41440758.400
4144236.411
4234146.411
42242332.902
42342232.902
4214223602
4224213602
42142440.702
42442140.702
4194246.111
4244196.111
42345151.801
45142351.801
45045138.801
45145038.801
44945036.201
45044936.201
44744911.101
44944711.101
44644722.701
44744622.701
4454468.901
4464458.901
44542613.701
42644513.701
4254269.501
4264259.501
42442518.601
42542418.601
Table A4. Use Case IV.
Table A4. Use Case IV.
Source NodeDestination NodeActual Length of Pedestrian SectionIs Ramp?Accessibility Level of Pedestrian Section
45845970.801
45945870.801
45947013.702
47045913.702
4704716.602
4714706.602
47147933.802
47947133.802
47847940.902
47947840.902
47849956.201
49947856.201
74645815.901
45874615.901
7467506.311
7507466.311
75074978.500
74975078.500
74674778.900
74774678.900
74774860.200
74874760.200
7484995.401
4997485.401
74975153.900
75174953.900
7297527.211
7527297.211
7297514.301
7517294.301
7487526.911
7527486.911
75075798.501
75775098.501
75675715.201
75775615.201
75575660.401
75675560.401
75475572.901
75575472.901
75472918.901
72975418.901

References

  1. Dijkstra, E.W. A note on two problems in connection with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef] [Green Version]
  2. Abraham, I.; Delling, D.; Goldberg, A.V.; Werneck, R.F. Alternative routes in road networks. In International Symposium on Experimental Algorithms; Springer: Berlin/Heidelberg, Germany, 2010; pp. 23–34. [Google Scholar]
  3. Bader, R.; Dees, J.; Geisberger, R.; Sanders, P. Alternative route graphs in road networks. In International Conference on Theory and Practice of Algorithms in (Computer) Systems; Springer: Berlin/Heidelberg, Germany, 2011; pp. 21–32. [Google Scholar]
  4. Akgün, V.; Erkut, E.; Batta, R. On finding dissimilar paths. Eur. J. Oper. Res. 2000, 121, 232–246. [Google Scholar] [CrossRef]
  5. Chen, Y.; Bell, M.G.; Bogenberger, K. Reliable pretrip multipath planning and dynamic adaptation for a centralized road navigation system. IEEE Trans. Intell. Transp. Syst. 2007, 8, 14–20. [Google Scholar] [CrossRef]
  6. Patras, V.; Fudos, I.; Koritsoglou, K.; Tsoumanis, G. Revisiting shortest path algorithms for navigation systems. In Proceedings of the 2021 6th South-East Europe Design Automation, Computer Engineering, Computer Networks and Social Media Conference (SEEDA-CECNSM), Preveza, Greece, 24–26 September 2021; pp. 1–5. [Google Scholar]
  7. Zhang, Q.; Northridge, M.E.; Jin, Z.; Metcalf, S.S. Modeling accessibility of screening and treatment facilities for older adults using transportation networks. Appl. Geogr. 2018, 93, 64–75. [Google Scholar] [CrossRef] [PubMed]
  8. Dees, J.; Geisberger, R.; Sanders, P.; Bader, R. Defining and computing alternative routes in road networks. arXiv 2010, arXiv:1002.4330. [Google Scholar]
  9. Eppstein, D. Finding the k shortest paths. SIAM J. Comput. 1998, 28, 652–673. [Google Scholar] [CrossRef] [Green Version]
  10. Chondrogiannis, T.; Bouros, P.; Gamper, J.; Leser, U. Exact and approximate algorithms for finding k-shortest paths with limited overlap. In Proceedings of the 20th International Conference on Extending Database Technology: EDBT 2017, Venice, Italy, 21–24 March 2017; pp. 414–425. [Google Scholar]
  11. Paraskevopoulos, A.; Zaroliagis, C. Improved alternative route planning. In Proceedings of the ATMOS-13th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems-2013, Sophia Antipolis, France, 5 September 2013; Schloss Dagstuhl―Leibniz-Zentrum fuer Informatik. Volume 33, pp. 108–122. [Google Scholar]
  12. Lim, Y.; Kim, H. A shortest path algorithm for real road network based on path overlap. J. East. Asia Soc. Transp. Stud. 2005, 6, 1426–1438. [Google Scholar]
  13. Schultes, D.; Sanders, P. Dynamic highway-node routing. In International Workshop on Experimental and Efficient Algorithms; Springer: Berlin/Heidelberg, Germany, 2007; pp. 66–79. [Google Scholar]
  14. Pu, J.; Manning, E.; Shoja, G.C.; Srinivasan, A. A new algorithm to compute alternate paths in reliable OSPF (ROSPF). In Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2001), Las Vegas, NV, USA, 25–28 June 2001; pp. 299–304. [Google Scholar]
  15. Bock, J.D.; Verstockt, S. SmarterROUTES—A data-driven context-aware solution for personalized dynamic routing and navigation. ACM Trans. Spat. Algorithms Syst. 2020, 7, 1–25. [Google Scholar] [CrossRef]
  16. UN Habitat. Accessibility of Housing. Available online: https://unhabitat.org/sites/default/files/download-manager-files/Accessibility%20of%20Housing%20_%20web.pdf (accessed on 15 March 2022).
  17. Laskas, P.; Dimitriadis, S.; Koritsoglou, A.; Koritsoglou, K.; Fudos, I. A data model for pedestrian routes. In Proceedings of the 2021 6th South-East Europe Design Automation, Computer Engineering, Computer Networks and Social Media Conference (SEEDA-CECNSM), Preveza, Greece, 24–26 September 2021; pp. 1–4. [Google Scholar]
Scheme 1. Algorithm’s Flowchart.
Scheme 1. Algorithm’s Flowchart.
Information 13 00269 sch001
Figure 1. Use case I graph dataset.
Figure 1. Use case I graph dataset.
Information 13 00269 g001
Figure 2. Shortest (left) and most accessible (right) path between nodes 84 and 245.
Figure 2. Shortest (left) and most accessible (right) path between nodes 84 and 245.
Information 13 00269 g002
Figure 3. Use case II graph dataset.
Figure 3. Use case II graph dataset.
Information 13 00269 g003
Figure 4. Shortest path between nodes 258 and 264.
Figure 4. Shortest path between nodes 258 and 264.
Information 13 00269 g004
Figure 5. Most accessible path between nodes 258 and 264.
Figure 5. Most accessible path between nodes 258 and 264.
Information 13 00269 g005
Figure 6. Use case III graph dataset.
Figure 6. Use case III graph dataset.
Information 13 00269 g006
Figure 7. Shortest path between nodes 401 and 446 and also most accessible path between nodes 401.
Figure 7. Shortest path between nodes 401 and 446 and also most accessible path between nodes 401.
Information 13 00269 g007
Figure 8. Most accessible path between nodes 401 and 446 using 2nd version of the algorithm.
Figure 8. Most accessible path between nodes 401 and 446 using 2nd version of the algorithm.
Information 13 00269 g008
Figure 9. Use case IV graph dataset.
Figure 9. Use case IV graph dataset.
Information 13 00269 g009
Figure 10. Shortest path between nodes 458 and 478 and the most accessible path between them using 1st version of the algorithm.
Figure 10. Shortest path between nodes 458 and 478 and the most accessible path between them using 1st version of the algorithm.
Information 13 00269 g010
Figure 11. Most accessible path between nodes 458 and 478 using 2nd version of the algorithm.
Figure 11. Most accessible path between nodes 458 and 478 using 2nd version of the algorithm.
Information 13 00269 g011
Table 1. k-shortest paths for use case I.
Table 1. k-shortest paths for use case I.
Alternative PathsActual DistanceCrosswalk CounterCalculated Distance V1Total Weight V1Calculated Distance V2Total Weight V2
84, 10, 9, 2, 80, 246, 254, 253, 252, 245353.32442.6518.4621.2697.0
84, 10, 9, 2, 1, 268, 267, 310, 245372.04372.0523.6372.0523.6
84, 85, 81, 9, 2, 1, 268, 267, 310, 245385.24462.3613.9616.5768.1
84, 85, 81, 196, 208, 199, 244, 243, 245432.02640.27161056.61132.4
84, 197, 204, 196, 208, 199, 244, 243, 245432.42641.27171058.81134.6
84, 197, 205, 198, 209, 199, 244, 243, 245438.72438.7514.5438.7514.5
84, 197, 205, 198, 200, 201, 242, 241, 243, 245482.62482.6558.4482.6558.4
84, 10, 9, 81, 196, 208, 199, 244, 243, 245591.62722.7798.5984.91060.7
84, 10, 9, 2, 80, 246, 244, 243, 245592.02592.0667.8592.0667.8
84, 85, 81, 9, 2, 80, 246, 244, 243, 245605.22682.3758.1836.5912.3
Table 2. k-shortest paths for use case II.
Table 2. k-shortest paths for use case II.
Alternative PathsActual DistanceCrosswalk CounterCalculated Distance V1Total Weight V1Calculated Distance V2Total Weight V2
258, 257, 260, 265, 288, 264218.91322.6360.5530.0567.9
258, 262, 260, 265, 288, 264222.51326.2364.1533.6571.5
258, 262, 268, 269, 260, 265, 288, 264244.23347.9461.6555.3669.0
258, 261, 287, 259, 257, 260, 265, 288, 264292.71396.4434.3603.8641.7
258, 261, 346, 354, 353, 336, 263, 264307.42307.4383.2307.4383.2
258, 257, 260, 265, 266, 263, 264370.21475.4513.3685.8723.7
258, 262, 260, 265, 266, 263, 264373.81479.0516.9689.4727.3
258, 262, 268, 269, 260, 265, 266, 263, 264395.53500.7614.4711.1824.8
258, 261, 346, 354, 352, 351, 335, 336, 263, 264417.22417.2493.0417.2493.0
258, 261, 346, 345, 352, 351, 335, 336, 263, 264437.22437.2513.0437.2513.0
Table 3. k-shortest paths for use case III.
Table 3. k-shortest paths for use case III.
Alternative PathsActual DistanceCrosswalk CounterCalculated Distance V1Total Weight V1Calculated Distance V2Total Weight V2
401, 400, 398, 405, 419, 424, 425, 426, 445, 446180.72252.1327.9394.9470.7
401, 402, 409, 414, 423, 422, 421, 424, 425, 426, 445, 446262.72414.6490.4718.4794.2
401, 402, 409, 414, 423, 451, 450, 449, 447, 446263.02305.3381.1389.9465.7
401, 402, 381, 382, 383, 396, 398, 405, 419, 424, 425, 426, 445, 446379.52421.8497.6506.4582.2
401, 400, 398, 405, 419, 424, 421, 422, 423, 451, 450, 449, 447, 446400.22581.2657.0943.21019.0
401, 402, 381, 380, 212, 213, 219, 220, 385, 384, 383, 396, 398, 405, 419, 424, 425, 426, 445, 446462.56504.8732.2589.4816.8
401, 400, 398, 396, 383, 382, 381, 402, 409, 414, 423, 422, 421, 424, 425, 426, 445, 446519.72700.7776.51062.71138.5
401, 400, 398, 396, 383, 382, 381, 402, 409, 414, 423, 451, 450, 449, 447, 446520.02591.4667.2734.2810.0
401, 402, 381, 382, 383, 396, 398, 405, 419, 424, 421, 422, 423, 451, 450, 449, 447, 446599.02750.9826.71054.71130.5
Table 4. k-shortest paths for use case IV.
Table 4. k-shortest paths for use case IV.
Alternative PathsActual DistanceCrosswalk CounterCalculated Distance V1Total Weight V1Calculated Distance V2Total Weight V2
458, 459, 470, 471, 479, 478165.80260.8260.8450.8450.8
458, 746, 750, 757, 756, 755, 754, 729, 752, 748, 499, 478363.83363.8475.4363.8475.4
458, 746, 750, 757, 756, 755, 754, 729, 752, 514, 516, 517, 539, 518, 499, 478415.86415.8639.0415.8639.0
458, 746, 750, 757, 756, 755, 754, 729, 752, 514, 515, 516, 517, 539, 518, 499, 478433.56433.5656.7433.5656.7
458, 746, 750, 757, 777, 812, 807, 817, 810, 809, 526, 525, 524, 515, 514, 752, 748, 499, 478546.36546.3769.5546.3769.5
458, 746, 750, 757, 777, 812, 807, 817, 810, 809, 526, 525, 524, 515, 516, 514, 752, 748, 499, 478560.26560.2783.4560.2783.4
458, 746, 750, 757, 777, 812, 807, 817, 810, 809, 526, 525, 524, 515, 516, 517, 539, 518, 499, 478568.07568.0828.4568.0828.4
458, 746, 750, 757, 777, 812, 807, 814, 818, 817, 810, 809, 526, 525, 524, 515, 514, 752, 748, 499, 478581.16581.1804.3581.1804.3
458, 746, 750, 757, 777, 812, 816, 814, 807, 817, 810, 809, 526, 525, 524, 515, 514, 752, 748, 499, 478581.46581.4804.6581.4804.6
458, 746, 750, 757, 777, 812, 816, 814, 818, 817, 810, 809, 526, 525, 524, 515, 514, 752, 748, 499, 478581.86581.8805.0581.8805.0
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Koritsoglou, K.; Tsoumanis, G.; Patras, V.; Fudos, I. Shortest Path Algorithms for Pedestrian Navigation Systems. Information 2022, 13, 269. https://doi.org/10.3390/info13060269

AMA Style

Koritsoglou K, Tsoumanis G, Patras V, Fudos I. Shortest Path Algorithms for Pedestrian Navigation Systems. Information. 2022; 13(6):269. https://doi.org/10.3390/info13060269

Chicago/Turabian Style

Koritsoglou, Kyriakos, Georgios Tsoumanis, Vaios Patras, and Ioannis Fudos. 2022. "Shortest Path Algorithms for Pedestrian Navigation Systems" Information 13, no. 6: 269. https://doi.org/10.3390/info13060269

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop