• Keine Ergebnisse gefunden

Barycentric Routing

Im Dokument Theory and Applications of the Laplacian (Seite 116-124)

In this section we introduce our routing methods BR, GBR, AGBR and GBFR running on virtual coordinates computed during the precomputation phase described in Sect. 5.3.1. We need the following basics. With the definitions given in Sect. 5.2 the theorem of Tutte can be formulated as follows. Astrictly convex polygon is a convex polygon, where all inner angles are smaller than π.

Theorem 5.3.1 (Tutte [113]) Fixing the vertices of a face of a planar em-bedded, 3-connected graph onto the corners of a strictly convex polygonC, and setting the remaining vertices to the barycenter of their neighbors, yields a planar embedding.

We call the embedding from Theorem 5.3.1barycentric embedding pC. After fixing the vertices of C it is unique if G is connected (see Theorem 2.5.2) and can be computed using the Laplacian matrix Lof the given graph. The embedding pC = (x, y) is then given by the unique solutions of the potential equations Lx = 0 and Ly = 0, where the positions of the vertices of C are fixed and its corresponding lines in the equation removed, see Sect. 2.5 on the Dirichlet problem on graphs. These equations can iteratively be solved by the following Jacobi iteration for all vertices v ∈V \C, see also Def.2.5.4

x(v)← X

w∈N(v)

x(w)

deg(v) and y(v)← X

w∈N(v)

y(w)

deg(v) (Jacobi iteration).

(5.1) Note that Jacobi iteration (5.1) only needs communication between adjacent vertices. Equivalently, pC can be defined as follows, see Theorem 2.5.10.

pC = arg min

p

n X

v,w∈V

d(v, w)2 : vertices of C are fixedo

. (5.2) Thus, pC has minimum energyE(pC) =E(x) +E(y) (see Theorem 2.5.10), or, equivalently,xandysolve the corresponding Dirichlet problem on graphs, see Problem 2.5.1. Note that this formulation also directly implies that all vertices v ∈ V are within the closed (bounded) set delimited by C (or use see the maximum principle on graphs, Lemma 2.5.7).

5.3.1 Precomputation Phase

The precomputation phase for the following routing rules is divided into four steps that once have to be executed to obtain the desired virtual coordinates

(x(v), y(v), z(v))v∈V. After this precomputation phase messages can easily (with simple Routing Rules 1 to 4) and on very short paths be routed (see Fig. 5.11).

• Step 1 computes the (planar) restricted Gabriel Graph GGG and de-terminestree children, i.e., vertices that would be deleted if successively removing degree-one-vertices from GGG.

• Step 2 determines the vertices of the outer face of GGG (i.e., the perimeter vertices) and sets them equidistantly on a circle enclosing GGG to form the strictly convex polygon C.

• Step 3establishes 2-connectedness ofGGGby addingvirtual edges that do not destroy planarity of GGG.

• Step 4 establishes 3-connectedness (in the sense given in Sect. 5.2) of GGG, such that the theorem of Tutte can be applied.

Algorithm 5: BR step 1 (determine tree vertices)

compute restricted Gabriel GraphGGG and denote all vertices non-tree vertices

foreach v with exactly one non-tree vertex neighbor do denotev a tree child

repeat the last step (at most) n rounds

foreach non-tree child v with tree children do denotev a tree root

foreach non-tree child v do z(v)←0

foreach tree root v with children v1, . . . , vk do send z =j, z =j+ 1 to vj

foreach tree child v receiving z, z do

setz(v)←z and send z+ (z−z)·j/(k+ 1),

z+ (z−z)·(j+ 1)/(k+ 1) to its children vj,1≤j ≤k repeat the last step (at most) n rounds

Starting from degree-one-vertices, Algorithm5detects all tree children inGGG

and assigns values z(v) that induce a prefix ordering of each tree. This al-lows easy addressing by Routing Rule 1. The following algorithm steps run on non-tree vertices and tree roots, i.e., assume there exist no tree children.

Algorithm5is mainly used to decrease the number of virtual edges that will be inserted in the next three steps.

Algorithm 6: BR step 2 (set perimeter vertices)

letM denote all verticesv with minimum by(v) among their neighbors foreach v ∈M do

pass message (x(v),b by(v), c) containing the coordinates bx(v),y(vb ) and a counterc= 1 right hand rule directed (0,−1)

foreach v ∈V do

if v received message (x,b y, c)b and by≤y(v) (andb x >b bx(v) if by=y(vb ))then

setc(v)←c

pass message (x,b y, cb + 1) right hand rule

if v received message (x,b y, c)b and bx=x(v),b yb=y(v)b then

//v is rightmost vertex on the outer face with minimum y(v)b pass message (rx, ry, r, c) right hand rule directed (0,−1), where (rx, ry) denotes the center of a circle of radius r that encloses all vertices on the outer face (let therefore minimum and maximum bx,ybvalues have been determined on the walk around the outer face)

setx(v)←rx, y(v)←ry −r

if v received message (rx, ry, r, c) (and x(v), y(v) not yet set) then pass message (rx, ry, r, c) right hand rule

