Identifying Codes of Degree 4 Cayley Graphs over Abelian Groups

In this paper a wide family of identifying codes over regular Cayley graphs of degree four which are built over finite Abelian groups is presented. Some of the codes in this construction are also perfect. The graphs considered include some well-known graphs such as tori, twisted tori and Kronecker products of two cycles. Therefore, the codes can be used for identification in these graphs. Finally, an example of how these codes can be applied for adaptive identification over these graphs is presented.


Introduction
Systems are continuously growing in complexity, thus becoming composed of more and more basic elements. This originates many important problems which must be solved in order to use the systems effectively. Among these problems are the parallelization of algorithms to exploit the full system, the development of networks efficient in cost and in performance, and the automatic detection of failures, and consequently, reconfiguration and recovery of the system.
In this paper the problem of the detection of faults will be explored, with principal aim at multiprocessor systems, in which the basic elements are computers. These computers are connected between them with some topology which can be modeled by a (usually undirected) graph. The graphs under consideration will be regular Cayley graphs of degree four, which englobe a multitude of well-known interconnection networks.
The major mechanisms for fault-diagnosis are the PMC model by Preparata, Mezte and Chien [17] and the comparison model by Malek [14]. In the PMC model, each unit tests each neighbor to see if it is faulty and the tests performed by faulty units are unreliable. Then, all the information is used globally to determinate the faulty vertices. A bit of information is generated for each edge and direction, which is a considerable volume of information. Later, Karpovsky, Chakrabarty and Levitinin in [12] proposed identifying codes with the aim of reducing the necessary information for fault diagnosis.
Identifying codes can be seen as a subset of vertices of a graph which allows the identification of single vertices under some conditions. When identifying codes apply for diagnosis, for each codeword a bit of information is generated, which is significant less information than the number of edges, as required in the PMC model. Since minimizing the global information is equivalent to minimizing the density of the code, a lot of work has been done to find codes with minimum density over different infinite graphs. There are hundreds of papers [13] on identifying codes, many of them looking for the ones which attain the minimal density bound over different graphs. However, there are not many constructive methods for finding wide families of these codes over graphs which correspond to topological models for multiprocessor systems. Moreover, technical aspects of the diagnosis process using identifying codes have not been extensively considered. An algorithmic approach to the adaptive identification in multiprocessor systems has been considered, for example in [2] and [20].
In this paper a constructive method for finding a wide family of identifying codes over degree four Cayley graphs over finite Abelian groups is provided. The codes are built using subgroups, which implies that the codewords are evenly distributed. The identifying radius as well as the covering radius are characterized in terms of the generators of the subgroup. Moreover, such codes in some cases are also perfect codes, but for a different radius than the identifying one. Hence, in Section 2 the graphs that are going to be consider in the paper are defined. In Section 3 some basic definitions of identification are recalled and a few new ones that will be needed to make the general construction are established. In Section 4 the identifying radius for a family of group codes is determined. Moreover, both the case in which the codes constructed are not only identifying but also perfect, and the density of the construction are considered. Finally in Section 5 an example of how to apply these codes for adaptive identification in faulty environments modeled by Cayley graphs is shown. Some of the results presented in this paper were first announced in [5].

