Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Optimal Index Codes for Two Classes ofInterlinked Cycle Structures With Outer Cycles
A Project Report
Submitted in partial fulfilment of the
requirements for the Degree of
Master of Technology
in
Communication and Networks
Submitted by
K. Vikas Bharadwaj
under the guidance of
Prof. B. Sundar Rajan
Department of Electrical Communication Engineering
Indian Institute of Science, Bangalore
Bangalore – 560 012 (INDIA)
January 2018
Acknowledgments
I would like to thank my supervisor, Prof. B. Sundar Rajan, for the many insightful
discussions during the development of the ideas in this report and for the helpful com-
ments on the text. His expertise in the area of study has been of immense help in
understanding the concepts and in developing the ideas.
I thank my lab mates with whom I had invaluable discussions which helped me in my
research.
i
Contents
Acknowledgments i
Abstract 1
I Work done till 30th January 2018 3
1 Introduction 4
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Our Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Review of Interlinked Cycle Structures 8
3 Motivating Examples 18
4 Main Results 27
5 Illustration of Results 34
6 Conclusion 50
6.1 Summary of the results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2 Scope for further work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ii
CONTENTS iii
II Work done after 30th January 2018 52
7 Introduction 53
7.1 Corrections in literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 Our Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8 Main Results 56
8.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.2 Properties of Intersecting Outer cycles . . . . . . . . . . . . . . . . . . . . 60
8.3 Construction 2 and Algorithm 2 . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.4 Optimality of Index Codes obtained by using Construction 2 . . . . . . . 77
8.5 Error Correcting Index Codes for IC structures with Outer Cycles . . . . 79
8.5.1 Achievability bound of the inequality 8.2. . . . . . . . . . . . . . . 81
9 Examples 83
10 Conclusion 100
10.1 Summary of the results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.2 Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Bibliography 101
List of Figures
2.1 3-IC structure G1 with VI = {1, 2, 3}. . . . . . . . . . . . . . . . . . . . . . 9
2.2 Rooted tree for inner vertex 1 of IC-structure G1. . . . . . . . . . . . . . . 10
2.3 Rooted tree for inner vertex 2 of IC-structure G1. . . . . . . . . . . . . . . 10
2.4 Rooted tree for inner vertex 3 of IC-structure G1. . . . . . . . . . . . . . . 11
2.5 4-IC structure G2 with VI = {1, 2, 3, 4}. . . . . . . . . . . . . . . . . . . . . 12
2.6 Rooted tree for inner vertex 1 of IC-structure G2. . . . . . . . . . . . . . . 13
2.7 Rooted tree for inner vertex 2 of IC-structure G2. . . . . . . . . . . . . . . 13
2.8 Rooted tree for inner vertex 3 of IC-structure G2. . . . . . . . . . . . . . . 13
2.9 Rooted tree for inner vertex 4 of IC-structure G2. . . . . . . . . . . . . . . 14
2.10 5-IC structure G3 with VI = {1, 2, 3, 4, 5}. . . . . . . . . . . . . . . . . . . . 15
2.11 Rooted tree for inner vertex 1 of IC-structure G3. . . . . . . . . . . . . . . 16
2.12 Rooted tree for inner vertex 2 of IC-structure G3. . . . . . . . . . . . . . . 16
2.13 Rooted tree for inner vertex 3 of IC-structure G3. . . . . . . . . . . . . . . 16
2.14 Rooted tree for inner vertex 4 of IC-structure G3. . . . . . . . . . . . . . . 17
2.15 Rooted tree for inner vertex 5 of IC-structure G3. . . . . . . . . . . . . . . 17
3.1 6-IC structure G4 with inner vertex set, VI = {1, 2, 3, 4, 5, 6}. . . . . . . . . 19
3.2 Rooted tree for inner vertex 1 of IC-structure G4. . . . . . . . . . . . . . . 19
3.3 Rooted tree for inner vertex 2 of IC-structure G4. . . . . . . . . . . . . . . 20
iv
LIST OF FIGURES v
3.4 Rooted tree for inner vertex 3 of IC-structure G4. . . . . . . . . . . . . . . 20
3.5 Rooted tree for inner vertex 4 of IC-structure G4. . . . . . . . . . . . . . . 20
3.6 Rooted tree for inner vertex 5 of IC-structure G4. . . . . . . . . . . . . . . 21
3.7 Rooted tree for inner vertex 6 of IC-structure G4. . . . . . . . . . . . . . . 21
3.8 5-IC structure, G5 with VI = {1, 2, 3, 4, 5} that satisfies Lemma 2 and
Lemma 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.9 Rooted tree for inner vertex 1 of IC-structure G5. . . . . . . . . . . . . . . 24
3.10 Rooted tree for inner vertex 2 of IC-structure G5. . . . . . . . . . . . . . . 24
3.11 Rooted tree for inner vertex 3 of IC-structure G5. . . . . . . . . . . . . . . 24
3.12 Rooted tree for inner vertex 4 of IC-structure G5. . . . . . . . . . . . . . . 25
3.13 Rooted tree for inner vertex 5 of IC-structure G5. . . . . . . . . . . . . . . 25
4.1 Illustration of VI(j). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Illustration of Si,j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Illustration of p 6∈ Si,j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4 Illustration of p 6∈ Si,j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.5 Illustration of p ∈ Si,j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.6 Illustration of existence of a path from i to n through both p and q. . . . . 31
5.1 6-IC structure G6 with VI = {1, 2, 3, 4, 5, 6}. . . . . . . . . . . . . . . . . . . 36
5.2 Rooted tree for inner vertex 1 of IC-structure G6. . . . . . . . . . . . . . . 37
5.3 Rooted tree for inner vertex 2 of IC-structure G6. . . . . . . . . . . . . . . 37
5.4 Rooted tree for inner vertex 3 of IC-structure G6. . . . . . . . . . . . . . . 38
5.5 Rooted tree for inner vertex 4 of IC-structure G6. . . . . . . . . . . . . . . 38
5.6 Rooted tree for inner vertex 5 of IC-structure G6. . . . . . . . . . . . . . . 38
5.7 Rooted tree for inner vertex 6 of IC-structure G6. . . . . . . . . . . . . . . 39
LIST OF FIGURES vi
5.8 6-IC structure G7 with VI = {1, 2, 3, 4, 5, 6}. . . . . . . . . . . . . . . . . . . 42
5.9 Rooted tree for inner vertex 1 of IC-structure G7. . . . . . . . . . . . . . . 43
5.10 Rooted tree for inner vertex 2 of IC-structure G7. . . . . . . . . . . . . . . 43
5.11 Rooted tree for inner vertex 3 of IC-structure G7. . . . . . . . . . . . . . . 43
5.12 Rooted tree for inner vertex 4 of IC-structure G7. . . . . . . . . . . . . . . 44
5.13 Rooted tree for inner vertex 5 of IC-structure G7. . . . . . . . . . . . . . . 44
5.14 Rooted tree for inner vertex 6 of IC-structure G7. . . . . . . . . . . . . . . 44
5.15 5-IC structure G8 with VI = {1, 2, 3, 4, 5}. . . . . . . . . . . . . . . . . . . . 46
5.16 Rooted tree for inner vertex 1 of IC-structure G8. . . . . . . . . . . . . . . 47
5.17 Rooted tree for inner vertex 2 of IC-structure G8. . . . . . . . . . . . . . . 47
5.18 Rooted tree for inner vertex 3 of IC-structure G8. . . . . . . . . . . . . . . 47
5.19 Rooted tree for inner vertex 4 of IC-structure G8. . . . . . . . . . . . . . . 48
5.20 Rooted tree for inner vertex 5 of IC-structure G8. . . . . . . . . . . . . . . 48
8.1 Figure showing outer-cycle group of vertex 2 . . . . . . . . . . . . . . . . 57
8.2 Figure showing outer-cycle group of vertex 3 . . . . . . . . . . . . . . . . 57
8.3 Figure illustrating two non-isolated MOCGs. . . . . . . . . . . . . . . . . 59
8.4 outer-cycle group of vertex 2. . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.5 outer-cycle group of vertices 5 and 6. . . . . . . . . . . . . . . . . . . . . . 60
8.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
LIST OF FIGURES vii
8.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
8.19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.1 IC structure G9 with outer cycles. . . . . . . . . . . . . . . . . . . . . . . . 84
9.2 Rooted tree of inner vertex 1 in G9. . . . . . . . . . . . . . . . . . . . . . . 84
9.3 Rooted tree of inner vertex 2 in G9. . . . . . . . . . . . . . . . . . . . . . . 84
9.4 Rooted tree of inner vertex 3 in G9. . . . . . . . . . . . . . . . . . . . . . . 85
9.5 Rooted tree of inner vertex 4 in G9. . . . . . . . . . . . . . . . . . . . . . . 85
9.6 Rooted tree of inner vertex 5 in G9. . . . . . . . . . . . . . . . . . . . . . . 85
9.7 Rooted tree of inner vertex 6 in G9. . . . . . . . . . . . . . . . . . . . . . . 86
9.8 Induced acyclic subgraph of G9, obtained by removing the vertices 2, 3, 6, 10, 16. 89
9.9 10-IC structure with outer cycles, G. . . . . . . . . . . . . . . . . . . . . . 90
9.10 Rooted tree of inner vertex 1 in G. . . . . . . . . . . . . . . . . . . . . . . . 90
9.11 Rooted tree of inner vertex 2 in G. . . . . . . . . . . . . . . . . . . . . . . . 91
9.12 Rooted tree of inner vertex 3 in G. . . . . . . . . . . . . . . . . . . . . . . . 91
9.13 Rooted tree of inner vertex 4 in G. . . . . . . . . . . . . . . . . . . . . . . . 91
9.14 Rooted tree of inner vertex 5 in G. . . . . . . . . . . . . . . . . . . . . . . . 91
9.15 Rooted tree of inner vertex 6 in G. . . . . . . . . . . . . . . . . . . . . . . . 91
9.16 Rooted tree of inner vertex 7 in G. . . . . . . . . . . . . . . . . . . . . . . . 92
9.17 Rooted tree of inner vertex 8 in G. . . . . . . . . . . . . . . . . . . . . . . . 92
LIST OF FIGURES viii
9.18 Rooted tree of inner vertex 9 in G. . . . . . . . . . . . . . . . . . . . . . . . 92
9.19 Rooted tree of inner vertex 10 in G. . . . . . . . . . . . . . . . . . . . . . . 92
9.20 Induced acyclic subgraph of G obtained by removing the 12 vertices in
the set {1, 2, 3, 4, 6, 7, 8, 9, 15, 17, 29, 32}. . . . . . . . . . . . . . . . . . . . . 99
List of Tables
5.1 Table that illustrates c2 for G1. . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Table that illustrates c2 for G2. . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3 Table that illustrates c1 for G3. . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4 Table that illustrates c2 for G3. . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5 Table that verifies c1 for G6. . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6 Table that verifies c2 for G6. . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7 Table that shows the working of Algorithm 1 on index code obtained
from Construction 1 on G6. . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.8 Table that shows decoding of messages using Algorithm 1 on index code
obtained from Construction 1 on G6. . . . . . . . . . . . . . . . . . . . . . . 41
5.9 Table that verifies c1 for G7. . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.10 Table that verifies c2 for G7. . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.11 Table that shows the working of Algorithm 1 on index code obtained
from Construction 1 on G7. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.12 Table that shows the decoding of messages using Algorithm 1 on index
code obtained from Construction 1 on G7. . . . . . . . . . . . . . . . . . . . 45
5.13 Table that verifies c1 for G8. . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.14 Table that verifies c2 for G8. . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.15 Table that shows the working of Algorithm 1 on index code obtained
from Construction 1 on G8. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
ix
LIST OF TABLES x
5.16 Table that shows the decoding of messages using Algorithm 1 on index
code obtained from Construction 1 on G8. . . . . . . . . . . . . . . . . . . . 49
Abstract
We consider unicast index coding problems where a server broadcasts coded messages
over a noiseless channel, to a set of receivers which knows some messages apriori, in
such a way that all the receivers can decode their desired messages. Thapa, Ong and
Johnson [1] proposed an index code construction (referred to as Construction 1 in this
report) and decoding algorithm (referred to as Algorithm 1 in this report) for a class
of side information graphs called interlinked cycle (IC) structures. Motivated by ex-
amples of IC structures for which Algorithm 1 does not work [8], we propose a set of
necessary and sufficient conditions for the index code obtained by using Construction
1 on a given IC structure to be decodable using Algorithm 1. In other words, we intro-
duce additional conditions on a given IC structure with which the index code obtained
by using Construction 1 on given IC structure is decodable using Algorithm 1.
In the second part of the work, we start by considering a correction made by Thapa,
Ong and Johnson to the definition of IC structures based on the work done in [8] and
[11]. A new condition is introduced in the definition of IC structures in [10]. We con-
sider the side-information graphs satisfying the old definition of IC structures and refer
to them as IC structures with outer cycles. For IC structures with outer cycles, index
code construction is presented along with a decoding algorithm and some classes of
IC structures with outer cycles are found for which the obtained index codes are of op-
timal length. Then for these classes of IC structures with outer cycles, optimum error
correcting index code construction is also presented.
1
Abstract 2
Part I
Work done till 30th January 2018
3
Chapter 1
Introduction
1.1 Background
The index coding problem (ICP) with side information was first studied in [2] and
[3] as an Informed-Source Coding-On-Demand (ISCOD) problem, in which a central
server (sender) wants to broadcast data blocks to a set of clients (users) which has a
subset of the data blocks. The problem is to minimise the data that must be broadcast,
so that each user can derive its required data blocks. The index coding problem was
generalised by Maleki, Cadambe and Jafar [4] as follows. The index coding problem
consists of a single sender with a set of M independent messages
X = {x1, x2, . . . , xM},
and a set of K users
D = {D1, D2, . . . , DK},
connected to the sender by a single shared error-free link, with the kth user Dk identi-
fied as
Dk = (Xk,Ak),
4
Chapter 1. Introduction 5
where Xk ⊆ X is the set of messages desired by Dk, the set Ak ⊂ X is comprised of the
messages available to user Dk as side information (antidotes). The set of antidotes Ak
satisfies Xk ∩ Ak = φ, i.e., a user does not desire a message that is already available to
it.
An (S, n,R) index coding scheme corresponds to the choice of a finite alphabet S of
cardinality |S| > 1, a coding function, f , and a decoding function gk,i, for each desired
messageWi at each userDk. The coding function maps all the messages to the sequence
of transmitted symbols
f(x1, x2, . . . , xM) = Sn
where Sn ∈ Sn is the sequence of symbols transmitted over n channel uses. Here
∀m ∈ {1, 2, . . . ,M}, message xm is a random variable uniformly distributed over the
set
xm ∈ {1, 2, . . . , |S|nRm},
andR ∈ RM+ is simply a rate vector
R = (R1, R2, . . . , RM)
that satisfies the condition that |S|nRm is an integer for every m ∈ {1, 2, . . . ,M}. At
each user, Dk, there is a decoding function for each desired message
gk,i(Sn,Ak) = xi,
for all i such that xi ∈ Xk.
The integer n, as defined above, is called the length of the index code. An index code
of minimum length is called an optimal index code [6]. An index coding scheme is said
to be a linear index coding scheme if the coding and the decoding functions are linear
and the alphabet S is a finite field [4]. An index coding scheme is said to be a scalar
Chapter 1. Introduction 6
index coding scheme if
R =
(1
n,1
n, . . . ,
1
n
).
In other words, in a scalar index coding scheme, the sender sends one symbol for each
message over n channel uses.
Ong and Ho [6] classified the index coding problems into different classes based on
the side information set Ak and the want set Xk of receivers. An index coding prob-
lem is said to be multiple unicast (or simply, unicast) if Xk ∩ Xj = φ for k 6= j and
k, j ∈ {1, 2, . . . , K}, ie., no message is desired by more than one user. The problem is
said to be single unicast if the problem is unicast and |Xk| = 1 for all k ∈ {1, 2, . . . , K}.
A unicast index coding problem can be reduced into single unicast index coding prob-
lem, by splitting the user demanding more than one message into several users, each
demanding one message and with the same side information as the original user. For
example, let there are 5 messages at the sender, {x1, x2, x3, x4, x5}. A user demanding
three messages x1, x2 and x3 and with side information x4 and x5 is split into three
users, each with side information x4 and x5 and demanding one message x1, x2 and x3
respectively. For single unicast index coding problems, the number of receivers equals
the number of messages (K = M ). An index coding problem of this class can be char-
acterised by a side information graph which is a simple directed graph with n vertices
(representing the messages as well as the receivers) and a set of edges, where an edge
from vertex i to vertex j exists if and only if the receiver Di has side information xj [7].
Interlinked Cycle Cover (ICC) scheme is proposed by Thapa et. al. [1] as a scalar
linear index coding scheme to solve unicast index coding problems corresponding to
a class of side information graphs called Interlinked Cycle (IC) structures. Optimal
index code construction for a new class of interlinked cycle structures, for which ICC
scheme does not give valid index codes is presented in [8].
Chapter 1. Introduction 7
1.2 Our Contribution
Thapa et. al. proposed an index code construction Construction 1 for IC structures. With
the help of a decoding algorithm Algorithm 1, it is claimed in [1] that the index code
thus obtained is valid, i.e., it is claimed that using the index coded symbols and side
information, each user can decode the message requested by it. Our contributions are
summerised as follows.
• Examples of IC structures for which Algorithm 1 does not work are presented.
• Motivated by the examples, we propose a set of necessary and sufficient condi-
tions which are to be satisfied by a given IC structure for an index code obtained
by using Construction 1 on the given IC structure to be decodable using Algorithm
1.
• A property of certain vertices in an IC structure is found and is presented as Claim
1.
• In [1], Lemma 3 (stated as Lemma 2 in this report), which was used to prove the
validity of index code obtained by Construction 1, which is assumed to be true for
any IC structure, is shown to be not true for all IC structures, using examples.
• However, an IC structure which belongs to the class of IC structures presented in
this report need not satisfy Lemma 2. It is shown in Ex. 12
Chapter 2
Review of Interlinked Cycle Structures
In this chapter, we present the definition of interlinked cycle (IC) structure, the index
code construction for IC structures and decoding algorithm proposed in [1] and intro-
duce the notations used in this report. We consider single unicast setting where the
number of messages at the sender is equal to the number of users and is assumed
to be equal to N . The messages are X = {x1, x2, . . . xN} and say xi ∈ Fq for all
i ∈ {1, 2, . . . , N}. The users are referred to by the index of the messages they demand
respectively.
Notation. The set of vertices in a directed graph G is denoted by V (G) and the set of
vertices in the out-neighbourhood of a vertex j in G is denoted by N+G (j). ⊕ denotes
modulo addition over Fq.
Definition 1 (IC Structure [1]). A side information graph G is called a K-IC structure
with inner vertex set VI ⊆ V (G), such that |VI | = K if G satisfies the following three
conditions.
1. There is no I-Cycle in G, where I-Cycle is defined as a cycle which contains only
one inner vertex.
2. There is a unique I-Path between any two different inner vertices in G, where an
I-path is defined as a path from one inner vertex to another inner vertex without
8
Chapter 2. Review of Interlinked Cycle Structures 9
passing through any other inner vertex (as a result, K rooted trees can be drawn
where each rooted tree is rooted at an inner vertex and has the remaining inner
vertices as the leaves).
3. G is the union of the K rooted trees.
The set of the vertices V (G)\VI is called the set of non-inner vertices, denoted by VNI .
Examples of IC structures which are presented in [1] are given below.
Example 1. Consider G1, a side information graph which is a 3-IC structure shown in
Fig. 2.1 G1 is a 3-IC structure with inner vertex set VI = {1, 2, 3} because
1
2
3
4
6
5
Figure 2.1: 3-IC structure G1 with VI = {1, 2, 3}.
1. there are no cycles containing only one vertex from the set {1, 2, 3} in G1 (i.e., no
I-cycles),
2. using the rooted trees for each vertex in the set {1, 2, 3}, which are given in Fig.
2.2, 2.3 and 2.4, respectively, it is verified that there exists a unique path between
Chapter 2. Review of Interlinked Cycle Structures 10
1
2
3 6
5
Figure 2.2: Rooted tree for inner vertex 1 of IC-structure G1.
1
2
3
4
6
Figure 2.3: Rooted tree for inner vertex 2 of IC-structure G1.
any two different vertices in VI in G1 and does not contain any other vertex in VI
(i.e., unique I-path between any pair of inner vertices),
3. G1 is the union of all the 3 rooted trees.
Example 2. Consider G2, a side information graph which is a 4-IC structure shown in
Fig. 2.5. G2 is a 4-IC structure with inner vertex set VI = {1, 2, 3, 4} because
1. there are no cycles with only one vertex from the set {1, 2, 3, 4} in G2 (i.e., no I-
cycles),
2. using the rooted trees for each vertex in the set {1, 2, 3, 4}, which are given in
Fig. 2.6, 2.7, 2.8 and 2.9, respectively, it is verified that there exists a unique path
Chapter 2. Review of Interlinked Cycle Structures 11
1
2
3
4
5
Figure 2.4: Rooted tree for inner vertex 3 of IC-structure G1.
between any two different vertices in VI in G2 and does not contain any other
vertex in VI (i.e., unique I-path between any pair of inner vertices),
3. G2 is the union of all the 4 rooted trees.
Example 3. Consider G3, a side information graph which is a 5-IC structure, shown in
Fig. 2.10. G3 is a 5-IC structure with inner vertex set VI = {1, 2, 3, 4, 5} because
1. there are no cycles with only one vertex from the set {1, 2, 3, 4, 5} in G3 (i.e., no
I-cycles),
2. using the rooted trees for each vertex in the set {1, 2, 3, 4, 5}, which are given in
Fig. 2.11, 2.12, 2.13, 2.14 and 2.15, respectively, it is verified that there exists a
unique path between any two different vertices in VI in G3 and does not contain
any other vertex in VI (i.e., unique I-path between any pair of inner vertices),
3. G3 is the union of all the 5 rooted trees.
The ICC scheme finds disjoint IC structures in given side-information graph and then
constructs an index code for each IC structure using the following construction pro-
posed by Thapa et al. [1] (stated below as Construction 1).
Chapter 2. Review of Interlinked Cycle Structures 12
5
6
4
3
2
1
Figure 2.5: 4-IC structure G2 with VI = {1, 2, 3, 4}.
Construction 1 (Index code construction for a K-IC structure). Let the K-IC structure
be called G and let |V (G)| = N . Let V (G) = {1, 2, . . . , N}, VI = {1, 2, . . . , K) be the set
of the K inner vertices and hence VNI = {K + 1, K + 2, . . . , N}. Let xn ∈ Fq be the
message corresponding to the vertex n ∈ V (G) and where Fq is the finite field to which
the all the N messages at the sender belong to (note that in single unicast setting, the
number of messages will be equal to the number of users).
1. An index code symbol WI obtained by XOR of messages corresponding to inner
vertices is transmitted, where
WI =K⊕i=1
xi. (2.1)
2. An index code symbol corresponding to each non-inner vertex, obtained by XOR
Chapter 2. Review of Interlinked Cycle Structures 13
5
4
3
2
1
Figure 2.6: Rooted tree for inner vertex 1 of IC-structure G2.
6
4
3
2
1
Figure 2.7: Rooted tree for inner vertex 2 of IC-structure G2.
4
3
2
1
Figure 2.8: Rooted tree for inner vertex 3 of IC-structure G2.
Chapter 2. Review of Interlinked Cycle Structures 14
4
3
2
1
Figure 2.9: Rooted tree for inner vertex 4 of IC-structure G2.
of message corresponding to the non-inner vertex with the messages correspond-
ing to the vertices in the out-neighbourhood of the non-inner vertex is transmit-
ted, i.e., for j ∈ VNI , Wj is transmitted, where
Wj = xj⊕
q∈N+G (j)
xq, (2.2)
where ⊕ denotes modulo addition over Fq.
Let G be a K-IC structure with inner vertex set VI ⊆ V (G) and let Ti and Tj be the
rooted trees corresponding to two inner vertices i and j respectively, where i, j ∈ VI
and i 6= j. The following lemmas are presented in [1].
Lemma 1 (Lemma 2 in [1]). For any vertex v ∈ V (Ti) ∩ V (Tj), and v 6∈ VI , the set of leaf
vertices that fan out from the common vertex v in each tree is a subset of VI\{i, j}.
Lemma 2 (Lemma 3 in [1]). For any vertex v ∈ V (Ti) ∩ V (Tj), and v 6∈ VI , the out-
neighborhood of vertex v is the same in both trees, that is, N+Ti(v) = N+
Tj(v).
Lemma 3 (Lemma 4 in [1]). If a vertex v ∈ V (Ti) such that v 6∈ VI , then its out-
neighborhood is the same in Ti and in G, that is, N+Ti(v) = N+
G (v).
Algorithm 1. It is the algorithm proposed in [1] to decode an index code obtained by
using Construction 1 on an IC structure, G.
Chapter 2. Review of Interlinked Cycle Structures 15
9 10
8 7 6
5 4 3 2 1
Figure 2.10: 5-IC structure G3 with VI = {1, 2, 3, 4, 5}.
• The message xj corresponding to a non-inner vertex j is decoded directly using
the transmission Wj and
• the message xi corresponding to an inner vertex i is decoded using
Zi = WI
⊕q∈VNI)(i)
Wq =⇒ Zi = xi⊕
k:k∈N+Ti
(i)
xk.
Chapter 2. Review of Interlinked Cycle Structures 16
8 7 6
5 4 3 2 1
Figure 2.11: Rooted tree for inner vertex 1 of IC-structure G3.
1 2 3 4 5
Figure 2.12: Rooted tree for inner vertex 2 of IC-structure G3.
10
8 7
5 4 3 2 1
Figure 2.13: Rooted tree for inner vertex 3 of IC-structure G3.
Chapter 2. Review of Interlinked Cycle Structures 17
9 10
5 4 3 2 1
Figure 2.14: Rooted tree for inner vertex 4 of IC-structure G3.
9 10
5 4 3 2 1
Figure 2.15: Rooted tree for inner vertex 5 of IC-structure G3.
Chapter 3
Motivating Examples
In this chapter, we provide examples of IC structures for which Algorithm 1 does not
work for decoding using the index code obtined by using Construction 1.
Example 4. Consider G4, a side information graph which is a 6- IC structure with inner
vertex set VI = {1, 2, 3, 4, 5, 6} given in Fig. 3.1. G4 is a 6-IC structure with inner vertex
set VI = {1, 2, 3, 4, 5, 6} because
1. there are no cycles containing only one vertex from the set {1, 2, 3, 4, 5, 6} in G4
(i.e., no I-cycles),
2. using the rooted trees for each vertex in the set {1, 2, 3, 4, 5, 6}, which are given
in Fig. 3.2, 3.3, 3.4, 3.5, 3.6 and 3.7, respectively, it is verified that there exists a
unique path between any two different vertices in VI in G4 and does not contain
any other vertex in VI (i.e., unique I-path between any pair of inner vertices),
3. G4 is the union of all the 6 rooted trees.
18
Chapter 3. Motivating Examples 19
1 14
2
3
4
5
6
7
8
9
10
11
12
13
Figure 3.1: 6-IC structure G4 with inner vertex set, VI = {1, 2, 3, 4, 5, 6}.
1 14
2
3
4
5
6
7
9
10
11
12
13
Figure 3.2: Rooted tree for inner vertex 1 of IC-structure G4.
Chapter 3. Motivating Examples 20
1
2
3
4
5
6
10
11
12
13
Figure 3.3: Rooted tree for inner vertex 2 of IC-structure G4.
1
2
3
4
5
6
11
12
13
Figure 3.4: Rooted tree for inner vertex 3 of IC-structure G4.
1
2
3
4
5
6
7
8
Figure 3.5: Rooted tree for inner vertex 4 of IC-structure G4.
Chapter 3. Motivating Examples 21
1
2
3
4
5
6
Figure 3.6: Rooted tree for inner vertex 5 of IC-structure G4.
1
2
3
4
5
6
9
10
11
12
13
Figure 3.7: Rooted tree for inner vertex 6 of IC-structure G4.
Chapter 3. Motivating Examples 22
Using Construction 1, the transmitted index code symbols are
WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6
W7 = x7 ⊕ x2 ⊕ x6
W8 = x8 ⊕ x3 ⊕ x5
W10 = x10 ⊕ x11
W11 = x11 ⊕ x12
W12 = x12 ⊕ x4 ⊕ x13
W13 = x13 ⊕ x5 ⊕ x9
W14 = x14 ⊕ x9.
Now consider the rooted tree of the inner vertex 2. It is given in Fig. 3.3. Applying
Algorithm 1 to decode x2, we get
Z2 = WI ⊕W10 ⊕W11 ⊕W12 ⊕W13
which results in
Z2 = x1 ⊕ x2 ⊕ x3 ⊕ x6 ⊕ x10 ⊕ x9
using which message x2 cannot be decoded by the user requesting it since x9 is not
availabe at that user as side information. It can be observed that Lemma 3 is not true for
IC structure G4 (it is violated by the non-inner vertex 13 which has out-neighbourhood
{5} in rooted tree of inner vertex 2 and has out-neighbourhood {5, 9} in G4. Also, it is
observed that the non-inner vertex 13 has out-neighbourhood {5} and {5, 9} in rooted
trees of inner vertices 2 and 6, respectively and thus Lemma 2 is also violated by G4.
However, it is not true that Algorithm 1 does not work in Ex. 4 because of Lemma 2
and Lemma 3 being not true for G4. This fact is illustrated by the following example. An
Chapter 3. Motivating Examples 23
1 2
9
11
3
8
10
4 5
7
6
Figure 3.8: 5-IC structure, G5 with VI = {1, 2, 3, 4, 5} that satisfies Lemma 2 and Lemma3.
IC structure for which Lemma 2 and Lemma 3 are true is given in Fig. 3.8.
Example 5. Consider G5, a side information graph which is a 5-IC structure with inner
vertex set VI = {1, 2, 3, 4, 5}, given in Fig. 3.8. G5 is a 5-IC structure with inner vertex
set {1, 2, 3, 4, 5} because
1. there are no cycles containing only one vertex from the set {1, 2, 3, 4, 5} in G5 (i.e.,
no I-cycles),
2. using the rooted trees for each vertex in the set {1, 2, 3, 4, 5}, which are given in
Fig. 3.9, 3.10, 3.11, 3.12 and 3.13, respectively, it is verified that there exists a
unique path between any two different vertices in VI in G5 and does not contain
any other vertex in VI (i.e, unique I-path between any pair of inner vertices),
3. G5 is the union of all the 5 rooted trees.
Chapter 3. Motivating Examples 24
1 2
9
3
8
4 5
7
6
Figure 3.9: Rooted tree for inner vertex 1 of IC-structure G5.
1 2 3 4 5
Figure 3.10: Rooted tree for inner vertex 2 of IC-structure G5.
1 2
9
11
3
8
4 5
Figure 3.11: Rooted tree for inner vertex 3 of IC-structure G5.
Chapter 3. Motivating Examples 25
1 2
11
3
10
4 5
Figure 3.12: Rooted tree for inner vertex 4 of IC-structure G5.
1 2
11
3
10
4 5
Figure 3.13: Rooted tree for inner vertex 5 of IC-structure G5.
Chapter 3. Motivating Examples 26
Using Construction 1, the transmitted index code symbols are
WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5
W6 = x6 ⊕ x3
W7 = x7 ⊕ x8
W8 = x8 ⊕ x4 ⊕ x9
W9 = x9 ⊕ x5 ⊕ x8
W10 = x10 ⊕ x3 ⊕ x11
W11 = x11 ⊕ x1.
Consider the rooted tree for the inner vertex 1, shown in Fig. 3.9. By applying Algorithm
1 to decode x1, we get
Z1 = WI ⊕W6 ⊕W7 ⊕W8 ⊕W9
which results in
Z1 = x1 ⊕ x2 ⊕ x6 ⊕ x7 ⊕ x8,
using which, message x1 is not decodable by the user requesting it because x8 is not
availabe at that user as side information.
So, it is obsesrved that even if Lemma 1, Lemma 2 and Lemma 3 are true for an IC
structre, the index code obtained by Construction 1 is not decodable using Algorithm 1.
This observation motivates Theorem 1 which imposes a set of necessary and sufficient
conditions on a given IC structure for an index code constructed using Construcion 1
for that IC structure to be decodable using Algorithm 1.
Chapter 4
Main Results
In this chapter, we presents our main results in which the class of IC structures for
which Algorithm 1 works is given.
Let the K-IC structure, G, have inner vertex set VI = {1, 2, . . . , K} and non-inner
vertex set VNI = {K + 1, K + 2, . . . , N}. Let Ti be the rooted tree corresponding to an
inner vertex i, where i ∈ {1, 2, . . . , K}. Let VNI(i) be the set of non-inner vertices in G
which appear in the rooted tree Ti of an inner vertex i. For each i ∈ {1, 2, . . . , K} and
for a non-inner vertex j which is at a depth > 2 in the rooted tree Ti, define ai,j as the
number of verices in VNI(i)\{j} for which j is in out-neighbourhood in G, i.e., for each
i ∈ {1, 2, . . . , K} and for each j ∈ V (Ti)\{VI ∪N+G (i)},
ai,j , |{v : v ∈ VNI(i)\{j}, j ∈ N+G (v)}|.
Also, for each i ∈ {1, 2, . . . , K} and for a non-inner vertex j not in the rooted tree Ti,
define bi,j as the number of vertices in VNI(i) for which j is in out-neighbourhood in
G,i.e., for each i ∈ {1, 2, . . . , K} and j ∈ V (G)\V (Ti),
bi,j , |{v : v ∈ VNI(i), j ∈ N+G (v)}|.
27
Chapter 4. Main Results 28
Claim 1. Given an IC structure G with inner vertex set VI = {1, 2, . . . , K}, bi,j ∈ {0, 1}
for each i ∈ {1, 2, . . . , K} and j ∈ V (G)\V (Ti).
Proof. Suppose, for an i ∈ {1, 2, . . . , K} and a j ∈ VNI(i), let bi,j = m, for some m > 2.
Let p and q be any two different vertices in the set {v : v ∈ VNI(i), j ∈ N+G (v)}. Then
j ∈ N+G (p) and j ∈ N+
G (q). In Ti, p and q can be predecessors of a common inner vertex
or two different inner vertices. Consider the case where p and q are predecessors of a
single inner vertex, n ∈ VI\{i}, i.e., non-inner vertices p and q are on the I-path from
inner vertex i to inner vertex n. Also let q be reached from p, i.e., in the I-path from i
to n, p is reached first and q is reached from p. Since every non-inner vertex has to be
a predecessor of atleast one inner vertex (by definition of IC structure), the non-inner
vertex j must also be a predecessor of an inner vertex. Let j be predecessor of an inner
vertex m ∈ VI\{i, n}. Since the arc from p to j does not exist in Ti but exists in G,
there exists an I-path from an inner vertex s ∈ VI\{i, n} to the inner vertex m, passing
through the non-inner vertex p and then through j and then through atleast one non-
inner vertex which is a predecessor of p in the I-path from i to n or else uniqueness of
I-path will be violated. But now, there exist two I-paths in G from s to m, one that has
a direct arc between p and j, and one in which j is reached from p through q. Hence
uniqueness of I-path is violated and as a result j cannot be a predecessor of any vertex
m ∈ VI\{i, n}. Obviously, j cannot be a predecessor of i since it forms an I-cycle at
the inner vertex i. The remaining possibility is where j is a predecessor of n which is
also not possible since there already exists a path from p to n passing through q and
not passing through j. Hence uniqueness of I-path will be violated if j is a predecessor
of the inner vertex n. This means that j cannot be predecessor of any inner vertex
implying that the considered case where p and q being the predecessors of a common
inner vertex is not possible.
The other case is where p and q are predecessors of different inner vertices. Let p be
predecessor of an inner vertex m ∈ VI\{i} and q be predecessor of an inner vertex
Chapter 4. Main Results 29
n ∈ VI\{i,m}. Let the set of inner vertices that are reached from the non-inner vertex j
through some path in G be VI(j). Define Sj as the set of vertices that are successors of
j and predecessors of veritces in VI(j). See Fig. 4.1. Dotted arrows indicate presence
of some vertices in the path. Since VI(j) ⊂ VI , it follows that VI(j) ⊂ V (Ti). The paths
j
VI( j )
Sj
Figure 4.1: Illustration of VI(j).
from i to some vertices in VI(j) pass through some vertices in Sj and paths from i to
remaining vertices in VI(j) will not pass through any vertex in Sj . The subset of vertices
in Sj which are also successors of the inner vertex i is denoted by Si,j . Fig. 4.2 illustrates
j
VI( j )
Si,j
i
Figure 4.2: Illustration of Si,j .
Si,j . Now, p must be in Si,j . This is inferred as follows. It is true that VI(j) ∩ VI(p) 6= φ
because there exists a path from p to j in G due to which VI(j) ⊆ VI(p). So there exists
atleast one vertex tp ∈ VI(j) ∩ VI(p), which implies that there exists a path from i to tp
Chapter 4. Main Results 30
through p in Ti. If p 6∈ Si,j , it results in multiple I-paths between i and tp as there exists
an edge between p to j and tp ∈ VI(j) means that there is a path from j to tp. Fig. 4.3
j
tp
VI( j )
i
p
Figure 4.3: Illustration of p 6∈ Si,j .
j
tp
VI( j )
i
p
Figure 4.4: Illustration of p 6∈ Si,j .
and Fig. 4.4 show the two possible cases when p 6∈ Si,j . For simplicity, only tp is shown
in VI(j) in Fig. 4.3, 4.4 and 4.5. It is seen that there exist two I-paths between i and tp in
those two cases. So tp ∈ Si,j which means that there exists a path from j to p. This case
is shown in Fig. 4.5. Similarly, there exists atleast one inner vertex tq ∈ VI(j) ∩ VI(q),
which implies that q ∈ Si,j and hence there exists a path from j to q. Thus there exists a
path from p to q through j in G which implies there exists an I- path from i to n through
p and q, which is a contradiction to the assumption that p and q don’t lead to the same
inner vertex. Fig. 4.6 shows the final possibility and the contradiction. Therefore, such
Chapter 4. Main Results 31
j tp
VI( j )
p
i
Figure 4.5: Illustration of p ∈ Si,j
.
j tp p
i q tq
m
n
Figure 4.6: Illustration of existence of a path from i to n through both p and q.
p and q cannot exist. Thus bi,j cannot take values more than 1. Hence bi,j ∈ {0, 1}.
Theorem 1. The index code obtained from Construction 1 on G is decodable using Al-
gorithm 1 if and only if the IC structure, G, satisfies the following two conditions c1 and
c2.
Condition 1 (c1). ai,j must be an odd number for each i ∈ {1, 2, . . . , K} and j ∈ VNI(i)\N+Ti(i).
Condition 2 (c2). bi,j must be zero for each i ∈ {1, 2, . . . , K} and j ∈ V (G)\V (Ti).
Proof. The proof of the if part is as follows. Let the inner vertex of interest be i and its
Chapter 4. Main Results 32
rooted tree be Ti. Using Algorithm 1 to decode xi, Zi is computed as
Zi = WI ⊕j:j∈VNI(i)
Wj.
In Zi, the messages corresponding to the inner vertices that are not directly connected
to i will be cancelled since each such message appears exactly twice, once in WI and
once in the index code symbol corresponding to the non-inner vertex which is the
immediate predecessor of the inner vertex in Ti. Message xj that corresponds to a non-
inner vertex j at a depth > 2 in Ti appears exactly even number of times in Zi, once in
Wj and in odd number of index code symbols corresponding to the non-inner vertices
that are in Ti as it is in out-neighbourhood of odd number of vertices in VNI(i), in G,
by hypothesis and hence it is also cancelled. Finally, message corresponding to a non-
inner vertex that is not in Ti appears zero times in Zi as it appears in zero index code
symbols corresponding to the vertices VNI(i), since, by hypothesis, a non-inner vertex
not in Ti, is in out-neighbourhood of zero vertices that are in VNI(i), in G and is, hence,
cancelled. So, Zi will be of the form
Zi = xi ⊕k:k∈N+
Ti(i)
xk
and hence xi is decodable by the user requesting xi as the user will have messages
corresponding to vertices in N+Ti)(i) as side information.
The proof of the only if part is by contradiction. Let c1 be violated and c2 be true, and
let the index code be decodable. That is, in the rooted tree Ti of an inner vertex i, a
non-inner vertex j at depth > 2 is in out-neighbourhood of even number of vertices in
VNI(i), in G i.e., ai,j is even. It is evident that xj is not cancelled in Zi because xj appears
once in Wj and in even number of index code symbols corresponding to vertices in
VNI(i)\{j}. As a result, xi is not decodable by user requesting it since xj is not available
to the user requesting xi as side information. This is a contradiction.
Chapter 4. Main Results 33
Now, let c1 be true and c2 be false. Let the non-inner vertex j violate c2 for a rooted
tree Ti corresponding to an inner vertex i, i.e., bi,j = 1. Then xj is not cancelled in Zi
because it appears only once in the index code symbols corresponding to the vertices
that are in VNI(i) and thus inhibiting decodability of xi for the user requesting it, since
the user does not have xj as side information. This is also a contradiction.
Chapter 5
Illustration of Results
In this chapter we illustrate Theorem 1 for different IC structures.
Example 6. Consider Fig. 3.2, in which the rooted tree T1 of inner vertex 1 of the 6-IC
structure, G4, is shown. Now,
VNI(1) = {7, 9, 10, 11, 12, 13, 14}.
9 is a non-inner vertex at depth 2 in T1. In G4, 9 is in out-neighbourhood of two vertices
(vertices 13 and 14) in SG4(1)\{9}. Hence, a1,9 = 2 (even number). Hence c1 is violated
by G4.
Consider Fig. 3.3, in which the rooted tree T2 of G4 is shown. Now,
VNI(2) = {10, 11, 12, 13}.
9 is a non-inner vertex which does not appear in T2. In G4, 9 appears in out-neighbourhood
of one vertex (vertex 13), in VNI(2). Hence, b2,9 = 1 because of which, c2 is violated by
G4. As a result, the index code obtained by Construction 1 on G4 was not decodable by
Algorithm 1, as shown in Ex. 4.
Ex. 7, Ex. 8 and Ex. 9 illustrate the conditions c1 and c2 for the IC structures used in
34
Chapter 5. Illustration of Results 35
Rooted tree, Ti VNI(i) j ∈ V (G)\V (Ti) bi,j
T1 {5, 6} {4} 0T2 {4, 6} {5} 0T3 {4, 5} {6} 0
Table 5.1: Table that illustrates c2 for G1.
Rooted tree, Ti VNI j ∈ V (G2)\V (Ti) bi,j
T1 {5} {6} 0T2 {6} {5} 0T3 φ {5, 6} −T4 φ {5, 6} −
Table 5.2: Table that illustrates c2 for G2.
[1]. i.e, for IC structures in Ex. 1, Ex. 2 and Ex. 3 respectively.
Example 7. Conditions c1 and c2 are illustrated for G1 as follows. The rooted trees T1,
T2 and T3 have no non-inner vertices at depth > 2 and hence c1 need not be verified.
From Table 5.1, it is clear that bi,j = 0 for each i ∈ {1, 2, 3} and j ∈ V (G)\V (Ti). It is
thus verified that c1 and c2 are satisfied by G1.
Example 8. Conditions c1 and c2 are illustrated for G2 as follows. The rooted trees T1,
T2, T3 and T4 have no non-inner vertices at depth > 2 and hence c1 need not be verified.
Verification of c2 is done using Table 5.2. It is thus verified that c1 and c2 are satisfied
by G2.
Rooted tree, Ti VNI(i) j ∈ V (Ti)\{VI ∪N+Ti(i)} ai,j
T1 {6, 7, 8} {8} 1T2 φ φ −T3 {7, 8, 10} {7} 1T4 {9, 10} {10} 1T5 {9, 10} {10} 1
Table 5.3: Table that illustrates c1 for G3.
Example 9. Conditions c1 and c2 are illustrated for G3 in Table 5.3 and Table 5.4, respec-
tively. As a result, Algorithm 1 can be used to decode an index code obtained by using
Construction 1 on the IC structure G3.
Chapter 5. Illustration of Results 36
Rooted tree, Ti VNI(i) j ∈ V (G3)\V(Ti) bi,j
T1 {6, 7, 8} {9, 10} 0, 0T2 φ {6, 7, 8, 9, 10} −T3 {7, 8, 10} {6, 9} 0, 0T4 {9, 10} {6, 7, 8} 0, 0, 0T5 {9, 10} {6, 7, 8} 0, 0, 0
Table 5.4: Table that illustrates c2 for G3.
The following examples illustrate Theorem 1 for some more IC structures.
Example 10. Consider G6, a side information graph which is a 6-IC structure, shown in
Fig. 5.1. G6 is a 6-IC structure with inner vertex set VI = {1, 2, 3, 4, 5, 6} because
1
2
3
4
5
6
7
8
9
11
10
Figure 5.1: 6-IC structure G6 with VI = {1, 2, 3, 4, 5, 6}.
1. there are no cycles with only one vertex from the set {1, 2, 3, 4, 5, 6} in G6 (i.e., no
I-cycles),
2. using the rooted trees for each vertex in the set, {1, 2, 3, 4, 5, 6}, which are given
in Fig. 5.2, 5.3, 5.4, 5.5, 5.6 and 5.7, respectively, it is verified that there exists a
Chapter 5. Illustration of Results 37
1
2
3
4
5
6
7
8
9
Figure 5.2: Rooted tree for inner vertex 1 of IC-structure G6.
1
2
3
4
5
6
11
10
Figure 5.3: Rooted tree for inner vertex 2 of IC-structure G6.
unique path between any two different vertices in VI in G6 and does not contain
any other vertex in VI (i.e., unique I-path between any pair of inner vertices),
3. G6 is the union of all the 6 rooted trees.
Verification of c1 and c2. From Table 5.5 and Table 5.6, it is observed that c1 and c2 are
satisfied by G6. As a result, Algorithm 1 can be used to decode an index code obtained
by using Construction 1 on the IC structure G6.
Chapter 5. Illustration of Results 38
1
2
3
4
5
6
8
9
11
10
Figure 5.4: Rooted tree for inner vertex 3 of IC-structure G6.
1
2
3
4
5
6
11
10
Figure 5.5: Rooted tree for inner vertex 4 of IC-structure G6.
1
2
3
4
5
6
11
10
Figure 5.6: Rooted tree for inner vertex 5 of IC-structure G6.
Chapter 5. Illustration of Results 39
1
2
3
4
5
6
Figure 5.7: Rooted tree for inner vertex 6 of IC-structure G6.
Rooted tree, Ti VNI(i) j ∈ V (Ti)\{VI ∪N+Ti(i)} ai,j
T1 {7, 8, 9} {9} 1T2 {10, 11} {10} 1T3 {8, 9, 10, 11} {8, 11} 1,1T4 {10, 11} {11} 1T5 {10, 11} {11} 1T6 φ φ −
Table 5.5: Table that verifies c1 for G6.
The index code obtained is
WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6
W7 = x7 ⊕ x3
W8 = x8 ⊕ x4 ⊕ x9
W9 = x9 ⊕ x5 ⊕ x8
W10 = x10 ⊕ x6 ⊕ x11
W11 = x11 ⊕ x1 ⊕ x10.
Messages x7, x8, x9, x10 and x11 are decoded directly using W7, W8, W9, W10 and W11
respectively. The computation of Zi, for i = 1, 2, . . . , 6 using Algorithm 1 is shown in
Table 5.7 and the decoding of messages x1, x2, x3, x4, x5 and x6 is shown in Table 5.8.
Thus, Algorithm 1 is used to decode the index code constructed using Construction1 on
Chapter 5. Illustration of Results 40
Rooted tree, Ti VNI(i) j ∈ V (G6)\V (Ti) bi,j
T1 {7, 8, 9} {10, 11} 0, 0T2 {10, 11} {7, 8, 9} 0, 0, 0T3 {8, 9, 10, 11} {7} 0T4 {10, 11} {7, 8, 9} 0, 0, 0T5 {10, 11} {7, 8, 9} 0, 0, 0T6 φ {7, 8, 9, 10, 11} −
Table 5.6: Table that verifies c2 for G6.
Message xi Computaion of Zi
x1 WI ⊕W7 ⊕W8 ⊕W9
x2 WI ⊕W10 ⊕W11
x3 WI ⊕W8 ⊕W9 ⊕W10 ⊕W11
x4 WI ⊕W10 ⊕W11
x5 WI ⊕W10 ⊕W11
x6 WI
Table 5.7: Table that shows the working of Algorithm 1 on index code obtained fromConstruction 1 on G6.
G6.
Example 11. Consider G7, a side information graph which is a 6-IC structure, shown in
Fig. 5.8. G7 is a 6-IC structure with inner vertex set VI = {1, 2, 3, 4, 5, 6} because
1. there are no cycles with only one vertex from the set {1, 2, 3, 4, 5, 6} in G7 (i.e., no
I-cycles),
2. using the rooted trees for each vertex in the set, {1, 2, 3, 4, 5, 6}, which are given in
Fig. 5.9, 5.10, 5.11, 5.12, 5.13 and 5.14, respectively, it is verified that there exists a
unique path between any two different vertices in VI in G7 and does not contain
any other vertex in VI (i.e., unique I-path between any pair of inner vertices),
3. G7 is the union of all the 6 rooted trees.
Verification of c1 and c2. From Table 5.9 and Table 5.10, it is observed that c1 and c2 are
satisfied by G7. As a result, Algorithm 1 can be used to decode an index code obtained
by using Construction 1 on the IC structure G7.
Chapter 5. Illustration of Results 41
Message xi Zi N+G6(i)
x1 x1 ⊕ x2 ⊕ x6 ⊕ x7 ⊕ x8 x2, x6, x7, x8x2 x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x11 x3, x4, x5, x11x3 x3 ⊕ x2 ⊕ x9 ⊕ x10 x2, x9, x10x4 x4 ⊕ x2 ⊕ x3 ⊕ x5 ⊕ x10 x2, x3, x5, x10x5 x5 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x10 x2, x3, x4, x10x6 x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6 x1, x2, x3, x4, x5
Table 5.8: Table that shows decoding of messages using Algorithm 1 on index codeobtained from Construction 1 on G6.
Rooted tree, Ti VNI(i) j ∈ V (Ti)\{VI ∪N+Ti(i)} ai,j
T1 {8, 9, 10, 11} {9, 11} 1, 1T2 {7, 8, 9, 12} {8, 12} 1, 1T3 {10, 11} {10} 1T4 {7, 12} {7} 1T5 {7, 12} {7} 1T6 φ φ −
Table 5.9: Table that verifies c1 for G7.
The index code obtained is
WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6
W7 = x7 ⊕ x1 ⊕ x12
W8 = x8 ⊕ x3 ⊕ x9
W9 = x9 ⊕ x4 ⊕ x8
W10 = x10 ⊕ x5 ⊕ x11
W11 = x11 ⊕ x6 ⊕ x10
W12 = x12 ⊕ x6 ⊕ x7.
Messages x7, x8, x9, x10, x11 and x12 are decoded directly using W7, W8, W9, W10, W11
and W12 respectively. The computation of Zi, for i = 1, 2, . . . , 6 using Algorithm 1 is
shown in Table 5.11 and the decoding of messages x1, x2, x3, x4, x5 and x6 is shown
in Table 5.12. Thus, Algorithm 1 is used to decode the index code constructed using
Chapter 5. Illustration of Results 42
1
2
3
4
5
6
8
11
10
7
12
9
Figure 5.8: 6-IC structure G7 with VI = {1, 2, 3, 4, 5, 6}.
Rooted tree, Ti VNI(i) j ∈ V (G7)\V (Ti) bi,j
T1 {8, 9, 10, 11} {7, 12} 0, 0T2 {7, 8, 9, 12} {10, 11} 0, 0T3 {10, 11} {7, 8, 9, 12} 0, 0, 0, 0T4 {7, 12} {8, 9, 10, 11} 0, 0, 0, 0T5 {7, 12} {8, 9, 10, 11} 0, 0, 0, 0T6 φ {7, 8, 9, 10, 11, 12} −
Table 5.10: Table that verifies c2 for G7.
Construction1 on G7.
Ex. 10 and Ex. 11 show examples of IC structures that have two and three cycles
of only non-inner vertices, respectively. These IC structures satisfied the conditions c1
and c2. It can also be observed that Lemma 1, Lemma 2, and Lemma 3 are satisfied by
the IC structures G6 and G7. It then raises a question if this is always the case, i.e., if
an IC structure satisfies c1 and c2, does it mean that Lemma 1, Lemma 2, and Lemma 3
are satisfied by that IC structure? It turns out that it is not always the case. This is
illustrated in the following example.
Chapter 5. Illustration of Results 43
1
2
3
4
5
6
8
11
10
9
Figure 5.9: Rooted tree for inner vertex 1 of IC-structure G7.
1
2
3
4
5
6
8 7
12
9
Figure 5.10: Rooted tree for inner vertex 2 of IC-structure G7.
1
2
3
4
5
6
11
10
Figure 5.11: Rooted tree for inner vertex 3 of IC-structure G7.
Chapter 5. Illustration of Results 44
1
2
3
4
5
6
7
12
Figure 5.12: Rooted tree for inner vertex 4 of IC-structure G7.
1
2
3
4
5
6
7
12
Figure 5.13: Rooted tree for inner vertex 5 of IC-structure G7.
1
2
3
4
5
6
Figure 5.14: Rooted tree for inner vertex 6 of IC-structure G7.
Chapter 5. Illustration of Results 45
Message xi Computaion of Zi
x1 WI ⊕W8 ⊕W9 ⊕W10 ⊕W11
x2 WI ⊕W7 ⊕W8 ⊕W9 ⊕W12
x3 WI ⊕W10 ⊕W11
x4 WI ⊕W7 ⊕W12
x5 WI ⊕W7 ⊕W12
x6 WI
Table 5.11: Table that shows the working of Algorithm 1 on index code obtained fromConstruction 1 on G7.
Message xi Zi N+G7(i)
x1 x1 ⊕ x2 ⊕ x8 ⊕ x10 x2, x8, x10x2 x2 ⊕ x5 ⊕ x7 ⊕ x9 x5, x7, x9x3 x3 ⊕ x1 ⊕ x2 ⊕ x4 ⊕ x11 x1, x2, x4, x11x4 x4 ⊕ x2 ⊕ x3 ⊕ x5 ⊕ x12 x2, x3, x5, x12x5 x5 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x12 x2, x3, x4, x12x6 x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6 x1, x2, x3, x4, x5
Table 5.12: Table that shows the decoding of messages using Algorithm 1 on index codeobtained from Construction 1 on G7.
Example 12. Consider G8, a side information graph which is a 5-IC structure, shown in
Fig. 5.15. G8 is a 5-IC structure with inner vertex set VI = {1, 2, 3, 4, 5} because
1. there are no cycles with only one vertex from the set{1, 2, 3, 4, 5} in G8 (i.e., no
I-cycles),
2. using the rooted trees for each vertex in the set, {1, 2, 3, 4, 5}, which are given in
Fig. 5.16, 5.17, 5.18, 5.19 and 5.20, respectively, it is verified that there exists a
unique path between any two different vertices in VI in G8 and does not contain
any other vertex in VI (i.e., unique I-path between any pair of inner vertices),
3. G8 is the union of all the 5 rooted trees.
Verification of c1 and c2. From Table 5.13 and Table 5.14, it is observed that c1 and c2 are
satisfied by G8. As a result, Algorithm 1 can be used to decode an index code obtained
by using Construction 1 on the IC structure G8.
Chapter 5. Illustration of Results 46
1 2 3 4 5
6
8
7
10 9
Figure 5.15: 5-IC structure G8 with VI = {1, 2, 3, 4, 5}.
Rooted tree, Ti VNI(i) j ∈ V (Ti)\{VI ∪N+Ti(i)} ai,j
T1 {6, 7, 8} {7, 8} 1, 1T2 {6, 7, 8} {6, 7} 1, 1T3 {φ} {φ} −T4 {9, 10} {9} 1T5 {9, 10} {10} 1
Table 5.13: Table that verifies c1 for G8.
The index code obtained is
WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5
W6 = x6 ⊕ x3 ⊕ x7
W7 = x7 ⊕ x8 ⊕ x4
W8 = x8 ⊕ x5 ⊕ x6
W9 = x9 ⊕ x1 ⊕ x2 ⊕ x10
W10 = x10 ⊕ x3 ⊕ x9.
Chapter 5. Illustration of Results 47
1 2 3 4 5
6
8
7
Figure 5.16: Rooted tree for inner vertex 1 of IC-structure G8.
1 2 3 4 5
6
8
7
Figure 5.17: Rooted tree for inner vertex 2 of IC-structure G8.
1 2 3 4 5
Figure 5.18: Rooted tree for inner vertex 3 of IC-structure G8.
Chapter 5. Illustration of Results 48
1 2 3 4 5
10 9
Figure 5.19: Rooted tree for inner vertex 4 of IC-structure G8.
1 2 3 4 5
10 9
Figure 5.20: Rooted tree for inner vertex 5 of IC-structure G8.
Chapter 5. Illustration of Results 49
Rooted tree, Ti VNI(i) j ∈ V (G8)\V (Ti) bi,j
T1 {6, 7, 8} {9, 10} 0, 0T2 {6, 7, 8} {9, 10} 0, 0T3 {φ} {6, 7, 8, 9, 10} −T4 {9, 10} {6, 7, 8} 0, 0, 0T5 {9, 10} {6, 7, 8} 0, 0, 0
Table 5.14: Table that verifies c2 for G8.
Messages x6, x7, x8, x9 and x10 are decoded directly using W6, W7, W8, W9 and W10
respectively. The computation of Zi, for i = 1, 2, . . . , 5 using Algorithm 1 is shown in
Table 5.15 and the decoding of messages x1, x2, x3, x4 and x5 is shown in Table 5.16.
Thus, Algorithm 1 is used to decode the index code constructed using Construction1 on
Message xi Computaion of Zi
x1 WI ⊕W6 ⊕W7 ⊕W8
x2 WI ⊕W6 ⊕W7 ⊕W8
x3 WI
x4 WI ⊕W9 ⊕W10
x5 WI ⊕W9 ⊕W10
Table 5.15: Table that shows the working of Algorithm 1 on index code obtained fromConstruction 1 on G8.
Message xi Zi N+G8(i)
x1 x1 ⊕ x2 x2, x6x2 x2 ⊕ x1 x1, x8x3 x3 ⊕ x1 ⊕ x2 ⊕ x4 ⊕ x5 x1, x2, x4, x5x4 x4 ⊕ x5 x5, x10x5 x5 ⊕ x4 x4, x10
Table 5.16: Table that shows the decoding of messages using Algorithm 1 on index codeobtained from Construction 1 on G8.
G8.
It is seen that in Ex. 12, Lemma 2 is not true for the non-inner vertex 8 when the rooted
trees of the inner vertices 1 and 2 are considered and as a result, Lemma 3 is also not
true for the non-inner vertex 8 in G8.
Chapter 6
Conclusion
6.1 Summary of the results
The results obtained in this report are summerised as follows.
• Examples of IC structures for which index code obtained by Construction 1 is not
decodable using Algorithm 1 are presented.
• A property of non-inner vertices that do not appear in some rooted trees is found
and is presented as Claim 1.
• A set of necessary and sufficient conditions (c1 and c2) on the given IC structure
for the index code obtained by using Construction 1 on the given IC structure to
be decodable using Algorithm 1 are presented in Theorem 1.
• Lemma 2 and Lemma 3 which are assumed to be true for all IC structures in [1] are
shown to be not true for all IC structures.
• It is also found that an IC structure satisfying c1 and c2 need not satisfy Lemma 1
and Lemma 2.
50
Chapter 6. Conclusion 51
6.2 Scope for further work
• In [1], Algorithm 1 is presented as a proof that index code obtained by using Con-
struction 1 on a given IC structure is a valid index code. But Algorithm 1 is valid
only for a class of IC structures. Hence the validity of index code obtained by
Construction 1 is an open problem.
• It is an open problem to find if there exist IC structures for which Construction
1 works, with some other decoding algorithms (i.e., not necessarily Algortihm 1)
and classifying them.
• It is an open problem to find if there exist IC structures for which Construction 1
fails to give a valid index code, i.e., if there exists some user which cannot de-
code its required message using any linear combination of the index code words
obtained by Construction 1 and classifying them.
• In [1], ICC scheme is claimed to be optimal for some classes of IC structures. But
the proof of optimality assumes that the Construction 1 - Algorithm 1 pair to be
valid for those classes of IC structures. Verifying the validity of Construction 1 -
Algorithm 1 pair for those classes of IC structures is a further line of work that
settles the optimality of ICC scheme for those IC structures.
• In [8], it is found that ICC scheme is not valid for a class of IC structures. Finding
the classes of IC structures for which ICC scheme is valid and optimum, for which
it is not valid, for which it is valid but not optimum are further problems that are
open.
• It is an open problem to find if the valid index codes obtained by using Construc-
tion 1 are optimum.
• Finding error correcting index codes for IC structures is an interesting line of
work [9].
Part II
Work done after 30th January 2018
52
Chapter 7
Introduction
7.1 Corrections in literature
A correction is made to the definition of IC structures in [10] as follows. (The entire
correction is presented in the appendix)
Definition 2 (IC Structure [10]). A side information graph G is called a K-IC structure
with inner vertex set VI ⊆ V (G), such that |VI | = K if G satisfies the following four
conditions.
1. There is no I-Cycle in G, where I-Cycle is defined as a cycle which contains only
one inner vertex.
2. There is a unique I-Path between any two different inner vertices in G, where an
I-path is defined as a path from one inner vertex to another inner vertex without
passing through any other inner vertex. As a result, K rooted trees can be drawn
where each rooted tree is rooted at an inner vertex and has the remaining inner
vertices as the leaves. (This is referred to as unique I-path rule).
3. G is the union of the K rooted trees.
53
Chapter 7. Introduction 54
4. There are no cycles in G containing only non-inner vertices (called as outer cy-
cles), i.e., there are no outer cycles.
The set of vertices V (G)\VI is called the set of non-inner vertices, denoted by VNI . Let
VNI(i) be the set of non-inner vertices that are present in the rooted tree Ti of the inner
vertex i.
Side-information graphs which satisfy only the first three conditions of Definition 2
are referred to as IC structures with outer cycles. In this view, [8] is the first work
which explores construction of index codes for IC structures with outer cycles. In [8],
optimal index code construction and decoding algorithm for one class of IC structures
with outer cycles is given. Optimality of the index code is proved using a lower bound
which is referred to as MIAS bound. Given a directed graph G, the induced acyclic sub-
graph obtained by removing minimum number of vertices is called Maximum Induced
Acyclic Subgraph (MIAS) of G. Let MIAS(G) denote the number of vertices in MIAS of
G. It has been shown in [5] that MIAS(G) lower bounds the optimal length of the index
coding problem described by G. That is, if nopt(G) is the optimum length of index code
for the index coding problem described by G, then
nopt(G) ≥MIAS(G) (7.1)
Then, finding an index code whose length is lower bound to MIAS(G) results in the
index code being optimal.
7.2 Our Contribution
Our contribution is summarised as follows.
• A property of intersecting outer cycles is found and is presented as Theorem 2.
Chapter 7. Introduction 55
• Index code construction (presented as Construction 2 in this report) for any IC
structure with outer cycles is presented along with a decoding algorithm (pre-
sented as Algorithm 2 in this report).
• Two classes of IC structures with outer cycles for which the proposed index code
construction is optimal are presented in Theorems 5 and 6, respectively.
• Optimum error correcting index code construction is presented for these two
classes of IC structures with outer cycles in Theorem 7.
Chapter 8
Main Results
Now, some definitions are given before Construction 2 and Algorithm 2 are presented.
8.1 Definitions
Definition 3 (An outer-cycle group). Consider a vertex j which is present in at least
two outer cycles. The subgraph which is formed by the union of all outer cycles which
contain j is called the outer-cycle group of j.
Example. Consider Fig. 8.1. Let the cycles of this figure be all the outer cycles in an IC
structure G (there are no other outer cycles in G). Vertices 2 and 3 are present in at least two
outer cycles. The outer-cycle group of vertex 2 is as shown in Fig. 8.1. The outer-cycle group
of vertex 3 is shown in Fig. 8.2.
Definition 4 (A maximal outer-cycle group (MOCG) and its central cycle vertex (CCV)).
Consider a non-inner vertex j which is present in at least two outer cycles. If the outer-
cycle group of j is not a subgraph of outer-cycle group of any other non-inner vertex,
then the outer-cycle group of j is called a maximal outer-cycle group (MOCG) and the
vertex j is called the central cycle vertex (CCV) corresponding to that MOCG. In the
56
Chapter 8. Main Results 57
1
2
3
4
6
5
7
8
9
Figure 8.1: Figure showing outer-cycle group of vertex 2
1
2
3
4
6
5
7
8
Figure 8.2: Figure showing outer-cycle group of vertex 3
Chapter 8. Main Results 58
case where more than one non-inner vertices have same outer-cycle group and if that
outer-cycle group is not subgraph of any other outer-cycle group, then the outer-cycle
group is also called an MOCG and its CCV is the vertex with highest in-degree in the
MOCG.
Example. From Fig. 8.1 and 8.2, it can be seen that the outer-cycle group of vertex 3 is not an
MOCG because it is subgraph of outer-cycle group of vertex 2. Since the outer-cycle group of
vertex 2 is not a subgraph of any other outer-cycle group, Fig. 8.1 is an MOCG with CCV 2.
Definition 5 (Pre-central cycle vertex set of a CCV). Consider an MOCG. Let the MOCG
be union of n ≥ 2 outer cycles. Let the CCV of the MOCG be j. The set of n vertices
of the MOCG which have j in their out-neighborhood is called the pre-central cycle
vertex set of j and the n vertices are called pre-central cycle vertices of j.
Example. Consider the MOCG shown in Fig. 8.1. The CCV of that MOCG is 2. It can be
seen that the MOCG is union of 3 outer cycles and the pre-central cycle vertex set is {1, 8, 9}.
Definition 6 (Isolated and Non-Isolated MOCGs). If the outer cycles present in an
MOCG are not present in any other MOCG, then the MOCG is called an isolated
MOCG. Else, the considered MOCG is called a non-isolated MOCG.
Example. Consider Fig. 8.3. Let the cycles be outer cycles in an IC structure G ′. (It is assumed
that there are no other outer cycles in G ′). Vertices 2, 5 and 6 are present in at least two outer
cycles. The outer-cycle group of vertex 2 is shown in Fig. 8.4 and the outer-cycle groups of
vertices 5 and 6 are both the same and are as shown in Fig. 8.5. Since, one outer-cycle group
is not subgraph of the other outer-cycle group, there are two MOCGs, one with CCV 2 and one
with CCV 6, in Fig. 8.3. The MOCG with CCV 2 is as shown in Fig. 8.4 and the MOCG with
CCV 6 is as shown in Fig. 8.5 (CCV is 6 because 6 has an in-degree of 2 and 5 has an in-degree
of 1 in the MOCG). It can be observed that the outer cycle with vertex set {1, 2, 3, 4, 5, 6} is
common to both the MOCGs. Hence the two MOCGs, one with CCV 2 and one with CCV 6,
are non-isolated MOCGs.
Chapter 8. Main Results 59
1
2
3
4
5
6 7
8
9
Figure 8.3: Figure illustrating two non-isolated MOCGs.
1
2
3
4
5
6
9
Figure 8.4: outer-cycle group of vertex 2.
Chapter 8. Main Results 60
1
2
3
4
5
6 7
8
Figure 8.5: outer-cycle group of vertices 5 and 6.
8.2 Properties of Intersecting Outer cycles
Now, three Lemmas and a Theorem are proved using which it shall be shown that an
MOCG will have a unique CCV. The setting is as follows. Let in an IC structure with
outer cycles G, c1 and c2 be two outer cycles which have m ≥ 2 vertices in common
(the case of m = 1 corresponds to the case where there is only one vertex in common to
both the cycles). Let V (c1) and V (c2) denote the sets of vertices in c1 and c2 respectively
and Vcm = V (c1) ∩ V (c2). Let G ′ be the subgraph of G containing the vertices in the
set V (c1) ∪ V (c2) and all the edges present in G that connect any two vertices in the set
V (c1) ∪ V (c2).
Lemma 4. Let v, v1 and v2 be three vertices in an outer cycle in G, such that v2 is reached
from v through v1. An edge from v to v2 cannot exist in G.
Proof. It is proved by contradiction. Suppose that there exists an edge from v to v2 in G.
See Fig 8.6. This means that there exists at least one rooted tree in which the edge from
v to v2 is present (since every edge in G is present in at least one rooted tree). Let v′ be
the inner vertex in whose rooted tree, Tv′ , the edge from v to v2 is present. The set of
Chapter 8. Main Results 61
v v2
v1
Figure 8.6
v’
v
v2
x
v1
Figure 8.7
Chapter 8. Main Results 62
v’ v1
v2
v
Figure 8.8
vertices in that path are denoted by Vp(v1 → v2). In Tv, there are only two possibilities
listed below.
• The path from v′ to v contains at least one vertex present in Vp(v1 → v2). See Fig.
8.7. Let a vertex x ∈ Vp(v1 → v2) be present in the path from v′ to v. Then there
exist two paths from x to v2, one passing through v (as in Tv′) and other without
passing through v, by definition of x. This results in multiple I-paths between v′
and an inner vertex which is a successor of v2, which is violation of unique I-path
rule.
• The path from v′ to v does not contain any vertex present in Vp(v1 → v2). See
Fig. 8.8. Then, there exist two paths from v to v2, one is a direct edge from v to
v2 and the other is path from v to v2 through v1. This results in multiple I-paths
between v′ and an inner vertex which is a successor of v2, which is violation of
unique I-path rule.
In other words Lemma 4 claims that an edge cannot exist between two vertices of an
Chapter 8. Main Results 63
outer cycle, which already have another path between them.
Lemma 5. There exists only one vertex in Vcm whose in-neighbourhood in G ′ consists
of only one vertex in the set V (c1)\Vcm and only one vertex in the set V (c2)\Vcm.
Proof. The proof is done in three steps.
• (Step 1) There does not exist a vertex in Vcm whose in-neighbourhood in G ′ con-
sists of at least two vertices both from the set V (ci)\Vcm for i = 1 or i = 2 because
if there exists a vertex v in Vcm such that the in-neighbourhood of v in G ′ consists
of two vertices v1, v2 ∈ V (ci)\Vcm for i = 1 or i = 2, it violates Lemma 4. See Fig.
8.9
• (Step 2) There does not exist a vertex V (ci)\Vcm, for i = 1 or i = 2, which is in
the in-neighbourhood in G ′ of at least two vertices from the set Vcm because if
there exists a vertex v ∈ V (ci)\Vcm which has two vertices v1, v2 ∈ Vcm in its
out-neighbourhood in G ′, it violates Lemma 4. See Fig. 8.10.
• (Step 3) Now let Lemma 5 be not true. This means that there are at least two
vertices vi, vj ∈ Vcm and two vertices v1, v2 ∈ V (cl)\Vcm (for l = 1 or l = 2),
such that vi is in the out-neighbourhood of v1 and vj is in the out-neighbourhood
of v2, in G ′. Also, it can be assumed, without loss of generality, that there are paths
from vi to vj and from v2 to v1, by definition of the vertices. Now there are two
possible sub-cases.
– (Sub-case 1) Path from v2 to v1 does not contain either vi or vj . See Fig. 8.11.
When the vertices v2, vi and vj are considered, it can be seen that Lemma 4 is
violated, which is not allowed in an IC structure with outer cycles.
– (Sub-case 2) Path from v2 to v1 contains either only vi or only vj . See Fig.
8.12. In such cases, there will exist two paths from vi to vj which results in
multiple I-paths between an inner vertex which is a predecessor of vi and an
Chapter 8. Main Results 64
v
v1
v2
Figure 8.9
inner vertex which is a successor of vj which is not allowed in an IC structure
with outer cycles.
So Lemma 5 is true.
Lemma 6. There exists only one vertex in Vcm whose out-neighbourhood in G ′ consists
of only one vertex in the set V (c1)\Vcm and only one vertex in the set V (c2)\Vcm.
Proof. The proof is done in three steps.
• (step 1) There does not exist a vertex in Vcm whose out-neighbourhood in G ′ con-
sists of at least two vertices both from V (ci)\Vcm, for i = 1 or i = 2 because if there
exists a vertex v ∈ Vcm and two vertices v1, v2 ∈ V (ci)\Vcm (for i = 1 or i = 2),
such that v1 and v2 are in the out-neighbourhood of v in G ′, it violates Lemma 4.
See Fig. 8.13.
• (step 2) There does not exist a vertex in V (ci)\Vcm, for i = 1 or i = 2, which is in
the out-neighbourhood of at least two vertices in Vcm in G ′ because if there exists
Chapter 8. Main Results 65
v1
v
v2
Figure 8.10
vi
v1
v2
vj
Figure 8.11
Chapter 8. Main Results 66
vi
v1
vj
v2
Figure 8.12
a vertex v ∈ V (ci)\Vcm (for i = 1 or i = 2) and two vertices v1, v2 ∈ Vcm, such
that v1 and v2 are in the out-neighbourhood of v in G ′, it violates Lemma 4. See
Fig. 8.14.
• (step 3) Now let Lemma 6 be not true. This means that there are at least two
vertices vi, vj ∈ Vcm and two vertices v1, v2 ∈ V (cl)\Vcm (for l = 1 or l = 2)
such that v1 is in the out-neighbourhood of vi and v2 is in the out-neighbourhood
of vj in G ′. Also, it can be assumed, without loss of generality, that there are paths
from vi to vj and from v2 to v1 in G ′, by definition of the vertices. Now there are
two possible subcases.
– (subcase 1) Path from v2 to v1 does not contain either vi or vj . See Fig. 8.15.
When the vertices vi, v2 and v1 are considered, Lemma 4 is violated, which is
not allowed in an IC structure with outer cycles.
– (subcase 2) Path from v2 to v1 contains either only vi or only vj . See Fig.
8.16. In such cases, there will exist two paths from vi to vj which results in
Chapter 8. Main Results 67
v1
v2
v
Figure 8.13
multiple I-paths between an inner vertex which is a predecessor of vi and an
inner vertex which is a successor of vj which is not allowed in an IC structure
with outer cycles.
So, Lemma 6 is true.
Theorem 2. G ′ is union of two cycles which have only a single path or only a single
vertex in common to both the cycles.
Remark: Theorem 2 is stated as a property of IC structures with outer cycles in [12].
The following proof shows that this property always holds in an IC structure with
outer cycles.
Proof. Let the unique vertex mentioned in Lemma 5 be va and that mentioned in Lemma
6 be vb. (Note that it is considered that there are m ≥ 2 common vertices).
Claim 2. va and vb are two different vertices.
Chapter 8. Main Results 68
v1
v
v2
Figure 8.14
vi
vj
v2
v1
Figure 8.15
Chapter 8. Main Results 69
vj
v2
vi
v1
Figure 8.16
va
vb
v1
v2
Figure 8.17
Chapter 8. Main Results 70
va
v1
vb
v2
Figure 8.18
va
vb
v1
Figure 8.19
Chapter 8. Main Results 71
va
vb
Figure 8.20
Proof. Suppose not. This means that there is a unique vertex v ∈ Vcm whose in-
neighbourhood and out-neighbourhood in G ′ consists of only one vertex in the set
V (c1)\Vcm and only one vertex from the set V (c2)\Vcm. Since m ≥ 2, there exists an-
other vertex v1 ∈ Vcm which is in the in-neighbourhood (or out-neighbourhood) of a
vertex in V (ci)\Vcm for i = 1 or i = 2, which violates Lemma 5 (or Lemma 6). So, va and
vb are two different vertices.
Consider the following cases.
• There is at least one vertex in the set V (ci)\Vcm which is in the out/in-neighbourhood
of at least two other vertices in the set V (ci)\Vcm (for i = 1 or i = 2). See Fig. 8.17.
• There is at least one vertex in the set Vcm is in the out-neighbourhood of at least
two other vertices in Vcm. See Fig. 8.18
• va is in the out-neighbourhood of any other vertex in Vcm. See Fig. 8.19.
• vb is in the in-neighbourhood of any other vertex in Vcm. See Fig. 8.20.
Chapter 8. Main Results 72
All these cases are not allowed in an IC structure with outer cycles as Lemma 4 will be
violated in all these cases. Hence, it follows that the vertices in Vcm form a single path,
from va to vb, in G ′.
Lemma 5 and Lemma 6 imply that the vertices in the set V (c1) ∪ V (c2) do not form any
other structure among themselves except that of two cycles which have a single path
or a single vertex in common.
Any structure other than that of two cycles which have only a single vertex or only
a single path in common, formed by the vertices in the set V (c1) ∪ V (c2) will violate
Lemma 4 or Lemma 5 or Lemma 6 and hence will not exist in an IC structure with outer
cycles.
Theorem 3. An MOCG will have a unique CCV.
Proof. MOCGs can be categorized into two types. MOCG which is an outer-cycle
group of a unique non-inner vertex and MOCG which is an outer-cycle group of more
than one non-inner vertices. In the former case CCV is unique. In the latter case, con-
sider that an MOCG G is union of n ≥ 2 outer cycles and let m ≥ 2 non-inner vertices
have G as their outer-cycle group. This means that those m vertices are common to all
the n outer cycles. It follows from Theorem 2 that all the n outer cycles have a single
path in common. Let the vertex va be the vertex present at the beginning of the path.
Hence, va will have an in-degree of n in the MOCG and all the other vertices in the
MOCG will have an in-degree of 1. Note that, excpet for va, there cannot be any other
vertex in the MOCG which has an in-degree of n. So, va will be the unique CCV.
8.3 Construction 2 and Algorithm 2
Construction 2. Given VI = {1, 2, . . . , K} and VNI = {K + 1, K + 2, . . . , N}.
1. An index code symbol WI obtained by XOR of messages corresponding to inner
Chapter 8. Main Results 73
vertices is transmitted, where
WI =K⊕i=1
xi.
2. For non-inner vertices not in any outer cycle, an index code symbol correspond-
ing to each such non-inner vertex, obtained by XOR of message corresponding
to the non-inner vertex with the messages corresponding to the vertices in the
out-neighborhood excluding non-inner vertices that are part of outer cycles of
the non-inner vertex is transmitted, i.e., for j ∈ VNI\VOC ,
Wj = xj⊕
q∈N+G (j)\VOC
xq.
3. Consider the isolated MOCGs and non-isolated MOCGs which are union of even
number of outer cycles. For each such MOCG
• Let the CCV of the MOCG be j1 and let j be an arbitrary element in pre-
central cycle vertex set of j1.
• For the vertex j, Wj is transmitted, where
Wj = xj⊕
q∈{N+G (j)\VOC}∪{N+
C (j)\{j1}}
xq.
4. Consider the non-isolated MOCGs which are union of odd number of outer cy-
cles. For each such MOCG
• Let the CCV of the MOCGs be j1.
• Let PV (j1) be the set of two arbitrary elements in pre-central cycle vertex set
of j1.
• For each j ∈ PV (j1), Wj is transmitted, where
Wj = xj⊕
q∈{N+G (j)\VOC}∪{N+
C (j)\{j1}}
xq.
Chapter 8. Main Results 74
5. For all other non-inner vertices j, Wj is transmitted, where
Wj = xj⊕
q∈{N+G (j)\VOC}∪N+
C (j)
xq.
Since an index code symbol is transmitted for every non-inner vertex and one in-
dex code symbol is transmitted for all the inner vertices, the length of the index code
obtained is N −K + 1.
The intuition behind Construction 2 is that, from Construction ??, the vertices that are
not cancelled while decoding are identified and are encoded in to index code symbols
in such a way that they are cancelled. Also, Construction 2 will give same index code
as given by the index code construction proposed in [8] when there is only one outer
cycle in the IC structure with outer cycles.
Algorithm 2. Let the inner vertex be i. Let the subset of vertices in VNI(i) which are
part of outer cycles be called VNIC(i). Now, define the set V ′NI(i) as
V ′NI(i) =
⋃j∈VNIC(i)
VOC(j)
Compute Zi as
Zi = WI
⊕q∈VNI(i)\VNIC(i)
Wq
⊕j∈V ′
NI(i)
Wj
to decode xi for i ∈ {1, 2, . . . , K}. The messages corresponding to non-inner vertices
are decoded directly by using the index code symbols corresponding to the respective
non-inner vertices.
Theorem 4. An index code obtained by using Construction 2 on an IC structure with
outer cycles, G, is decodable using Algorithm 2.
Proof. IC structures with outer cycles can be categorized into two classes. One class is
of those IC structures with outer cycles that satisfy c2 and the other class is of those IC
Chapter 8. Main Results 75
structures that do not satisfy c2. Consider an inner vertex i and its rooted tree Ti. It
shall be shown that the inner and non-inner vertices at depth≥ 2 in Ti will be cancelled
in the computation of Zi irrespective of whether c2 is satisfied or not. The messages
corresponding to the non-inner vertices can be decoded directly by using the index
code symbols corresponding to the respective non-inner vertices. The different type of
vertices that can be present at depth ≥ 2 in a rooted tree Ti are listed as follows.
• (Type 1 vertices) Inner vertices.
• (Type 2 vertices) Non-inner vertices that are not present in any outer cycle.
• (Type 3 vertices) CCVs corresponding to non-isolated and isolated MOCGs which
are union of even number of outer cycles.
• (Type 4 vertices) CCVs corresponding to non- isolated MOCGs which are union
of odd number of outer cycles.
• (Type 5 vertices) Vertices present in outer cycles that are not part of any MOCG,
vertices which are not CCVs but present in MOCGs and CCVs corresponding to
isolated MOCGs which are union of even number of outer cycles.
The message corresponding to a type 1 vertex appears exactly twice in Zi, once in WI
and once in the index code symbol corresponding to its immediate predecessor in Ti,
and is, hence, cancelled.
The message corresponding to a type 2 vertex appears exactly twice in Zi, once in in-
dex code symbol corresponding to itself and once in index code symbol corresponding
to its immediate predecessor in the rooted tree, and is, hence, cancelled.
The message corresponding to a type 3 vertex appears even number of times in Zi,
once in index code symbol corresponding to itself and odd number of times in index
code symbols corresponding to its pre-central cycle vertices (as it is not encoded in the
index code symbol of one pre-central cycle vertex, in step 3 of Construction 2), and is,
Chapter 8. Main Results 76
hence, cancelled.
The message corresponding to a type 4 vertex appears even number of times in Zi,
once in index code symbol corresponding to itself and odd number of times in index
code symbols corresponding to its pre-central cycle vertices (as it is not encoded in the
index code symbols of two pre-central cycle vertices, in step 4 of Construction 2), and
is, hence, cancelled.
Among messages corresponding to type 5 vertices, the messages corresponding to ver-
tices present in outer cycles that are not part of any MOCG and vertices which are not
CCVs but present in MOCGs appear exactly twice, once in index code symbol corre-
sponding to their immediate predecessor in the outer cycles and MOCG, respectively,
and once in index code symbols corresponding to themselves and are, hence, cancelled.
A message corresponding to the CCV of an isolated MOCG appears even number of
times in Zi, once in index code symbol corresponding to itself and in all of the index
code symbols corresponding to its pre-central cycle vertices (which are odd in num-
ber), and is, hence, cancelled.
Remark: If any type k vertex, j, where k ∈ {3, 4, 5}, is present in Ti at a depth ≥ 2,
then all the vertices in VOC(j) are included in Zi (if c2 is violated in Ti, these are in-
cluded as V ′NI(i) in Zi and if c2 is not violated in Ti, then the vertices in VOC(j) are
present in VNI(i) and are hence included in Zi) due to which cancellation of the mes-
sage corresponding to that type k vertex happens. Also, in Construction 2, a message
corresponding to a non-inner vertex q, in an outer cycle is not encoded into index code
symbol corresponding to a non-inner vertex which is not present in outer-cycle group
of q.
Thus an index code obtained by using Construction 2 on an IC structure with outer
cycles, G, is decodable using Algorithm 2.
Chapter 8. Main Results 77
8.4 Optimality of Index Codes obtained by using Con-
struction 2
Now, some classes of IC structures with outer cycles which have N vertices and K
inner vertices for which the optimal length of index code is N −K + 1 are presented.
Consider the following class of IC structures with outer cycles.
Class 1: The IC structures with outer cycles which contain only one MOCG.
For a side-information graph G which is an IC structure with outer cycles of class 1, it
shall be shown that MIAS(G) ≥ N −K + 1.
Theorem 5. An IC structure with outer cycles, G with N vertices and K inner vertices,
which has only one MOCG will have MIAS(G) ≥ N −K + 1.
Proof. Let the CCV of the MOCG be v. Now
Claim 3. Consider the subgraph which is MOCG corresponding to the CCV v. Remov-
ing the vertex v from this subgraph will result in an acyclic subgraph.
Proof. The MOCG will be union of l ≥ 2 outer cycles. Vertex v will either be the only
vertex common to all the l outer cycles or it will be the starting vertex in the path
formed by the vertices which are common to the l outer cycles. Hence removing v
makes the MOCG corresponding to v to be acyclic.
Let v1 and v2 be two inner vertices in G such that the I-path from v1 to v2 consists of
the vertex v. There always exist such v1 and v2 because every non-inner vertex has to
be on at least one I-path. Now, removing the vertex v and all the inner vertices from
the set VI\{v1, v2} from G will result in an acyclic subgraph because there are no outer
cycles (since v is removed) and there are no cycles containing inner vertices v1 and
v2 (since the path from v1 to v2 passes through v) and all the other inner vertices are
removed. Note that K − 1 vertices are removed from G. Since the obtained induced
Chapter 8. Main Results 78
subgraph is acyclic, we have MIAS(G) ≥ N −K + 1. From the inequality 7.1, we have
nopt(G) ≥ MIAS(G) ≥ N −K + 1. Since an code of length N −K + 1 exists (from the
Construction 2), we get nopt(G) = MIAS(G) = N −K + 1.
Definition 7 (Acyclic outer cycle number of an IC structure with outer cycles, G). It is
the minimum number of non-inner vertices that are to be removed from an IC structure
with outer cycles so that the obtained induced subgraph does not contain any outer
cycles. It is denoted by na(G).
Definition 8 (Inner cycle of a pair of inner vertices). Let a and b be two inner vertices in
an IC structure with outer cycles. Then the cycle formed by union of the I-path from a
to b and the I-path from b to a is called an inner cycle of the pair of inner vertices a and
b.
Consider the following class of outer cycles.
Class 2: The IC structures with outer cycles, with N vertices and K inner vertices for
which the acyclic outer cycle number is t for 2 ≤ t ≤ K − 1.
Theorem 6. For an IC structure with outer cycles of class 2, G, since na(G) = t, there
will exist t vertices cj ∈ VNI for j ∈ {1, 2, . . . , t} whose removal from G will result in
an induced subgraph which will not contain any outer cycles. If there exists a set S of
t+1 inner vertices such that the inner cycle of any pair of vertices in S contains at least
one vertex in the set {c1, c2, . . . , ct}, then nopt(G) = N −K + 1.
Proof. The proof is as follows. The vertices in the set {c1, c2, . . . ct are removed and
the inner vertices not present in the set S are removed from G. There will no outer
cycles in the resulting subgraph by definition of t and there will be no cycles containing
inner vertices, since by hypothesis, when the vertices c1, c2, . . . , ct are removed, at
least one vertex will be removed in each of inner cycles formed by every pair of inner
vertices present in S. Also, all the other inner vertices which are not present in S are
Chapter 8. Main Results 79
removed which means there are no other inner cycles. Hence the induced sub graph
is acyclic. The number of non-inner vertices removed is t and the number of inner
vertices removed is K − (t+1). Thus the remaining number of vertices is N − (t+K −
(t+ 1)) = N −K + 1. Hence MIAS(G) ≥ N −K + 1 and it follows from the inequality
7.1 that nopt(G) ≥ N −K + 1. Since an index code of length N −K + 1 exists (from the
Construction 2), we get nopt(G) = MIAS(G) = N −K + 1.
The following are the classes of IC structures with outer cycles of class 2 with the
parameter acyclic outer cycle number 2, i.e., there exist two vertices c1 and c2 which
when removed from G, there will be no outer cycles in the induced subgraph.
• The IC structures with outer cycles which have one MOCG and only one outer
cycle which is disjoint with the MOCG and no other outer cycles. Here CCV of
the MOCG will be c1 and any one vertex of the outer cycle can be c2.
• The IC structures with outer cycles which have two disjoint outer cycles and no
other outer cycles. Here, any two vertices such that each vertex is from each outer
cycle can be c1 and c2.
• the IC structures with outer cycles which have two MOCGs (either isolated or
non-isolated) and no other outer cycles. Here the CCVs corresponding to the two
MOCGs will be c1 and c2.
8.5 Error Correcting Index Codes for IC structures with
Outer Cycles
Dau, Skachek and Chee in [13] defined error correcting index codes. An index code
is said to correct δ errors if after receiving the broadcast symbols with atmost δ errors,
each receiver is able to decode its demand by using the received broadcast symbols
Chapter 8. Main Results 80
and its side information. For an ICP with side information graph G, an optimal linear δ
error correcting index code over field Fq is the δ error correcting index code over field
Fq with smallest possible length Nq[G; δ]. Define
Yk , {x1, x2, . . . xN}\({xk} ∪ Ak)
for k ∈ {1, 2, . . . N} and
I(G) ,⋃
k∈{1,2,...,N}
{{xk} ∪ Yk : Yk ⊆ Yk}.
A subset H of {x1, x2, . . . , xN} is called a generalised independent set in G if every non-
empty subset of H belongs to I(G). A generalised independent set of the largest size
in G is called maximum generalised independent set and its size is called generalised
independence number, denoted by α(G). For a single unicast index coding problem
represented by a side-information graph G, it is shown in [13] that
α(G) = MIAS(G). (8.1)
A matrix A = (ai,j) is said to fit a side-information graph G if ai,i = 1 for all i and
ai,j = 0 if there is no edge from i to j in G. Let rkq(A) denote the rank of the matrix A
over the field Fq. The minrank κq(G) is defined as κq(G) , min{rkq(A) : A fits G}. It
is shown in [5] that the length of an optimum scalar linear index code is equal to the
minrank of the corresponding side-information graph.
LetNq[k, d] refer to the length of optimal linear classical error correcting code of dimen-
sion k and minimum distance d over the field Fq. Then, it is shown in [13] that
Nq[α(G), 2δ + 1] ≤ Nq[G; δ] ≤ Nq[κq(G), 2δ + 1] (8.2)
where δ is the number of errors to be corrected.
Chapter 8. Main Results 81
8.5.1 Achievability bound of the inequality 8.2.
The achievability bound Nq[G; δ] ≤ Nq[κq(G), 2δ + 1] is obtained in [13] as follows.
First an index code of length κq(G) is constructed and these κq(G) symbols are used as
message symbols to obtain a classical error correcting code with distance 2δ+1, so that δ
errors are corrected. This implies that for a side-information graph G for which α(G) =
κq(G), optimal δ error correcting index code can be obtained by first constructing an
optimum index code and the constructing an optimum classical error correcting code
which corrects δ errors. All the existing optimum classical error correcting codes in the
literature can be found in [14].
Theorem 7. Consider the following classes of IC structures with outer cycles.
• The IC structures with outer cycles which contain only one MOCG.
• The IC structures with outer cycles, with N vertices and K inner vertices for
which the acyclic outer cycle number is t for 2 ≤ t ≤ K − 1 such that there exists
a set S of t+ 1 inner vertices such that the inner cycle of any pair of vertices in S
contains at least one vertex in the set {c1, c2, . . . , ct}, where the vertices c1, c2, . . . , ct
are as defined in Theorem 6.
For these two classes of IC structures with outer cycles, optimum δ error correcting
index codes are obtained by using an optimum classical δ error correcting index code
on the N −K + 1 index code symbols obtained by using Construction 2.
Proof. The proof is as follows.
1. First there is the inequality 7.1 which is nopt(G) ≥MIAS(G).
2. Then, there are two classes of IC structures with outer cycles for which nopt(G) =
κq(G) = MIAS(G) = N −K + 1.
Chapter 8. Main Results 82
3. Next, from Eq. 8.1, we have α(G) = MIAS(G) for single unicast problems.
4. Hence, for the considered classes of IC structures with outer cycles, α(G) = κq(G).
5. Then, from the inequality 8.2, we haveNq[G; δ] = Nq[α(G), 2δ+1] = Nq[κq(G), 2δ+
1].
Then from the discussion in subsection 8.5.1 and the optimum classical error correcting
codes in [14], the theorem is proved.
Chapter 9
Examples
In this chapter, we provide examples that illustrate Construction 2 and Algorithm 2 along
with optimality. The following example illustrates Theorem 4.
Example 13. Consider G9, a side information graph which is an IC structure with inner
vertex set VI = {1, 2, 3, 4, 5, 6} given in Fig. 9.1. It can be verified that
1. there are no cycles containing only one vertex from the set {1, 2, 3, 4, 5, 6} in G9
(i.e., no I-cycles),
2. using the rooted trees for each vertex in the set {1, 2, 3, 4, 5, 6}, which are given in
Fig. 9.2, 9.3, 9.4, 9.5, 9.6 and 9.7 respectively, there exists a unique path between
any two different vertices in VI in G9 and does not contain any other vertex in VI
(i.e., unique I-path between any pair of inner vertices),
3. G9 is the union of all the 6 rooted trees.
Now, we have
VI = {1, 2, 3, 4, 5, 6}.
VNI = {7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}.
VOC = {8, 9, 10, 13, 15, 16}.
83
Chapter 9. Examples 84
1
2
3
4
5
6
17
7
8
9
1011
12
13
14
15
16
Figure 9.1: IC structure G9 with outer cycles.
1
2
3
4
5
6
7
8
9
1011
13
14
15
16
Figure 9.2: Rooted tree of inner vertex 1 in G9.
1
2
3
4
5
6
8
1011
13
Figure 9.3: Rooted tree of inner vertex 2 in G9.
Chapter 9. Examples 85
1
2
3
4
5
6
15
16
Figure 9.4: Rooted tree of inner vertex 3 in G9.
1
2
3
4
5
6
Figure 9.5: Rooted tree of inner vertex 4 in G9.
1
2
3
4
5
6
8
1011
12
13
Figure 9.6: Rooted tree of inner vertex 5 in G9.
Chapter 9. Examples 86
1
2
3
4
5
6
17
15
16
Figure 9.7: Rooted tree of inner vertex 6 in G9.
VMOCG = {8, 9, 10, 13}.
There is one isolated MOCG with CCV 10, formed by the union of two outer cycles with
vertex sets {8, 9, 10} and {10, 13}. Since there are no other MOCGs, VOCGI = VMOCG.
Construction 2 is carried out as follows.
1. WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6.
2. VNI\VOC = {7, 11, 12, 14, 17}.
• j = 7 and N+G9(7)\VOC = φ. Hence W7 = x7.
• j = 11 and N+G9(11)\VOC = {4}. Hence W11 = x11 ⊕ x4.
• j = 12 and N+G9(12)\VOC = φ. Hence W12 = x12.
• j = 14 and N+G9(14)\VOC = φ. Hence W14 = x14.
• j = 17 and N+G9(17)\VOC = {3, 4}. Hence W17 = x17 ⊕ x3 ⊕ x4.
3. The isolated MOCG with CCV 10 is union of even number of cycle sets.
• j1 = 10. j can be 9 or 13. Let j = 9 (The case of j = 13 is considered in the
end).
N+G (9)\VOC = φ.
N+C (9) = {10}. Hence
Chapter 9. Examples 87
{N+G (9)\VOC} ∪ {N+
C (9)\{10}} = φ. So,
W9 = x9.
4. Step 4 can be skipped as there are no non-isolated MOCGs.
5. The remaining non-inner vertices are {8, 10, 13, 15, 16}.
• j = 8. N+G9(8)\VOC = {3} and N+
C (8) = {9} and hence {N+G9(8)\VOC} ∪
N+C (8) = {3, 9}. So, W8 = x8 ⊕ x3 ⊕ x9.
• j = 10. N+G9(10)\VOC = {11} andN+
C (10) = {8, 13} and hence {N+G9(10)\VOC}∪
N+C (10) = {8, 11, 13}. So, W10 = x10 ⊕ x8 ⊕ x11 ⊕ x13.
• j = 13. N+G9(13)\VOC = {6} and N+
C (13) = {10} and hence {N+G9(13)\VOC} ∪
N+C (13) = {6, 10}. So, W13 = x13 ⊕ x6 ⊕ x10.
• j = 15. N+G9(15)\VOC = {2} and N+
C (15) = {16} and hence {N+G9(15)\VOC} ∪
N+C (15) = {2, 16}. So, W15 = x15 ⊕ x2 ⊕ x16.
• j = 16. N+G9(16)\VOC = {5} and N+
C (16) = {15} and hence {N+G9(16)\VOC} ∪
N+C (16) = {5, 15}. So, W16 = x16 ⊕ x5 ⊕ x15.
The obtained index code symbols are listed as follows.
WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6.
W7 = x7.
W8 = x8 ⊕ x3 ⊕ x9.
W9 = x9.
W10 = x10 ⊕ x8 ⊕ x11 ⊕ x13.
W11 = x11 ⊕ x4.
W12 = x12.
W13 = x13 ⊕ x6 ⊕ x10.
W14 = x14.
W15 = x15 ⊕ x2 ⊕ x16.
Chapter 9. Examples 88
W16 = x16 ⊕ x5 ⊕ x15.
W17 = x17 ⊕ x3 ⊕ x4.
If in step 3 where j1 = 10, if j = 13, index code symbols W9 and W13 will be
W9 = x9 ⊕ x10.
W13 = x13 ⊕ x6
and all the remaining index code symbols will remain same. The decoding is done for
messages corresponding to non-inner vertices using respective index code symbols.
The decoding of messages corresponding to inner vertices is done using Algorithm 2 as
follows.
• i = 1. VNIC(1) = {8, 9, 10, 13, 15, 16}. Hence V ′NI(1) = {8, 9, 10, 13, 15, 16} and
VNI(1)\VNIC(1) = {7, 11, 14}. Z1 = WI⊕W7⊕W8⊕W9⊕W10⊕W11⊕W13⊕W14⊕
W15⊕W16 which results in Z1 = x1⊕ x7⊕ x14 and user 1 has x7 and x14 in its side
information.
• i = 2. VNIC(2) = {8, 10, 13}. Hence V ′NI(2) = {8, 9, 10, 13} and VNI(2)\VNIC(2) =
{11}. Z2 = WI ⊕W8 ⊕W9 ⊕W10 ⊕W11 ⊕W13 which results in Z2 = x1 ⊕ x2 ⊕ x5
and user 2 has x1 and x5 in its side information.
• i = 3. VNIC(3) = {15, 16}. Hence V ′NI(3) = {15, 16} and VNI(i)\VNIC(i) = φ.
Z3 = WI ⊕W15 ⊕W16 which results in Z3 = x3 ⊕ x1 ⊕ x4 ⊕ x6 and user 3 has x1,
x4 and x6 in its side information.
• i = 4. VNIC(4) = φ. Hence V ′NI(4) = φ and VNI(4)\VNIC(4) = φ. Z4 = WI =
x1⊕x2⊕x3⊕x4⊕x5⊕x6 and user 4 has x1, x2, x3, x5 and x6 in its side information.
• i = 5. VNIC(5) = {8, 10, 13}. Hence V ′NI(5) = {8, 9, 10, 13} and VNI(5)\VNIC(5) =
{11, 12}. Z5 = WI ⊕W8 ⊕W9 ⊕W10 ⊕W11 ⊕W12 ⊕W13 which results in Z5 =
x5 ⊕ x1 ⊕ x2 ⊕ x12 and user 5 has x1, x2 and x12 in its side information.
• i = 6. VNIC(6) = {15, 16}. Hence V ′NI(6) = {15, 16} and VNI(6)\VNIC(6) = {17}.
Chapter 9. Examples 89
1
4
5 17
7
8
9
11
12
13
14
15
Figure 9.8: Induced acyclic subgraph of G9, obtained by removing the vertices2, 3, 6, 10, 16.
Z6 = WI ⊕W15 ⊕W16 ⊕W17 which results in Z6 = x6 ⊕ x1 ⊕ x17 and user 6 has x1
and x17 in its side information.
It can be seen that G9 has an acyclic outer cycle number 2 since at least 2 non-inner
vertices (either 10 and 15 or 10 and 16) have to removed in order for G9 to not have any
outer cycles. Now if the vertices 2, 3, 6, 10, 16 are removed, the graph will be acyclic as
shown in Fig. 9.8.
The number of vertices in resulting acyclic graph is 12. This means that MIAS(G9) ≥
12. Also, the length of the index code given by Construction 2 is 12. Hence nopt(G9) = 12.
Example 14. Consider G, a side information graph which is a 10-IC structure with outer
cycles and with inner vertex set VI = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} given in Fig. 9.9. It can
be verified that
1. there are no cycles containing only one vertex from the set {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
in G (i.e., no I-cycles),
2. using the rooted trees for each vertex in the set {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, which are
given in Fig. 9.10, 9.11, 9.12, 9.13, 9.14, 9.15, 9.16, 9.17, 9.18 and 9.19 respectively,
Chapter 9. Examples 90
1 2 3 4 5 6 8 7 9 10
11
12 13
14
15
16
17
18
19
20 21
22 23
24
25
26 27
28
29
30
31
32
33
34
35
36
Figure 9.9: 10-IC structure with outer cycles, G.
1 2 3 4 5 6 8 7 9 10
11
12 13
14
15 17
18
22 23
24
25
26
28
29 31
32
33
34
Figure 9.10: Rooted tree of inner vertex 1 in G.
there exists a unique path between any two different vertices in VI in G and does
not contain any other vertex in VI (i.e., unique I-path between any pair of inner
vertices),
3. G is the union of all the 10 rooted trees.
Now,
VI = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
VNI = {11, 12, 13, 14, . . . , 34, 35, 36}.
VOC = {12, 13, 15, 17, 22, 23, 25, 29, 31, 32, 33, 34}.
Chapter 9. Examples 91
1 2 3 4 5 6 8 7 9 10
29 31
32
33
34
35
Figure 9.11: Rooted tree of inner vertex 2 in G.
1 2 3 4 5 6 8 7 9 10
18
29
30
31
32
33
34
35
Figure 9.12: Rooted tree of inner vertex 3 in G.
1 2 3 4 5 6 8 7 9 10
12 13
14
15
16
17
18
22 23
24
25
26
Figure 9.13: Rooted tree of inner vertex 4 in G.
1 2 3 4 5 6 8 7 9 10
32
33
34
35
Figure 9.14: Rooted tree of inner vertex 5 in G.
1 2 3 4 5 6 8 7 9 10
12 13
14
15 17
18
19
20
22 23
24
25
26
Figure 9.15: Rooted tree of inner vertex 6 in G.
Chapter 9. Examples 92
1 2 3 4 5 6 8 7 9 10
12 13
14
15 17
18 21
22 23
24
25
26
Figure 9.16: Rooted tree of inner vertex 7 in G.
1 2 3 4 5 6 8 7 9 10
32
33
34
36
Figure 9.17: Rooted tree of inner vertex 8 in G.
1 2 3 4 5 6 8 7 9 10
32
33
34
36
Figure 9.18: Rooted tree of inner vertex 9 in G.
1 2 3 4 5 6 8 7 9 10
12 13
14
15 17
18
22 23
24
25
26 27
Figure 9.19: Rooted tree of inner vertex 10 in G.
Chapter 9. Examples 93
VMOCG = {12, 13, 15, 17, 22, 23, 25, 32, 33, 34}.
There is one isolated MOCG with CCV 32 formed by the union of two outer cycles
with vertex sets {32, 33} and {32, 34}.
There are two non-isolated MOCGs one with CCV 15 which is formed by the union
of three outer cycles with vertex sets {12, 13, 15}, {15, 17} and {15, 22} respectively and
one with CCV 22 which is formed by union of two outer cycles with vertex sets {15, 22}
and {22, 23, 25}. It is seen that these two MOCGs have the outer cycle with vertex set
{15, 22} in common. Now Construction 2 is carried out as follows.
1. WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6 ⊕ x7 ⊕ x8 ⊕ x9 ⊕ x10.
2. The vertices in VNI\VOC are 11, 14, 16, 18, 19, 20, 21, 24, 26, 27, 28, 30, 35 and 36.
• j = 11. N+G (11)\VOC = φ. Hence, W11 = x11.
• j = 14. N+G (14)\VOC = {3}. Hence, W14 = x14 ⊕ x3.
• j = 16. N+G (16)\VOC = φ. Hence, W16 = x16.
• j = 18. N+G (18)\VOC = {5}. Hence, W18 = x18 ⊕ x5.
• j = 19. N+G (19)\VOC = φ. Hence, W19 = x19.
• j = 20. N+G (20)\VOC = {19}. Hence, W20 = x20 ⊕ x19.
• j = 21. N+G (21)\VOC = φ. Hence, W21 = x21.
• j = 24. N+G (24)\VOC = {8}. Hence, W24 = x24 ⊕ x8.
• j = 26. N+G (26)\VOC = {9}. Hence, W26 = x26 ⊕ x9.
• j = 27. N+G (27)\VOC = φ. Hence, W27 = x27.
• j = 28. N+G (28)\VOC = φ. Hence, W28 = x28.
• j = 30. N+G (30)\VOC = φ. Hence, W30 = x30.
• j = 35. N+G (35)\VOC = {8, 9}. Hence, W35 = x35 ⊕ x8 ⊕ x9.
• j = 36. N+G (36)\VOC = {1, 2, 3}. Hence, W36 = x36 ⊕ x1 ⊕ x2 ⊕ x3.
Chapter 9. Examples 94
3. The isolated MOCG with CCV 32 is union of two outer cycles and the non-
isolated MOCG with CCV 22 is also union of two outer cycles.
• j1 = 32. j can be 33 or 34. Let j = 33.
N+G (33)\VOC = {4}.
N+C (33) = {32}.
Hence {N+G (33)\VOC} ∪ {N+
C (33)\{32}} = {4}. So, W33 = x33 ⊕ x4.
• j1 = 22. j can be 15 or 25. Let j = 25.
N+G (25)\VOC = {26}.
N+C (25) = {22}.
Hence {N+G (25)\VOC} ∪ {N+
C (25)\{22}} = {26}. So, W25 = x25 ⊕ x26.
4. The non-isolated MOCG with the CCV 15 is union of 3 (odd number) outer cy-
cles.
j1 = 15.
Pre-central cycle vertex set of 15 = {13, 17, 22}.
Hence, let PV (15) = {13, 17}.
• j = 17. N+G (17)\VOC = {18}.
N+C (17) = {15}.
Hence {N+G (17)\VOC} ∪ {N+
C (17)\{15}} = {18}. So, W17 = x17 ⊕ x18.
• j = 13. N+G (13)\VOC = {14}.
N+C (13) = {15}.
Hence {N+G (13)\VOC} ∪ {N+
C (13)\{15}} = {14}. Therefore, W13 = x13 ⊕ x14.
5. The remaining non-inner vertices are {12, 15, 22, 23, 24, 29, 31, 32, 34}.
• j = 12. N+G (12)\VOC = {2} and N+
C (12) = {13} and hence {N+G (12)\VOC} ∪
Chapter 9. Examples 95
N+C (12) = {2, 13}. So, W12 = x12 ⊕ x2 ⊕ x13.
• j = 15. N+G (15)\VOC = φ andN+
C (15) = {12, 17, 22} and hence {N+G (15)\VOC}∪
N+C (15) = {12, 17, 22}. So, W15 = x15 ⊕ x12 ⊕ x17 ⊕ x22.
• j = 22. N+G (22)\VOC = φ and N+
C (22) = {15, 23} and hence {N+G (22)\VOC} ∪
N+C (22) = {15, 23}. So, W22 = x22 ⊕ x15 ⊕ x23.
• j = 23. N+G (23)\VOC = {24} and N+
C (23) = {25} and hence {N+G (23)\VOC} ∪
N+C (23) = {24, 25}. So, W23 = x23 ⊕ x24 ⊕ x25.
• j = 29. N+G (29)\VOC = {6} and N+
C (29) = {31} and hence {N+G (29)\VOC} ∪
N+C (29) = {6, 31}. So, W29 = x29 ⊕ x6 ⊕ x31.
• j = 31. N+G (31)\VOC = φ and N+
C (31) = {29} and hence {N+G (31)\VOC} ∪
N+C (31) = {29}. So, W31 = x31 ⊕ x29.
• j = 32. N+G (32)\VOC = φ and N+
C (32) = {33, 34} and hence {N+G (32)\VOC} ∪
N+C (32) = {33, 34}. So, W32 = x32 ⊕ x33 ⊕ x34.
• j = 34. N+G (34)\VOC = {7, 10} andN+
C (34) = {32} and hence {N+G (34)\VOC}∪
N+C (34) = {7, 10, 32}. So, W34 = x34 ⊕ x7 ⊕ x10 ⊕ x32.
The obtained index code symbols are listed as follows.
WI = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x5 ⊕ x6 ⊕ x7 ⊕ x8 ⊕ x9 ⊕ x10.
W11 = x11.
W12 = x12 ⊕ x2 ⊕ x13.
W13 = x13 ⊕ x14.
W14 = x14 ⊕ x3.
W15 = x15 ⊕ x12 ⊕ x17 ⊕ x22.
W16 = x16.
W17 = x17 ⊕ x18.
W18 = x18 ⊕ x5.
W19 = x19.
Chapter 9. Examples 96
W20 = x20 ⊕ x19.
W21 = x21.
W22 = x22 ⊕ x15 ⊕ x23.
W23 = x23 ⊕ x24 ⊕ x25.
W24 = x24 ⊕ x8.
W25 = x25 ⊕ x26.
W26 = x26 ⊕ x9.
W27 = x27.
W28 = x28.
W29 = x29 ⊕ x6 ⊕ x31.
W30 = x30.
W31 = x31 ⊕ x29.
W32 = x32 ⊕ x33 ⊕ x34.
W33 = x33 ⊕ x4.
W34 = x34 ⊕ x7 ⊕ x10 ⊕ x32.
W35 = x35 ⊕ x8 ⊕ x9.
W36 = x36 ⊕ x1 ⊕ x2 ⊕ x3. The decoding of messages corresponding to non-inner ver-
tices can be done using index code symbols corresponding to the respective non-inner
vertices. The decoding of messages corresponding to inner vertices using Algorithm 2
is as follows.
• i = 1.
VNIC(1) = {12, 13, 15, 17, 22, 23, 25, 29, 31, 32, 33, 34}.
V ′NI(1) = VNIC(1) and VNI(1)\VNIC(1) = {11, 14, 18, 24, 26, 28}.
Z1 = WI ⊕W11⊕W12⊕W13⊕W14⊕W15⊕W17⊕W18⊕W22⊕W23⊕W24⊕W25⊕
W26 ⊕W28 ⊕W29 ⊕W31 ⊕W32 ⊕W33 ⊕W34 which results in Z1 = x1 ⊕ x11 ⊕ x28
and user 1 has x11 and x28 in its side information.
• i = 2.
Chapter 9. Examples 97
VNIC(2) = {29, 31, 32, 33, 34}.
V ′NI(2) = VNIC(2) and VNI(2)\VNIC(2) = {35}.
Z2 = WI⊕W29⊕W31⊕W32⊕W33⊕W34⊕W28 which results in Z2 = x2⊕x1⊕x3⊕x5
and user 2 has x1, x3 and x5 in its side information.
• i = 3.
VNIC(3) = {29, 31, 32, 33, 34}.
V ′NI(3) = VNIC(3) and VNI(3)\VNIC(3) = {18, 30, 35}.
Z3 = WI ⊕W18 ⊕W29 ⊕W30 ⊕W31 ⊕W32 ⊕W33 ⊕W34 ⊕W35 which results in
Z3 = x3⊕ x1⊕ x2⊕ x18⊕ x30⊕ x35 and user 3 has x1, x2, x18, x30 and x35 in its side
information.
• i = 4.
VNIC(4) = {12, 13, 15, 17, 22, 23, 25}.
V ′NI(4) = VNIC(4) and VNI(4)\VNIC(4) = {14, 16, 18, 24, 26}.
Z4 = WI⊕W12⊕W13⊕W14⊕W15⊕W16⊕W17⊕W18⊕W22⊕W23⊕W24⊕W25⊕W26
which results in Z4 = x4 ⊕ x1 ⊕ x6 ⊕ x7 ⊕ x16 and user 4 has x1, x6, x7 and x16 in
its side information.
• i = 5.
VNIC(5) = {32, 33, 34}.
V ′NI(5) = VNIC(5) and VNI(5)\VNIC(5) = {35}.
Z5 = WI⊕W32⊕W33⊕W34⊕W35 which results in Z5 = x5⊕x1⊕x2⊕x3⊕x6⊕x35
and user 5 has x1, x2, x3, x6 and x35 in its side information.
• i = 6.
VNIC(6) = {12, 13, 15, 17, 22, 23, 25}.
V ′NI(6) = VNIC(6) and VNI(6)\VNIC(6) = {14, 18, 19, 20, 24, 26}.
Z6 = WI ⊕W12⊕W13⊕W14⊕W15⊕W17⊕W18⊕W19⊕W20⊕W22⊕W23⊕W24⊕
W25 ⊕W26 which results in Z6 = x6 ⊕ x1 ⊕ x4 ⊕ x7 ⊕ x10 ⊕ x20 and user 6 has x1,
Chapter 9. Examples 98
x4, x7, x10 and x20 in its side information.
• i = 7.
VNIC(7) = {12, 13, 15, 17, 22, 23, 25}.
V ′NI(7) = VNIC(7) and VNI(7)\VNIC(7) = {14, 18, 21, 24, 26}.
Z7 = WI⊕W12⊕W13⊕W14⊕W15⊕W17⊕W18⊕W21⊕W22⊕W23⊕W24⊕W25⊕W26
which results in Z7 = x7 ⊕ x1 ⊕ x4 ⊕ x6 ⊕ x10 ⊕ x21 and user 7 has x1, x4, x6, x10
and x21 in its side information.
• i = 8.
VNIC(8) = {32, 33, 34}.
V ′NI(8) = VNIC(8) and VNI(8)\VNIC(8) = {36}.
Z8 = WI ⊕W32 ⊕W33 ⊕W34 ⊕W36 which results in Z8 = x8 ⊕ x5 ⊕ x6 ⊕ x9 ⊕ x36
and user 8 has x5, x6, x9 and x36 in its side information.
• i = 9.
VNIC(9) = {32, 33, 34}.
V ′NI(9) = VNIC(9) and VNI(9)\VNIC(9) = {36}.
Z9 = WI ⊕W32 ⊕W33 ⊕W34 ⊕W36 which results in Z9 = x9 ⊕ x5 ⊕ x6 ⊕ x8 ⊕ x36
and user 9 has x5, x6, x8 and x36 in its side information.
• i = 10.
VNIC(10) = {12, 13, 15, 17, 22, 23, 25}.
V ′NI(10) = VNIC(10) and VNI(10)\VNIC(10) = {14, 18, 24, 26, 27}.
Z10 = WI⊕W12⊕W13⊕W14⊕W15⊕W17⊕W18⊕W22⊕W23⊕W24⊕W25⊕W26⊕W27
which results in Z10 = x10 ⊕ x1 ⊕ x6 ⊕ x7 ⊕ x24 and user 10 has x1, x6, x7 and x24
in its side information.
Here, na(G) = 4 , i.e., at least 4 non-inner vertices have to be removed from G so that
there are no outer cycles in G. For example, 29, 32, 15 and 22 are 4 such vertices which
Chapter 9. Examples 99
5 10
11
12 13
1416
17
18
19
20 21
23
24
25
26 27
28
30
31
33
34
35
36
Figure 9.20: Induced acyclic subgraph of G obtained by removing the 12 vertices in theset {1, 2, 3, 4, 6, 7, 8, 9, 15, 17, 29, 32}.
means {c1, c2, c3, c4} = {29, 32, 15, 22}. As per Theorem 6, there has to be a set of 5
inner vertices such that an inner cycle between any pair of vertices among those 5
inner vertices contains at least one vertex from the set {29, 32, 15, 22}, then nopt(G) =
N −K +1 = 27. But such a set of 5 inner vertices does not exist (verified by exhaustive
search). It is also seen that MIAS(G) ≥ 24 since the induced subgraph obtained by
removing the 12 vertices in the set {1, 2, 3, 4, 6, 7, 8, 9, 15, 17, 29, 32} from G is acyclic as
shown in Fig. 9.20. Hence we have the inequality 24 ≤ nopt(G) ≤ 27.
Chapter 10
Conclusion
10.1 Summary of the results
The results obtained in this report are summarised as follows.
• A property of intersecting outer cycles is found and presented as Theorem 2.
• Construction 2 gives an index code for any given IC structure with outer cycles
which is always decodable using Algorithm 2. This is the first work where valid
index code construction is given for any IC structure with outer cycles.
• Two classes of IC structures with outer cycles are found for which index codes
given by Construction 2 are optimum.
10.2 Future Scope
The following are the directions of work which can be pursued following this work.
• Example 14 shows that there exist some classes of IC structures with outer cycles
for which the index code given by Construction 2 is not known if it is optimum.
100
Chapter 10. Conclusion 101
It remains open to find index code construction schemes that are optimal for the
remaining classes of IC structures with outer cycles.
• Finding error correcting index codes for IC structures with outer cycles remains
an open problem. The problem can be restated as finding the IC structures with
outer cycles for which MIAS bound mentioned in the inequality 7.1 is tight.
Bibliography
[1] C. Thapa, L. Ong, and S. Johnson, “Interlinked Cycles for Index Coding: Gener-
alizing Cycles and Cliques", in IEEE Trans. Inf. Theory, vol. 63, no. 6, Jun. 2017.in
[2] Y. Birk and T. Kol, "Informed-source coding-on-demand(ISCOD) over broadcast
channels," in Proc. 7th Annu. Joint Conf. IEEE Comput. Commun. Soc. (INFOCOM),
vol. 3. Mar./Apr. 1998, pp. 1257-1264.
[3] Y. Birk and T. Kol, "Coding on demand by an informed source (ISCOD)
for efficient broadcast of different supplemental data to caching clients", IEEE
Trans.Inf.Theory, 52(6), June 2006, pp.2825-2830.
[4] H. Maleki, V. R. Cadambe and S. A. Jafar, "Index Coding-An Interference Align-
ment Perspective," in IEEE Trans. Inf. Theory, vol. 60, no. 9, pp. 5402-5432, Sep.
2014.
[5] Z. Bar-Yossef, Y. Birk, T. S. Jayram and T. Kol, "Index Coding with Side Informa-
tion," in IEEE Trans. Inf. Theory, vol. 57, no. 3, pp. 1479-1494, Mar. 2011.
[6] L.Ong and C.K. Ho, " Optimal Index Codes for a Class of Multicast Networks
with Receiver side information", in Proc. IEEE ICC, Ottawa, Canada, June 2012,
pp. 2213-2218.
[7] Z. Bar-Yossef, Z. Birk, T.S. Jayaram, and T. Kol, "Index coding with side informa-
tion", in Proc. 47th Annu. IEEE symp. Found. Comput. Sci, Oct. 2006, pp.197-206.
102
BIBLIOGRAPHY 103
[8] Mahesh Babu Vaddi and B. Sundar Rajan, "Optimal Index Codes For A New
Class of Interlinked Cycle Structure", IEEE Communication Letters (To appear).
[9] Mahesh Babu Vaddi and B. Sundar Rajan, "Optimal Index Codes For Two Classes
of Index Coding Problems", Proceedings of 52nd Annual Conference on Information
Sciences and Systems(CISS), Princeton University, March 21-23, 2018 (To appear).
[10] C. Thapa, L. Ong, and S. Johnson, “Interlinked Cycles for Index Coding: Gener-
alizing Cycles and Cliques", in arxiv (arxiv:1603.00092v2 [cs.IT] 25 Feb 2018).
[11] K. V. Bharadwaj and B. S. Rajan, “Index Codes for Interlinked Cy-
cle Structures with Outer Cycles", 18 Apr 2018. [Online]. Available:
https://arxiv.org/abs/1804.06703v1
[12] Shanuja Sasi and B. Sundar Rajan, “On Optimal Index Codes for Inter-
linked Cycle Structures with Outer Cycles", 24 Apr. 2018. [Online]. Available:
https://arxiv.org/abs/1804.09120v1
[13] S. H. Dau, V. Skachek, and Y. M. Chee, “Error correction for index coding with
side information," IEEE Trans. Inf. Theory, vol. 59, no. 3, pp. 1517-1531, March 2013.
[14] M. Grassl, Bounds on the minimum distance of linear codes and quantum codes
[Online]. Available: http://www.codetables.de