guo_lie@dlut.edu.cn
Abstract
The time complexity of traditional Dijkstra algorithm is quadratic times of the number of road net nodes, which results in its low
efficiency for path planning. Existing improved Dijkstra algorithms are orientated to static road net nodes and thus influence their
path planning speeds. This paper presented a dynamic road network nodes based Dijkstra algorithm. The road net was simplified
by screening out the corner nodes, cross nodes, T cross nodes as well as those nodes that more than four paths going through of
them. Such nodes of other types were abandoned. The number of road nodes of the optimized road net was decreased which is
helpful to improve the path planning speed. Experiment results indicate that target nodes of a road net can be added and removed
during the path planning process. When planning the same road net, the time consumption of traditional Dijkstra algorithm
increases with the number of the task nodes, while that of the proposed Dijkstra algorithm stays the same even though the number
of task nodes is sharply increased. The feasibility and effectiveness of the proposed Dijkstra algorithm was validated.
Keywords: Path Planning; Dijkstra Algorithm; Dynamic Road Network Nodes; Shortest Path
Dijkstra *
116024
Dijkstra Dijkstra
Dijkstra
T
Dijkstra
Dijkstra Floyd A*
[1]Dijkstra
[2] Huang
[3][4]
Dijkstra
*
61104165DUT13JS02
- 359 http://www.sj-ce.org
Deng [5]
Dijkstra
[6]
Dijkstra
1 Dijkstra
[7]
P(vi , v j ) {vi ,..., vm ,..., vn ,..., v j } vi v j vm vn
P(vm , vn ) vm vn Dijkstra vi
vi
( P ) vi ( T ) T
T P D P
p-1 vi
P(vm , vn ) vm vn vm vn P(vm , vn )
P(vm , vn ) < P(vm , vn )
P(vi , v j ) P(vi , vm ) P(vm , vn ) P(vn , v j ) P(vi , v j )
(1)
P(vi , v j ) vi v j Dijkstra
vi v j
D[vi , v j ] min{L[vi , v j ], L[vi , vk ] Wk j }
(2)
D[vi , v j ] vi v j L[vi , v j ] vi v j Wk j vk
v j
G (V , E,W ) V (v0 , v1,..., vn ) E W
vl vm
U1 {vl } U 2 {v0 , v1,..., vl 1, vl 1,..., vn }
(3)
Step 2 vi U 2 D[vi , v j ] v j v j
U1
2 Dijkstra
2.1
Dijkstra O(n2 )
- 360 http://www.sj-ce.org
[9]
G (V , E, W )
Dijkstra Dijkstra
Dijkstra
n
n n
n O(n2 )
()
O((2 i)2 ),(0 i 2) n n
G (V , E,W ) T
1 P_Style
G (V , E,W )
1
Point_ID
x_Pos
y_Pos
P_Style
c_Pi
1 G (V , E,W )
2 G (V , E,W ) 3
BN
2.2
G (V , E,W ) V V
vi v j
- 361 http://www.sj-ce.org
1. vi V , v j V vi v j V V {v0 , v1 ,..., vn , vi , v j }
2. vi V , v j V vi V V {v0 , v1 ,..., vn , vi }
3. vi V , v j V v j V V {v0 , v1 ,..., vn , v j }
4. vi V , v j V V V {v0 , v1 ,..., vn }
V V S U S vi
U S {vi} U {v0 , v1 ,..., vi 1 , vi 1 ,..., vn}
vl U vk D(vi , vk )
S {vi , vk} U {v0 , v1 ,..., vi 1 , vi 1 ,...,..., vk 1 , vk 1 , vn} U vi vk
U vm D(vi , vk , vm ) D(vi , vm ) vi vm D(vi , vk , vm )
S {vi , vk ,..., v j} S
V V {v0 , v1 ,..., vn }
3
3.1
Dijkstra VC
4
G (V , E,W ) vi , v j CPtrArray
5
Excel 6
5
- 362 http://www.sj-ce.org
16 28
7 8
3.2
14
Dijkstra Dijkstra
50 100 150 200 500 1000
10 9
10 9 50 100 150 200
10 500 1000
- 363 http://www.sj-ce.org
(ms)
(ms)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
1 2 3 4 5 6 7 8 9 10
(ms)
(ms)
1 2 3 4 5 6 7 8 9 10
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
9 Dijkstra Dijkstra 1
10
10
6
5
4
6
5
4
1 2 3 4 5 6 7 8 9 10
(ms)
(ms)
1 2 3 4 5 6 7 8 9 10
10 Dijkstra Dijkstra 2
9 10
2 Dijkstra Dijkstra
()
(ms)
(ms)
(%)
50
0.4611
0.4106
11.0
100
0.5205
0.4097
21.3
150
0.6324
0.4127
34.7
200
0.7737
0.4148
46.4
500
2.5241
0.4106
83.7
1000
8.6421
0.4136
95.3
11
- 364 http://www.sj-ce.org
10
9
8
(ms)
7
6
5
4
3
2
1
0
50
100
150
200
500
1000
11
Dijkstra G (V , E,W )
Dijkstra O(n2 ) n
[2] Dijkstra O( E lg n) E
n O(n2 ) O( E lg n) O((2 I )2 )
n n I Dijkstra
4
Dijkstra Dijkstra
REFERENCES
[1]
[2]
[3]
Yizhen Huang, Qingming Yi, Min Shi. An Improved Dijkstra Shortest Path Algorithm[C]// Proceedings of the 2nd International
Conference on Computer Science and Electronics Engineering, Hangzhou, China, March 2013. Paris: Atlantis Press, 2013:
226-229
[4]
[5]
Yong Deng, Yuxin Chen, Yajuan Zhang, et al. Fuzzy Dijkstra algorithm for shortest path problem under uncertain environment[J].
Applied Soft Computing, 2012, 12(3):1231-1237.
[6]
[7]
[8]
Barbehenn, M. A note on the complexity of Dijkstra's algorithm for graphs with weighted vertices[J]. IEEE Transactions on
Computers, 1998, 47(2):263
[9]
D. Cantone, S. Faro. Two-Levels-Greedy: a generalization of Dijkstras shortest path algorithm[J]. Electronic Notes in Discrete
Mathematics, 2004, 17(2004):81-86
1978-
1986-
2007 6
Email: suujune@163.com
Email: guo_lie@dlut.edu.cn
Email: renzejian2008@163.com
4
1989-
1989-
Email: libing19890910@163.com
- 366 http://www.sj-ce.org