Cayley Graphs over Two Dimensional Lattices
In this section some definitions and results concerning two dimensional lattices are introduced. Then, degree four regular Cayley graphs over these lattices are defined for obtaining a metric space in which identifying and perfect codes are possible to be constructed.
Given two linearly independent integer vectors m 1 , m 2 ∈ Z 2 let us consider the integer lattice (or additive group) generated by vectors m 1 , m 2 . As usual, the quotient group can be defined as: The following theorem will be used (for the proof see [8]): where M is the matrix whose columns are the linearly independent vectors {m 1 , m 2 }.
Following the notation in [8], two vectors v 1 , v 2 in the same coset of the quotient group Z 2 / m 1 , m 2 Z 2 will be denoted as v 1 ≡ v 2 (mod M ). The quotient group Z 2 / m 1 , m 2 Z 2 will be denoted as Z 2 /M Z 2 and a subgroup t 1 , where T is the matrix whose columns are t 1 and t 2 . As usual, M 2×2 (Z) denotes the ring of the square integer matrices of size two. In the remainder of the paper, it will be assumed M ∈ M 2×2 (Z) to be non-singular. The Cayley graphs considered in the paper are defined over two-dimensional lattices. As usual, a Cayley graph is defined: The Cayley graph over a group Γ and a set A ⊂ Γ is the graph Cay(Γ; A) with vertex set V = Γ and edges The set A is called the adjacency set.
In this paper Cayley graphs over the quotient rings defined above are going to be considered. Therefore, given M ∈ M 2×2 (Z) a non-singular matrix and A = {a 1 , a 2 } a subset of vectors of Z 2 , the Cayley graph over the group Z 2 /M Z 2 with adjacency A ⊂ Z 2 will be denoted by G(M ; A). Therefore, every vertex u ∈ Z 2 /M Z 2 of G(M ; A) is adjacent to u ± A (mod M ). Moreover, for convenience, E = {e 1 , e 2 } will denote the orthonormal two-dimensional basis, where e 1 = 0 1 and e 2 = 1 0 . Without loss of generality, it can be assumed that any G(M ; A) has as set of jumps A = E. Therefore, G(M ) = G(M ; E). This way, any G(M ) is locally a two-dimensional orthogonal mesh, with wrap-around edges completing the peripheral adjacency. The graphs considered in the present paper constitute the two dimensional case of the general family of multidimensional circulants defined in [8]. Moreover, as it is stated in the following result, these are in fact all the Cayley graphs of degree four over finite Abelian groups. Many topological models for interconnection networks are in fact Cayley graphs as the ones that are being considered in this paper. For example, tori, twisted tori [18] and circulant graphs of degree four such as the ones in [19] and [9]. As it was proved in [16], also the Kronecker product of two cycles is a particular case of G(M ).  Finally, if d M (v 1 , v 2 ) denotes the distance between vertices v 1 and v 2 of G(M ), then it can be calculated as: and |λ 1 | + |λ 2 | = 0 being minimum.

Previous Definitions on Identification
The ball of radius r centered at v ∈ V is defined as: Then, it is also said that a vertex v r-covers w, for any w ∈ B r (v). A code C is a nonempty set of vertices, whose elements are called codewords. Given a vertex v ∈ V the set of codewords which r-cover v are denoted as: Moreover, two vertices v, w ∈ V are said to be r-separated if K r (v) = K r (w).
Definition 3.1. [12] A code C of a graph G is said r-identifying if the sets K r (v) are all nonempty and different, that is, every pair of vertices are r-separated and each vertex is r-covered by at least one codeword.
Although the aim of this paper is to construct identifying codes over G(M ) graphs, the problem over the infinite mesh will be considered before. Previous papers dealing with the problem of identification over the infinite mesh are, for example, [7], [10] and [6]. Therefore, let us define the infinite mesh as the Cayley graph Cay(Z 2 , E). This graph will be denoted as Z 2 whenever there is no possibility of confusion. Also, the elements in Z 2 will be in column form, for convenience. The following new definitions will be also needed.
Definition 3.2. The following subsets of Z 2 are defined: The translated sets are denoted as UR − r (v) = v + UR − r and analogously for the other sets. A graphical representation of these sets is shown in Figure 2.
The next definition and lemma will be useful to prove the identifiability of the codes proposed in this paper. Definition 3.3. Let C be a code of a graph G(M ) and v be a vertex. The ball B r (v) is said to be r-fixed by C if there exists at least a codeword in each one of the next sets: Although having the ball in every vertex r-fixed is not a sufficient condition to be r-identifying (as the example in Figure 3), this property will be used as a first step in the proofs, since it simplifies them.
Lemma 3.4. If G is a Cayley graph over a group Γ and C is a subgroup of Γ, then C is a code such that for all c ∈ C, Figure 2: Subsets that divide the periphery of the r-ball.

The Construction of Identifying Codes
In this section a wide family of identifying codes over the infinite mesh will be constructed. Then, by making the suitable modular operation by a matrix M , these codes will also be identifying over a graph G(M ). Let t and d be two positive integers. Let us consider the code Note that, as it was proved in [15], the covering radius of the code C is t + d.
In the next subsections it will be determined the radius r such that C is r-identifying over Z 2 . Depending on t and d there are three cases: As a consequence, the covering radius is quite smaller than the identifying. This will be beneficial for the identification process as it will be remarked in Section 5. Moreover, sufficient conditions for C to be also r-identifying over G(M ) will be given. Finally, the density of the construction will be considered.

