Kỹ thuật phễu tìm đường đi ngắn nhất từ một đỉnh tới tất cả các đỉnh trên bề mặt khối đa diện lồi trong ba chiều

60 84 0
Kỹ thuật phễu tìm đường đi ngắn nhất từ một đỉnh tới tất cả các đỉnh trên bề mặt khối đa diện lồi trong ba chiều

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

VIETNAM NATIONAL UNIVERSITY, HANOI VNU UNIVERSITY OF SCIENCE DONG VAN VIET FUNNEL TECHNIQUE FOR FINDING SHORTEST PATHS FROM A FIXED SOURCE POINT TO ALL DESTINATION POINTS ON A CONVEX POLYHEDRAL SURFACE IN R3 MASTER THESIS IN MATHEMATICS HANOI - 2017 VIETNAM NATIONAL UNIVERSITY, HANOI VNU UNIVERSITY OF SCIENCE DONG VAN VIET FUNNEL TECHNIQUE FOR FINDING SHORTEST PATHS FROM A FIXED SOURCE POINT TO ALL DESTINATION POINTS ON A CONVEX POLYHEDRAL SURFACE IN R3 Major: Applied Mathematics Code: 60 46 01 12 MASTER THESIS IN MATHEMATICS Supervisor: Assoc Prof Dr Phan Thanh An HANOI - 2017 Contents Acknowledgements List of symbols Introduction Preliminaries 1.1 The length of a path 1.2 The space of paths 1.3 The length metric 1.4 Polyhedral convex sets Shortest paths on a polyhedral surface 2.1 Shortest paths on a polyhedral surface 2.1.1 Problem statement 2.1.2 Unfolding technique 2.1.3 Properties of shortest paths on convex polyhedral surfaces 2.2 Chen and Han’s algorithm 2.2.1 Projection technique 2.2.2 Sequence tree 2.2.3 The algorithm 2.3 An implementation of Chen and Han’s algorithm Funnel technique for finding shortest paths 3.1 Definition of funnels 3.2 Funnel tree 3.3 The algorithm 3.4 Examples 3.5 A military path planning algorithm 6 11 13 16 16 16 17 19 22 22 24 25 30 32 32 39 40 49 51 Conclusions 56 References 57 Acknowledgements First of all, I would like to express my most sincere gratitude and appreciation to my supervisor Phan Thanh An The work on this thesis could not have been started if it were not for the generous support and the detail guide provided by my instructor I am indebted to his advice during time of writing this thesis He provided helpful feedback, support and valuable advice in writing this thesis There are many people who have provided me with their insightful comments and generously shared their document and knowledge I would like to thank, in particular, Assoc Prof Dr Tran Van Hoai, Mrs Phong Thi Thu Huyen, Mrs Nguyen Thi Le, for their advice I want to show my gratitude to all teachers from Faculty of Mathematics, Mechanics, and Informatics, who had taught me a lot of knowledge through years In the process of doing this thesis, I received much important encouraging factor and support from university, teachers, and friends I would like to thank those people who have contributed significantly to this thesis Last but not least, I would like to thank my family for their support over the years List of symbols [a, b] A closed line segment joining a and b ]a, b] [a, b]\{a} E A sequence of common edges F A sequence of adjacent triangles Fp,q,F A funnel along F associated with [p, q] fk A triangular face of a polyhedron fk The unfolded image of fk (f1 , , fm ) A sequence of adjacent triangles γ A path in a metric space L(γ) The length of a path γ P rojes The projection of s on edge e S The surface of a polyhedron (s, s, P rojes ) A node of a sequence tree π(a, b) The shortest path connecting a and b πF (a, b) The shortest path connecting a and b along F Introduction The single source shortest path problem which asks computing the exact shortest paths from a fixed source point to all the other points on a polyhedral surface is a well-studied problem in computational geometry It has many application areas such as path planning for the movement of vehicles, robots, geographic information systems and navigation Sharir and Schorr [13] first presented an O(n3 logn) algorithm that runs on the surface of a convex polytope, where n is the vertices of the polytope The algorithm was subsequently improved by Mount [9] to O(n2 log n) time using what the author called the “continuous Dijskstra” technique Chen and Han [4] provided an O(n2 ) algorithm for single source shortest path problem on nonconvex polytope which deviates from the conventional “continuous Dijskstra” technique Chen and Han’s algorithm is conceptually simple It builds a tree, called sequence tree, using planar unfolding technique and projection method The simplicity comes from a new observation of “one angle one split" which results in upper bounding the number of branches in the sequence tree The algorithm is particularly interesting and receives much attention and improvement The algorithm was implemented and published by Kaneva and O’Rourke [5] In [2], An introduced the concept of funnels along sequence of triangles in three-dimensional space and straightest geodesics inside a sequence of triangles The concept of straightest geodesics along sequence of triangles are modified from the concept of straightest geodesics on a polyhedral surface of Polthier and Schmies [11] These concepts are used to compute the exact shortest path between two points along sequence of triangles, by constructing a sequence of funnels In this thesis, the concepts of funnels and funnel trees on the surface of a polytope given by An in [3] are used to compute all shortest paths from the fixed source point to any destination points on a polyhedral surface The structure of funnel tree including all shortest paths is modified from Chen and Han’s algorithm [4] However, the main difference between Chen and Han’s algorithm and An’s method is that we not use the planar unfolding technique and the concept of source images and the projections of ones An’s algorithm (Algorithm 5) builds the funnel tree of funnels without planar unfolding technique Consequently, the number of operations in An’s algorithm is relatively small comparing with the number of operations in Chen and Han’s algorithm The algorithm takes O(m2 ) time, where m is the number of faces of the polytope The contents of this thesis are organized as follows Chapter reviews the main definitions of paths, length of paths and polyhedral convex sets There always exists a path of minimal length between arbitrary two points in a metric space In Chapter 2, our aim is to prove some interesting properties of shortest paths on a convex polyhedral surface Then we present Chen and Han’s algorithm and an implementation of Kaneva and O’Rourke for Chen and Han’s algorithm We propose a new shortest path algorithm using funnel technique in Chapter Comparing to Chen and Han’s shortest path algorithm, An’s algorithm skips the unfolding steps Instead of building a sequence tree, a funnel tree is built Therefore the proposed algorithm theoretically outperforms in the step of planar unfolding The results in this thesis were presented at the seminar of the Department of Numerical Analysis and Scientific Computing, Institute of Mathematics, VAST, Hanoi on November 8, 2017, and were submitted to the 7th International Conference on High Performance Scientific Computing, 2018 – Hanoi, Vietnam Hanoi, November 1st, 2017 Dong Van Viet Chapter Preliminaries In this chapter, we review the definition of paths, length of paths in a metric space based on [10] and the definition of polyhedral convex sets based on [14] The most important result here to remember says that there always exists a path of minimal length between arbitrary two points in a metric space 1.1 The length of a path Let X be a metric space We denote by d(x, y) the distance between two points x and y of X We also use the notation d(x, y) = |x − y| Definition 1.1.1 ([10]) A path in X is a continuous map γ : [a, b] → X , where a and b are two arbitrary real numbers satisfying a < b If γ(a) = x and γ(b) = y , then we say that x and y are the endpoints of γ , and that γ joins the points x and y A partition, denoted by σ , of a closed interval [a, b] is defined to be a finite sequence (ti )i=0, ,n of real numbers satisfying a = t0 < t1 < · · · < tn = b, where n ≥ Definition 1.1.2 (The length of a path, [10]) The length of a path γ : [a, b] → X is the quantity n−1 |γ(ti ) − γ(ti+1 )|, LX (γ) = L(γ) = sup σ i=0 where the supremum is taken over the set of partition σ = (ti )i=0, ,n of [a, b] A path is said to be rectifiable if its length is finite Example 1.1.3 Let X = R3 equipped Euclidean norm For all x and y in R3 , let γ : [0, 1] → R3 be a path joining x and y in R3 defined by γ(t) = (1 − t)x + ty Then we have L(γ) = x − y Proof For all t1 and t2 satisfying ≤ t1 ≤ t2 ≤ 1, we have |γ(t1 ) − γ(t2 )| = (1 − t1 )x + t1 y − (1 − t2 )x − t2 y = (t2 − t1 )x + (t1 − t2 )y = (t2 − t1 ) x − y Thus, if σ = (ti )i=0, ,n is an arbitrary partition of [0, 1], we have n−1 n−1 |γ(ti ) − γ(ti+1 )| = i=0 (ti+1 − ti ) x − y = x − y i=0 Taking the supremum over all partition, we obtain n−1 |γ(ti ) − γ(ti+1 )| = x − y L(γ) = sup σ i=0 Proposition 1.1.4 ([10]) Let γ : [a, b] → X be a path, we obtain the following inequality |x − y| ≤ L(γ), where x = γ(a) and y = γ(b) are the endpoints of γ Thus, the length of a path is bounded below by the distance between its endpoints Proof Let P be the set of all partition of [a, b] For each partition σ = {t0 , , tn } ∈ P , set n−1 |γ(ti ) − γ(ti+1 )| Lσ := i=0 σ∗ Let = {a, b} ∈ P be a trivival partition of [a, b], then from the definition of the length of a path we have L(γ) = sup Lσ ≥ Lσ∗ = |γ(a) − γ(b)| = |x − y| σ∈P Let Γ be the set of all paths γ : [a, b] → X that join x and y Definition 1.1.5 The shortest path joining x and y in X is a path, denoted by γ ∗ , that satisfies L(γ ∗ ) = inf {L(γ)} γ∈Γ In the next section, we shall see that for arbitrary two points x and y in X , there always exists a shortest path joining them But first we need some definitions that will be used in the next section Definition 1.1.6 ([10]) Let γ : [a, b] → X be a rectifiable path We say that γ is parametrized by arclength if for all u and v satisfying a ≤ u ≤ v ≤ b, we have v − u = L(γ|[u,v] ) Definition 1.1.7 ([10]) Let γ : [a, b] → X be a path We say that γ is parametrized proportionally to arclength if either γ is a constant path, or there exists a path γ : [c, d] → X which is parametrized by arclength and which satisfies γ = γ ◦ ψ , where ψ : [a, b] → [c, d] is the map defined by ψ(x) = (d − c)x + (bc − ad) b−a Proposition 1.1.8 ([10]) Let γ : [0, 1] → X be a path parametrized proportionally to arclength Then γ is an L(γ)-Lipschitz map Proof If γ : [0, 1] → X is a constant path, then the conclusion follows trivivally Now suppose that γ = γ ◦ ψ , where γ : [c, d] → X is a path that is parametrized by arclength and where ψ : [0, 1] → [c, d] is defined by ψ(x) = (d − c)x + c Then, for all u and v satisfying ≤ u ≤ v ≤ 1, we have |γ(u) − γ(v)| = |γ (ψ(u)) − γ (ψ(v))| ≤ L(γ |[ψ(u),ψ(v)] ) = ψ(v) − ψ(u) (using Proposition 1.1.4) (since γ is parametrized by arclength) = (d − c)v − (d − c)u = (d − c)(v − u) = L(γ )(v − u) = L(γ)(v − u) two children It follows that two these funnels of the funnel tree have the following property: funnels Fv,q,F , and Fp,v,F1 (or funnels Fp,v,F , and Fv,q,F1 have an overlap area It follows that two shortest paths from the same source s intersect each other at a point in the this overlap area (see Figure 3.12) This is a contradiction as two shortest paths can not intersect each other unless at the source point or destination point Thus, at most one of funnels Fp,q,F and Fp,q,F1 can have two children Next, we indicate that which funnel can have two children We consider the followings: 2) If l < l1 then we prove that Fp,q,F1 has one child and we let Fp,q,F have two children Indeed, we unfold F and F1 on the plane of pqv and suppose that s, s1 are images of s on the plane of pqv It follows from F = F1 and Lemma 3.3.2 that ∠pvz = ∠pvz1 2)i) If ∠pvz > ∠pvz1 then by Lemma 3.3.1, l([s, x]) < l([s1 , x]) for all x ∈ [v, q] We are in position to prove that the funnel Fv,q,F is deleted Assume that Fv,q,F and Fv,q,F occupy some vertex y of the polyhedron, where vqy and pqv have the same common edge [v, q] It follows that l(πF ∪ vqy (s, y)) < l(πF1 ∪ vqy (s, y)) Then, the funnel Fv,q,F1 is deleted 2)ii) If ∠pvz < ∠pvz1 then again, by Lemma 3.3.1, l([s, x]) < l([s1 , x]) for all x ∈ [p, v] We are in position to prove that the funnel Fp,v,F1 is deleted Assume that Fp,v,F1 and Fp,v,F occupy some vertex w of the polyhedron, where pvw and pqv have the same common [p, v] It follows that l(πF ∪ vpw (s, w)) < l(πF1 ∪ vpw (s, w)) Then, the funnel Fp,v,F1 is deleted 3) Similarly, if l1 < l, Fp,q,F1 has two children while Fp,q,F has only one child which can be used to define the funnel tree 4) Finally, if l = l1 then Fp,q,F ties Fp,q,F1 If ∠pvz > ∠pvz1 (∠pvz < ∠pvz1 , respectively) then, as seen in Figure 3.13, Fv,q,F and Fp,v,F1 (Fp,v,F and Fv,q,F1 , respectively) are not overlap then Fv,q,F and Fp,v,F1 (Fp,v,F and Fv,q,F1 , respectively) can be used to define the funnel tree 44 Figure 3.13: ∠pvz > ∠pvz1 implies that Fv,q,F and Fp,v,F1 are not overlap then Fv,q,F and Fp,v,F1 can be used to define the funnel tree We now consider whether Fv,q,F1 (Fp,v,F , respectively) is not a child of the funnel Fp,q,F1 (Fp,q,F , respectively) 4)i) If ∠pvz > ∠pvz1 then by Lemma 3.3.1, l([s, x]) < l([s1 , x]) for all x ∈ ]v, q] and l([s, x¯]) > l([s1 , x¯]) for all x¯ ∈ ]v, p] Assume that Fv,q,F1 and Fv,q,F occupy some vertex y of the polyhedron, where vqy and pqv have the same common [v, q] and Fp,v,F and Fp,v,F1 occupy some vertex w of the polyhedron and vpw and pqv have the same common [v, p] It follows that l(πF ∪ vqy (s, y)) < l(πF1 ∪ vqy (s, y)) vpw (s, w)) < l(πF ∪ vpw (s, w)) and l(πF1 ∪ Then, the funnels Fv,q,F1 and Fp,v,F are deleted 4)ii) If ∠pvz < ∠pvz1 then again, by Lemma 3.3.1, l([s, x]) > l([s1 , x]) for all x ∈ ]v, q] and l([s, x¯]) < l([s1 , x¯]) for all x¯ ∈ ]v, p] Assume that Fv,q,F1 and Fv,q,F occupy some vertex y of the polyhedron, where vqy and pqv have the same common [v, q] and Fp,v,F and Fp,v,F1 occupy some vertex w of the polyhedron, where vpw and pqv have the same common [v, p] It follows that l(πF ∪ vqy (s, y)) > l(πF1 ∪ vqy (s, y)) vpw (s, w)) > l(πF ∪ vpw (s, w)) and l(πF1 ∪ 45 Then, the funnels Fv,q,F and Fp,v,F1 are deleted Remark 3.3.4 ([3]) By Lemma 3.3.3, we only let the funnel which is the closest to the direct destination fork into two children This property is called “one direct destination one split” If we maintain this technique in the funnel tree, the number of leaves at each level of the tree will be reduced to O(m), because there are O(m) direct destinations in the polyhedron Procedure Clip off Funnels( pqv, F, F1 ) below executes the three cases 2) - 4) of Lemma 3.3.3 It compares two funnels Fp,q,F and Fp,q,F1 on the same edge [p, q] and having the same direct destination v of the triangle pqv to determine which children of these two funnels are deleted Procedure Clip off Funnels( pqv, F, F1 ) [3] 1: Let F = F ∪ pqv, F1 = F1 ∪ 2: Let l (l1 , respectively) be the length of the path πF (s, v) (πF1 (s, v), respec- pqv tively) 3: 4: if l < l1 if ∠pvz > ∠pvz1 then delete child Fv,q,F1 of Fp,q,F1 5: 6: else if ∠pvz < ∠pvz1 then delete child Fp,v,F1 of Fp,q,F1 7: 8: 9: if l1 < l then delete child Fp,v,F of Fp,q,F else if ∠pvz < ∠pvz1 then delete child Fv,q,F of Fp,q,F 12: 13: 14: 15: 16: 17: applying Lemma 3.3.3 3) if ∠pvz > ∠pvz1 10: 11: applying Lemma 3.3.3 2) else applying Lemma 3.3.3 4) if ∠pvz > ∠pvz1 then delete child Fp,v,F of Fp,q,F and child Fv,q,F1 of Fp,q,F1 else if ∠pvz < ∠pvz1 then delete child Fv,q,F of Fp,q,F and child Fp,v,F1 of Fp,q,F1 We now ready to present an algorithm for building the sequence tree 46 Similar to [4], the following algorithm builds the funnel tree by recursively splitting funnels Each node of the tree other than the root may have one child or two children If it has two children then call Procedure to delete nodes and their subtrees that are not used to determine shortest paths Algorithm Funnel tree for finding shortest paths [3] Require: A point s on a polyhedral surface Ensure: The funnel tree with root s that contains the shortest paths from s to all vertices of the surface 1: root := s 2: for all the edge [p, q] opposite to s 3: insert Fp,q,F = 4: for i := to m 5: spq as root’s children m is the number of faces for all funnel Fp,q,F at the ith level 6: for direct destination v of the funnel Fp,q,F , set F = F ∪ 7: determine extended funnels Fp,v,F and Fv,q,F 8: if Fp,q,F has one child 9: 10: pqv then insert that child as Fp,q,F ’s child if Fp,q,F has two children Fp,v,F , Fv,q,F 11: if ∠pvq is previously marked by another funnel, called Fp,q,F1 12: then call Procedure Clip off Funnels( pqv, F, F1 ) 13: 14: 15: else insert both children of Fp,q,F and mark ∠pvq if Fp,q,F has no child then insert Fp,q,F as Fp,q,F ’s child Lemma 3.3.5 ([3]) All extended funnels that contain shortest paths starting from s are among the extended funnels computed in Algorithm Proof Let v be an arbitrary vertex on the surface of the polyhedron Because the polyhedron is convex, there always exists at least on shortest path π(s, v) from s to v on the polyhedral surface Let F be the sequences of triangles that contains π(s, v) Because the number of faces is finite, 47 the number of triangles in F is finite, the number of direct destinations (vertices) is also finite For a funnel Fp,q,F ∗ (F ∗ ⊂ F), and for a direct destination u ∈ F of Fp,q,F ∗ , the algorithm calculates extended funnels, updates F ∗ = F ∗ ∪ pqu, and then move on the next direct destination in the next level Therefore, after finite steps when vertex v is reached, a funnel Fv,q,F having πF (s, v) as the left border is formed Assume for the purpose of contradiction that Fv,q,F is deleted by Procedure of Algorithm 5, then there exists a shorter path from s to v along the surface of the polyhedron This contradicts with πF (s, v) is the shortest path from s to v on the polyhedral surface Therefore, the lemma is proved By Lemma 3.3.3, we only let the funnel which is the closest to the extended vertex fork into two children If we maintain “one direct destination one split" in our funnel tree, the number of leaves of the tree at each level will be reduced to O(m) Theorem 3.3.6 ([3]) Algorithm computes all shortest paths on a triangulated polyhedron surface S from s to the other vertices of S in O(m2 ) time, where m is the number of faces Proof The correctness: For i = 1, the tree consists of triangles incident to s, which is in fact the shortest paths from s to all vertices of those triangles The tree grows by exploring new vertex and updating shorter path lengths Incrementing i for the next iteration of for loop in line and determing new funnels then preserve the loop invariant The for terminate when no new funnel can be found, then no shortest path can be found By Lemma 3.3.5 the tree contains all shortest paths from s to all vertices of the polyhedron For m is the number of faces of the polyhedron, the number of leaves of the tree at is level is O(m) For each leaves, computing extended funnels and comparing to other funnel take constant time Hence, it takes O(m) time to generate the next level of the tree The number of face is O(m) Hence the length of the funnel tree is O(m) Therefore the time complexity of Algorithm is O(m2 ) Because the number m of faces is finite, Algorithm terminates after a finite number of steps 48 In comparing with Chen and Han’s algorithm, An’s algorithm has the same time complexity since structure of funnel tree is modified from Chen and Han’s sequence tree However, the main difference between Chen and Han’s algorithm and our method is that we not use the planar unfolding technique and the concept of source images and the projections of ones The projection method generates two straight “borders” while funnels only require one straightest geodesic border Using funnels, we can give directly the answer for the length of shortest paths 3.4 Examples Example 3.4.1 Take the convex polyhedron with 12 vertices and 20 faces as in Example 2.3.1 Similarly, take vertex as the root, we perform computing shortest paths using funnel technique and funnel tree Figure 3.14: A convex polyhedron with 12 vertices and 20 faces from Example 2.3.1 Using Algorithm 5, the funnel tree is built and is illustrated in Figure 3.15 For each funnel Fp,q , the number below it indicates the length of the locally shortest path from the root s ≡ to vertex p The numbers in red are the length of shortest paths along the polyhedral surface For example, the shortest path from to has length 0.768, the shortest path from to 10 has length 1.726, the shortest path from to has length 2.147 The shortest path from to passes to the sequence of edges 49 {[5, 4], [5, 11], [6, 11]} (the edge [6, 11] does not appear in the funnel tree because the angle ∠056 ≥ π , then we make F5,11 is a child of itself) Figure 3.15: The funnel tree computed by Algorithm We use JavaView software to check the results Figure 3.16 illustrates the shortest paths from vertex to vertices 6, 8, 11 extracted from the funnel tree Comparing with the results of Example 2.3.1, our results are the same 50 Figure 3.16: The shortest paths from vertex to vertices 6, 8, 11 extracted from the funnel tree 3.5 A military path planning algorithm Path planning problem for military applications such as for robots or unmanned autonomous agents in combat situations is to plan a safe and efficient path from a specified origin to destination This problem has become a popular resrearch topic in recent years and is stated as follows Problem ([7]) Require: Given a scenario that there exists a terrain, a robot, enemies, an origin and a destination Ensure: Plan a path to reach the destination from the origin without being shot by the enemies In the scope of paper [7], the enemies are supposed to be located at fixed locations on the given terrain The enemies can shoot the robot when it is located within a certain distance er from the enemy location Also, the robot has a certain distance range rr through which it can identify an enemy location That means the robot cannot identify enemy locations that are located at a distance greater than rr Therefore, the robot range rr should be greater than enemy range er , otherwise the robot will be shot by the enemies 51 A terrain is a set of sparsely distributed points over a region Each point has Cartesian coordinates (xi , yi , zi ) These points try to represent the actual ground as close as possible The points that are distributed on the actual ground are joined by lines such that they form small triangles The triangles are formed using Delaunay’s triangles Then, we can view the terrain as a graph whose nodes are joined by lines The objective here is to find a path with length as short as possible In [7], Jha et al gave a solution for Problem as follows Using shortest path algorithms for graphs such as Floy’s algorithm, the shortest path from any node to any other node can be calculated When the shortest path from any node to any other node is obtained, the robot can reach its destination using the shortest path While the robot is moving forward, it keeps on scanning for the enemy locations within a circle around it with a radius er1 (er < er1 < rr ) If an enemy location is found, the robot marks all the lines that overlap or are within the circle with radius er1 with enemy location as the centre These links are deemed infeasible for the robot to travel Therefore, it will remove these lines from the graph The robot now comes back to the previous node that it just crossed and with that node as the starting point the robot now calculates the shortest path to reach the destination This process is repeated until the destination is reached In conclusion, we have the following algorithm given by Jha et al [7] 52 Algorithm Military path planning Require: A terrain, robot, enemies, and origin and destination Ensure: A path to reach the destination from origin without being shot by the enemies 1: Identify origin and destination nodes 2: Assign the robot at origin 3: Find the shortest path from origin to destination 4: Look for the enemies that are within the distance er1 from the robot 5: If an enemy location is found then go to step 6, else the robot reaches the destination without getting shot by the enemies 6: Mark all the lines that overlap or are within the circle of radius er with an enemy location as the center, and remove the lines from the graph 7: Assign the robot to the last visited node This now becomes the new origin 8: Repeat steps to until the destination is reached This algorithm is developed in Matlab by Jha et al [7] For example, there are two enemy locations, one at node and another along the line joining node and node 11 (see Figure 3.17(a)) The robot objective is to start from node and reach node 13 without getting shot Using Floy’s algorithm, the shortest path was found to be 9-10-11-13 While scanning the line 10-11, the algorithm found an enemy located on line 7-11 (see Figure 3.17(a)) 53 Figure 3.17: (a) Origin, destination, enemy locations, robot and their shooting ranges (b) Robot finding an enemy location without being detected by the enemies The algorithm removes lines 7-11, 11-13, 11-14, 11-15, 11-10 from the graph The robot now comes back to node 10, the new origin At this point, the shortest path is found to be 10-7-12-13 On this path there are no enemies and hence the robot safely reaches its destination (see Figure 3.18) Figure 3.18: A revised shortest path is obtained for the new graph 54 We see that the solution given by Jha et al for Problem is a path going on the edges of terrain If the path goes through the interior of triangles, then we may obtain a shorter path Our aim is using the concept of funnels and funnel tree to find a path going through the interior of triangles Furthermore, the terrains are not convex in general Algorithm has to be modified so that it can run in nonconvex case They are new problem for studying in the future Lemma 3.3.3 says that given two node on them same oriented edge which occupy a common vertex, then at most one of these funnels can have two children which can be used to define the funnel tree The observation helps to reduce the size of funnel tree But we can reduce the size of tree more by using Property 2.1.7 (iii) which says that two shortest paths can not intersect each other unless at the source point of the destination point We will investigate more on this aspect of shortest paths to reduce the size of the funnel tree Our try to a C++ implementation of Algorithm has not been done We are still working and hope that task will be done in near future 55 Conclusions In this thesis we present a new algorithm using the concept of funnels and funnel tree for computing shortest paths on convex polyhedral surfaces in three dimensions Specifically: • We review the definition of paths, length of paths in a metric space and the definition of polyhedral convex sets There always exists a path of minimal length between arbitrary two points in a metric space • In Chapter 2, we present some interesting properties of shortest paths on convex polyhedral surfaces that are given in [1] From these properties and the key observation of “one angle one split", Chen and Han used the planar unfolding technique and the projection method to built sequence trees containing shortest paths We also present the implementation of Kaneva and O’Rourke [5] for Chen and Han’s algorithm • Finally, we present An’s algorithm for Problem using funnel tech- nique and funnel tree given in [1, 2, 3] Comparing to Chen and Han’s shortest path algorithm, An’s algorithm ([3]) skips the unfolding steps Therefore the proposed algorithm theoretically outperforms in the step of planar unfolding The example is visualized in JavaView software 56 References [1] P T An (2017), Optimization Approaches for Computational Geometry, NXB Khoa học Tự nhiên Công nghệ, Vietnam Academy of Science and Technology, ISBN: 9786049135736 [2] P.T An (2018), “Finding shortest paths in a sequence of triangles in 3D by method of orienting curves”, Optimization, 67, pp 159–177, http://dx.doi.org/10.1080/02331934.2017.1387260 [3] P.T An, T.V Hoai, D.-S Kim, K Polthier, and D.V Viet, “Funnel Technique for Finding Shortest Paths from a Fixed Source Point to all Destination Points on a Convex Polyhedral Surface”, 7th International Conference on High Performance Scientific Computing, 2018 – Hanoi, Vietnam, submitted [4] J Chen and Y Han (1996), “Shortest paths on a polyhedron”, International Journal of Computational Geometry & Application, 6, pp 127–144 [5] B Kaneva and J O’Rourke (2000), “An implementation of Chen & Han’s shortest paths algorithm”, Proceedings of the 12th Canadian Conference on Computational Geometry, New Brunswick, pp 139– 146 [6] JavaView software (Interactive 3D Geometry and Visualization) at the link: http://www.javaview.de/ [7] M K Jha, G A Karri, and M.-W Kang (2010), “A Military Path Planning Algorithm Using Visualization and Dynamic GIS”, CEA’10 Proceedings of the 4th WSEAS international conference on Computer engineering and applications, pp 188–193 57 [8] J S B Mitchell , D M Mount and C H Papadimitriou (1987), “The discrete geodesic problem”, SIAM Journal on Computing, 16 (4), pp 647–668 [9] D M Mount (1985), “On finding shortest paths on convex polyhedra”, Technical Report 1495, Department of Computer Science, University of Maryland, College Park [10] A Papadopoulos (2014), Metric Spaces, Convexity and Non-positive Curvature, Second edition, European Mathematical Society Publishing House [11] K Polthier and M Schmies (1998), “Straightest Geodesics on Polyhedral Surfaces”, in H C Hege and K Polthier, Editors, Mathematical Visualization, Springer Verlag, Heidelberg, pp 135–150 [12] R T Rockafellar (1996), Convex Analysis, Princeton University Press [13] M Sharir and A Schorr (1986), “On shortest paths in polyhedral spaces”, SIAM Journal on Computing, 15(1), pp 193–215 [14] H Tuy (1998), Convex Analysis and Gloabal Optimization, Kluwer Academic Publishers 58 ... review the definition of paths, length of paths in a metric space based on [10] and the definition of polyhedral convex sets based on [14] The most important result here to remember says that... instructor I am indebted to his advice during time of writing this thesis He provided helpful feedback, support and valuable advice in writing this thesis There are many people who have provided... that it can have only finitely many tangent closed halfspaces Hence C is polyhedral Remark 1.4.9 Base on the fundamental representation theorem for convex sets, a polyhedron is completely determined

Ngày đăng: 09/11/2019, 00:05

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan