Abstract 1 Introduction 2 Preliminaries 3 A Local Routing Algorithm for Yao𝟒 Graphs 4 Lower Bounds References

Online Routing in Directed Yao4 Graphs

Prosenjit Bose ORCID School of Computer Science, Carleton University, Ottawa, Canada Jean-Lou De Carufel ORCID School of Electrical Engineering and Computer Science, University of Ottawa, Canada John Stuart ORCID School of Electrical Engineering and Computer Science, University of Ottawa, Canada
Abstract

The Yao4 and Yao4 graphs are two families of directed geometric graphs whose vertices are points in the plane, and each vertex has up to four outgoing edges. Consider a horizontal and a vertical line through each vertex v, defining four quadrants around v. Then v has an outgoing edge to the closest vertex in each of its four quadrants. When the distance is measured using the Euclidean norm, the resulting graph is the Yao4 graph, whereas with the L-norm, we obtain the Yao4 graph, which is a sub-graph of the well-known L-Delaunay graph.

In this paper, we provide a local routing algorithm with routing ratio at most 85.22 for Yao4 graphs. Prior to this work, no constant spanning or routing ratios for Yao4 graphs were previously known. Now, Yao4 graphs are the sparsest family of directed planar graphs supporting a competitive local routing strategy. Furthermore, we show that no local routing algorithm for Yao4 graphs can have a routing ratio lower than 7+28.41. Moreover, we prove that the spanning ratio is at least 5+26.41 in the worst case. The techniques we develop in this paper also allow us to prove lower bounds of 73+5236.51 and 7+2 for the spanning and routing ratios of Yao4, respectively.

Keywords and phrases:
Geometric Spanners, Yao Graphs, Local Routing Algorithms
Copyright and License:
[Uncaptioned image] © Prosenjit Bose, Jean-Lou De Carufel, and John Stuart; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Sparsification and spanners
Funding:
This research is supported in part by the Natural Sciences and Engineering Research Council of Canada (NSERC).
Editors:
Pat Morin and Eunjin Oh

1 Introduction

A fundamental problem in geometric routing is to construct a directed planar graph on a given set of points that supports competitive local routing, using the fewest number of edges. A routing algorithm is competitive if the length of the path that it finds is at most a constant times the length of the shortest path, however a local algorithm does not have access to the full graph. This problem has applications in wireless sensor networks, robotic navigation, and distributed computing. Routing is inherently directional, and in many real-world settings, signals are sent from a transmitter to an antenna. This directional nature is particularly relevant in wireless communication, where signal transmission can be costly. Wide-angle broadcasting consumes excessive power, and long-distance transmission is expensive, with energy consumption proportional to the distance squared. As a result, nodes should send signals in restricted directions, ensuring that each transmitted signal has a unique receiver. To reduce the effects of interference, we desire planarity, meaning that signals do not cross. However, we allow bidirectional edges, which count as two directed edges, since otherwise, not all point sets admit strongly-connected directed planar graphs. Disallowing bidirectional edges presents different challenges and has led to the study of oriented spanners [12]. Note that every undirected graph can be converted into a directed graph by replacing every undirected edge with two directed edges. This implies that every routing result on undirected graphs can also be viewed as a routing result on directed graphs with twice as many edges. Thus, the challenge is to construct directed planar graphs that support local routing while minimizing the number of directed edges.

Routing on graphs in an online fashion, without relying on precomputed routing tables is a compelling motivation for studying routing on geometric embeddings of graphs. The use of routing tables can be circumvented by exploiting geometric properties of the graph, such as empty proximity regions, to guide path-finding. Routing tables are often inefficient to compute and difficult to maintain in a dynamic setting, compared to maintaining a geometric embedding of a graph. Embeddings like Yao and Theta graphs provide a framework for leveraging these empty proximity regions to facilitate efficient routing. Our focus on the Yao4 graph stems from its unique combination of properties: it is planar, has a bounded out-degree of 4, and supports a novel competitive local routing algorithm.

For decades, researchers have been studying the distance-preserving properties of geometric graphs, such as the Delaunay triangulation [17]. The vertex set of a geometric graph is a finite set of points in the plane and the edges are weighted by the L2-norm. The Delaunay triangulation has an edge between two vertices exactly when they lie on the boundary of a disk which contains no other vertex in its interior [15]. When the disk is replaced with a square, then we obtain an L-Delaunay graph. Also a geometric graph of interest is the Yao graph. For any k>2, a Yaok graph is constructed by considering k equal-sized cones around each vertex and connecting each vertex to the nearest point in each cone [18]. In this way, a graph on n points has at most nk edges. Normally, nearest is defined using the L2-norm, however in the case of k=4, replacing L2 with L is a natural choice because the resulting graph, denoted Yao4, is a subgraph of the well-known L-Delaunay graph. In other words, the Yao4 graph has an edge between two vertices when there exists an empty square with one endpoint on a corner and the other endpoint on an opposing side. If the graph is defined using the L1-norm, then we obtain the well-studied Θ4-graph.

Given a geometric graph G, the spanning ratio of a subgraph H is a measure of how well distances of G are preserved. A subgraph H is called a c-spanner of G if for every edge uvG, the shortest path in H from u to v is at most c times the length of the edge uv in G [17]. The smallest such c is referred to as the spanning ratio of H. Throughout this paper, we consider G to be the complete graph with edges weighted by Euclidean distance. The undirected Yao4 graph was first proved to be a spanner by Bose et al. [9] with a stretch factor of approximately 662. As part of the proof, the authors established that the undirected Yao4 graph is an 8-spanner. Then, Bonichon et al. [6] proved that the Yao4 graph has spanning ratio at most 6.31. Later, Damian and Nelavalli [14] improved both results by showing that the Yao4 and Yao4 graphs have spanning ratios of at most 54.62 and 4.93, respectively. We will denote the directed versions of these graphs using an arrow: for example, the directed version of Yao4 is denoted Yao4. Despite being a natural construction, the Yao4 graph previously had no known upper bound on the spanning ratio. The spanning ratio of the L-Delaunay graph was originally shown to be at most 103.16 by Chew [13]. Then, Bonichon et al. [5] improved the spanning ratio of the L-Delaunay triangulation to 4+222.61, which is tight. Their lower bound construction also shows that Yao4 has a spanning ratio of at least 2.61.

While spanning ratios deal with the existence of short paths, routing ratios are based on finding short directed paths with only local information. Roughly speaking, a path-finding algorithm has routing ratio c if the paths produced have length at most c times the straight-line distance from source to destination. In the context of planar graphs, Chew gave a local routing algorithm for L-Delaunay graphs in 1986 [13]. An L-Delaunay graph can contain nearly 6|V| directed edges in the worst case. Since then, Bonichon et al. [4] defined a number of bounded-degree planar spanners, including G9 and G12. In [10], local routing algorithms were provided for these graphs. A parametrized construction, denoted 𝒟𝒢, was used in [2] to attain several lightness properties. In all of these planar graphs, the number of directed edges required is still on the order of 6|V|. In this paper, we define a local routing algorithm for the Yao4 graph, which contains at most 4|V| directed edges, which is the fewest number of edges among all planar directed graphs that admit a local routing algorithm.

In any bounded out-degree graph, each vertex only needs to store a constant amount of information to fully describe its outgoing neighbourhood. As a result, bounded out-degree directed graphs are a natural setting for local routing. For example, when k is larger than 6, the optimal local routing algorithm for Yaok graphs is simply cone routing, where each decision is to move to the neighbour in the same cone as the destination. For smaller values of k, the Yaok graph is less dense and cone routing can fail to produce short paths. However, [16] provides a local routing algorithm for the Yao6 graph with routing ratio at most 22.94. The smallest possible k for which the Yaok graph is strongly connected is k=4, and Bose et al. [11] recently provided a local routing algorithm achieving a routing ratio of at most 23.36 for Yao4 graphs. Furthermore, they show how to modify the path output by their local routing algorithm to upper bound the spanning ratio by 16.54 for undirected Yao4 graphs. Interestingly, their algorithm is based on the Greedy/Sweep algorithm from [7] which has a routing ratio of 17 in the directed Θ4 graph.

Our local routing algorithm extends the Greedy/Sweep approach from Θ4 graphs to Yao4 graphs. The original Greedy/Sweep algorithm is quite simple. If the current vertex is u and the target vertex is t, then we consider the right triangle T bounded by vertical and horizontal lines through u and a diagonal line through t with slope 1. If no vertices are in T, we say that T is clean and we take a greedy step in the cone containing t. Otherwise, if T is not clean, then we take a sweeping step in the cone of T. The authors of [11] adapted the Greedy/Sweep approach to Yao4 graphs by replacing the right triangle with a wedge. However, in the case of Yao4 graphs, a direct application of the Greedy/Sweep approach fails miserably, resulting in long paths. The main challenge is that sweeping steps can cross the diagonal while making negligible progress towards the destination. To overcome this, we modify the definition of clean to penalize such diagonal crossings and force provable progress toward the target. Given our redefinition of cleanliness, we refer to our local routing algorithm as the DIRTY Algorithm (Directed Infinity Routing Through Yao). Our analysis yields an upper bound of 85.22 on the routing ratio of our local routing algorithm.

Notice that our routing ratio of 85.22 is also the best known upper bound on the spanning ratio for Yao4 graphs. Next, we give a lower bound of 5+26.41 on the spanning ratio of Yao4 graphs in the worst case, highlighting a clear gap compared to the upper bound of 4.93 for Yao4 graphs. Finally, we prove that no local routing algorithm for Yao4 graphs can achieve a routing ratio below 7+28.41. Additionally, we use a similar technique to provide lower bounds of 73+5236.51 and 7+2 for the spanning and routing ratios of Yao4, respectively.

Table 1: Comparison of upper bounds on the routing ratio of geometric graphs with bounded out-degree. Routing in 𝒟𝒢 and G9 requires extra information to be stored at each vertex.
Reference Graph Planar Max out-degree Routing Ratio
[11] Yao4 No 4 23.36
[16] Yao6 No 6 22.94
[3] Yaok (k7) No k 1/(12sin(π/k))
[7] Θ4 No 4 17
[1] Θ6 No 6 8
[8] Θk (k7) No k 1/(12sin(π/k))
[2] 𝒟𝒢 Yes 20 9.27
[10] G12 Yes 12 54.85
[10] G9 Yes 9 8.66
This paper Yao4 Yes 4 85.22

2 Preliminaries

For any point u2, we let x(u) and y(u) denote the x- and y-coordinates of u, respectively. We denote the line segment between points u,v as uv, and define uvx:=|x(u)x(v)| and uvy:=|y(u)y(v)|. For p[1,), the Lp-length of uv is denoted uvp:=(uvxp+uvyp)1p. We also define uv:=max(uvx,uvy). A geometric graph is a graph whose vertex set contains points in the plane and whose edge weights are the L2 (Euclidean) lengths of the corresponding line segments. In a geometric graph, each vertex is identified with its coordinates. Throughout the paper, we make the general position assumption that no two vertices have the same x- or y-coordinates and all distances between pairs of vertices are unique in the L-norm. On such a point set, the edges of the Yao4 graph are well-defined. For two vertices u,v in a geometric graph G, the length of the shortest path from u to v in G is denoted dG(u,v). Then for a constant c1, G is said to be a c-spanner if for all points u,v in G, we have dG(u,v)cuv2. The spanning ratio of G is the least c for which G is a c-spanner. The spanning ratio of a class of graphs 𝒢 is the least c for which all graphs in 𝒢 are c-spanners.

We make the assumption that the graph is embedded on a polynomial-sized grid and therefore the coordinates of the points require O(log(n)) bits. Formally, an m-memory local routing algorithm is a function that takes as input (s,N(s),t,M), and outputs some memory M and a vertex pN(s) where s is the current vertex, N(s) is the outgoing neighbourhood of s, t is the destination, and both M,M are bit-strings of length m. An algorithm is said to be c-competitive for a family of geometric graphs 𝒢 if the path output by the algorithm for any pair of vertices s,tV(G) for G𝒢 has length at most cst2. The routing ratio of an algorithm is the least c for which the algorithm is c-competitive for 𝒢. Note that the routing ratio is an upper bound on the spanning ratio.

3 A Local Routing Algorithm for Yao𝟒 Graphs

We will now describe our local routing algorithm for Yao4 graphs. Without loss of generality, assume the coordinates of t are (0,0) and st=1. Let 0<δ<0.5, and define the green square to be the set of points p2 such that pt2δ. In addition, we define the diagonal lines t,t+ with slope ±1 passing through t. Define the north, east, south and western quadrants as the cones delimited by t+ and t. Refer to the four cones as , , , , respectively.