First Case: gcd(2t, d) = 1
Let t and d be two positive integers such that gcd(2t, d) = 1. Let us consider the over Z 2 and let us denote by N the volume of the fundamental parallelogram of C, that is, The following technical result can be proved: Proof. The result is obtained by where and gcd(2t, d) = 1.
Proof. It will proved that for each v ∈ Z 2 there exists a codeword c in the set The other three codewords can be obtained by making the Then, the following system of Diophantine equations is obtained: λN and in the same way let y = y 0 + λN . Now, it is set λ such that 0 ≤ x < N = 2r + 1, so 0 ≤ x ≤ 2r. Two different cases are obtained: • Otherwise, it is obtained that r < x ≤ 2r so −r ≤ y < 0. Therefore, Proof. By the previous lemma, all r-balls are r-fixed, and hence, C r-dominates Z 2 . However, this is not enough for being an r-identifying code. Therefore, it will be next proved that any v ∈ Z 2 is r-separated from w = v + x y , for any Note that, if |x| = |y| this is straightforward since the balls are r-fixed. Then, as each 90-degree rotation leaves C invariant, it can be assumed without loss of generality that x > y ≥ 0.
If there is a codeword in UL − r (v) then it is straightforward that they are r-separated. Otherwise, there is a codeword If the same than in the previous case is done, but for To finish, it has to be proved that the case when both codewords c 1 , c 2 are in the left ranges never happens. For that, let us assume that 1 ≤ a ≤ d−1 2 and which is a set of representatives of Z 2 /CZ 2 (see [11]) and contains 0 −N . As a consequence, all its elements are different. Therefore, c is not congruent with 0 0 and thus it is not a codeword, which is a contradiction.
Once a family of identifying codes over Z 2 has been constructed, new conditions have to be added in order to get an identifying code also over G(M ). The most obvious condition is that the code must be periodic. Then, in the case of these lattice codes M has to be a multiple of the matrix C associated to the lattice code. With this it is obtined that the code is locally the same than in the plane, thus keeping its density. The second condition is that any ball cannot overlap with itself. These conditions are stated in the following result.
In [16] it was shown that, under some conditions for matrix M , C = t t + 1 , −t − 1 t is a perfect t-error correcting code over the graph G(M ). Moreover, this is the only perfect code that can be constructed over that graph, up to symmetries. Next, this result about perfect codes and the previous one obtained in this section dealing with identifying codes are summarized in the following corollary.
As it was proved in [16], this graph is isomorphic to G(M ), where M = 10 −5 10 5 . Now, using the previous method it is obtained that the code C = 1 2 , −2 1 is 1-perfect, but also 2-identifying in G(M ). Note that the codes are the same by the graph isomorphism, but our method allows us to determine also the identifying radius of the code. In Figure 5, the Kronecker product and the code are represented. In Figure 6 its isomorphic Cayley graph and the transformed code are shown. Proof. The proof is just to check that the following equalities hold:   Proof. Analogously to the proof of Lemma 4.2 the following system of Diophantine equations is obtained:

Second
and in the same way let y = y 0 + λ N 2 . Now, let us set λ such that 0 < x ≤ N 2 = r. Hence, y < x + y ≤ r + y . If x + y = r then 0 ≤ y < r and c is at UR − r (v), otherwise x + y = r + 1 with 0 < y < r + 1 and c is at UR + r (v).

Remark 3.
Note that it has been proved something stronger than being r-fixed, that is, every ball has a codeword in each of the four sets UL − r , UR − r , BL − r , BR − r or in each of the four sets UL + r , UR + r , BL + r , BR + r . Theorem 4.8. Let t, d be positive integers such that gcd(2t, d) = 2. Then, Proof. By previous Lemma 4.7, all r-balls are r-fixed. Now, it has to be proved that any v ∈ Z 2 is r-separated from w = v + x y , for any x y ∈ Z 2 . First, as in the proof of Theorem 4.3 it can be assumed that x > y ≥ 0. As a consequence of Remark 3 it can be assumed that there are codewords in each of Since c 1 ∈ BR + r (v), this implies that it can be expressed as c 1 = v + a a − r − 1 . Then, is a codeword which is further from K r (w) than c 1 . When a > d 2 , it is in K r (v). Proceeding analogously, but for UR + r (v), it is obtained that . Then, let us consider which is further from K r (w) than c 2 and when b > t it is in K r (v).
Finally, the case when both codewords c 1 , c 2 are in the left ranges has to be analyzed. For that, when 1 ≤ a ≤ d This rectangle is a subset of the set of repre- and consequently, all its elements are different. Therefore, c is the only element congruent with 0 0 (using Lemma 4.6) and thus x = 0 and y = −N . Follows separates v from w. is the identifying radius. In the first case, that is gcd(2t, d) = 1, by computational analysis it has been observed that the obtained radius in Theorem 4.3 seems to be the minimal one. However, in this second case, smaller radii have been found that make the code also identifying. For example, it has been observed that in many cases is also a possible radius of identification, which is smaller than the one given in Theorem 4.8.

