NETWORK PROPERTIES OF DOUBLE AND TRIPLE ... - CiteSeerX

Report 2 Downloads 119 Views
International Journal of Foundations of Computer Science

c World Scienti c Publishing Company

NETWORK PROPERTIES OF DOUBLE AND TRIPLE FIXED STEP GRAPHS A. L. LIESTMAN School of Computing Science, Simon Fraser University, Burnaby, British Columbia V5A 1S6, Canada

and J. OPATRNY Department of Computer Science, Concordia University, Montreal, Quebec H3G 1M8, Canada

and M. ZARAGOZA Departament de Matematica Aplicada i Telematica, Universitat Politecnica de Catalunya, Barcelona, Spain Received (received date) Revised (revised date) Communicated by Editor's name ABSTRACT The network properties of double and triple xed step graphs are considered. We determine that the broadcast times of double and triple xed step graphs of diameter are equal to + 2 and + 3, respectively. Some results on the embeddings of grids into these graphs with dilation 1 and 2 are given. For a triple xed step graph we give a method to calculate the routing between any two vertices of the graph. Furthermore, we show that the diameter of the surviving route graph remains two for any set of faults for j j = 5, which is optimum. Keywords: xed step graphs, broadcasting, embedding, grids, routing, surviving route graph D

D

D

F

F

1. Introduction

In this paper, we continue the investigation of the network properties of double and triple xed step graphs, focussing on particular graphs of this type which are de ned below. We show that these particular graphs have desirable properties and compare favorably to grids and tori as network structures. As usual, communication networks are represented by graphs in which vertices correspond to the nodes of the network and each edge corresponds to a communication channel that directly connects two nodes. The graphs considered in this paper are undirected, simple, 1

connected graphs without multiple edges. We use the terminology from Bondy and Murty. 3 For a positive integer n and a set of positive, pairwise distinct integers fs1 ; s2 ; : : :; s g, the multiple xed step graph G(n; s1; s2 ; : : :; s ) (also called a distributed loop graph) is a graph on vertices f0; 1; : : :; n ? 1g such that for any vertex u there is an edge between u and vertex u+s (mod n) for 1  i  k. The graph-theoretical properties of these graphs have been studied in several papers. (See the papers of Bermond Comellas and Hsu and of Hwang for excellent surveys of earlier work. 1 9) Multiple xed step graphs have many nice properties and can be viewed as a natural generalization of a cycle. In general, the problem of determining the diameter of multiple xed step graphs is dicult. However, more is known for the cases k = 2 and k = 3 which have been called double xed step and triple xed step graphs. 5 14 The following two results has been shown 13: 1. Any double xed step graph of diameter D has at most 2D2 +2D+1 vertices. 2. The graph G(2D2 + 2D + 1; D; D + 1) is of diameter D. The graph G(2D2 +2D+1; D; D+1) is called an optimal double xed step graph and we denote it by G2 . As an example, G2 3 = G(25; 3; 4) is shown in Figure 1. k

k

i

;

;

;D

;

0

24

1

23

2

22

3

21

4

5

20

6

19

7

18

8

17

9

16 10

15 11

14 13

12

Fig. 1. Standard representation of

G2;3

For the case of a triple xed step graph G(n; a; b; c), the question of which parameters give the best diameter is not completely solved. However, the graph 2

G(3D2 +3D+1; D; D+1; 2D+1) has been shown to have diameter D and it shares many properties with double xed step graphs. 14 We will denote this graph as G3 . As an example, G3 3 = G(37; 3; 4; 7) is shown in Figure 2. ;D

;

0

36

35

1

2

34

3

33

4

32

5 6

31

7

30

8

29

9

28

10

27 26

11 12

25 13

24 14

23 15

22 16

21 20

18

19

17

Fig. 2. Standard representation of

G3;3

In our studies we will make use of a planar geometrical representation of the double and triple xed step graphs that was introduced by Morillo, Fiol, and Yebra.

12

To represent G2 , consider the Euclidian plane divided into square units. Each square represents a vertex of G2 and the square in coordinates (0; 0) represents the vertex 0. For any square representing vertex u, the square to the right represents u + D and the square above it represents the vertex u + D + 1. Thus, the edges (u; u+D) correspond to pairs of horizontally adjacent squares, and the edges (u; u+ D +1) correspond to pairs of vertically adjacent squares. The representation of the vertices in the plane repeats periodically and all the vertices of G2 are contained in a square tile whose exact shape is shown in Figure 3a. A geometrical representation of G3 is obtained similarlyto the one for G2 . In this case, the edge (u; u+2D+1) corresponds to a diagonal adjacency. In particular, the square representing u + 2D + 1 is up and to the right of the square representing u. Again, representation of the vertices in the plane repeats periodically and a tile containing all vertices of G3 has the shape of a slanted hexagon as shown in Figure 3b. ;D

;D

;D

;D

;D

;D

3

13 16

13 16 19 22 25 28

6

9

12 15 18 21

21 24 2

5

8

11 14 17

17 20 23 1

4

7

10 13 16

13 16 19 22 0

3

6

9

9 12 15 18 21 24 2

5

12

11 14 17 20 23 9

9

12 15 18 21 24

36 2

5

8

11 14 17 20

29 32 35 1

4

7

10 13 16

25 28 31 34 0

3

6

9

21 24 27 30 33 36 2

5

12

17 20 23 26 29 32 35

10 13 16 6

6

13 16 19 22 25 28 9 12 15 18 21

12

a)

b)

Fig. 3. Planar geometrical representations of

G2;3

and

G3;3

Graphs G2 and G3 have been shown to have some properties that are important for interconnection networks. 12 5 In particular, these graphs are regular, maximally connected, and vertex symmetric. In addition, for G2 , the diameter of the surviving route graph remains two for any set of faults F with jF j  3, which is optimum. In this paper we investigate other properties of G2 and G3 which are important from the point of view of interconnection networks and which have not been previously investigated. In Section 2, we compute the broadcast time of G2 and G3 . In Section 3, we exhibit embeddings of grids into G2 and G3 with dilation 1 and 2, respectively. In Section 4, we give a simple calculation of a shortest path between any two vertices of G3 and investigate the diameter of the surviving route graph of G3 . ;D

