Abstract
Path-finding is a fundamental problem in many applications, such as robot control, global positioning system and computer games. Since A* is time-consuming when applied to large maps, some abstraction methods have been proposed. Abstractions can greatly speedup on-line path-finding by combing the abstract and the original maps. However, most of these methods do not consider obstacle distributions, which may result in unnecessary storage and non-optimal paths in certain open areas. In this paper, a new abstract graph-based path-finding method named Genetic Convex A* is proposed. An important convex map concept which guides the partition of the original map is defined. It is proven that the path length between any two nodes within a convex map is equal to their Manhattan distance. Based on the convex map, a fitness function is defined to improve the extraction of key nodes; and genetic algorithm is employed to optimize the abstraction. Finally, the on-line refinement is accelerated by Convex A*, which is a fast alternative to A* on convex maps. Experimental results demonstrated that the proposed abstraction generated by Genetic Convex A*guarantees the optimality of the path whilst searches less nodes during the on-line processing.
Similar content being viewed by others
Abbreviations
- G-CA* :
-
Genetic Convex A*
- CA* :
-
Convex A*
- HPA* :
-
Hierarchical Path-finding A*
- PRM:
-
Probabilistic Road Map
- IDA* :
-
Iterative Deepening A*
- LPA* :
-
Lifelong Planning A*
References
Yahja A, Stentz A, Singh S, Brummit B (1998) Framed-quadtree path planning for mobile robots operating in sparse environments. In: Proceedings of IEEE Conf on Robot and Automat. Leuven, Belgium, pp 650–655
Pettersson PO, Doherty P (2006) Probabilistic roadmap based path planning for an autonomous unmanned helicopter. J Intell and Fuzzy Syst 17(4):395–405
Yan HB, Liu YC (2002) A new algorithm for finding shortcut in a city’s road net based on GIS technology. Chinese J Comput 2000–02:210–215
Korf RE (1985) Depth-first iterative-deepening: an optimal admissible tree search. Artif Intell 27(1):97–109
Korf RE, Reid M, Edelkamp S (2001) Time complexity of Iterative-Deepening-A*. Artif Intell 129(1–2):199–218
Koenig S, Likhachev M, Furcy D (2004) Lifelong Planning A*. Artif Intell 155(1–2):93–146
Botea A, Muller M, Scheaffer J (2004) Near-optimal hierarchical pathfinding. J Game Dev 1(1):7–28
Samet H (1982) Neighbor finding techniques for image represented by quadtrees. Computer Graphic Image Process 18(1):37–57
Kavrali LE, Svestka P, Latombe JC, Overmars HM (1996) Probabilistic roadmaps for path planning in high dimensional configuration spaces. IEEE Trans Robot Automat 12(4):566–580
Holte RC, Mkadmi T, Zimmer RM, MacDonald AJ (1996) Speeding up problem solving by abstraction: a graph oriented approach. Artif Intell 85(1–2):321–361
Sturtevant N, Jansen R (2007) An analysis of map-based abstraction and refinement. In: Proceedings of the 7th SARA. Whistler, Canada, pp 344–358
Demyen D, Buro M (2006) Efficient triangulation-based pathfinding. In: Proceedings of the 21th AAAI. Boston, Massachusetts, pp 942–947
Samuel E, Johan F (2008) Pathfinding with hard constraints—mobile systems and real time strategy games combined. Master Thesis of Blekinge Institute of Technology, Sweden
Sturtevant N, Buro M (2005) Partial pathfinding using map abstraction and refinement. In: Proceedings of the 20th NCAI. Pittsburgh, Pennsylvania, pp 1392–1397
Stout B (2000). The basics of A* for path planning. In: DeLoura M (ed) Game Programming Gems. Charles River Media, Rockland, pp 254–263
Snook G (2000) Simplified 3D movement and pathfinding using navigation meshes. In: DeLoura M (ed) Game programming gems. Charles River Media, Rockland, pp 288–304
Michalewicz Z, Janikow C (1991) Handling constraints in genetic algorithms. In: Proceedings of the 4th ICGA. San Diego, CA, pp 151–157
Chen CJ (2011) Structural vibration suppression by using neural classifier with genetic algorithm. Int J Mach Learn Cyber. doi:10.1007/s13042-011-0053-9
Zhu J, Li XP, Shen WM (2010) Effective genetic algorithm for resource-constrained project scheduling with limited preemptions. Int J Mach Learn Cyber 2(2):55–65
Boehm O, Hardoon DR, Manevitz LM (2011) Classifying cognitive states of brain activity via one-class neural networks with feature selection by genetic algorithms. Int J Mach Learn Cyber 2(3):125–134
Tong DL, Mintram R (2010) Genetic Algorithm-Neural Network (GANN): a study of neural network activation functions and depth of genetic algorithm search applied to feature selection. Int J Mach Learn Cyber 1(1–4):75–87
Wang XZ, He Q, Chen DG, Yeung D (2005) A genetic algorithm for solving the inverse problem of support vector machines. Neurocomputing 68:225–238
Wang XZ, He YL, Dong LC, Zhao HY (2011) Particle swarm optimization for determining fuzzy measures from data. Inform Sci 181(19):4230–4252
Sturtevant N (2010) Pathfinding benchmarks. http://www.movingai.com/benchmarks/index.html. Accessed 19 April 2011
Chen DZ, Szczerba RJ, Uhran JJ (1997) A framed-quadtree approach for determining Euclidean shortest paths in a 2-D environment. IEEE Trans Robot Automat 13(5):668–681
Su P, Li Y, Li WL (2010) A game map complexity measure based on hamming distance. In: Proceedings of PACIIA. Wuhan, Hubei, pp 332–335
Sturtevant N (2007) Memory-efficient Abstraction for Pathfinding. In: Proceedings of the 3rd AIIDE. Stanford, California, pp 31–36
Harabor D, Botea A (2010) Breaking path symmetries on 4-connected grid maps. In: Proceedings of the 6th AIIDE. Stanford, California, pp 33–38
Acknowledgments
This research is supported by National Natural Science Foundation of China (No. 60903088), Natural Science Foundation of Hebei Province (No. F2009000227), Hong Kong PolyU grant (No. A-PJ18), and 100-Tanlent Programme of Hebei Province (No. CPRC002). I would like to take the opportunity to thank Ren Diao and Peter Scully for proof reading the paper; and the reviewers who have provided their critical comments and useful suggestions help in improving the contents.
Author information
Authors and Affiliations
Appendices
Appendix 1
Property 2
If t(i, j) is a free tile in a convex map M , and t(i′, j′) is a free tile adjacent to M , then the length of the shortest path between them is |i − i′| + |j − j′| or |i − i′| + |j − j′| + 2.
Proof
There are four conditions that t(i′, j′) is adjacent to M:
-
1.
If E(t(i′, j′)) ∈ M, then the shortest path between t(i, j) and t(i′, j′) is |i − i′| + |j − (j′ + 1)| + 1. And if j > j′, |i − i′| + |j − (j′ + 1)| + 1 = 0, Otherwise, |i − i′| + |j − (j′ + 1)| + 1 = 2.
-
2.
If W(t(i′, j′)) ∈ M, then the shortest path between t(i, j) and t(i′, j′) is |i − i′| + |j − (j′ − 1)| + 1. And if j < j′, |i − i′| + |j − (j′ − 1)| + 1 = 0, Otherwise, |i − i′| + |j − (j′ − 1)| + 1 = 2.
-
3.
If S(t(i′, j′)) ∈ M, then the shortest path between t(i, j) and t(i′, j′) is |i − (i′ + 1)| + |j − j′| + 1. And if i > i′, |i − (i′ + 1)| + |j − j′| + 1 = 0, Otherwise, |i − (i′ + 1)| + |j − j′| + 1 = 2.
-
4.
If N(t(i′, j′)) ∈ M, then the shortest path between t(i, j) and t(i′, j′) is |i − (j′ − 1)| + |j − j′| + 1. And if i < i′, |i − (i′ − 1)| + |j − j′| + 1 = 0, Otherwise, |i − (i′ − 1)| + |j − j′| + 1 = 2.
The proof of Property 2 indicates that when inserting a tile into the abstract graph, and if the inserted tile is from a convex map, then the shortest path length between the tile and its neighbors could be found by calculation rather than by searching.
Property 3
if t(i, j) and t(i′, j′) are two free tiles adjacent to a convex map M , then the shortest path length between them is |i − i′| + |j − j′| or |i − i′| + |j − j′| + 2 or |i − i′| + |j − j′| + 4.
The proof of Property 3 is similar to the proof of Property 2. To save space, we do not describe it in detail here. It should be noted that in the condition where t(i, j) and t(i′, j′) are directly adjacent to each other, their shortest path length is |i − i′| + |j − j′| = 1.
Property 3 suggests that if two free tiles are adjacent to the same convex map, then the shortest path length could also be calculated from their axis information. Therefore, the weights of edges in the abstract graph are also found by simple calculation instead of searching.
Appendix 2
If the two tiles are both on the same shortcut, then they could be on a straight path, so the refinement algorithm should search the tiles on the shortcut and the tiles within the adjacent convex map. Otherwise, the refined path has to go through the convex map. Table 5 shows the refinement algorithm of G-CA*.
Rights and permissions
About this article
Cite this article
Su, P., Li, Y., Li, Y. et al. An auto-adaptive convex map generating path-finding algorithm: Genetic Convex A* . Int. J. Mach. Learn. & Cyber. 4, 551–563 (2013). https://doi.org/10.1007/s13042-012-0120-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13042-012-0120-x