Linear Programming Approximations for Index Coding

Index coding, a source coding problem over broadcast channels, has been a subject of both theoretical and practical interests since its introduction (by Birk and Kol, 1998). In short, the problem can be defined as follows: there is an input <inline-formula> <tex-math notation="LaTeX">$P \triangleq (p_{1}, {\dots }, p_{n})$ </tex-math></inline-formula>, a set of <inline-formula> <tex-math notation="LaTeX">$n$ </tex-math></inline-formula> clients who each desire a single entry <inline-formula> <tex-math notation="LaTeX">$p_{i}$ </tex-math></inline-formula> of the input, and a broadcaster whose goal is to send as few messages as possible to all clients so that each one can recover its desired entry. Additionally, each client has some predetermined “side information,” corresponding to the certain entries of the input <inline-formula> <tex-math notation="LaTeX">$P$ </tex-math></inline-formula>, which we represent as the “side information graph” <inline-formula> <tex-math notation="LaTeX">$ \mathcal {G}$ </tex-math></inline-formula>. The graph <inline-formula> <tex-math notation="LaTeX">$ \mathcal {G}$ </tex-math></inline-formula> has a vertex <inline-formula> <tex-math notation="LaTeX">$v_{i}$ </tex-math></inline-formula> for client <inline-formula> <tex-math notation="LaTeX">$i$ </tex-math></inline-formula> and a directed edge <inline-formula> <tex-math notation="LaTeX">$(v_{i}, v_{j})$ </tex-math></inline-formula>, indicating that client <inline-formula> <tex-math notation="LaTeX">$i$ </tex-math></inline-formula> knows the <inline-formula> <tex-math notation="LaTeX">$j$ </tex-math></inline-formula>th entry of the input. Given a fixed side information graph <inline-formula> <tex-math notation="LaTeX">$ \mathcal {G}$ </tex-math></inline-formula>, we are interested in determining or approximating the “broadcast rate” of index coding on the graph, i.e., the least number of messages the broadcaster can transmit so that every client recovers its desired information. The complexity of determining this broadcast rate in the most general case is open, and the best-known approximations are barely better than the trivial <inline-formula> <tex-math notation="LaTeX">$O(n)$ </tex-math></inline-formula>-approximation corresponding to sending each client their information directly without performing any coding. Using index coding schemes based on linear programs (LPs), we take a two-pronged approach to approximating the broadcast rate. First, extending earlier work on planar graphs, we focus on approximating the broadcast rate for special graph families, such as graphs with the small chromatic number and disk graphs. In certain cases, we are able to show that simple LP-based schemes give constant-factor approximations of the broadcast rate, which seem extremely difficult to obtain in the general case. Second, we provide several LP-based schemes for the general case, which are not constant-factor approximations, but which strictly improve on the best-known schemes. These can be viewed as both a strengthening of the constant-factor approximations proven for special graph families (as these schemes strictly improve on those which we prove are good approximations), as well as another tool that can be used either in practice or in future theoretical analyses.