Next, for a point p2, we define its height, h(p), as the L1 distance from p to the nearest diagonal through t. Notice that h(p)=||x(p)||y(p)||. The bands, denoted by , are the regions close to the diagonals, excluding the green square. More precisely, let refer to the set of points p2 such that p and h(p)δ. Refer to Figure 1. Note that 2 and is composed of four regions, which we label ,,, clockwise from the north-eastern region. Then define the truncated wedges as those points p2 such that p. We have

2
and since is composed of four regions, we label them ,,, clockwise from the northern region.

Next we describe the terminology used in our local routing algorithm, which we will refer to as DIRTY Algorithm 1 (Directed Infinity Routing Through Yao). For any vertex u, a band step from u follows the edge in the cone of u containing t. For any vertex u

, u is clean if the quadrant of u facing the closest diagonal t{t,t+} does not contain any vertex v such that uv+δh(u). Intuitively, u is clean if there are no points between u and the nearest diagonal. For example, see Figure 1. A sweep step from u follows the edge in the cone towards the closest diagonal to u. We denote the vertex resulting from a sweep step from u as Sweep(u,t,N(u),δ). A greedy step from u follows the edge in the cone of u containing t. The vertex resulting from a greedy step from u is denoted Greedy(u,t,N(u)). Note that a band step is technically a greedy step, however we will distinguish band steps from greedy steps in the analysis. Now we will present the local routing algorithm. In short, if there is a neighbour in the green square, then we choose it and rescale δ. On the other hand, we take a greedy edge if the current vertex is in or is clean. When the current vertex is not clean, we take a sweep edge. A partial trace of Algorithm 1 is shown in Figure 1. The constant 0<c<1 in step 1 of Algorithm 1 will be set to 0.08, however the analysis holds for a general c. Furthermore, δ should be set to cst for the first call of Algorithm 1.

Figure 1: We show the partial trace of DIRTY Algorithm 1 until we reach a vertex in the green square, . The grey regions are the bands, denoted as , and the white regions are the truncated wedges, denoted . The sweep edges are blue, the band edges are red, and the greedy edges are gold. For example, su is a sweep step since s is not clean. Next, uv is a band step as u. Then v is clean, hence vw is a greedy edge.
Algorithm 1 DIRTY (Directed Infinity Routing Through Yao)
Local routing decision in Yao4 graph.

3.1 Analysis of DIRTY Algorithm 1

If edge uv is chosen by Algorithm 1, then notice that utvt regardless of whether uv is a sweep, a greedy, or a band edge. In fact, by the general position assumption that all vertices have distinct x- and y-coordinates, we have ut>vt.

 Remark 1.

If uv is an edge chosen by Algorithm 1, then ut>vt. That is, the vertex v is inside the square centered at t with u on the boundary.

The vertex set being finite means that choosing each successive edge according to Algorithm 1 will output a path from s to t, which we will denote 𝒫. For any two vertices u,v on path 𝒫 with v occurring after u, we let 𝒫u,v denote the sub-path of 𝒫 from u to v.

We define t to be the first vertex of 𝒫 chosen by step 1 of Algorithm 1. In other words, t is the first vertex of 𝒫 such that tt2cst because δ is initially set to cst and t. We will focus on upper bounding the length of 𝒫s,t, which is a path such that each edge is chosen according to step 2 except the last edge. As such, we will only refer to edges of 𝒫s,t. In particular, define the set 𝒮 as the sweep edges of 𝒫s,t and define the set 𝒢 as the greedy edges uv of 𝒫s,t, where u

. Next we define the set of band edges, , as the greedy edges uv of 𝒫s,t, where u. These definitions allow us to partition the edges: {uvuv is an edge on 𝒫s,t}=𝒮𝒢.

Lemma 2.

If uv𝒮 and uv does not cross a diagonal, then uv2h(u)h(v).

Proof.

Since u,v both lie in the same cone among ,,,, then uv2uv1=h(u)h(v).

Lemma 3.

If uv𝒮 and uv crosses a diagonal of t, then h(u)h(v)2δ, and max(uv,vt)utδ.

Proof.

Assume without loss of generality that u and uv crosses t+. This means that v, as in Figure 2. Since u is not clean, we have uv+δh(u)ut. Also since v is above t+ we have h(v)+δuv. Combining these two inequalities yields h(u)h(v)2δ. Next, u and v together imply h(u)=x(u)y(u), so we have utvt=x(u)y(v)=h(u)+y(u)y(v)uv+δ+y(u)y(v)δ.

Figure 2: Lemma 3: An example of a sweep edge uv that crosses the diagonal t+ of t.

Lemma 4.

If uv𝒢, then h(v)h(u)uv.

Proof.

Suppose without loss of generality that u with y(u)>0. Then since uv is greedy, we have x(v)<x(u)x(v)+uv and y(v)<y(u)y(v)+uv. Combining these inequalities yields

x(v)y(v)x(u)y(u)+uv and y(v)x(v)y(u)x(u)+uv.

Since 0h(u)=|x(u)y(u)|, then we have shown |x(v)y(v)|uv+h(u). The result follows from the reverse triangle inequality h(v)=||x(v)||y(v)|||x(v)y(v)|.

Next we will characterize the behaviour of band edges.

Lemma 5.

If uv, then maxψ{x,y}(uvψ+vtψutψ)2δ.

Proof.

Assume without loss of generality that u. Notice that uvy+vtyuty=(y(u)y(v))+|y(v)|y(u)=|y(v)|y(v), which is at most 2δ when y(v)δ. Assume towards a contradiction that y(v)<δ. When u is above t+, then uvy(u)y(v)>y(u)+δ>y(u)=ut. Otherwise when u is below the diagonal t+, we have uvy(u)y(v)>y(u)+δx(u)=ut. Either way is a contradiction since t and v are in the same cone of u, so uvut. A symmetric argument completes the proof when ψ=x. Lemma 5 tells us that when uv is a band edge with u, then v. Indeed, the proof describes why y(v)δ and x(v)δ, and the region {p2min(x(p),y(p))δ} is a subset of . In other words, a sequence of consecutive band edges remains in the same region of until it ends in a neighbouring truncated wedge, or in the green square. To formalize this, we will define a set containing pairs of vertices that correspond to maximal sub-paths of band edges.

Definition 6 (Maximal sYaoub-paths of band edges).

Define the set as follows. Let u,v be vertices of 𝒫s,t such that 𝒫u,v is a sequence of band edges. We let the pair (u,v) if and only if u, v