;D

;

;D

;D

;D

;D

;D

;D

;D

;D

;D

2. Broadcasting in Double and Triple Fixed Step Networks

One of the common processes in communication networks is the sending of a message from one node of a network to all the other nodes as quickly as possible, subject to the following constraint: during each unit of time a node which already knows the message can inform at most one of the nodes to which it is connected directly by a communication channel. This process is referred to as broadcasting. 7;2

Given a connected graph G and a vertex u, the broadcast time of u, denoted b(u), is the minimum number of time units required to complete broadcasting from u. The broadcast time b(G) of graph G is the maximum broadcast time of any vertex u of G. Theorem 1 For the double xed-step graph G2 , the broadcast time b(G2 ) is equal to D + 2. Proof. Due to the vertex-symmetry of G2 , we only need to show that the broadcast time is equal to D + 2 for the vertex 0. Consider the following broadcast scheme on the tile representation of the graph. (See Figure 4b). ;D

;D

4

;D

1. The vertex 0 sends the message to the vertices to the left, right, above, and below it in that order. 2. A vertex that receives a message from the right sends the message to the vertices to the left, above, and below it in that order. 3. A vertex that receives a message from the left sends the message to the vertices to the right, above, and below it in that order. 4. A vertex that receives a message from below sends the message to the vertex above it. 5. A vertex that receives a message from above sends the message to the vertex below it. Let a; b; c; d be the four corners of the tile representing G2 , a being the leftmost corner and all other corners being listed in the clockwise order. The algorithm sends the message to any vertex u on the horizontal line between 0 and a in time equal to d(0; u), and a receives the message at time D. This, (2) and (4) imply that any vertex u in the upper left quadrant of the tile (not including the vertices in the vertical line containing the vertex 0) receives the message by time d(0; u) + 1, and similarly any vertex v in the lower left quadrant receives the message by time d(0; v) + 2. The algorithm sends the message to any vertex u on the horizontal line between 0 and c by time d(0; u) + 1. This, (3) and (4) imply that any vertex u in the upper right quadrant of the tile (including the vertices in the same column as vertex 0) receives the message by time d(0; u) + 2. Similarly any vertex v in the lower right quadrant (including the vertices in the same column as vertex 0) receives the message in time d(0; v) + 3, which is sucient for all vertices of the quadrant except for the vertex d and the vertices on the border of the tile between d and c. However, d is the left neighbour of a, and thus by (1) of the broadcast scheme a sends the message to d at time D+1. Any vertex on the border of the tile between d and c is above a vertex on the border between a and b, and thus by (4) of the broadcast scheme these vertices receive the message at time D + 2. Therefore, b(G2 )  D + 2. We shall show by contradiction that the broadcast time for 0 in G2 is greater than D + 1. Assume that there is a broadcast algorithm that sends a message from 0 to all vertices by time at most D + 1. We will consider the four vertices of G2 which are in the four corners of the tile and determine whether they can receive the message by time at most D + 1. We can assume without loss of generality that the broadcast algorithm rst sends a message to the vertex on the left. Thus, the vertex, say a, in the left corner of the tile can receive the message at time D and clearly at most one vertex on the border of the tile can receive the message in time less than D + 1, since all vertices on the border of the tile are at distance D from 0. Notice that the upper and lower corner vertices of the tile are adjacent to a (in the tiles bordering on a), but only one of them, say b, can receive the message from a at time D + 1. However, of the remaining two corners of the tile, only one of them can receive the message in time equal to D+1, namely the one which is either ;D

;D

;D

;D

5

in the same row or column as the vertex where the broadcast algorithm sends the message from 0 at time 2. Thus, one of the four corners of the tile cannot receive the message in time D + 1, a contradiction to our assumption. 2 Theorem 2 For the triple xed step graph G3 , the broadcast time b(G3 ) is equal to D + 3. Proof. Due to the vertex-symmetry of G3 , we only need to show that the broadcast time is equal to D + 3 for the vertex 0. Let n = 3D2 + 3D + 1. Consider the broadcast scheme below. (See Figure 4b ;D

;D

;D

5

5 4

3

5

4

4

4

3

3

6 5

6

4

2

1

0

2

5

4

4

5

5

5

5 3

4

2

3 3

4

5

4

6

5

6 5

5

4

5

4

0

1

4

6

5

3

2

4

5

6

4

3

5

6

5

4

5

6

6

a)

5

5

b)

Fig. 4. Broadcast schemes for

G2;3

and

G3;3

which contains the scheme for G3 3. The numbers indicate the time unit in which the message arrives at the node.) All vertex calculations are performed modulo n. ;

1. The vertex 0 sends the message to the vertices D (right), D + 1 (above), (?2D ? 1) (diagonal-down), ?D (left), in that order. 2. The vertex D, which is to the right of 0 in the tile, sends the message to the vertices (?D ? 1) (diagonal-down), 2D + 1 (above), 2D (right), in that order. 3. The vertex D +1, which is directly above 0, sends the message to the vertices 3D + 2 (diagonal-up), 1 (left), 2D + 2 (above), in that order. 4. The vertex (?D ? 1), which is directly below 0, sends the message to the vertices (?3D ? 2) (diagonal-down), ?1 (right), (?2D ? 2) (below), in that order. 5. For any i  1, vertex (2i+1)D+i+1, i.e., a vertex on the north-east diagonal path from D+1, sends the message to vertices (2i+3)D+i+2 (diagonal-up), (2i + 2)D + i + 2 (above), in that order. 6. For any i  1, vertex ((?2i ? 1)D ? i ? 1), i.e., a vertex on the south-west diagonal path from ?D ? 1, sends the message to vertices ((?2i ? 3)D ? i ? 2) (diagonal-down), ((?2i ? 2)D ? i ? 2) (below), in that order. 6

