1 Introduction
Finding a path in a graph is a fundamental problem in computer science. Typically, algorithms that compute paths in graphs have at their disposal knowledge of the whole graph. The problem of finding a path in a graph is more difficult in the online setting, when the routing algorithm must explore the graph as it attempts to find a path. Moreover, the situation is even more challenging if the routing algorithm only has a constant amount of working memory, i.e. it can only remember a constant size subgraph of the portion of the graph it has explored. Specifically, an online routing algorithm attempting to find a path from one vertex to another is called local if at each step, the only information it can use to make its forwarding decision is the location of the current vertex and its neighbouring vertices, plus a constant amount of additional information.
For a routing algorithm and a given graph from a class of graphs, let be the path found by from to . The class of graphs we focus on are a subclass of weighted geometric graphs. A weighted geometric graph consists of a set of points in the plane and a set of (directed or undirected) edges between pairs of points, where the weight of an edge is equal to the Euclidean distance between its endpoints (i.e., distance in the metric). For a pair of vertices and in , let be the shortest path from to in , and let be the length of with respect to the metric. The spanning ratio of a graph is the minimum value such that over all pairs of points and in . A graph is called a spanner, or just a spanner, if its spanning ratio is at most some constant . The routing ratio of a local online routing algorithm on is the maximum value such that for all and all pairs and in . When is a constant, such an algorithm is called competitive on the class . Note that the routing ratio on a class of graphs is an upper bound on the spanning ratio of , since the routing ratio proves the existence of a boundedlength path.
1.1 graphs
Let be an integer and for each with , let be the ray emanating from the origin that makes an angle of with the negative axis. For each with , let be the cone consisting of all points in the plane that are on or between the rays and . The graph of a given set of points is the directed graph that is obtained in the following way. The vertex set is the set . Each vertex has at most outgoing edges: For each with , let be the cone obtained by translating such that its apex is at . If contains at least one point of , then let be such a point whose perpendicular projection onto the bisector of is closest to (where closest refers to the Euclidean distance). Then the graph contains the directed edge . See Figure 1 for an example with .
graphs were introduced simultaneously by Keil and Gutwin[16, 17], and Clarkson[15]. Both papers gave a spanning ratio of , where is the angle defined by the cones. Ruppert and Seidel[21] improved this to , but note this only applies to graphs with . Bose et al. [6] give a tight bound of for . In the same paper are the current best bounds on the spanning ratio of a large range for values of . For , Bose et al. [10] show a spanning ratio of , and a lower bound of . For , Barba et al. [1] showed a spanning ratio of , with a lower bound of . For , Nawar M. El Molla [19] showed that there is no constant for which is a spanner.
1.2 Local Routing
There is an intimate connection between graphs and variants of the Delaunay triangulation. For example, the existence of an edge in a graph implies the existence of an empty triangle containing the edge (refer to Fig. 1). In a Delaunay triangulation, the existence of an edge implies the existence of an empty disk containing the edge (or some empty convex shape when considering variants of the Delaunay graph). Moreover, the Delaunay graph where the empty convex shape is an equilateral triangle (this is often referred to as the TDDelaunay graph [4]) is a subgraph of the graph.
Local Routing has been studied extensively in variants of the Delaunay graph as well as graphs (see [9, 5, 18, 14, 13, 8, 20, 12, 11]). Chew [14] proved that the Delaunay graph has bounded spanning ratio by providing a local routing algorithm whose routing ratio is at most . Bonichon et. al [3] later generalized this approach to Delaunay graphs giving a local routing algorithm with routing ratio at most . This has been recently improved to by using a different local routing algorithm [2]. Bose and Morin[9] explore some of the theoretical limitations of routing, as well as providing the first deterministic competitive routing algorithm on the Delaunay graphs. Bose et. al[7] showed that the TDDelaunay graph, has a routing ratio of , and this was shown to be tight. Since the spanning ratio of this graph is , this is the first result showing a separation between routing and spanning ratios.
For graphs, there is a simple routing algorithm called conerouting that is competitive for . To route from a vertex to a vertex , let be the cone of that contains . We forward the packet from to its neighbour in . Let , then for cone routing gives a routing ratio of . Cone routing also has the advantage of only utilizing outgoing edges, so each vertex needs only to store the location of at most neighbours. For , conerouting does not necessarily give a short path, however, for , Bose et al. [7] show that a different local online routing algorithm gives a routing ratio of . There are currently no known competitive routing algorithms for and .
1.3 Our Results
In this paper we improve the upper bound of the spanning ratio of from to . We do this by providing a local online routing algorithm with a routing ratio of at most . This is the first local routing algorithm on graphs for , bringing us one step closer to obtaining competitive routing strategies on all graphs with . The algorithm is simple, and only uses knowledge of the destination vertex, the current vertex , the neighbours of , and one bit of additional information. Additionally, like conerouting, we route using only outgoing edges, so each vertex only needs to store the location of its at most 4 outgoing neighbours. For the remainder of the paper, all edges are considered directed outgoing edges from to , and when we refer to the neighbour of a vertex in a cone , we are referring to the outgoing edge of .
The rest of the paper is organized as follows. Section 2 gives the details of the routing algorithm that is used to navigate the graph. In Section 3 we analyze the length of the path found by the algorithm, and show an upper bound of on the routing ratio. In Section 4 we give an example of a path that shows this approach cannot do any better than a routing ratio of . Section 5 concludes the paper and gives some directions for future work.
2 Algorithm
In this section, we present our 17competitive local online routing algorithm on graphs. Before doing so, we introduce some notation. We label the cones of each vertex starting with the bottom right cone, which is cone , and number the cones incrementally in the counterclockwise direction. Let be a point in the plane, and let be the line through with slope . Similarly let be the line through with slope . We refer to these as the diagonals of . See Fig. 2(a). Let and be vertices and consider a diagonal of . Without loss of generality, we consider the diagonal and assume that is below this diagonal. The intersection of the halfplane below and the cone is a triangle, which we denote by . If is empty of vertices, then we say that is clean with respect to . If the diagonal is clear from the context, we say that is clean. If is not clean with respect to to , then let be the vertex in for which is an edge in the graph. We will refer to following the edge from to as taking a sweeping step towards . (See Fig. 1(a).) Let be the index such that the vertex is in the cone . Let be the vertex in for which is an edge in the graph. We will refer to following the edge from to as taking a greedy step towards . (See Fig. 1(b).)
We now define the algorithm. Let be the source vertex and the target vertex. We assume that lies at the point and the cones are axis aligned. Choose the diagonal through that is in the same cone of as . Without loss of generality, assume that is in under , thus we choose . Let be the current vertex. Then the algorithm is:
Observe that our algorithm requires knowledge of the current vertex , its 4 outgoing edges, the destination vertex , and one additional bit of information (signifying the chosen diagonal of ) in order to route to .
3 Analysis
In this section, we prove that our routing algorithm terminates and that it has a routing ratio of 17. Without loss of generality, we assume that is in under . Thus is the closest diagonal of to . Let and be the distance between and along the axis and axis respectively. Let be the distance between and (i.e., ), and let be the distance from to (i.e., ). To simplify our analysis, we will analyze the length of the path produced using the metric. Let be the sequence of directed edges chosen by the algorithm. For vertices and in , with occurring before , let be the subpath of from to .
We divide the area around into quadrants. The Northern quadrant is the area above and , while the Southern quadrant is the area below and . The Western quadrant is the area to the left of and , while the Eastern quadrant is the area to the right of and . See Fig. 2(a).
We note the following about the path found by the algorithm:
Lemma 3.1.
Let and be two consecutive vertices on . Then .
Proof.
Without loss of generality, let be a vertex in the Western quadrant and in . Since is below and above , . If , it must be that or . Our algorithm has two types of steps: sweeping steps and greedy steps. A sweeping step goes to the neighbour of in , and only occurs if is below . Since is in , it must be that , and since is below and above , we have . See Fig. 1(a).
A greedy step goes to the neighbour of in . Note must be above , otherwise and and we are done. If is below , then , and since is in , it must be that and we are done.
Otherwise is above and . Observe that as required. See Fig. 1(b).
∎
This leads to the following corollary.
Corollary 3.2.
The algorithm terminates, i.e., it reaches .
Note that when the current vertex is in or , a greedy step towards and a sweeping step towards are the same. However, by our definition of clean, this step is defined as a sweeping step. Let be the sequence of edges produced by greedy steps of the algorithm, with . We refer to the path from a vertex to a vertex , for as a phase of the algorithm, and is the base vertex of the phase . Let be the sequence of phases produced by the algorithm. Let represent the length of phase . Then observe that , where the operator on paths is concatenation of the paths. Note that if is and monotone, i.e., all edges in are in the same cone of the base vertex, then . This implies that , for all .
Let be the neighbour of in the cone . Let the canonical triangle be the triangle formed by the boundaries of and the line through perpendicular to the bisector of . Note that is empty of vertices in its interior. See Fig. 2(b).
Definition 3.3.
Consider the edge of . If is in the Northern or Southern quadrant, then let be the horizontal line through , otherwise is the vertical line through . Let the bounding triangle be the triangle formed by the lines , , and . See Fig. 4.
Lemma 3.4.
The bounding triangle is empty of vertices.
Proof.
Observe that and are empty of vertices, and that . Thus is empty of vertices. See Fig. 4. ∎
Notice that a bounding triangle cannot be on both sides of by construction, and cannot be on both sides of since that would imply that is within . This implies that a bounding triangle can only intersect the interior of a single quadrant.
Lemma 3.1 has strong implications about the positions of bounding triangles relative to one another in the same quadrant. For a vertex , let be the intersection of and .
Lemma 3.5.
If and are two bounding triangles in the same quadrant, then and are disjoint segments lying along .
Proof.
Without loss of generality, assume that . Note that for a point lying on , . That is, the distances are proportional. Then Lemma 3.5 is true if is true. Assume without loss of generality and are in the Western quadrant. See Fig. 5. Note that , since is in the same cone of as . Thus and are true. It remains to show . Lemma 3.1 implies , and both points are in the Western quadrant (by the definition of bounding triangle), thus cannot be left of . This, and the fact that is empty, implies must be below , which implies is below , which implies . ∎
Fig. 5 shows two consecutive bounding triangles in the Western quadrant, and the associated segments and , where in this case .
Let be the vertical projection of onto . Then the following inequality is true.
Corollary 3.6.
.
Proof.
Observation 3.7.
Proof.
This follows from the fact that is an edge, and is  and monotone. ∎
Each of these bounding triangles and their associated segments are associated with a phase . A natural approach is to try and bound the length of the phase to the length of the segment . This does not quite work. However, by using a potential function we are able to make it work. We define the potential function for all .
Lemma 3.8.
.
Proof.
There are two cases. If is on the same side of as , then without loss of generality, assume we are in the Western quadrant. Let be an arbitrary point on , that is, any point along that is contained in . Observe that , as is on but is in . Also note that . See Fig. 5. Thus we have
Otherwise is on the opposite side of as . Without loss of generality, assume that is in the Northern quadrant (thus is in the Western quadrant). See Fig. 6. Observe that . Thus
as required.
∎
Theorem 3.9.
The path produced by Algorithm 1 has length at most .
Proof.
Recall that . Thus , and
(1) 
as required. ∎
Fig. 7 is a complete path where multiple examples are illustrated.
4 Lower bound
In Fig. 7(a) we see the initial sweeping steps towards and the next two complete phases. Let be an arbitrarily small number. The first phase starts closer to than . The dotted lines represent a series of small steps. The green triangles represent canonical triangles. The red paths are sweeping steps towards , while the blue paths are greedy steps towards . The first red path has length . The first blue path and the second red path are a sequence of consecutive phases in the Western quadrant. The length of the blue path is . The red path is .
The second blue path followed by the third red path represent the phases in the Eastern quadrant. Together their length is .
In Fig. 7(b) we see a phase (blue edge followed by red path) in the Northern quadrant. Note that even though the red path is not physically in the Northern quadrant, it is "charged" to the Northern quadrant, since the base of the phase determines where the phase is located. Their total length is .
In Fig. 7(c), the final phase is located in the Southern quadrant (since that is the location of the base vertex). The length of the blue plus the red path is .
The total length of these paths are . Thus by letting tend to we can make the path arbitrarily close to .
5 Conclusion
We have presented a simple online local routing algorithm that achieves a routing ratio of 17 on graphs. Although we have presented the first such algorithm on graphs and also improved the spanning ratio of graphs from 237 down to 17, we conjecture that this upper bound both on the routing ratio and spanning ratio is not tight. Given that 7 [1] is the best known lower bound for the spanning ratio of , the actual spanning ratio remains unknown.
References
 [1] Luis Barba, Prosenjit Bose, JeanLou De Carufel, André van Renssen, and Sander Verdonschot. On the Stretch Factor of the Theta4 Graph, pages 109–120. Springer Berlin Heidelberg, Berlin, Heidelberg, 2013.
 [2] Nicolas Bonichon, Prosenjit Bose, JeanLou De Carufel, Vincent Despré, Darryl Hill, and Michiel Smid. Improved routing on the Delaunay triangulation. In ESA 2018, (accepted).
 [3] Nicolas Bonichon, Prosenjit Bose, JeanLou De Carufel, Ljubomir Perković, and André van Renssen. Upper and lower bounds for online routing on Delaunay triangulations. In Nikhil Bansal and Irene Finocchi, editors, Algorithms  ESA 2015, volume 9294 of Lecture Notes in Computer Science, pages 203–214. Springer Berlin Heidelberg, 2015.
 [4] Nicolas Bonichon, Cyril Gavoille, Nicolas Hanusse, and David Ilcinkas. Connections between thetagraphs, Delaunay triangulations, and orthogonal surfaces. In DimitriosM. Thilikos, editor, Graph Theoretic Concepts in Computer Science, volume 6410 of Lecture Notes in Computer Science, pages 266–278. Springer Berlin Heidelberg, 2010.
 [5] Prosenjit Bose, Paz Carmi, and Stephane Durocher. Bounding the locality of distributed routing algorithms. Distributed Computing, 26(1):39–58, 2013.
 [6] Prosenjit Bose, JeanLou De Carufel, Pat Morin, André van Renssen, and Sander Verdonschot. Towards tight bounds on thetagraphs: More is not always better. Theor. Comput. Sci., 616:70–93, 2016.
 [7] Prosenjit Bose, Rolf Fagerberg, André van Renssen, and Sander Verdonschot. Competitive routing in the halftheta6graph. In Proceedings of the Twentythird Annual ACMSIAM Symposium on Discrete Algorithms, SODA ’12, pages 1319–1328. SIAM, 2012.
 [8] Prosenjit Bose, Rolf Fagerberg, André van Renssen, and Sander Verdonschot. Optimal local routing on Delaunay triangulations defined by empty equilateral triangles. SIAM J. Comput., 44(6):1626–1649, 2015.
 [9] Prosenjit Bose and Pat Morin. Online routing in triangulations. In Algorithms and Computation, volume 1741 of Lecture Notes in Computer Science, pages 113–122. Springer Berlin Heidelberg, 1999.
 [10] Prosenjit Bose, Pat Morin, André van Renssen, and Sander Verdonschot. The theta5 graph is a spanner. Comput. Geom., 48(2):108–119, 2015.
 [11] Nicolas Broutin, Olivier Devillers, and Ross Hemsley. Efficiently navigating a random Delaunay triangulation. Random Struct. Algorithms, 49(1):95–136, 2016.
 [12] Dan Chen, Luc Devroye, Vida Dujmovic, and Pat Morin. Memoryless routing in convex subdivisions: Random walks are optimal. Comput. Geom., 45(4):178–185, 2012.
 [13] L. Paul Chew. There are planar graphs almost as good as the complete graph. Journal of Computer and System Sciences, 39(2):205 – 219, 1989.
 [14] P Chew. There is a planar graph almost as good as the complete graph. In Proceedings of the Second Annual Symposium on Computational Geometry, SCG ’86, pages 169–177, New York, NY, USA, 1986. ACM.