, and u is not the tip of a band edge.

Notice that if (u,v), then 𝒫u,v must be x- and y-monotone since all edges between u and v are band edges in the same cone.

Lemma 7.

For all (u,v), we have h(v)h(u)uv.

Proof.

Suppose without loss of generality that u and v. Then we have x(v)<x(u)x(v)+uv and y(v)<y(u)y(v)+uv. The rest of the proof is identical to that of Lemma 4.

To better understand which band edges are accounted for by paths in , we provide the following definition.

Definition 8 (Vertices v and u).

Let v be the last vertex of 𝒫s,t in . If no such v exists, v:=s. Then, let u be the vertex directly after v on 𝒫s,t.

Notice that all band edges of 𝒫s,v are contained in a sub-path 𝒫u,v for some (u,v). In addition, the path 𝒫u,t consists entirely of band edges.

Lemma 9.

We have uv𝒢(utvt)+(u,v)(utvt)1.

Proof.

Each difference utvt in the following telescoping sum corresponds to a sub-path of 𝒫s,u and is therefore positive by Remark 1.

uv𝒢𝒮(utvt)+(u,v)(utvt)=stut1.

Dropping the terms corresponding to sweep edges yields the desired inequality.

Now we can establish a bound on the sweep edges that depends on the greedy edges and paths.

Lemma 10.

Let k:=12δδ+1. We have

uv𝒮uv21+2(kδk(k+1)2)2δk+uv𝒢uv+(u,v)uv.

Proof.

First, we split the sum based on whether the sweeping edge crosses a diagonal. Let 𝒳𝒮 denote the set of sweep edges that cross a diagonal t+ or t.

uv𝒮uv2 =uv𝒮𝒳uv2+uv𝒳uv2
uv𝒮𝒳(h(u)h(v))+uv𝒳uv2 By Lemma 2
=uv𝒮(h(u)h(v))+uv𝒳(uv2h(u)+h(v))

Next, by Definition 8, the path 𝒫s,u is precisely all the greedy edges, sweep edges, and sub-paths of band edges {𝒫u,v(u,v)}. This means that

uv𝒮𝒢(h(u)h(v))+(u,v)(h(u)h(v))=h(s)h(u) (1)

Next we rearrange (1) and use Lemmas 4 and 7:

uv𝒮(h(u)h(v)) =h(s)h(u)+uv𝒢(h(v)h(u))+(u,v)(h(v)h(u))
1+uv𝒢uv+(u,v)uv

Now, let m:=|𝒳|1, and label the edges of 𝒳 as u0v0,,umvm in the order they appear on the path 𝒫s,t. By Lemma 3, we have uitvitδ for all i{0,,m}. Additionally, ui+1 appears after vi on the path 𝒫s,t, then by Remark 1 we have ui+1tvit for i{0,,m1}. Since u0tst=1, the above inequalities imply that uit1iδ for i{0,,m}. Next, vertex t was defined to be the first vertex on the path 𝒫 such that tt2δ, therefore we must have umt>2δ since umvm is an edge in 𝒫s,t. Combining inequalities yields 1mδ>2δ, and isolating m yields m12δδ=k1. Also, Lemma 3 gives us uivi+δuit1iδ and h(ui)h(vi)2δ. The result follows:

uv𝒳(uv2h(u)+h(v)) i=0m(2uivih(ui)+h(vi)) By uv22uv
i=0k1(2(1iδδ)2δ)
=2(kδk(k+1)2)2δk.  

From Lemma 10, we can see that the total L2 distance of sweep edges can be upper bounded if we upper bound the total L distance of greedy edges and pairs in .

Lemma 11.

We have uv𝒢uv168δ.

Proof.

Consider the set 𝒢𝒢 of greedy edges uv where u and y(u)>0. We will show that uv𝒢uv2δ using a disjoint projection argument illustrated in Figure 3.

Figure 3: Lemma 11: The vertical components of the edges uivi and ui+1vi+1 can be projected onto the y-axis using the projection F. Furthermore, the projections are disjoint.

Firstly, label the edges of 𝒢 as u1v1,,umvm. Note that the edges are labelled in the order they appear, and not necessarily consecutive. For i{1,..,m}, define the point pi:=ui(0,uivi). Note that uivi=uipiy. Next, define the projection F:22 as F(x,y):=(0,x+y). Notice that for a point p2, the point F(P) lies on the vertical line through t with the segment pF(p) having slope 1. We will show that the segments {F(ui)F(pi)1im} are disjoint.

Let i{1,,m1}. Firstly, since uivi is greedy, we have y(vi)<y(ui), hence y(F(pi))<y(F(ui)). Next, we have x(ui+1)<x(ui) by Remark 1 and y(ui+1)<y(ui) since ui is clean. Combining these coordinate restrictions with the fact that pi lies on the southeast corner of the empty square corresponding to uivi, we obtain y(F(ui+1))<y(F(pi))<y(F(ui)). This means that the projections are disjoint and their y-coordinates range from y(F(pm)) to y(F(u1)). Since pm, then y(F(pm))0. Also, we have y(F(u1))2δ given that u1.

The proof is completed after multiplication by 8 to account for the greedy edges of 𝒢 originating in the seven other regions symmetric to 𝒢.

At this stage, we could multiply the bound from Lemma 11 by 2 in order to bound the total L2 length of the greedy edges. However, we can do better with a more careful analysis described in Lemma 12.

Lemma 12.

We have uv𝒢uv212+428δ+uv𝒢(utvt).

Proof.

We start by partitioning 𝒢 into three parts that correspond to the following three types of greedy edges, illustrated in Figure 4. Suppose without loss of generality that uv𝒢 and u with y(u)>0. Then the edge uv is Type A if v, Type B if v, and Type C if v. Now we extend the definition of Types A, B, and C to all edges in 𝒢 by symmetry. For example, an edge uv𝒢 with u, 0<x(u) and v would be Type C. Define the sets 𝐀,𝐁,𝐂 of Type A, B, and C greedy edges, respectively. This means that we have partitioned the greedy edges as follows: 𝒢=𝐀𝐁𝐂. We proceed with the following claim for Type A and B edges.

Claim.

If uv𝐀𝐁 then uv1uv+utvt.

Proof.

Suppose without loss of generality that u and y(u)>0. If uv𝐀 then v, so uvxutvt. Combining this with uvyuv yields the result. If instead uv𝐁, then v, giving us uvyutvt. Adding this to uvxuv completes the claim.