7. For any i  0, vertex (2i+2)D+i+1, i.e., a vertex on the north-east diagonal path from 2D+1, sends the message to vertices (2i+4)D+i+2 (diagonal-up), (2i + 3)D + i + 1 (right), in that order. 8. For any i  0, vertex ((?2i ? 2)D ? i ? 1), i.e., a vertex on the south-west diagonal path from (?2D ?1), sends the message to vertices ((?2i?4)D ?i?2) (diagonal-down), ((?2i ? 3)D ? i ? 1) (left), in that order. 9. A vertex that receives a message from the left sends the message to the vertex on the right. Furthermore, if the vertex is equal to Dj ? 1 for some j  0, it also sends the message to the vertex below it in the next step. 10. A vertex that receives a message from the right sends the message to the vertex to the left. Furthermore, if the vertex is type (?Dj + 1) for some j  0, it also sends the message to the vertex above it in the next step. 11. A vertex that receives a message from below sends the message to the vertex above. 12. A vertex that receives a message from above sends the message to the vertex below. To show that the above scheme completes the broadcast by time at most D + 3, we use the fact that given the tile for G3 , we obtain the tile for G3 +1 by adding one square all around the tile as indicated in Figure 5 with broken lines. Thus, a broadcast scheme for G3 +1 , is obtained from the broadcast scheme for G3 by sending the message from the squares on the border of the tile of G3 to the squares on the border of the tile of G3 +1, as in Figure 5. ;D

;D

;D

;D

;D

;D

B

B 6

B’ 5

B’ 4

5

B

B 6

5

3

4

B’

6

B 5

2

4

3

5

B

6

B 6

5

4

0

1

B

4

B’ 6

5

3

2

B

4

5

B 6

B’ 5

4

B’

3

B 4

5

6

B 5

6

Fig. 5. Extension of the broadcast scheme for

7

G3;3

to

G3;4

Let B be the set of vertices which are on the border of the tile of G3 , (which are shaded in Figure 5), and let B 0 be the following subset of six vertices of B , B 0 = f(?D2 + 2D + 1); D2 ? 2D ? 1; 2D2; 2D2 + D; (?2D2 ? D); (?2D2 )g (shown in darker shading in Figure 5). Clearly, in the expansion of the broadcast scheme from G3 to G3 +1, each vertex in B ? B 0 sends the message to only one vertex, while any vertex in B 0 sends the message to two vertices, but by the scheme above such a vertex sends it rst to the vertex which is in B 0 +1 . Consider the following statement: Let D be an integer, D  2. In the broadcast scheme above, any vertex in B receives the message by time at most D + 3, and any vertex in B 0 receives the message by time at most D + 2. It follows from Figure 5, that the statement is true for D = 2 or 3. Assume the inductive hypothesis that the statement above is true for some D  3. Let u be a vertex in B +1 ? B 0 +1 . If u obtains the message from a vertex x in B ? B 0 then, by the hypothesis, x receives the message by time at most D + 3 and it transmits only one message (to u) by time at most (D + 1) + 3. If u obtains the message from a vertex x in B 0 , then by the hypothesis x receives the message by time at most D + 2, x transmits only two messages and thus u receives it by time at most (D + 3) + 1. Let v be a vertex in B 0 +1 . By the above, v receives the message from a vertex z in B 0 and, by the induction hypothesis, z receives the message by time at most D + 2. Since in our broadcast scheme z transmits rst to a vertex in B 0 +1 , v receives the message by time at most (D + 1) + 2. Thus, by induction, the statement above is true. This implies that b(G3 )  D +3, since no interior vertex of the tile receives the message later than a vertex on the border of the tile. In order to show a matching lower bound, let us assume that there exists an algorithm A which broadcasts from vertex 0 to all vertices of G3 in time at most D + 2. Let T be the broadcast tree that represents this broadcast, i.e. a directed tree whose vertices are pairs, (x; i) where x is a vertex of G3 , i is the time unit in which x receives the message, and the root is labeled by (0; 0). Let v1 ; v2; v3 be the vertices which, according to the broadcasting algorithm A, receive the message directly from the vertex 0 at times 1; 2; 3, respectively. Let T1; T2 ; T3 be the subtrees rooted at (v1 ; 1); (v2; 2); (v3; 3), respectively. Since the distance from 0 to any vertex in B is equal to D, any vertex of the set B of the vertices on the border of the tile must occur in one of the above three subtrees of T. Since the message arrives at v3 at time 3 and the distance from 0 to any vertex in B is equal to D, the tree T3 contains at most 1 element of B . Similarly, T2 contains at most D + 1 elements of B . Consider the three subtrees T1 2 , T1 3 , and T1 4 of T1 rooted at the children of (v1 ; 1) that receive the message at times 2; 3; 4, respectively. It can be easily observed that the tree T1 4 can contain at most 1 vertex of B , tree T1 3 can contain at most D vertices of B . The tree T1 2 can contain at most 3D ? 2 vertices of B , namely those that are either in the same quadrant of the tile as the vertex of the graph in the root of T1 2, or are in the tiles neighboring on the quadrant. Thus, the tree T contains at most 5D + 1 vertices of B , which is a contradiction since B contains 6D vertices. Therefore, b(G3 ) is D

;D

D

D

D

;D

;D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

;D

;D

;D

D

D

D

D

D

;

;

;

;

D

;

D

;

D

;

D

D

;D

8

2

at least equal to D + 3.

3. Embeddings of Grids into Double and Triple Fixed Step Graphs

In the eld of interconnection networks, the study of graph embeddings is motivated by the problem of ecient simulation of interconnection networks or parallel algorithms on a di erent interconnection network. See the book by Leighton and the article of Monien and Sudborough for more detailed discussions of this issue. 10;11

