BIPARTITE INDEX CODING Arash Saber Tehrani Alexandros G. Dimakis Michael J. Neely Department of Electrical Engineering University of Southern California (USC) Outline • Index Coding Problem – Introduction – Bipartite model • Our Scheme: Partition Multicast – Formulation • Partition Multicast is NP-hard – Connection to clique cover Index Coding Problem • Introduced in [Birk and Kol 98], and further developed in [Bar-Yossef, Birk, Jayram, and Kol 06 and 11]. • Broadcast station • Set of m packets P ={x1, x2, … , xm} from a finite alphabet X • Set of n users U ={u1, u2, … , un} • Each user demands exactly one packet • Each user i knows a subset of packets denoted by Nout(ui) as side info • Objective: Minimize the amount of broadcast data so that all users decode their designated packets. Bipartite model for IC • The system can be represented by a bipartite graph • A directed edge from packet xj to user ui indicates that user ui demands packet xj. • A directed edge from user ui to packet xj indicates that user ui knows packet xj as side info. Index Coding Problem • A solution of the problem – A finite alphabet WX – an encoding function E: Xm WX – each user ui is able to decode its designated packet from the broadcast message w and its side information. • Optimal solution is HARD to compute. Our Scheme: Partition Multicast • When each user knows at least d packets as side information – We call d “minimum out-degree” or “minimum knowledge” • Then there are at most m – d unknowns for each user. • With transmission of m - d independent equations in the form a1x1 + a2x2 + … + amxm where ai's are taken from some finite field F, each user can decode the packet it demands as shown in Ho et al. (Given that |F| is large enough) Our Scheme: Partition Multicast • Induced subgraph by a subset of packets S U1 U2 U3 U4 U5 X1 U1 X2 U2 X3 U3 X4 X1 X2 Our Scheme: Partition Multicast • We are looking for a partition (valid packet decomposition) U1 X1 U2 X2 U3 X3 U4 X4 U5 |{X1,X2}| = 2, d1 = 1 X1+X2 X1 X3 X2 X4 |{X3,X4}| = 2, d1 = 1 X3+X4 Our Scheme: Partition Multicast • Partition Multicast: Our Scheme: Partition Multicast • The scheme is optimal for known cases such as – Cliques – trees – Directed cycles • It has cycle cover schemes proposed by Chaudhry et al. and Neely et al. as a special case and outperforms them. Partition Multicast is NP-hard • Undirected case: U2, X2 U1 , X1 U5, X5 U3, X3 U4, X 4 U1 X1 U2 X2 U3 X3 U4 X4 U5 X5 – We want to find a partition for which the sum of minimum knowledge is maximized – We call this problem “sum-degree cover” Partition Multicast is NP-hard • Sum-degree cover and clique cover are equivalent – Partitioning a clique is strictly suboptimal • For any graph T(GS) ≥1. • If GS is a clique, then T(GS) = 1, i.e., the minimum knowledge d = |S| - 1. – We need to show that • Solution of sum-degree cover gives the solution of clique cover • Solution of the clique cover gives the solution of sum-degree cover SD cover Clique cover • Let the solution of SD cover be GS1, … , GSK induced by subsets S1, S2, …, Sk. • Clique cover is also a graph partition where each subgraph requires exactly one transmission, so • Consider subgraph GS1 with minimum knowledge d1. The complement of GS1 has maximum degree |S1| - d1 1. • As is well known, any graph of maximum degree d has a vertex coloring of size d + 1. SD cover Clique cover • The complement of GS1 has a vertex coloring with |S1| - d1 color. • Thus, GS1 has a clique cover of size |S1| - d1. • That is • Repeating the same procedure over all k subgraphs, gives • Jointly with the previous inequality we get Partition Multicast is NP-hard • Maps an undirected graph G to a bipartite graph. • Solve the partition multicast. • Find the clique cover of all partitions through coloring of complements of the subgraphs. • Find the clique cover. Conclusion • We introduced the bipartite graph model for the index coding problem • We presented a new scheme “partition multicast” for index coding problem. • We introduced the sum-degree cover problem. • We showed that finding the optimal partition is NP-hard. • Future work: finding a ‘good’ partition Thanks, Questions? Partition Multicast • Partition or Cover: GS1 GS2 T(GS1)=|S1|-d1 T(GS2)=|S2|-d2 – – – – GSk T(GSk)=|Sk|-dk Let x∈S1, x∈S2 Delete x from S1 to get set S1’ New minimum knowledge for GS1, namely, d1’. |S1’| =|S1|-1 and d1-1 ≤ d1’ ≤ d1. Our Scheme: Partition Multicast • Bipartite case (Painful stuff) – For set S⊆P, define GS = (US,S,ES) to be the subgraph induced by S: – A valid packet decomposition is set of k disjoint subgraphs such that – It can be checked that for a valid packet decomposition Index Coding Problem • A solution of the problem – A finite alphabet WX – an encoding function E: Xm WX – each user ui is able to decode its designated packet from the broadcast message w and its side information. • The minimum coding length of the solution per input symbol: where the minimum is over all encoding functions E. • Optimal broadcast rate