Figure 4: Lemma 12: Edges uAvA, uBvB, uCvC are examples of Type A, B and C greedy edges, respectively. Notice that uA,uB,uC are all clean with respect to t+, meaning that the dark grey regions are empty.

Next, we prove that for Type C edges, uv𝐂uv4. Consider the greedy edges u1v1,,umvm𝐂 with ui labelled in the order they appear in 𝒫s,t. Then by the two empty squares (one from ui being clean and one from uivi), we have ui+1tuituivi for i{1,,m1} and umvmumt. Then we have i=1muiviumt+i=1m1uitui+1t=u1t1. The final step is multiplication by 4 to account for the four connected components of .

Now we combine the above claim with Lemma 11 to complete the proof.

uv𝒢uv2 uv𝐀𝐁uv1+uv𝐂uv2
uv𝐀𝐁(uv+utvt)+uv𝐂(uv+(21)uv)
uv𝒢(uv+utvt)+uv𝐂(21)uv
uv𝒢(utvt)+168δ+4(21)

Next, a similar projection argument can be used to bound the total the length of band edges. First, we provide the following definition.

Definition 13.

For 2δr1, define the eastern hexagon r to be the set of points p such that 2δ<x(p)<r and |y(p)|<(rδ). Define the north, west and south hexagons of radius r similarly.

Next, we present a lemma that formalizes the idea that when the path 𝒫 exits r, either 𝒫 becomes significantly closer to t, or 𝒫 never revisits the region .

Lemma 14.

Suppose vertex w, and let v be the next vertex of 𝒫 outside of wt. Then at least one of the following must be true:

  1. 1.

    v,

  2. 2.

    vtwtδ,

  3. 3.

    𝒫v,t=

Proof.

Throughout the proof, let u denote the vertex before v in 𝒫, meaning u wt. Since u wt, then we must have v. Without loss of generality, assume v, implying that y(v)=vt. Since we have assumed Item 1 to be false, we will show that in each of the following three cases, Item 2 or Item 3 is true. The cases are shown in Figure 5.

Figure 5: Lemma 14: Edges uSvS, uBvB, uGvG are examples of sweep, band, and greedy edges, respectively. The turquoise region is wt. The labels a and b refer to the southwest and northeast corners of the gold square corresponding to edge uGvG.

Case: 𝒖𝒗 is a sweep edge.

Then we must have u and y(u)>0, therefore y(v)y(u)uvh(u)δ=x(u)y(u)δ. Item (2) follows from x(u)=utwt.

Case: 𝒖𝒗 is a band edge.

Since v, we must have u, meaning y(v)<y(u). By definition of u wt, we have y(u)<wtδ, which again satisfies Item (2).

Case: 𝒖𝒗 is a greedy edge.

Assume vt>wtδ. We will show that the region {ppt<ut} contains no vertices, implying Item (3). Since v, then the closest diagonal to u must be t. Let points a,b be the southwest and northeast corners of the empty square corresponding to uv. Then y(a)=y(u)<0 and 0<x(a) since the square bounding a,b is empty. Furthermore, since x(u)δwtδy(v)y(b), we must have b. This leads to d1(a,t+)<δ, so a. Then since u is clean with respect to t, and also a and b then the region {ppt<ut} contains no vertices. Item (3) follows since vt<ut by Remark 1.

We will also make use of the following remark:

 Remark 15.

If (u,v), then v is clean with respect to the closest diagonal to u. Indeed, v is the tip of a band edge from the connected component of containing u by Lemma 5.

Now we have the tools to prove Lemma 16.

Lemma 16.

We have (u,v)uv1620δ.

Proof.

We will first focus on paths 𝒫u,v where (u,v) and v. Let (u1,v1),,(um,vm) be labelled according to their order on 𝒫, where vi. Recall that all edges between ui and vi are band edges, so by Lemma 5, we have ui. Then uivi=uiviy. Consider the point pi:=(x(ui),y(vi)) and the resulting segment uipi with length uiviy. We will show how to project uipi onto the line x=2δ such that when ij, the projections of uipi and ujpj are disjoint, illustrated in Figure 6. Furthermore, we will show that all projections lie on a sub-segment of length 45δ.

Figure 6: Lemma 16: We project the vertical components of banded sequences onto the dotted line, and prove that the projections are disjoint.

Define the projections F,G:22 as F(x,y):=(2δ,x+y2δ) and G(x,y):=(2δ,yx+2δ). Note that for p2, both F and G project p onto the vertical line x=2δ, and the slope of the segments pF(p) and pG(p) are 1 and 1, respectively. For 1im, we define the projection