Let G and H denote two simple, undirected graphs. In general, an embedding of the graph G into the graph H is an injective mapping f of the vertices of G into the vertices of H together with a mapping P which assigns to each edge (u; v) of G a path between f(u) and f(v) in H. The dilation of a given embedding f, denoted dil(f), is de ned to be the maximum of flength(P (u; v)) : (u; v) 2 E(G)g. Since our goal is to construct embeddings of low dilation, we will take P to be a mapping that assigns to each edge (u; v) of G a shortest path between the vertices f(u) and f(v) of H. Thus, in this paper dil(f) = maxfd (f(u); f(v)) : (u; v) 2 E(G)g, where d (x; y) denotes the distance between x and y in the graph H. The expansion of an embedding f is the ratio of the number of vertices of H to the number of vertices of G. Since we use injective mappings in this paper, the expansion of all embeddings will be at least one. The edge-congestion of f is the maximum, over all edges e of H, of the number of edges of G mapped to a path of H which includes e. The r  s grid, denoted M(r; s), is a graph with the vertex set f(i; j) : 0  i < r; 0  j < sg and the edge set f((i; j); (i; j + 1)) : 0  i < r; 0  j < s ? 1g [ f((i; j); (i + 1; j)) : 0  i < r ? 1; 0  j < sg. For 0  i < r, we use the term row i to denote the vertices f(i; j) : 0  j < sg and, for 0  j < s, we use the term column j to denote the vertices f(i; j) : 0  i < rg. In this section we give embeddings of grids into G2 and G3 with dilation 1 and 2. There are two reasons for focusing our attention on embeddings of grids. First, many algorithms have been developed for grids. 10 Second, embeddings of other networks into grids have been investigated, as for example of binary trees. 6 8 Thus, by composition of embeddings we can obtain embeddings of these other networks into multiple xed step graphs. First, we investigate which grids can be embedded into G2 with dilation 1. In a dilation 1 embedding < f; P > of a graph G into graph H, any edge (u; v) of G is mapped by P to a path of length 1, i.e. the edge (f(u); f(v)) of H. Thus, in a dilation 1 embedding we only need to specify the function f. Also notice that in this case, since f is a one-to-one mapping, G is a subgraph of H, which implies that H can emulate G without any slowdown. Theorem 3 For any integer D, D  2, there is a dilation 1 embedding of M(D; D) into G2 . Furthermore, this is the largest square grid that can be embedded into G2 with dilation 1. Proof. Consider a mapping of M(D; D) into G2 given by the function f((i; j)) = f

f

f

H

H

;D

;D

;

;D

f

f

;D

;D

;D

9

(D + 1)i + Dj. The values which are assigned by this function to any row of M(D; D) increase with the column number and the largest value assigned is equal to (D+1)D+D2 , which is smaller than 2D2 +2D+1. Furthermore, for 0  i  D ?1, this function maps row i of M(D; D) to the values which are congruent to i mod D. Therefore, all values assigned to the vertices in rows 0 to D ? 1 are distinct. Row D is mapped to the vertices which are congruent to 0 mod D, as are the vertices in row 0, but the values in row D start with value (D + 1)D which is greater than D2 , the largest value assigned to any vertex in row 0. Thus, the function f is a one-to-one mapping of the grid into G2 . Clearly, values that are assigned by f to any two vertices of the grid that are in the same row and neighbouring columns di er by D, and therefore these vertices are mapped onto adjacent vertices of G2 . Similarly, values that are assigned by f to any two vertices of the grid that are in the same column and in adjacent rows di er by D + 1, and therefore these vertices are mapped onto adjacent vertices of G2 . Thus, f de nes an embedding of dilation 1. It is easy to see that M(D+1; D+1) cannot be embedded into G2 with dilation 1, since any such embedding must map the grid onto a (D+1)  (D+1) sub-grid of the geometrical representation of G2 , and any such sub-grid contains some values several times, i.e., if (0; 0) of the grid is mapped onto the vertex x then either the vertex (x + (D + 1)D) mod (D2 + 2D + 1) or the vertex (x + (D ? 1)D) mod (D2 + 2D + 1) would be assigned to two di erent vertices in row 0 and column 0 of the grid. Thus, M(D; D) is the largest square grid that can be embedded into G2 with dilation 1. 2 We can embed larger grids into G2 if the grid is rectangular or if dilation 2 is allowed. Theorem 4 For any integer D, D  2, there is a dilation 1 embedding of the grid M(D ? 1; D + 3) into G2 . Proof. Let n = D2 + 2D + 1. Consider a mapping of M(D ? 1; D + 3) into G2 given by the function g((i; j)) = ((D + 1)i + Dj) mod n. For 0  i  D ? 2 and 0  j  D +2, the value (D +1)i+Dj is smaller than n, and g is equal to function f from the previous proof, in this range of values. Thus, as in the previous proof, the values which are assigned by this function to rows 0 to D ? 2 of M(D ? 1; D+3) are increasing with the column number, and for any i, 0  i  2D ? 1, this function maps row i of M(D+1; D+1) to values which are congruent to i mod D. Therefore, all values assigned to the vertices in rows 0 to D ? 2 are distinct. The vertices in columns 0 to D + 2 of row D ? 1 are mapped onto the vertices of G2 whose values are congruent to D ? 1 mod D, and thus distinct from vertices onto which are mapped rows 0 to D ? 2. The vertex (D ? 1; D + 3) is mapped onto the vertex (D2 ? 1 + D(D + 3)) mod n = (2D2 + 3D ? 1) mod n = D ? 2, but this value is not used in row D2 . Thus, g is a one-to-one mapping of the grid into the vertices of G2 . It is easy to see from the de nition of g that adjacent vertices of the grid are mapped onto adjacent vertices of G2 , and thus g de nes a dilation 1 embedding. 2 Theorem 5 For any integer D, D  2, there is a dilation 2, edge-congestion 2 ;D

;D

;D

;D

;D

;D

;D

;D

;D

;D

;D

;D

10

embedding of the grid M(D ? 1; 2D + 1) into G2 . ;D

Proof. Let n = D2 + 2D + 1. Consider a mapping of M(D ? 1; 2D + 1) into G2

;D

given by the function f2 ((i; j)) = Di+j. Clearly, function f2 is the usual one-to-one mapping of a 2-dimensional grid into consecutive integers f0; 1; : : :; 2D2 + 2Dg in row-major order. For any two adjacent vertices (u; v); (u; v + 1), 0  u  D ? 1, 0  v  2D, in the same row of the grid, f2 ((u; v)) ? f2 ((u; v + 1)) = D, and therefore their images are adjacent in G2 , and we de ne P 2 ((u; v); (u; v + 1)) = (f2 ((u; v)); f2 ((u; v + 1)). For any two adjacent vertices (u; v); (u + 1; v), 0  u  D ? 2, 0  v  2D+1, in the same column of the grid, f2 ((u; v)) ? f2 ((u; v+1)) = 1, and therefore there is a path P 2 (u; v) = (f2 ((u; v)); f2 ((u; v))+D+1; f2 ((u; v))+1) of length 2 in the host graph between the images of the vertices. Clearly, the dilation of this embedding is 2, and it is easy to observe that the edge-congestion is also equal to 2. 2 In the above proof, rows of the grid are mapped into rows of the geometrical representation of G2 , and columns of the grid are mapped to its diagonals. Similarly we can obtain a dilation 2 embedding in which columns of the grid are mapped to the columns of the geometrical representation of G2 and rows of the grid are mapped its diagonals, which gives us the following theorem. Theorem 6 For any integer D, D  2, there is a dilation 2 embedding of the grid M(D; 2D ? 1) into G2 . Proof. Similar to the previous proof. 2 The expansion of the embeddings from the last two theorems is equal to 1 + 1 2 2 +2 , which approaches 1 very closely. Theorem 7 For any integer D, D  3, there is a dilation 1 embedding of the grid M(2D; b3D=2c) into G3 . Proof. Let f3 be a function on the vertices of the grid de ned as follows.  + (2D + 1)j if i is even f3 ((i; j)) = i=2 (1) D + (i ? 1)=2 + (2D + 1)j if i is odd. In the 6  4 grid of Figure 6, each entry indicates the vertex of G3 assigned to that vertex of the grid in the above embedding. Function f3 assigns the integers ;D

f

f

;D

;D

;D

D

D

;D

;D

0

7

14

21

28

4

11

18

25

32

1

8

15

22

29

5

12

19 26

33

2

9

16

23

30

6

13

20

27

34

3

10

17

24

31

Fig. 6. Dilation 1 embedding of (6 4) into M

11

;

G3;4

f(2D + 1)j; (2D + 1)j + 1; : : :; (2D + 1)j + Dg to the vertices in the even rows of column j of the grid (in order), while the integers f(2D + 1)j + D + 1; (2D + 1)j + D +2; : : :; (2D +1)j +2Dg are assigned to the vertices in the odd rows of column j

of the grid (in order). Thus, function f3 is a one-to-one function. Adjacent vertices in the same column of the grid are assigned values that di er by either D or D + 1, and adjacent vertices in the same row of the grid are assigned values that di er by 2D + 1. Thus, adjacent vertices of the grid are mapped by f3 to adjacent vertices of G3 , which implies that the function f3 de nes a dilation 1 embedding of the grid. 2 2 +3 +1 3 The expansion of the embeddings from the last theorem is equal to (2 +1)(b3 2c) , which approaches 1 for large values of D. Theorem 8 For any integer D, D  2, there is a dilation 2, edge-congestion 2 embedding of the grid M(D; 3D ? 1) into G3 . Proof. Similarly to the proof of Theorem 5, the function that maps the grid in row-major order gives a dilation 2, edge-congestion 2 embedding of the grid into G3 . 2 ;D

D

D

D

D=

;D

;D

4. Routing and Vulnerability in G3

;D

In this section, we rst determine, for a given pair of vertices u, v of G3 , a shortest path between u and v. Since G3 is vertex transitive, it is sucient to determine, for a given vertex u, a shortest path between u and the vertex 0. Given a vertex u of G2 or G3 , let c2 (u) and c3 (u) denote the coordinate vector of u in the geometrical representation of G2 and G3 , respectively. Clearly, for G2 , the vector c2 (u) determines a shortest path between 0 and u. Since all the edges of the graph follow either horizontal or vertical lines of the geometrical representation, the rst coordinate of the vector gives the number of horizontal edges while the second coordinate gives the number of vertical edges needed to reach u from 0. The problem of determining c2(u) for a vertex u of G2 has been solved and an explicit expression for the value of c2 is known. 14 5 In the next lemma, we specify the calculation of c3 (u). Lemma 1 Let u be a vertex of G3 for some integer D, D  2. Then 8 (u) for 0  u  D2 + D > > < cc22(u 2 D) for 2D2 + 2D + 1  u  3D2 + 3D c3 (u) = > (D ??j;Di +?j + for D(D + 1) + 1  u  2D2 + 2D, if i + j  D : (?j; i + j ? 2D)1) for D(D + 1) + 1  u  2D2 + 2D, if i + j > D (2) where i = b(u ? (D2 + D + 1))=(D + 1)c, and j = (u ? (D2 + D + 1)) mod (D + 1). Proof. Let u be a vertex of G3 . For 0  u  D2 + D, vertex u occupies the same position in the tile associated with G3 as in the tile associated with G2 . Similarly, for 2D2 + 2D + 1  u  3D2 + 3D, the vertex occupies the position that is occupied by vertex u ? D2 ? D in the tile associated with G2 , where D2 + D represents the di erence in the number of vertices between G3 and G2 . For D(D + 1) + 1  u  2D2 + 2D, we deal with a vertex that ;D

;D

;D

;D

;D

;D

;D

;D

;

;D

;D

;D

;D

;D

;D

;D

12

does not have a counterpart in the tile associated with G2 . All these vertices lie in either the upper right corner of the tile, i.e. vertices D2 + D + 1; D2 + D + 2; : : :; D2 +2D; D2 +2D+2; D2 +2D+3; : : :; D2 +3D; : : :; D2 +(D+1)D in positions (D; 1); (D ? 1; 2); : : :; (1; D); (D; 2); (D ? 1; 3); : : :; (2; D); : : :; (D; D), or in the lower left corner of the tile, i.e. vertices 2D2 + D + 1; 2D2 + D + 2; : : :; 2D2 + 2D; 2D2 + 1; 2D2 + 2; : : :; 2D2 + D ? 1; : : :; D2 + 2D + 1 in positions (?1; ?D); (?2; ?D + 1); : : :; (?D; ?1); (?2; ?D); (?3; ?D + 1); : : :; (?D; ?2); : : :; (?D; ?D). The geometrical representation forms a tiling of the plane in such a way that the upper edge of a tile associated with G3 is adjacent to the lower edge of the adjacent tile. Thus, all these vertices are located in the plane in D diagonals, each diagonal containing D+1 consecutive vertices. Thus, the value i = b(u ? (D2 +D+1))=(D+1)c, indicates which diagonal the vertex u is in, and j = (u ? (D2 +D +1)) mod (D +1) indicates the position of the vertex within a diagonal, where the diagonals are numbered from 0 to D ? 1, and the positions are numbered from 0 to D. If i + j  D then the vertex u is in the upper corner of the tile, and the coordinate vector of u is equal to (D ? j; i + j + 1). If i + j > D then the vertex u is in the lower corner of the tile, and the coordinate vector of u is equal to (?j; i + j ? 2D). 2 For a vertex u of G3 , we de ne the shortest path vector s to be a vector having 3 components which speci es the number of horizontal, vertical and diagonal edges of the graph that constitute a shortest path from 0 to u, and the positive, negative sign of each component indicates the direction (in the geometrical coordinates) in which these edges are to be taken. For example, vertex 18 of G3 3 in Figure 3 has its shortest path vector equal to (0; 1; 2), meaning that in a shortest path from 0 to 18, no horizontal edge is taken, one vertical edge is taken upward, and two diagonal edges are taken upward, i.e., one possible shortest path consists of vertices 0; 4; 11; 18, In the next theorem we show that the shortest path vector of a vertex is easily obtained from the coordinate vector of the vertex. Thus, to determine a shortest path from 0 to any vertex u is simple, and because of vertex transitivity, it remains simple for any pair of vertices of G3 . Theorem 9 Let u be a vertex of G3 and let c3 (u) = (a; b) be the coordinate vector of u. Then 8 (a; b; 0) if the sign of a is di erent > > from the sign of b < or a = 0 or b = 0 s => > (a ? min(a; b); b ? min(a; b); min(a; b)) if > 0, and b > 0 > : (a + max(a; b); b + max(a; b); max(a; b)) if aa < 0, and b < 0. Proof. Let u be a vertex u of G3 and let c3 (u) = (a; b) be the coordinate vector of u. If a = 0 or b = 0 then, clearly, (a; b; 0) is the shortest path vector of u. It is easy to observe, that for any positive integer i, the vertices with coordinate vectors (i; 0); (i ? 1; ?1); (i ? 2; ?2); : : :; (0; ?i) are at distance i from 0, and no diagonal edge can occur on a shortest path from 0 to these vertices. Thus, when the sign of a is di erent from the sign of b, a 6= 0 and b 6= 0, then the shortest path vector of u is equal to (a; b; 0). ;D

;D

;D

u

;

;D

;D

u

;D

13

Assume that a > 0, and b > 0. Let c = min(a; b). For any positive integer i, the vertices (1; i); (2:i); : : :; (i; i) and vertices (i; 1); (i; 2); : : :; (i; i ? 1) are all at distance i from 0 and the shortest path vectors for these vertices are equal to (0; i ? 1; 1); (0; i ? 2; 2); : ::; (0; 0; i) and (i ? 1; 0; 1); (i ? 2; 0; 2); : ::; (1; 0; i ? 1), respectively. Thus, the shortest path vector for u is equal to (a?min(a; b); b?min(a; b); min(a; b)). Similarly we can verify the statement of the theorem when a < 0 and b < 0. 2 Notice that for any vertex of G3 , at least one of the components of its shortest path vector is equal to zero. Furthermore, if in a shortest path vector (a; b; c) the component c is di erent from 0, then the other non-zero component of the vector (if any) has the same sign as c. Clearly, the vertices v; x1 ; x2; : : :; x ; u are the vertices of a shortest path between v and u if and only if the vertices 0; (x1 ? v) mod n; (x2 ? v) mod n; : : :; (x ? v) mod n; (u ? v) mod n are the vertices of a shortest path from 0 to u. Thus, the shortest path vector s( ? ) mod also speci es the number of horizontal, vertical and diagonal edges of the graph that constitute a shortest path from v to u, and the positive/negative sign of each component indicates the direction in which these edges are to be taken. Since G3 is 3-connected, there exist several paths between any pair of vertices of the graph. Thus, when G3 is considered as a network, one has to specify for each pair of vertices and each message a path that should be used for the transmission of the message. One possibility is to specify for each ordered pair of vertices u, v a xed path from u to v that should be used for the transmission of any message from u to v. This is called a xed-path routing. For a xed-path routing it is important to investigate its fault-tolerance. In a network G having vertex set V and edge set E, a routing  is a function which assigns to each ordered pair u, v of distinct vertices of V a path between u and v. The routing  is called the routing of shortest paths when for every pair of vertices u, v, the path (u; v) is a shortest path between u and v. The routing  is said to be bi-directional if (u; v) = (v; u) for every pair u, v of distinct vertices of V , and is said to be consistent when (u; v) = u; u1; u2; : : :; x; : : :; u ; v implies that (u; x) = u; u1; u2; : : :; x and (x; v) = x; : : :; u ; v. The surviving route graph was introduced by Dolev, Halpern, Simons and Strong for studying the fault-tolerance of routings. 4 Assume that we have a network that uses a xed routing table T for the entire network. When a fault occurs in the network, we want to keep on transmitting messages using the xed table T until there is a convenient time when the table is changed. If a route from u to v speci ed in T is not functional, then u can transmit a message to v using the table T by transmitting the message to x1 which transmits it to x2, etc, until x can transmit it to v using the routes in T that haven't been a ected by the faults. Clearly, it is desirable to have a network and a routing table that allows the transmission of any message with as few retransmissions of the message as possible. This motivated the introduction of the surviving route graph and its diameter. 4 Let G be a network with a vertex set V , edge set E and a routing . Given a set F = V [ E of vertices and edges of the graph, the surviving route graph R(G; )=F ;D

n

n

u

v

n

;D

;D

n

n

i

F

F

14

is the directed graph with vertex set V n V , where there is an edge from u to v if (u; v) does not contain any element of F. Note that if the routing is bi-directional then R(G; )=F is a graph. The diameter of R(G; )=F is the maximum number of transmissions needed to send a message between any two vertices in the network G in the presence of the faults F along the surviving routes in the routing . For a given network G, an interesting problem is to nd a routing such that the diameter of the surviving route graph is as small as possible for any set F of faults whose size is smaller than the connectivity of G. Clearly, the best possible result is to nd a routing such that the diameter of the surviving route graph is 2 for any set of faults whose size is smaller than the connectivity of G. It has been shown that there exists a bi-directional, consistent routing of shortest paths  for G2 such that the diameter of the surviving route graph R(G2 ; ) n F) is equal to 2 for any set of F of faulty vertices where jF j < 4, which is optimum. 14 5 The proof of this result uses the idea of a central vertex. In the case of G3 , the method of central vertices proves that the diameter of the surviving route graph is 2 only for sets of faults containing at most 3 faults. 5 We show below that there exists a bi-directional, consistent routing  of shortest paths for G3 such that the diameter of the surviving route graph R(G3 ; ) n F) is equal to 2 for any set of F of fault vertices, jF j < 6, which is the best possible. If y = x1; x2; : : :; x is a sequence of vertices then y denotes the sequence x ; x ?1; : : :; x1, i.e., the reversal of the sequence y. De nition 1 Given any two vertices u, v of G3 , we de ne the routing (u; v) as F