Third Case: gcd(2t, d) ≥ 3
In previous subsections it has been computed the radius r such that the code is r-identifying over the lattice Z 2 , wherever t and d are two positive integers such that gcd(2t, d) ≤ 2. In this subsection it is established that, in any other election for t and d, the lattice code C is not r-identifying, for any r ∈ Z.
Lemma 4.9. For any group code C over Z 2 for which there exists x y such that there is no codeword in any of the subsets: then, C is not an identifying code for any radius.
Proof. The proof is made by reductio ad absurdum. Therefore, let us assume that C identifies for the radius r ∈ N. Let v = Note that w is at distance r + 1 from v, and hence from 1 and 2 . Also, v is at distance r + 2 from 3 and 4 . Since 1 and 2 are at distance r + 1 from w, it will be said that they are outer of B r (w). Also, since 3 , 4 at distance r it will be said that they are inner of B r (w). At least one of 1 , 3 is codewordless and the same happens for 2 , 4 . In Figure 7 an example of the relative locations of v, w and the diagonals is shown. Now, three different cases are considered according to the location of the codewords with respect to the diagonals, that is 1 , 2 outside and 3 , 4 inside:  Figure 7: Possibilities for the diagonals 1. All the diagonals with codewords (0, 1 or 2) are outer diagonals. In the figure 1 and 2 are dashed, indicating that they have some codeword, all other diagonals are solid, indicating that they have no codewords. As diagonals 3 and 4 are codewordless it is obtained that K r (w) ⊆ K r (w + 0 1 ). Since the same is true for 3 and 4 , it is obtained that K r (w + 0 1 ) ⊆ K r (w). Thus K r (w) = K r (w + 0 1 ) and they are not separable.
In the figure it can be seen that in the symmetric difference of the two balls there are only solid lines, which indicates the non separability.
2. Two diagonals with codewords are inner, or 1 is inner and 1 is outer. Since two contiguous diagonals above any diagonal with a codeword must be codewordless and one of 1 , 3 has a codeword, then 5 is codewordless. Respectively, since 2 or 4 has a codeword then 6 is codewordless. Now, we have the same position as in the previous item of the proof, but translated by 0 1 and that K r (w + 0 1 ) = K r (w + 0 2 ). Hence, they are not separable.
3. Only one diagonal with codewords is inner. Without loss of generality let us assume that 3 is the inner diagonal with some codeword. Therefore, it is obtained that 1 , 2 , 4 and 5 are codewordless. Analogously to the previous cases, but for w+ 0 1 and w+ −1 In all cases non-separable codewords have been found, which contradicts the r-identifiability of C and thus the proof is completed.
Theorem 4.10. Let t, d be two positive integers such that gcd(2t, d) ≥ 3. Then, is not identifying for any radius over Z 2 .

Proof. A codeword
x y of C satisfies that there exist a, b ∈ Z such that: Let h be an integer such that y = x + h, so h = ad + b(2t + d) is obtained. Hence, gcd(2t + d, d) = gcd(2t, d) divides h. This implies that the contiguous When gcd(2t, d) ≥ 3, at least two contiguous diagonals have not codeword. Since the code is invariant under rotations, contiguous orthogonal diagonals are also codewordless. Thus C satisfies the hypothesis of the Lemma 4.9 and therefore, it is not identifying for any radius.

On the Density of the Construction
Several papers have been developed for the computation of identifying codes attaining the minimal density bounds. To define the density of a code over Z 2 , let us denote by Q n the set of vertices x y ∈ Z 2 with |x| ≤ n and |y| ≤ n.
Then, the density of a code C is defined as: In [7] there is a compilation of lower and upper bounds of the best possible density for codes in some infinite regular graphs, in terms of the identifying radius. For the case of the square grid it is obtained that: if r even, 2r 5r 2 −2r+1 if r odd.
In particular, in [3] it was proved for 1-identifying codes that: Theorem 4.11. [3] The minimum density of 1-identifying codes in Z 2 is 7 20 . In the following, the density for our construction of identifying codes is calculated. Although the values are not far from the optimal one, they are established here since they can be exactly computed in order to complete our study.
is an ridentifying code. Then, the density of C is if r is even.
Remark 5. The corresponding code in Z 2 has the same density.
Although the constructed codes have a little higher density than the best constructions they form a wide family and its regularity may have practical applications. This fact will be highlighted in next section, where it is taken advantage of the inclusion of perfect codes in our family of identifying codes.