proj(i):={F(ui)F(pi)if uiG(ui)G(pi)if ui

Let 1i<jm. Now we show that that proj(i) and proj(j) are disjoint by cases. Assume without loss of generality that ui, so by Remark 15, vi is clean with respect to t+. We will show that proj(j) is entirely below proj(i) in both cases.

Case: 𝒖𝒋 .

By Lemma 14, we have y(uj)<x(vi)δ. Indeed, vi, therefore either 𝒫vi,uj vit, or ujtvitδ since uj and vj. Furthermore, x(uj)ujt<vit=x(vi). Combining x(uj)<x(vi) with y(uj)<x(vi)δ and the fact that vi is clean with respect to t+, we have that y(F(uj))<y(F(vi)). Lastly, since 𝒫ui,vi is x-monotone, then x(ui)>x(vi), so y(F(vi))<y(F(pi)). By transitivity, we have y(F(uj))<y(F(pi)) completing this case.

Case: 𝒖𝒋 .

Assume towards a contradiction that y(F(pi))y(G(pj)). Then since 2δ<x(pj)<x(pi) we must have y(pi)<y(pj). However, this implies that vi is not clean with respect to t+ since vj with y(vi)=y(pi)<y(pj)=y(vj) and x(vj)<x(vi).

Now that we have proven that the projections proj(i) are disjoint on the vertical line x=2δ, we can proceed to showing that the projections lie on a sub-segment of the line with length at most 45δ. Assume without loss of generality that u1. Then all projections lie below y(F(u1))y(F(1,1))=22δ. Furthermore, we will show that all projections lie above y(G(1,δ1))=3δ2. Indeed, if ui for all 1im, then the projections are all above y(F(pm))y(F(1,δ1))=δ. Otherwise, let j be the least index in {2,..,m} such that uj. Then all projections are above y(G(uj)), and by Lemma 14 we have |y(uj)|x(v1)δ1δ. This means that y(G(uj))y(G(1,δ1))=3δ2. Therefore all projections proj(i) have y-coordinates between 3δ2 and 22δ. Summarizing, we have shown

(u,v)vuv=(u,v)vuvy(22δ)(3δ2)=45δ

Multiplying by 4 for the four connected components of concludes the proof.

Now we can use Lemma 16 to bound the length of all band edges.

Lemma 17.

We have uvuv21819δ+(u,v)(utvt).

Proof.

By Definition 8, we can rewrite uvuv2=𝒫u,t2+(u,v)𝒫u,v2. For now we focus on 𝒫u,t2. If u=t, then 𝒫u,t2=0. Otherwise, assume without loss of generality that u and t. Then 0x(t)<x(u) and by Lemma 5, δ<y(t) since t is the tip of a band edge. Since 𝒫u,t is x- and y-monotone, we have

𝒫u,t2utx+uty1+(1+δ)

Next, for (u,v), we have 𝒫u,v2uvx+uvy since 𝒫u,v is x- and y- monotone. Also, min(uvx,uvy)=utvt since uv crosses a diagonal boundary of by Lemma 5, yielding

(u,v)𝒫u,v2 (u,v)(min(uvx,uvy)+max(uvx,uvy))
(u,v)(utvt+uv)
1620δ+(u,v)(utvt) by Lemma 16.

The bounds we have proved for sweep, greedy and band edges can now be combined to prove Theorem 18.

Theorem 18.

DIRTY Algorithm 1 is an O(log(n))-memory local routing algorithm with routing ratio of at most 85.22 for Yao4 graphs.

Proof.

We bound the total L2 distance of sweep edges by combining Lemmas 10, 11 and 16:

uv𝒮uv2 3328δ+2(kδk(k+1)2)2δk (2)

Finally, we can bound the length of the path from s to t.

𝒫s,t2 =uv𝒮uv2+uv𝒢uv2+uvuv2
(3328δ+2(kδk(k+1)2)2δk) by (2)
+(12+428δ+uv𝒢(utvt)) by Lemma 12
+(1819δ+(u,v)(utvt)) by Lemma 17
6455δ+2(kδk(k+1)2+4)2δk=:f(δ) by Lemma  9.

Notice that by the definition of step 1 of Algorithm 1, the path 𝒫t,t is identical to the path that Algorithm 1 would output if the first vertex s was chosen to be t. This means that the entire path from s to t has length at most f(c)12c because δ is initially set to cst until an edge is chosen in step 1. The ratio evaluates to 85.22 when c=0.08. Furthermore, st2st=1 by assumption. The only memory required to construct the path locally is to store δ for each successive iteration. Hence we have given a local routing algorithm with routing ratio at most 85.22 for Yao4 using at most O(log(n)) bits of memory.

4 Lower Bounds

Lemma 19.

Let ϵ>0. There exists a Yao4 graph with spanning ratio at least 5+2ϵ.

Proof.

Let ϵ>0 be arbitrarily small. We will create a graph with spanning ratio at least 5+2ϵ, shown in Figure 7.

Figure 7: Pictured is the Yao4 graph with vertices {s,a,b,c,d,e,f,g,t}. The shortest path from s to t is (s,a,b,c,d,e,t) and its length can be made arbitrarily close to 5+2. The outgoing edges from t are omitted.

We let δ>0 and choose its exact value later in the proof. Let s:=(0,1)+δ(3,1), a:=(1,1)+δ(6,3), b:=(1,0)+δ(7,1), c:=(1,1)+δ(8,10), d:=(0,1)+δ(1,11), e:=(1,1)+δ(13,12), f:=(2,1)+δ(13,13), g:=(2,1)+δ(12,+2), and t=(0,0). Let G be the Yao4 graph with vertices {s,a,b,c,d,e,f,g,t}. Then excluding the outgoing edges from t, G contains the following edges: sa,sg,as,ab,ba,bs,bc,cb,cd,db,dc,de,ed,et,ef,fe,fs,fg,gf,gs. Since the only incoming edge to t is et, then the shortest path from s to t must pass by e. The shortest path from s to e is (s,a,b,c,d,e) since

sg2+gf2+fe2
sg+gf+fe
=(215δ)+(215δ)+1
(11δ)+(13δ)+(18δ)+(18δ)+(111δ)
=sa1+ab1+bc1+cd1+de1
sa2+ab2+bc2+cd2+de2
sa+ab+bc+cd+de
=(13δ)+(14δ)+(19δ)+(19δ)+(112δ)=537δ

Next, we have et22min(etx,ety)=2(113δ), therefore the shortest path from s to t in G has length at least 5+2δ(37+132). Finally, st2(1δ)2+(3δ)21 when δ15. Therefore choosing δ<ϵ37+132 means that the spanning ratio of G is at least 5+2ϵ.

Lemma 20.

Let ϵ>0. Then any local routing algorithm for Yao4 graphs has routing ratio at least 7+2ϵ in the worst case.

Proof.

Let ϵ>0 be arbitrarily small and let A be a local routing algorithm. We will construct three graphs GW,GN,GE such that A has a routing ratio of at least 7+2ϵ in at least one of {GW,GN,GE} when routing from s to t:=(0,0). The three graphs are shown in Figure 9. Let δ>0 be arbitrarily small.

We will start by defining the zip-zag paths, illustrated in Figure 8, which will act as sub-graphs. Define the two segments s1:=(15δ1,δ)(0,δδ2) and s2:=(15δ1,δ)(0,δ2δ). Let p1:=(15δ1,δ), and p2s1 such that x(p2)=13δ1. Let q1s2 such that p2q1 has slope 1. Then for i3 define pis1 and qi1s2 such that triangle pi1piqi1 is similar to triangle pi2pi1qi2. Let k be the greatest index such that x(pk)<0. Then define WestZag:={p1,p2,,pk,q1,q2,,qk1,t}.

Figure 8: The shortest path from p1 to t in the Yao4 graph of WestZag has length arbitrarily close to 1+2. Note, all p1,p2,,pk lie on segment s1, and all q1,q2,,qk1 lie on segment s2.

The shortest path from p1 to t in the Yao4 graph of WestZag is p1,q1,p2,q2,,qk1,pk,t, and it is x-monotone. We will now express the length of this path in terms of δ. Firstly, we have p1q12p1q1y2(δδ2) and q1p22=2q1p2y22(δδ2). By similar triangles, for all 1<i<k we have

p1q12+q1p22x(p2)x(p1)=piqi2+qipi+12x(pi+1)x(pi).

Combining this with the observation that 2δ<x(pk), then the shortest path from p1 to t in WestZag has length at least

i=1k1(piqi2+qipi+12) =p1q12+q1p22x(p2)x(p1)i=1k1(x(pi+1)x(pi))
2(δδ2)(1+2)2δ(x(pk)x(p1))
2(δδ2)(1+2)2δ(2δ(15δ1))
=(1+2)(1δ)(117δ)
1+244δ

Additionally, the shortest path from q1 to t in WestZag has length at least 1+247δ since p1q122p1q13δ. Analogously, we define NorthZag to be WestZag reflected about the line y=x. Similarly, define EastZag to be WestZag reflected about the vertical line through t.

Now, define the points s:=(0,1)+δ(1,1), a:=(1,1)+δ(5,2), b:=(1,0)+δ(6,2), c:=(1,1)+δ(7,10), d:=(0,1)+δ(1,11), e:=(1,1)+δ(4,6), f:=(1,0)+δ(3,1), g:=(1,1)+δ(2,3), c:=(1,1)+δ(10,8), d:=(0,1)+δ(1,7), e:=(1,1)+δ(14,12). Note that st2=(1δ)2+δ21 since 0<δ<1. We define vertex sets V(GW):=WestZag{s,a,b,c,d,e,f,g}, V(GN):=NorthZag{s,a,b,c,d,e,f,g}, V(GE):=EastZag{s,a,b,c,d,e,f,g}.

This construction guarantees that the shortest path from any vertex not in a zip-zag path to t must pass through a zip-zag path.

Figure 9: The graphs are GW,GN,GE from left to right. When routing from s to t, the routing ratio of A is at least 7+2ϵ in one of the graphs. The dotted lines represent the zig-zag paths to t. All outgoing edges from the zig-zag paths are omitted.

The decision tree for which graph to provide to A is illustrated in Figure 10. One can verify that the decision tree represents a valid adversarial strategy since the collections of graphs at each node contain identical neighbourhoods at all previously visited vertices.

Figure 10: The decision tree describing the adversarial strategy for which graph to provide to A. For example, suppose A first visits the vertices s,a,b. Notice that the neighbourhoods around vertices s,a,b are all identical between graphs GE,GN. Then if A chooses c for the next vertex, then A would have a routing ratio of at least 7+2ϵ in GE.

Finally, if we exclude the zig-zag paths, then each vertex is within a distance of 20δ from its nearest integer coordinate. Since the shortest path to t in each case uses at least six edges with length at least 12(20δ) before passing through q1, then the total path length in any case is at least 6(140δ)+1+247δ=7+2287δ. Setting δ<ϵ287 completes the proof.

Lemma 21.

Let ϵ>0. There exists a Yao4 graph with spanning ratio at least 73+523ϵ.

Proof.

Let ϵ>0 be arbitrarily small. We will create a graph with spanning ratio at least 73+523ϵ, shown in Figure 11.

Figure 11: Pictured is the Yao4 graph with vertices {s,a,b,c,d,e,f,g,h,t}. The shortest path from s to t must pass by h, and its length can be made arbitrarily close to 73+5236.51. Several edges are omitted for clarity.

Let δ>0 be arbitrarily small. Define s:=(0,1)+δ(1,1), a:=(1,1)+δ(3,3), b:=(1,0)+δ(4,1), c:=(1,1)+δ(5,6), d:=(0,1)+δ(1,7), e:=(1,1)+δ(9,8), f:=(2,1)+δ(7,7.5), g:=(2,1)+δ(6,2), and t=(0,0).

Next, we define a point in the region below and to the left of e. More precisely, start by defining p1 to be the north-most point satisfying x(p1)=x(e) and sp12=sg2. Next, let p2 be the east-most point such that dp22=de2 and p1p2 is orthogonal to sp1. Finally let p3:=(x(p1),y(p2)). Define the convex combination h:=(12δ)p1+δp2+δp3. Note that this construction guarantees that h is in the triangle p1p2p3. Let G be the Yao4 graph with vertices {s,a,b,c,d,e,f,g,h,t}. By construction, ignoring outgoing edges from t, the edges of G are sa,sg,as,ab,bs,ba,bc,cb,cd,db,dc,de,ed,eh,ef,eg,fe,fd,fg,gs,gf,ht,hd,he,hg. Note that the only incoming edge to t is ht, and that the only incoming edge to h is eh. Also, for any distinct u,v{s,a,b,c,d,e,f,g}, the coordinates of u and v differ by at most 9δ from their nearest integer grid points, so the edge uv has length at least 118δ. Furthermore, sg and gf both have length at least 218δ. It remains to bound the lengths eh2 and ht2. We have

sp12=sg2 (110δ)2+(y(p1)δ+1)2=(27δ)2+δ2
y(p1)=3+6δ50δ21+δ
y(p1)31+4δ and y(p1)318δ
|y(p1)(31)|8δ

Next, the x and y coordinates of p1,p2 and p3 are in [0,1], so by definition, we have

hp1=2δy(p1)+δy(p2)+δy(p3)2δ

This allows us to bound the distance from h to (1,31):

h(1,31)hp1+p1(1,31)2δ+max(9δ,8δ)11δ

Now we can lower bound the edge length ht2 and eh as follows:

ht2 (1,31)t2h(1,31)2523112δ
eh (1,1)(1,31)e(1,1)h(1,31)239δ11δ

The shortest path from s to t in G will follow either path P1:=(s,a,b,c,d,e) or P2=(s,g,f,e), followed by the edges eh and ht. We have

dG(s,t) min(P12,P12)+eh2+ht2
5(118δ)+(239δ11δ)+(523112δ)
73+523126δ.

Setting δ<(ϵ/126)2 completes the proof since st2=(1δ)2+δ21.

Lemma 22.

Let ϵ>0. Then any local routing algorithm for Yao4 graphs has routing ratio at least 7+2ϵ in the worst case.

Proof.

Let ϵ>0 be arbitrarily small. We will construct five Yao4 graphs G1,G2,G3,G4,G5 such that any local routing algorithm has a routing ratio of at least 7+2ϵ in at least one of the five graphs. The five graphs are shown in Figure 12.

Figure 12: Any local routing algorithm for Yao4 has a routing ratio of at least 7+2ϵ in one of the five graphs. The outgoing edges from t are omitted.

Let δ<0 be arbitrarily small. Define the points t:=(0,0), s:=(0,1)+δ(1,1), a:=(1,1)+δ(3,2), b:=(1,0)+δ(4,1), c:=(1,1)+δ(5,6), d:=(0,1)+δ(1,7), e:=(1,1)+δ(9,8), f:=(1,0)+δ(10,1), g:=(111δ,22δ+2δ1), a:=(8δ1,10δ+2δ1), b:=(1,0)+δ(7,1), c:=(1,1)+δ(6,5), d:=(0,1)+δ(1,4), e:=(1,1)+δ(2,3), f:=(1,0)+δ(1,1), g:=(1,1)+δ(0,3). We have st2=(1δ)2+δ21 since 0<δ<1. Then define the graphs by their point sets: V(G1):={s,t,a,b,c,d,e,f,g,g}, V(G2):={s,t,a,b,c,d,e,f,f,g}, V(G3):={s,t,a,b,c,d,d,e,f,g}, V(G4):={s,t,a,b,b,c,d,e,f,g}, V(G5):={s,t,a,a,b,c,d,e,f,g}. Notice that the only incoming edges to t in the five graphs are gt,ft,dt,bt,at, respectively. The decision tree for which graph to provide to any algorithm is illustrated in Figure 13.

Figure 13: The adversarial decision tree for which graph to provide to any algorithm.

By construction, each coordinate of each vertex differs by at most 11δ from its nearest integer grid point. This implies that any edge connecting two different letters must have length of at least 122δ. Moreover, eg and ca have length at least 222δ. Furthermore, the nearly diagonal edges, bs,fs,at,gt, have length at least 2(122δ). In any case, we append the shortest path to t from a leaf of the decision tree to get a routing ratio of at least 7(122δ)+2(122δ)7+2186δ in the worst case. Setting δ<(ϵ/186)2 guarantees that the routing ratio is at least 7+2ϵ.

References

  • [1] Hugo A. Akitaya, Ahmad Biniaz, and Prosenjit Bose. On the spanning and routing ratios of the directed Θ6-graph. Comput. Geom., 105-106:101881, 2022. doi:10.1016/j.comgeo.2022.101881.
  • [2] Vikrant Ashvinkumar, Joachim Gudmundsson, Christos Levcopoulos, Bengt J. Nilsson, and André van Renssen. Local routing in sparse and lightweight geometric graphs. Algorithmica, 84(5):1316–1340, 2022. doi:10.1007/s00453-022-00930-2.
  • [3] Luis Barba, Prosenjit Bose, Mirela Damian, Rolf Fagerberg, Wah Loon Keng, Joseph O’Rourke, André van Renssen, Perouz Taslakian, Sander Verdonschot, and Ge Xia. New and improved spanning ratios for Yao graphs. J. Comput. Geom., 6(2):19–53, 2015. doi:10.20382/jocg.v6i2a3.
  • [4] Nicolas Bonichon, Cyril Gavoille, Nicolas Hanusse, and Ljubomir Perkovic. Plane spanners of maximum degree six. In ICALP (1), volume 6198 of Lecture Notes in Computer Science, pages 19–30. Springer, 2010. doi:10.1007/978-3-642-14165-2_3.
  • [5] Nicolas Bonichon, Cyril Gavoille, Nicolas Hanusse, and Ljubomir Perkovic. Tight stretch factors for L1- and L-Delaunay triangulations. Comput. Geom., 48(3):237–250, 2015. doi:10.1016/j.comgeo.2014.10.005.
  • [6] Nicolas Bonichon, Iyad A. Kanj, Ljubomir Perkovic, and Ge Xia. There are plane spanners of degree 4 and moderate stretch factor. Discret. Comput. Geom., 53(3):514–546, 2015. doi:10.1007/s00454-015-9676-z.
  • [7] Prosenjit Bose, Jean-Lou De Carufel, Darryl Hill, and Michiel Smid. On the spanning and routing ratio of the directed theta-four graph. Discret. Comput. Geom., 71(3):872–892, 2024. doi:10.1007/s00454-023-00597-8.
  • [8] Prosenjit Bose, Jean-Lou De Carufel, Pat Morin, André van Renssen, and Sander Verdonschot. Towards tight bounds on theta-graphs: More is not always better. Theor. Comput. Sci., 616:70–93, 2016. doi:10.1016/j.tcs.2015.12.017.
  • [9] Prosenjit Bose, Mirela Damian, Karim Douïeb, Joseph O’Rourke, Ben Seamone, Michiel H. M. Smid, and Stefanie Wuhrer. π/2-angle Yao graphs are spanners. Int. J. Comput. Geom. Appl., 22(1):61–82, 2012. doi:10.1142/S0218195912600047.
  • [10] 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. doi:10.1137/140988103.
  • [11] Prosenjit Bose, Darryl Hill, Michiel Smid, and Tyler Tuttle. On the spanning and routing ratios of the Yao-four graph. In ISAAC, volume 322 of LIPIcs, pages 15:1–15:17. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPIcs.ISAAC.2024.15.
  • [12] Kevin Buchin, Joachim Gudmundsson, Antonia Kalb, Aleksandr Popov, Carolin Rehs, André van Renssen, and Sampson Wong. Oriented spanners. In ESA, volume 274 of LIPIcs, pages 26:1–26:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPIcs.ESA.2023.26.
  • [13] Paul Chew. There is a planar graph almost as good as the complete graph. In SCG, pages 169–177. ACM, 1986. doi:10.1145/10515.10534.
  • [14] Mirela Damian and Naresh Nelavalli. Improved bounds on the stretch factor of y4. Comput. Geom., 62:14–24, 2017. doi:10.1016/j.comgeo.2016.12.001.
  • [15] Mark de Berg, Otfried Cheong, Marc J. van Kreveld, and Mark H. Overmars. Computational geometry: algorithms and applications, 3rd Edition. Springer, 2008. doi:10.1007/978-3-540-77974-2.
  • [16] William Michael Zoltan Kalnay. Routing ratio of the directed Yao-6 graphs. Master’s thesis, Carleton University, Ottawa, 2023.
  • [17] Giri Narasimhan and Michiel Smid. Geometric Spanner Networks. Cambridge University Press, 2007. doi:10.1017/CBO9780511546884.
  • [18] Andrew Chi-Chih Yao. On constructing minimum spanning trees in k-dimensional spaces and related problems. SIAM J. Comput., 11(4):721–736, 1982. doi:10.1137/0211059.