;D

;D

;

;D

;D

;D

r

k

k

k

;D

follows: 1. If s ? = (a; b; 0) for some integers a 6= 0, b  0, then (u; v) = u0 ; u1; : : :; u ; v1; v2; : : :; v where u = u + sign(a)iD for 0  i  a and v = u + i(D + 1) for 1  i  b. 2. If s ? = (a; 0; c) for some integers a  0, c > 0 then (u; v) = u0 ; u1; : : :; u ; v1; v2; : : :; v where u = u + iD for 0  i  a and v = u + i(2D + 1) for 1  i  c. 3. If s ? = (0; b; c) for some integers b > 0, c > 0 then (u; v) = u0 ; u1; : : :; u ; v1; v2 ; : : :; v where u = u + i(D + 1) for 0  i  b and v = u + i(2D + 1) for 1  i  c. 4. If s ? = (a; b; c), where either b or c is a negative integer, then (u; v) = (v; u) . v

u

a

b

i

i

a

v

u

a

v

c

i

a

u

b

v

i

c

i

i

a

u

r

As mentioned above, at least one of the components of any shortest path vector is equal to zero, and when the third component is non-zero, then the other non-zero component of the vector (if any) has the same sign. Thus, the routing is well-de ned. Informally, if in the plane tessellation associated with the graph, the occurrence of v closest to u is located above u or on the same horizontal line as u, then the path assigned by the routing is the one in which we rst take all the horizontal edges (if any), then all the vertical edges (if any) and then all the diagonal edges (if any). Otherwise the edges are taken in order: diagonal, vertical and then horizontal. 15