Adaptive Identification in Cayley Graphs
In this section the implications of the constructed codes in adaptive identification is considered. Firstly, the approach for adaptive identification presented in [2] and [20] is summarized. Then, our proposal for identifying faults with the codes presented in this paper is stated. Finally, a detailed example of this proposal is addressed.
In [2,20], adaptive identification is defined as a game. In that game, a player secretly chooses a vertex (or none) of the graph and another player tries to find it by making successive queries. For any vertex v of the graph, the queries are of the type: "Is the chosen vertex in B r (v)?" and these queries are answered truthfully.
If C is a r-identifying code, then the chosen vertex can be found by making queries only to vertices in C. As proposed in [2], the identification can be done in two stages, in order to minimize the number of performed queries. The first stage consist on making queries in a r-covering code that is intended to be near perfect. Thus, this r-covering is used to find out the ball B r (c) which contains the chosen vertex. In the second stage, using the r-identifying code, the vertex is determined. That is, two different codes with the same parameter r being the covering and identification radii, respectively, are used to identify the selected vertex. As a consequence, at least three kind of vertices coexist in the graph: vertices belonging to the r-covering, vertices belonging to the r-identifying and the rest of the vertices of the graph.
The proposal in the present paper is to use the same code for both stages, instead of having two different codes. As it was proved in Corollary 2, t-perfect codes of the form C = t t + 1 , −(t + 1) t are also r-identifying codes for r = t(t+1). Moreover, although they are not the most dense as identifying codes, they are not very far from the bound. Thus, in this alternative configuration there will be only two kind of vertices: codewords and non-codewords. On the contrary, there will be two kind of queries (for different radius t and r), both for any codeword c ∈ C. The first query is of the type: "Is the chosen vertex in B t (c)?" and the second one of the type: "Is the chosen vertex in B r (c)?" Therefore, in the first stage of the method the perfect code will be used to determine if there is a faulty vertex. If so, the vertex that detects the faulty vertex initiates the identification process. Identifying codes have been motivated several times as a good strategy to locate faulty nodes in a multiprocessor system, although they have not been applied at the moment. In such a system, the existence of a faulty node is the exceptional case. Hence, it is important that the first stage of the identification, which is just the detection of the fault, is optimized. This is the reason why in our proposal the detection of the faulty node and consequently its bound inside a ball or radius r is made with a perfect code. Then, since the second stage (to locate the faulty vertex exactly) would be the exceptional situation, the requirements on the identification radius have been relaxed.
Finally, to illustrate this method, a example of this application is detailed next. Let us consider the graph G(M ) defined by M = 28 −4 4 28 , which is graphically represented in Figure 8. Let us also consider the code defined by the which is also represented in the figure. By Corollary 2, this is a 3-perfect code and a 12-identifying code over G(M ). Note that the graph has det(M ) = 800 vertices and the code has 800 25 = 32 codewords. Then, following the adaptive strategy detailed above, for each codeword c ∈ C it is periodically checked if there is a faulty vertex in B 3 (c) by performing queries of the first type. Then, if and only if the obtained answer is positive, the second stage of the identification is started by the same codeword.
Assume that for example node 2 1 has failed, which is represented in bold.
Then, the first stage of the procedure detects a faulty vertex and bound it in a ball of 25 vertices, whose center is in this case the codeword 0 0 , as can be observed in Figure 9. Then, that codeword starts the identification stage by making queries in B 12 (c) balls, as shown in Figure 10. Therefore, with a binary decision tree of depth log 2 (25) = 5 as the one in Figure 11, the faulty node can be isolated. Each vertex of the tree represents the realization of a query of the second type, continuing by the branch which matches the answer. Branches to the left represent positive answers to the question "Is the faulty vertex in B 12 (c)". On the contrary, branches to the right represent negative answers. In this particular case, node 2 1 is identified by the path of queries: In non-adaptive identification all the codewords are checked, that is |C| = 32 queries of radius r are done. Our proposal makes 32 queries of radius t = 3 and then, when necessary, 5 queries of radius r = 12.

Conclusions
In this paper a method for constructing a wide family of identifying codes over Cayley graphs of degree four defined by means of Abelian groups has been presented. These graphs include many previously known topologies for interconnection networks such as tori, twisted tori [18], Midimews [1] and double loops in general [9]. The codes are constructed by means of subgroups of the generating group of the Cayley graph. As a consequence, the codewords are regularly distributed over the lattice so that the covering radius is relatively small. The identifying radius is characterized in terms of the generators of the subgroup as well as the covering radius. Moreover, some of the codes not only are identifying but also perfect. Therefore, the diagnosis process can be separated into two stages: a first stage for detecting the existence of a failure (using the small covering radius) and the identification of the corresponding vertex (using the identifying radius). Taking advantage of these facts, the adaptive identification process has been considered and a practical example of how it would perform has been addressed in the present paper. This special feature of the codes which are obtained with our method would make possible to assert that the construction gives suitable codes for a practical scenario.