[15]
K. Clarkson.
Approximation algorithms for shortest path motion planning.
In
Proceedings of the Nineteenth Annual ACM Symposium on Theory of Computing
, STOC ’87, pages 56–65, New York, NY, USA, 1987. ACM.  [16] J. M. Keil. Approximating the complete euclidean graph. In No. 318 on SWAT 88: 1st Scandinavian Workshop on Algorithm Theory, pages 208–213, London, UK, UK, 1988. SpringerVerlag.
 [17] J. Mark Keil and Carl A. Gutwin. Classes of graphs which approximate the complete euclidean graph. Discrete & Computational Geometry, 7(1):13–28, Jan 1992.
 [18] Evangelos Kranakis, Harvinder Singh, and Jorge Urrutia. Compass routing on geometric networks. In Proceedings of the 11th Canadian Conference on Computational Geometry, UBC, Vancouver, British Columbia, Canada, August 1518, 1999, 1999.
 [19] Nawar M. El Molla. Yao spanners for wireless adhoc networks. PhD thesis, Villanova University, 2009.
 [20] Stefan Ruhrup. Theory and practice of geographic routing. Chapter 5 in Ad Hoc and Sensor Wireless Networks: Architectures, Algorithms and Protocols, 2009.
 [21] Jim Ruppert and Raimund Seidel. Approximating the ddimensional complete Euclidean graph. In Proceedings of the 3rd Canadian Conference on Computational Geometry, CCCG 1991, 1991.