Lemma 2 The routing  for a graph G3 is a routing of shortest paths which is ;D

both consistent and bi-directional.

Proof. As discussed above, for a pair of vertices u, v of the graph, the shortest

path vector s ? speci es the number of horizontal, vertical and diagonal edges of the graph that constitute a shortest path from u to v, and the sign of each component indicates the direction in which these edges are to be taken. Thus, the path (u; v) is a shortest path between u and v. Let u, v be a pair of vertices of the graph such that s ? = (a; b; c) with either b  0, c = 0 or b = 0, c  0, i.e., the vertex v closest to u in the plane tessellation associated with the graph is above or on the same horizontal line as u. Let x be a vertex on the path (u; v). Then, x lies above or on the same horizontal line as u, and v lies above or on the same horizontal line as x. Thus, in the shortest path vectors c ? , c ? the second and third components have the same signs as those of s ? , which implies that in paths (u; x), (x; v), we follow the same order of horizontal, vertical, diagonal edges as in (u; v). Therefore, (u; x), (x; v), are subpaths of the path (u; v). Let y be a vertex such that y follows x on the path (u; v). Since y also follows x on the path (x; v), by the above argument (x; y) is a subpath of (x; v) and, therefore, also of (u; v). Similarly, we can show that (x; y) is a subpath of (u; v) in case either b or c of the shortest path vector is negative. Thus, the routing  is consistent. Rule (4) of De nition 1 ensures that the routing is bi-directional. 2 Theorem 10 For any given set V of vertices, jV j < 6, the diameter of the surviving route graph R(G3 ; )=V is at most two. Proof. Due to the vertex transitivity of G3 , we only need to demonstrate that the distance between vertex 0 and any vertex u 62 V is at most 2 in R(G3 ; )=V . We can prove this by showing that for any vertex u of the graph there exist vertices y , 1  i  6 such that the paths (0; y ), (y ; u) form six vertex-disjoint paths between u and 0. Since V contains at most ve vertices, there then must be an integer k, 1  k  6 such that the paths(0; y ); (y ; u) don't contain any faulty vertex and, therefore, 0 and u are at distance at most 2 in R(G3 ; )=V . There are several cases to consider (see Figures 7 and 8). Clearly, in all cases we only need to consider the situation when u is not adjacent to 0. v

