A Generalisation of Interlinked Cycle Structures and Their Index Coding Capacity
Mahesh Babu Vaddi, B. Sundar Rajan

TL;DR
This paper extends the concept of interlinked cycle structures in side-information graphs to overlapping interlinked cycle (OIC) structures, providing a capacity proof and a construction for scalar linear index codes.
Contribution
It introduces OIC structures, generalizing IC structures, and proves their capacity by constructing optimal index codes matching the MAIS of the graph.
Findings
Capacity of OIC structures is equal to the size of the maximum acyclic induced subgraph.
Provides a scalar linear index coding scheme for OIC structures.
Generalizes previous IC-based index coding schemes.
Abstract
Cycles and Cliques in a side-information graph reduce the number of transmissions required in an index coding problem. Thapa, Ong and Johnson defined a more general form of overlapping cycles, called the interlinked-cycle (IC) structure, that generalizes cycles and cliques. They proposed a scheme, that leverages IC structures in digraphs to construct scalar linear index codes. In this paper, we extend the notion of interlinked cycle structure to define more generalised graph structures called overlapping interlinked cycle (OIC) structures. We prove the capacity of OIC structures by giving an index code with length equal to the order of maximum acyclic induced subgraph (MAIS) of OIC structures.
| Tree | |||
|---|---|---|---|
| Tree | |||
|---|---|---|---|
| -path | Depth at which | Depth at which | |
| -path originates | -path terminates | ||
| 0 | 0 | ||
| 0 | 0 | ||
| 0 | 1 | ||
| 1 | 1 | ||
| 1 | 1 |
| -path | Depth at which | Depth at which | |
| -path originates | -path terminates | ||
| 0 | 0 | ||
| 0 | 0 | ||
| 0 | 1 | ||
| 1 | 1 | ||
| 1 | 2 | ||
| 2 | 2 | ||
| 2 | 2 |
| -path | Depth at which | Depth at which | |
| -path originates | -path terminates | ||
| 0 | 0 | ||
| 0 | 0 | ||
| 0 | 2 | ||
| 1 | 1 | ||
| 1 | 2 | ||
| 2 | 2 | ||
| 2 | 2 |
| Tree | |||
|---|---|---|---|
| Tree | |||
| Tree | |||
| Tree | |||
|---|---|---|---|
| Tree | |||
|---|---|---|---|
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
A Generalisation of Interlinked Cycle Structures and Their Index Coding Capacity
Mahesh Babu Vaddi and B. Sundar Rajan
Department of Electrical Communication Engineering, Indian Institute of Science, Bengaluru 560012, KA, India
E-mail: {vaddi, bsrajan}@iisc.ac.in
Abstract
Cycles and Cliques in a side-information graph reduce the number of transmissions required in an index coding problem. Thapa, Ong and Johnson defined a more general form of overlapping cycles, called the interlinked-cycle (IC) structure, that generalizes cycles and cliques. They proposed a scheme, that leverages IC structures in digraphs to construct scalar linear index codes. In this paper, we extend the notion of interlinked cycle structure to define more generalised graph structures called overlapping interlinked cycle (OIC) structures. We prove the capacity of OIC structures by giving an index code with length equal to the order of maximum acyclic induced subgraph (MAIS) of OIC structures.
I Introduction and Background
A single unicast index coding problem, comprises a transmitter that has a set of messages, , and a set of receivers, . Each receiver, , knows a subset of messages, , called its side-information, and wants to know one message, , called its Want-set. The transmitter can take cognizance of the side-information of the receivers and broadcast coded messages, called the index code. The objective is to minimize the number of coded transmissions, called the length of the index code, such that each receiver can decode its demanded message using its side-information and the coded messages.
The index coding with side-information was introduced by Birk and Kol in [1]. Single unicast index coding problems were studied in [2]. A single unicast index coding problem (SUICP) can be represented by using a graph with vertices . In , there exists an edge from to if the receiver wanting knows . This graph is called the side-information graph of SUICP.
In an index coding problem with side-information graph , we assume that the messages belongs to a finite alphabet . The solution of an index coding problem may be linear or nonlinear. The solution must specify a finite alphabet to be used by the transmitter, and an encoding scheme such that every receiver is able to decode the wanted message from the and the side-information. The minimum encoding length for messages that are bit long () is denoted by . The broadcast rate of the index coding problem is defined [6] as,
[TABLE]
The capacity for the index coding problem with side-information graph is defined as the maximum number of message symbols transmitted per index code symbol such that every receiver gets its wanted message symbol. The broadcast rate and capacity are related as
[TABLE]
In this paper, we refer the capacity of a single unicast index coding problem with side-information graph as the index coding capacity of side-information graph . In [5], Maleki et.al. found the index coding capacity of some side-information graphs which have a circular symmetry by using interference alignment technique. However, in general, finding the index coding capacity is a complicated problem because one need to consider all possible linear and non linear mappings and dimensions to evaluate capacity.
For a graph , the order of an induced acyclic sub-graph formed by removing the minimum number of vertices in , is called Maximum Acyclic Induced Subgraph (). In [2], it was shown that lower bounds the broadcast rate of the index coding problem described by . That is,
[TABLE]
I-A Interlinked Cycles and Optimal Index Codes
In [3], Thapa, Ong and Johnson defined a special graph structures called interlinked cycle (IC) structure. The interlinked cycle structures generalises the notion of cycles and cliques. Consider a graph with vertices having the following property: has a vertex set such that for any ordered pair and , there is a path from to , and the path does not include any other vertex in except and . The set is called inner vertex set and the vertices in are called inner vertices. A path in which only the first and the last vertices are from , and they are distinct, is called an -path. If the first and last vertices are the same, then it is called an -cycle. If the directed graph satisfies the four conditions given below, it is called an interlinked-cycle structure.
- •
There is no -cycle in .
- •
Every non-inner vertex must be present in atleast one -path.
- •
For all ordered pairs of inner vertices , , there is only one -path from to in .
- •
There exist no cycles among non-inner vertices
Let be the IC structure with vertices and inner vertices . Let the non-inner vertices be . The following coded symbols for an IC structure with was proposed in [3].
- •
A code symbol is obtained by the bitwise XOR (denoted by ) of messages present in the inner vertex set , i.e.,
[TABLE]
- •
For each , for , a code symbol is obtained as given below.
[TABLE]
where is the out-neighborhood of in the IC structure .
The length of index code constructed above is . That is, for an ICP whose side-information graph is an IC structure with vertices, the index code given in (2) and (3) give a savings of transmissions when compared with naive technique of broadcasting all messages. Thapa, Ong and Johnson proved that the constructed codes in (2) amd (3) are of optimal length.
The following decoding procedure is given in [3] to decode the index codes given by ICC scheme.
- •
For , the message ( corresponding to a non-inner vertex) can be decoded from given in (3).
- •
For each , a directed rooted tree (denoted by ) in can be found with as the root vertex and all other inner vertices are the leaves. The inner vertex is decoded by computing the XOR of all index code symbols corresponding to the non-leaf vertices at depth greater than zero in and , where is the rooted tree with as the root node and all other inner vertices as the leaves.
The following two examples illustrates IC structures and their decoding.
Example 1*.*
Consider an SUICP with side-information graph given in Fig. 1. is an IC structure with and inner vertices . Hence, for this side-information graph, we have . An optimal length index code for this ICP obtained from (2) and (3) is
[TABLE]
Trees and corresponding to the inner vertices and are given in Figure 2. The decoding of each message symbol from is summarised in Table I.
In the rest of the paper, we use to denote the index code symbols used by to decode and to denote the sum of index code symbols present in . In the IC structures, we use orange color to identify inner vertices.
Example 2*.*
Consider an SUICP with side-information graph given in Fig. 3. is an IC structure with and inner vertices . Hence, for this side-information graph, we have . An optimal length index code for this ICP obtained from (2) and (3) is
[TABLE]
Trees and corresponding to the inner vertices and are given in Figure 4. The decoding of each message symbol from is summarised in Table II.
In [10], we provided an addition to interlinked cycle structure class by providing optimal length index codes for IC structures with one cycle among non-inner vertex set. We gave a modified code construction and modified decoding method for the IC structure with one cycle among non-inner vertex set. In [11], we disproved the two conjectures given in [3] regarding the optimality of IC structures.
I-B Motivation for overlapping interlinked cycle structure
In [8], we designed binary matrices of size such that any adjacent rows of these matrices are linearly independent. We refer these matrices as Adjacent Independent Row (AIR) matrices. We used AIR matrices to give optimal length index codes for some symmetric index coding problems. In [9], we give a low complexity decoding for the index coding problems which use AIR matrix as encoding matrix. The low complexity decoding method uses only a specific subset (less than the actual side-information available) of the side-information to decode a given message. If we consider side-information graphs, and obtain sub-graphs by only retaining the edges exploited for low complexity decoding, we obtain large number of side-information graphs with known capacity and broadcast rate and which are not interlinked cycle structures.
The below mentioned three examples are useful to understand the motivation behind studying overlapping interlinked cycle structures.
Motivating Example I
Consider the side-information graph given in Figure 5. The broadcast rate of the index coding problem described by this side-information graph is three. To get an index code of length three, the side-information graph must have an inner vertex set with four inner vertices in it. But, no subset of size four of satisfies the necessary conditions required for . Hence, the side-information graph is not an interlinked cycle structure.
In this paper we show that given in Figure 5 is an overlapping interlinked cycle structure and give an index code with length MAIS(G).
Motivating Example II
Consider the side-information graph given in Figure 6. The broadcast rate of the index coding problem described by this side-information graph is six. To get an index code of length six, the side-information graph must have an inner vertex set with five inner vertices in it. But, no subset of size five of satisfies the necessary conditions required for . Hence, the side-information graph is not an interlinked cycle structure.
In this paper we show that given in Figure 6 is an overlapping interlinked cycle structure give an index code with length MAIS(G).
Motivating Example III
Consider the side-information graph given in Figure 7. The broadcast rate of the index coding problem described by this side-information graph is four. To get an index code of length four, the side-information graph must have an inner vertex set with seven inner vertices in it. But, no subset of size seven of satisfies the necessary conditions required for . Hence, the side-information graph is not an interlinked cycle structure.
In this paper we show that given in Figure 7 is an overlapping interlinked cycle structure give an index code with length MAIS(G).
I-C Contributions
The contributions of this paper are summarized as below:
- •
We extend the notion of interlinked cycle structure to define more generalised graph structures called overlapping interlinked cycle (OIC) structures. We give an index code for OIC structures whose length is equal to MAIS of OIC structure.
II Overlapping Cycle Structures
In this section, we generalise the notion of interlinked cycle structure to define overlapping interlinked cycle structure.
A tree is an undirected graph in which any two vertices are connected by exactly one path. That is, a tree is an acyclic connected graph. A polytree [7] is a directed acyclic graph whose underlying undirected graph is a tree. In a polytree, there exits only one directed path from any vertex to any other vertex.
A graph is called overlapping interlinked cycle structure if there exists a collection of subsets of vertices of double indexed as for and such that the following conditions are satisfied.
Condition 1*.*
The vertex subsets for and form a polytree with edges existing only between a parent and child when there is a single common vertex between the parent and child. Also, the number of vertices in must be greater than the sum of number of parents and children in the polytree. The polytree is shown in Figure 8.
To define the second condition, we need to define some sets related to the vertex sets present in polytree. Let and . We refer vertices in as inner vertices and the vertices in as non-inner vertices. If the vertex set has number of parents, then, is having one common vertex with each of these parents. Let the set be the set after removing all the vertices from which are common with their parents. We have
[TABLE]
If the vertex set has number of children, then, is having one common vertex with each of these children and consists of common vertices with its children and number of vertices which are not common to any other vertex set in the polytree. Let the children of in polytree be and the corresponding common vertices be respectively.
Let for be the collection of all nodes in the polytree to which there exists a path from to through . For every , , there exists nodes of polytree present in this path including the first node and the last node and these nodes are connected by edges. Note that any two nodes in the polytree which are connected by an edge have a common vertex. Let this path be as given below.
[TABLE]
Let
[TABLE]
That is, is the union of the vertex sets present in the path from to excluding the vertex set and after removing common vertices.
Condition 2*.*
For every , from every vertex in , there should be only one path to every non-common vertex in that such that the path does not include any other inner vertices other than the first and last vertex. From every vertex in , either there can be only one path to the common vertex for or there can be only one path to every vertex in for any present in such that the path does not include any other inner vertices other than the first and last vertex. All the paths mentioned in this condition are referred as -paths in this paper.
Condition 3*.*
For every inner vertex , there exists no cycle in that includes and vertices only from the set . The graph should not have any cycle with only non-inner vertices in it.
Condition 4*.*
Every non-inner vertex must be present in atleast one -path. All the outgoing paths from a non-inner vertex terminate at the vertices of only one vertex set for and .
In this paper, we refer the vertex subsets for and as semi-inner vertex sets. The following three examples illustrate Condition 2.
Example 3*.*
Consider the side-information given in Figure 5. In , we have and . The polytree structure of two semi-inner vertex sets are shown on Figure 9. In this graph , the details of -paths are mentioned in Table III. In , the vertex , instead of having an -path to , it has -paths to .
Example 4*.*
Consider the side-information graph given in Figure 6. In the graph , we have and . The polytree structure of the three semi-inner vertex sets are shown on Figure 10. In , the vertex , instead of having an -path to , it has -paths to . Similarly, the vertex , instead of having an -path to , it has -paths to . The details of -paths in are summarised in Table IV.
Example 5*.*
Consider the side-information given in Figure 11. In the graph , we have and . The polytree structure of these side-information graph is shown in Figure 10. Note that the only difference between Figure 6 and Figure 11 is that the vertex have -paths to instead of having an -path to . Hence, the -path of is terminated at depth two instead of depth one. The details of -paths are mentioned in Table IV.
The graphs given in Figure 5, Figure 6 and Figure 11 satisfy all the four conditions given above. Hence, they are overlapping interlinked cycle structures.
II-A Index code construction for Overlapping Interlinked Cycle Structure
Consider an index coding problem whose side-information graph is a Overlapping Interlinked Cycle (OIC) structure. in the following two steps, we give an index code of length . The index code comprises one code symbol for every semi-inner vertex set (total index code symbols for semi-inner vertex sets) and one index code symbol for every non-inner vertex ( index code symbols for non-inner vertices).
- •
A code symbol is obtained by the bitwise XOR of messages present in the semi-inner vertex set for every and every , i.e.,
[TABLE]
- •
For each , a code symbol is obtained as given below.
[TABLE]
where is the out-neighborhood of in the IC structure .
II-B Decoding procedure
In this subsection, we give the decoding procedure for the index code constructed from (4) and (5) for OIC structures.
To establish decoding procedure for OIC structures, we define the tree for every vertex for every and . Let the -paths originating from pass through semi-inner vertex sets at depth for . Note that follows from the fact that -paths originating from pass through only one semi-inner vertex set at depth . Let . From the definition of polytree, these semi-inner vertex sets are represented by nodes and these nodes are connected by directed edges in the polytree. Note that every edge in the semi-inner vertex set polytree represents one vertex in which is common to both the parent and child connected by this edge. Let be the union of semi-inner vertex sets after deleting the common vertices belonging to edges connecting the semi-inner vertex sets. That is, the cardinality of is less than that of the cardinality of union of semi-inner vertex sets. For , because of the presence of -paths from to all other vertices in , a directed rooted tree (denoted by ) in can be found with as the root vertex and all other inner vertices as the leaves.
From (4), all the message symbols in a semi-inner vertex set are encoded into one index code symbol . Let be the XOR of index code symbols corresponding to the semi-inner vertex sets through which the -paths originating from are pass through. That is, is the XOR of the message symbols present in .
Theorem 1 given below gives the decoding procedure for the index code constructed for OIC structures. The decoding procedure is same as that of the decoding procedure given by Thapa, Ong and Johnson in [3] for IC structures except that the tree needs to be replaced by tree and needs to be replaced with .
Theorem 1*.*
For any OIC structure, the index code constructed from (4) and (5) can be decoded by using the given below method.
- •
For , the message can be decoded from given in (5).
- •
The inner vertex is decoded by computing the XOR of all index code symbols corresponding to the non-leaf vertices at depth greater than zero in and , where is the rooted tree with as the root node and all other inner vertices in as the leaves.
Proof.
Proof is given in appendix. ∎
The following theorem establish the index coding capacity and broadcast rate of OIC structures.
Theorem 2*.*
The index coding capacity of an OIC structure with semi-inner vertex set is given by
[TABLE]
Proof.
In (4) and (5), we constructed an index code for OIC structure with length . Hence, we have
[TABLE]
According to the definition of OIC structure, there exits atleast one vertex in each semi-inner vertex set that is not common to any other semi-inner vertex set. According to the definition of OIC structure, there exists no -cycle with any inner vertex. Let this vertex be in for and . There exist vertices like this in semi-inner vertex sets one in each semi-inner vertex set. Consider the induced subgraph of these inner vertices and all non-inner vertices. Let this induced subgraph be . According to the definition of OIC structure, there are no cycles among non-inner vertex set. Hence, is acyclic. We have
[TABLE]
But MAIS(G) gives the lowerbound on . Hence, from (6) and (7), we have
[TABLE]
The index coding capacity is the reciprocal of the broadcast rate. This completes the proof. ∎
In the OIC structures, if the number of semi-inner vertex sets is one (), then the OIC structure becomes an IC structure. Hence, when , the encoding, decoding and optimality results in this paper exactly match the results given by Thapa, Ong and Johnson in [3].
The following six examples illustrates the encoding and decoding of OIC structures.
Example 6*.*
Consider the index coding problem with side-information graph given in Figure 5. In , we have and . The polytree structure of two inner vertex sets are shown on Figure 9. For , the index code obtained from (4) and (5) is given below.
[TABLE]
Trees and corresponding to the inner vertices and are given in Figure 12. The decoding of each message symbol from is summarised in Table VI.
Example 7*.*
Consider the index coding problem with side-information graph given in Figure 6. In the graph , we have and . The polytree structure of the three semi-inner vertex sets are shown on Figure 10. The index code obtained from (4) and (5) is given below.
[TABLE]
The seven trees corresponding to the seven inner vertices are given in Figure 13. The decoding of each message symbol from is summarised in Table VII.
Example 8*.*
Consider the index coding problem with side-information graph given in Figure 11. The index code for this index coding problem is same as that of the index code for the index coding problem described by the side-information graph Figure 6.
The seven trees corresponding to the seven inner vertices are given in Figure 14. The decoding of each message symbol is exactly same as that of the decoding of each message symbol in Example 7. The decoding at each receiver is summarised in Table VII.
Example 9*.*
Consider the side-information given in Figure 15. In this graph, we have and . The polytree structure of the semi-inner vertex sets are given in Figure 16. The index code obtained from (4) and (5) is given below.
[TABLE]
The seven trees corresponding to the seven inner vertices are given in Figure 17. The decoding of each message symbol from is summarised in Table VIII.
Example 10*.*
Consider the index coding problem described by the side-information given in Figure 18. In this graph, we have and . The polytree structure of the semi-inner vertex sets are given in Figure 19. The index code obtained from (4) and (5) is given below.
[TABLE]
The eight trees corresponding to the eight inner vertices are given in Figure 20. The decoding of each message symbol from is summarised in Table IX.
Example 11*.*
Consider the index coding problem described by the side-information given in Figure 7. The graph is an overlapping interlinked cycle structure with four inner vertex sets and . The polytree structure of the semi-inner vertices is given in Figure 21. The index code obtained from (4) and (5) is given below.
[TABLE]
The ten trees corresponding to the all inner vertices are given in Figure 22. The decoding of each message symbol from is summarised in Table X.
Acknowledgement
This work was supported partly by the Science and Engineering Research Board (SERB) of Department of Science and Technology (DST), Government of India, through J.C. Bose National Fellowship to B. Sundar Rajan.
Decoding of non-inner vertices
For every , receiver wanting can be decoded it from the index code symbol of (4). This follows from the fact that the receiver wanting knows all the messages present in other than (the out neighbourhood of in ).
Decoding of inner vertices
From Lemma 1, for any vertex for and and , the out-neighborhood of is same in and . Hence, for every and , the receiver wanting can decode it by using the tree as shown below.
In , let be the XOR of index code symbols corresponding to all non-leaf vertices at depth greater than zero. In , the message requested by a non-leaf vertex, say , at a depth strictly greater than one appears exactly twice in as described below.
- •
Once in the index code corresponding to .
- •
Once in the index code corresponding to the parent of in .
Hence, they cancel out each other in and the terms remaining in are XOR of the following.
- •
Messages requested by all non-leaf vertices of at depth one.
- •
Messages requested by all leaf vertices of at depth strictly greater than one.
In , the XOR of with gives the following along with .
- •
The message requested by all non-leaf vertices at depth one, which are out-neighbors of .
- •
The messages requested by all leaf vertices at depth one, which are also the out-neighbors of .
This follows from the fact that the messages requested by each leaf vertex at depth strictly greater than one in the tree is present in both and and hence cancel each other. Hence, XOR of and gives and all the vertices in the out neighbourhood of in . As the receiver wanting knows all its out neighbors as side-information, the receiver decodes from .
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Y. Birk and T. Kol, “Informed-source coding-on-demand (ISCOD) over broadcast channels”, in Proc. IEEE Conf. Comput. Commun., San Francisco, CA, 1998, pp. 1257-1264.
- 2[2] Z. Bar-Yossef, Z. Birk, T. S. Jayram and T. Kol, “Index coding with side-information”, in Proc. 47th Annu. IEEE Symp. Found. Comput. Sci., Oct. 2006, pp. 197-206.
- 3[3] C. Thapa, L. Ong and J. Johnson, “Interlinked cycles for index coding: Generalizing cycles and cliques”, in IEEE Trans. Inf. Theory, , vol. 63, no.9, pp.3692-3711, Jun. 2017.
- 4[4] C. Thapa, L. Ong and J. Johnson, “Interlinked cycles for index coding: Generalizing cycles and cliques”, in ar Xiv: 1603.00092 v 2 [cs.IT] 25 Feb. 2018.
- 5[5] H. Maleki, V. Cadambe, and S. Jafar, “Index coding-an interference alignment perspective”, in IEEE Trans. Inf. Theory, vol. 60, no.9, pp.5402-5432, Sep. 2014.
- 6[6] A. Blasiak, R. Kleinberg and E. Lubetzky, “Broadcasting with side-information: Bounding and approximating the broadcast rate” in IEEE Trans. Inf. Theory, vol. 59, no.9, pp.5811-5823, Sep. 2013.
- 7[7] J. Bang-Jensen and G. Z. Gutin, “Digraphs: Theory, Algorithms and Applications,” Springer, 2002.
- 8[8] M. B. Vaddi and B. S. Rajan, “Optimal scalar linear index codes for one-sided neighboring side-information problems,” In Proc. IEEE GLOBECOM workshop on Network Coding and Applications, Washington DC, USA, December 2016.