setx(v)←rx+rsin(2πc(v)/c) sety(v)←ry−rcos(2πc(v)/c) repeat the last step at most 2n rounds

Algorithm6has to be extended as follows if the outer face may contain cut vertices. If a message (x(v),b y(v), c) initiated from vertexb v with coordinates x(v),b y(v) reaches a vertexb w more than once (which can only happen if w is a cut vertex), w does not set its c(w) value, but inserts a virtual edge between its predecessor and its successor on the outer face and then passes the message (x(v),b by(v), c) right hand rule (neglecting virtual edges). Note that the inserted virtual edges may temporarily destroy the planarity of the embedding, but they do not affect planarity of the barycentric embedding after completion.

Parametersε, κ1 andϑ, κ2for the next step, together with an appropriate stop criterion have to be adapted depending on the specific scenario. Choos-ing εtoo small and the stop criterion too weak may result in a non-detection of a cut vertex. Choosing ε rather too great (we used 10−2 while r≈100 in our tests) is the better choice. Unnecessarily inserted edges do not affect the correctness of the algorithm. Algorithm 7 terminates (i.e., it stops inserting

Algorithm 7: BR step 3 (establish 2-connectedness) repeat

foreach v ∈V do

if v is not a perimeter vertex then apply Jacobi iteration (5.1) if v both had a neighbor u∈U with d(v, u)< ε and a neighbor w∈W with d(v, w)≥ε for more than κ1 rounds then

insert virtual edge between succeeding neighbors u∈U, w ∈W if this edge not already exists untilstop criterion is fulfilled

virtual edges) because of the Euler Formula for planar graphs. In fact, when choosing ε sufficiently small, virtual edges are inserted unnecessarily (i.e., if G is already 2-connected) only if the edge is part of a component G1 that is separated from Gby a cut pair.

Lemma 5.3.2 Let G be a connected planar graph. If Algorithm 7 does not insert a virtual edge, G is 2-connected.

Proof: If G is not 2-connected there exists a cut vertex v separating G into connected components G1, . . . , Gk, k ≥ 2. W.l.o.g. G1 does not contain a vertex of C and v has a neighbor in G2 not at the same position as v.

Minimizing (5.2) sets all vertices ofG1 to the position ofv. An edge between neighbors of v inG1 and G2 does not exist because v is a cut vertex. Hence,

a virtual edge will be inserted.

Algorithm 8: BR step 3 (establish 3-connectedness) repeat

foreach v ∈V do

if v is not a perimeter vertex then apply Jacobi iteration (5.1) if v had neighbors in U(|U| ≥2), all in a sector S of angle ϑ, for more than κ2 rounds then

insert virtual edge betweenu∈U and w, the first vertex that starting from a neighbor w /∈U succeeding

(preceeding) uright hand rule (left hand rule) is outside the sector S rotated by π if such a vertex w exists

untilstop criterion is fulfilled

Lemma 5.3.3 Let G be a 2-connected planar graph, where the vertices of a face have been fixed onto a strictly convex polygon C. If Algorithm 8 does not insert a virtual edge, G is 3-connected (in the sense of Sect. 5.2).

Proof: Assume thatv, wis a cut pair separatingGinto non trivial (i.e., none of them is a path) connected components G1, . . . , Gk, k ≥2, where G1 does not contain a vertex ofC. W.l.o.g.vhas at least two neighbors inG1, andG1

is maximum with respect to inclusion (among all G1 with the previous prop-erties). An embedding, whereG1 is not embedded on a line betweenvandw, cannot minimize (5.2). Hence, there are at least two neighbors w1, w2 ∈G1

of v within a sector S of an angle tending to 0. Because G1 is maximum there exists a path from v right hand rule (or left hand rule) outside sectorS to a vertexw ∈/ G1, such that the angle atv tow1 andw differs fromπ, see Fig. 5.1. Hence, a virtual edge will be inserted. It remains the case, when all connected components G1, G2 (in this case only two are possible since then v, w ∈C) contain vertices ofC. Let v, w be such a cut pair that mini-mizesG1 with respect to inclusion. ThenC∩G1∪ {v, w}(plus an additional edge or a path from v towthat may also already exist inG1) is convex, such that its barycentric embedding is planar and it does not affect the remaining

embedding, see Fig. 5.2.

Algorithm8 terminates because each inserted virtual edge decreases the number of cut pairs (only cut pairs v, w∈C as mentioned in the proof may remain).

The use of virtual edges can cause a delay of position information during the communication of Jacobi iteration (5.1) if the inserted edges do not exist in the original graph G, i.e., a vertex v that has a virtual neighbor w at a distancekonly receives its position afterkrounds instead of after one round.

Lemma 5.3.4 Jacobi iteration (5.1) converges to pC with delayed position information.

Proof: Jacobi iteration (5.1) can be rewritten as

xI ←D−1I AIxI+DI−1Axe C , (5.3) where DI is the diagonal matrix that contains the degrees of all inner ver-tices v /∈C, AI is the adjacency matrix of the subgraph induced by the inner vertices and Ae is the matrix obtained from the adjacency matrix of G by omitting columns corresponding to inner vertices and omitting rows corre-sponding to perimeter vertices C. The vectors xI, xC denote thex-positions of inner and perimeter vertices. Jacobi iteration (5.3) converges because