u

v

x

v

u

v

u

x

u

F

;D

F

F

;D

F

i

i

;D

F

i

F

k

k

;D

F

Case 1: c = (a; b), b > a > 0. Let y1 ; y2; : : :; y6 be the vertices having the cooru

dinates (0; b ? a), (a; a), (0; ?D + b ? a ? 1), (?D + a; ?D + a), (?D; 0), (D; 0). As seen in Figure 7, the paths (0; y )(y ; u), 1  i  6 form six disjoint paths between 0 and u. i

i

Case 2: c = (a; b), a < 0, b > 0. Let y1 ; y2; : : :; y6 be the vertices having the u

coordinates (0; b), (a; 0), (D; 0), (0; ?D +b), (a ? b; ?D), (D; D). As seen in Figure 7, the paths (0; y )(y ; u), 1  i  6 form six disjoint paths between 0 and u. i

i

Case 3: c = (0; b), b > 0. Let y1 ; y2 ; : : :; y6 be the vertices having the coordinates (0; 1), (?b; 0), (b; b), (D; 0), (?D; ?D), (0; ?D + b ? 1). As seen in Figure 8, the u

16

u y 1

y 2

y 6

0

y 5 y 4

y3

Case 1.

y 6

y 1

u

y 3

y 2

0 y 4