w

v

w*

w

v

w*

w

v

w*

w

v

w*

Figure 5.1: From left to right, top-down: Original graph G, where the dotted (virtual) edge is inserted first and the dashed edge follows (vertices v, w and w correspond to the first edge). Barycentric embedding of G.

Insertion of first edge. Insertion of second edge

w v

w v

Figure 5.2: A cut pairv, wonC separating a minimum componentG1whose barycentric embedding (right hand side) does not affect the embedding of the remaining graph

the matrix DI −AI is essentially diagonally dominant, see Def. 2.5.3, and, e.g., [65]. The same holds for the matrix D−A defined as follows. Let k be the maximum delay and let Aj denote the adjacency matrix of inner ver-tices that have a distance of j, such that AI =Pk

j=1Aj. Let AeI be defined analogously, and D be the diagonal matrix that contains the degrees of all inner vertices on the first entries and then is filled with ones. Furthermore, letI denote an identity matrix and0zero matrices of appropriate sizes. The delayed Jacobi iteration (5.3) can be written as

xI ←(D)−1

A1 . . . Ak−1 Ak

I 0

| {z }

=:A

xI+ (D)−1

Ae1 . . . Aek 0 . . . 0

xC ,

where the first entries of xI are used for the positions of the inner vertices and the limit on these is the same as in Jacobi iteration (5.3).

5.3.2 BR Rule

We now present our routing rules. These assume that virtual coordinates, i.e., a barycentric embeddingpC, have been precomputed. The following very simple rule for BR (Barycentric Routing) is sufficient for guaranteed message delivery and already delivers good results in practice for graphs of certain densities (see Fig. 5.11). Proofs are given in Sect. 5.4.

Routing Rule 1 If d(v, t) = 0, pass message to w with max z(w)≤z(t).

If d(v, t)>0 and z(v)>0, pass message to the neighbor w with min z(w).

If d(v, t)>0 and z(v) = 0, pass message to w with min angle ψt(v, w)≥0.

5.3.3 GBR Rule

For dense graphs BR suffers from its restriction to the Gabriel Graph. GBR (Greedy BR) prevents this drawback. Whenever possible GBR advances in greedy mode to t using the original graph G instead of GGG. This leads to an algorithm with overall good performance on the whole density spectrum, outperforming routing algorithms on geographic coordinates (see Fig. 5.11).

Routing Rule 2 Pass message to a G-neighbor w with minimum distance d(w, t) < d(v, t) if such a neighbor exists. Otherwise, pass the message ac-cording to Rule 1 until reaching a vertex w with d(w, t) < d(v, t) and then again apply Rule 2.

5.3.4 AGBR Rules

AGBR (Adapted GBR) needs an additional step 0 during the precomputa-tion phase for virtual coordinates to prove Theorem 5.4.7 that is analogous to a theorem concerning the message path lengths of GOAFR+, see [85].

Hence, AGBR fixes the unbounded message paths of GBR in the worst-case (Theorem 5.4.6) while still being good in practice. Step 0 computes a back-bone graph GBG (see, e.g., [119]), i.e., a subgraph of the original unit disk graphG forming a dominating set ofG. The remaining steps afterwards run on the backbone graph, and routing between the backbone graphGBGandG is straight-forward. Initially, set R :=√

2.

Routing Rule 3 Pass message according to Rule 2 if it will thereby be passed to a vertex w with d(w, t)b ≤ Rd(s, t). Otherwise, walk right handb rule along the outer face of the graph GR formed by all vertices u with d(u, t)b ≤Rd(s, t)b until returning to v. If t was not surrounded by this walk, set R ←2R and again apply Rule 3. Otherwise, set ϕ ←ϕt(v), v ←v and apply Rule 4.

Routing Rule 4 Pass message according to Rule 1 if it will thereby be passed to a vertex w with d(w, t)b ≤ Rd(s, t). Otherwise, walk right handb rule around the outer face of GR until a vertex w with ϕt(w)≥ϕ, w 6=v is reached. Set ϕ ←ϕt(w), v ←w and apply Rule 4.

5.3.5 GBFR Rules

Finally, GBFR (GB Face Routing) uses Rule 1 and 2, but with a less con-suming precomputation phase. Jacobi iteration (5.1) may be applied just a few times. Thus, the exact coordinates of pC are not obtained and mes-sage delivery may fail because of two reasons: there is no vertex w with ψt(v, w) ≥0 in Rule 1, or, a vertex is visited more than once on a message path, see Fig. 5.4. In both cases (note that the latter case does not require that a vertex remembers that he already received the message before) GBFR then applies Face Routing [83] on GGG. Since convergence of Jacobi iter-ation (5.1) is geometric, we might already be very close to pC after a few iterations. The good performance of GBFR is due to this fact, see Fig. 5.9.

Note that we used the following additional heuristic. Each degree-2-vertex simply passes the message to its other neighbor.

Im Dokument Theory and Applications of the Laplacian (Seite 116-124)