y 5

Case 2.

Fig. 7. Disjoint paths between and 0 in u

17

G3;5

paths (0; y )(y ; u), 1  i  6 form six disjoint paths between 0 and u. i

i

u

y 3

y 1

y 4

0

y 2

y 6 y 5 Case 3.

y 2

u y 1

y 3

0

y 4

y 5

y 6

Case 4.

Fig. 8. Disjoint paths between and 0 in u

G3;5

Case 4: c = (a; a), a > 0. Let y1 ; y2; : : :; y6 be the vertices having the coordinates (1; 1), (0; a), (a; 0), (?D; 0), (?D; a ? D ? 1), (0; ?D). As seen in Figure 8, the paths (0; y )(y ; u), 1  i  6 form six disjoint paths between 0 and u. u

i

i

Case 5: c = (a; b), a > b > 0, or c = (a; b), b < 0, a > 0, or c = (a; 0), a 6= 0. Any of these cases is very similar to one of the three cases above, due to to the u

u

u

18

2

symmetries of the tile associated with G3 . ;D

5. Conclusions

The results presented in this paper together with the results of Fabrega and Zaragoza and of Yebra, Fiol, Morillo and Alegre show that graphs G2 and G3 , for D > 1, form families of regular graphs having many interesting and useful properties 5 13:  the graphs are regular, vertex-transitive, and maximally connected.  their diameter is smaller than that of either a grid or a torus having a similar number of vertices.  the calculation of the shortest path is simple.  the broadcast time is close to the diameter of the graph.  very large grids can be embedded in them with small dilation.  there are bi-directional, consistent routings of shortest paths that have very good fault-tolerance. These results show that the double and triple xed step graphs share many properties with grids and tori. However, the results on diameter, broadcasting, and the surviving route graph indicate that double and triple xed step graphs support faster communications. Thus, when we need to combine the good properties of grids with faster communications while maintaining a low degree, double and triple xed step graphs should be considered. ;D

;D

;

Acknowledgements

The work was supported partially by NSERC of Canada and by Laboratoire I3S, Universite de Nice, Sophia-Antipolis, France.

References 1. J.-C. Bermond, F. Comellas, and D. F. Hsu. Distributed loop computer networks: a survey. Journal of Parallel and Distributed Computing, 24:2{10, 1995. 2. J. C. Bermond, P. Hell, A. L. Liestman, and J. G. Peters. Broadcasting in bounded degree graphs. SIAM Journal on Computing, 5:10{24, 1992. 3. J. Bondy and U. Murty. Graph theory. Macmillan, 1973. 4. D. Dolev, J. Halpern, B. Simons, and R. Strong. A new look at fault tolerant network routing. Proceedings of 10th ACM STOC Conference, pages 526{535, 1984. 5. J. Fabrega and M. Zaragoza. Fault tolerant routings in double xed-step networks. Discrete Applied Mathematics, 78:61{74, 1997. 6. R. Heckmann, R. Klasing, B. Monien, and W. Unger. Optimal embedding of complete binary trees into lines and grids. Proceedings of the 17th Conference on Graph-Theoretic Concepts in Computer Science, Lecture Notes in Computer Science, 570:25{35, 1991. 7. S. Hedetniemi, S. Hedetniemi, and A. L. Liestman. A survey of broadcasting and gossiping in communication networks. Networks, 18:319{349, 1988. 8. M.-C. Heydemann, J. Opatrny, and D. Sotteau. Embeddings of complete binary

19

9. 10. 11. 12. 13. 14.

trees into extended grids with edge-congestion 1. Parallel Algorithms and Applications, 8:333{354, 1996. F. Hwang. A survey on double loop networks. DIMACS Series in Discrete Math. and Theoretical Computer Science, 5:143{151, 1991. F. T. Leighton. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan-Kaufmann, 1992. B. Monien and H. Sudborough. Embedding one interconnection network in another. Computing Supplement, 7:257{282, 1990. P. Morillo, M. Fiol, and J. Yebra. A new family of graphs associated with plane tesselations. Ars Combinatorica, 20A:163{169, 1985. J. Yebra, M. Fiol, P. Morillo, and I. Alegre. The diameter of undirected graphs associated to plane tesselations. Ars Combinatorica, 20B:159{171, 1985. M. Zaragoza. Redes de Interconexion: Contribucion al Estudio de su Vulnerabilidad. PhD thesis, Departament de Mathematica Aplicada i Telematica, Universitat Politecnica de Catalunya, Barcelona, Spain, 1994.

20