On Pliable Index Coding
Shanuja Sasi, B. Sundar Rajan
I Preliminaries
In classical Index Coding Problem (ICP) , there is a single server having a set of messages and is connected to a broadcast channel to a set of receivers or clients. Each client knows some subset of messages apriori which is termed as the side information and demands some other subset of messages which it doesn’t have. The aim is to minimize the number of broadcast transmissions by the server such that it satisfies the requirements of each client. The index coding problem is a distributed source coding problem with side information that has received considerable attention over the past decade. It was motivated by applications such as audio and video-on-demand, in satellite communication, in coded caching etc.
A new variant of the index coding problem was formulated in , which is termed as Pliable Index Coding Problem (PICOD). In PICOD, the setting is same as that of ICP, i.e., there will be a server holding a set of messages and a set of clients or receivers. Each client knows some subset of messages apriori. What makes PICOD different from ICP is that in ICP each client demands a specific message from the server, while in PICOD each client is satisfied if it receives any message it does not have. The objective is to find the minimum number of coded transmissions that the server can make over a noiseless channel so that requirements of all the clients are met. It is motivated from its applications such as in Internet searching. For example, we are searching for latest news and we already have some information with us. We are happy if we get any additional news that we do not have, with minimum delay. Here, we are not specifying the news. This is exactly what happens in PICOD. PICOD() represents a pliable index coding problem where the clients are satisfied it they receive any messages that they do not have.
In , an upper bound on the number of broadcast messages for solving any instance of PICOD(g) is obtained. In general, finding the optimal linear code for PICOD is NP-Hard, which is proved in . It is proved that there is an exponential improvement over the worst case scenario in index coding when the cardinalities of side information set are equal. A polynomial time heuristic approximation algorithms for solving PICOD() is also provided.
In this paper we deal with two extreme cases of PICOD. One is where each client gets exactly one message, i.e, no clients get more than one message they have demanded. This has got application in media service providers where we actually pay for the movies. Service providers have a set of movies with them and the clients demands some movies. Clients pay for only certain number of movies, say one movie. Clients are satisfied if they get any movie they do not have. There is a restriction from the service providers’ side as the clients have paid for only one movie. So they have a restriction that they can provide only one movie to each client. The clients are satisfied if they get any movie they have demanded.
The other extreme case is where with minimum delay the clients get maximum number of messages. Consider the above mentioned example where we are searching for latest news and we already have some information with us. In general case for PICOD we are happy if we get any additional news that we do not have with minimum delay. Here we are taking the case where we get maximum amount of information with the same delay.
Let be the set of all messages that the server holds and be the set of all clients or receivers. Throughout this paper, the message indices are taken modulo . In this paper we consider a class of PICOD where each client has any consecutive messages as side information. The set of all possible side information patterns is , where , for each . Let .
Without loss of generality, throughout this paper the clients with same set of side information are treated alike. So effectively there are only clients since the total number of side information patterns possible is . Throughout this paper when we refer to clients, it is basically effective clients.
Let represent the clients whose side information set is , where . Let , which represent the effective clients.
(1) Each client gets exactly one message.
(2) Total number of messages decoded by the effective clients is maximized.
Another variant of index coding is Constrained Pliable Index Coding. In c-Constrained Pliable Index Coding, each message is decoded by atmost clients who demand that message. We put a restriction on the number of clients who can a decode a message. In this paper, we discuss about a class of PICOD where each client has any consecutive messages as side information, under a c-constraint, i.e., each message is decoded by atmost c clients demanding that message.
Notations: represent the set of integers . represent the integer greater than or equal to . represent the integer less than or equal to .
The contributions in this paper is summarized as follows.
We provide index code for a class of PICOD where side information is consecutive and each client gets exactly one desired message in Section II.
In Section III, we give index code for a class of PICOD where total number of messages decoded by the effective clients is maximized.
In Section III, we prove that the index code provided for a class of PICOD, where total number of messages decoded by the effective clients is maximized, is optimal.
We discuss about c-constrained pliable index coding with consecutive side information. We provide index code for such cases in Section IV.
II Each client gets exactly one message.
In this section we will provide index code for the first extreme case where each client gets exactly one message. We will prove that for some values of , there doesn’t exist a case where each client gets exactly one message, i.e, atleast one client gets more than one message whatever be the coded transmission.
Case 1: For .
With number of transmissions, each client gets exactly one message if . The code construction is as follows.
Let . Let and mod .
A coded symbol is obtained by XOR of the messages and , i.e,
If , do the following. Let and . For each , let
For each , a coded symbol is obtained, where
Let if , if . For each , let
. A coded symbol is obtained, where
Table I illustrates the message decoded by each client and the coded symbol from which it has decoded that message. If XOR of more than one unknown message (to a client) is present in a coded symbol, then that client cannot decode any message from that coded symbols. For every client, in all other coded symbols except the one from which it decoded one message (as illustrated in Table I), XOR of more than one unknown message (to a client) is present (It is illustrated in table II). Hence each client cannot retrieve more than one message.
Let and . Here Hence two transmissions are required. Here and . Following the procedures as in Construction 1:
A coded symbol is obtained where .
. Hence , since . A coded symbol is obtained where .
get and the clients in get from . The clients in get from . Since is present in , the clients in cannot retrieve any message from as and are not present as side information with those clients. Similarly the clients in cannot retrieve any message from since is present in . The clients in cannot get any message from as is present in while the clients in cannot get any message from as is present in . Hence all the clients get exactly one message.
Case 2: .
Let us take the case where . If is divisible by , with one coded transmission each client gets one message it doesn’t have. For all other values of , two transmissions are required. The code construction is given below for such cases.
If , a coded symbol is obtained, where
Two coded symbols and are obtained, where
Two coded symbols and are obtained, where
Table III and V illustrate the message decoded by each client and the coded symbol from which it is decoded for and respectively. It is illustrated in table IV and VI that each client doesn’t get more than one message for and respectively (for the same reason as in Case 1).
Let and . Here , . Following the procedure as in Construction 1,
A coded symbol is obtained where .
A coded symbol is obtained where .
The clients in get , those in get and those in get from . The clients in get while the clients in get from . Since is present in , the clients in cannot retrieve any message from . Similarly the clients in cannot retrieve any message from since is present in . The clients in cannot get any message from as is present in while the clients in cannot get any message from as is present in . Hence all the clients get exactly one message.
For and even, the total number of transmission required is . For and even, with just one coded transmission each client gets one message not in the side information set while for and even, two transmissions are required. It is trivial for , where the coded transmission is the sum of all messages the server has. When it comes to for different values of , the number of transmissions required also varies. The code construction for all such cases is given below.
Let if . If then let .
For , a coded symbol is obtained, where
For and even, a coded symbol is obtained for each , where
If , coded symbols are obtained, i.e, for each ,
If coded symbols are obtained, i.e,
If coded symbols are obtained, i.e,
If coded symbols are obtained, i.e,
For and even, a coded symbol is obtained, where
For and odd, if , two coded symbols are obtained, i.e,
Else if , a coded symbol is obtained, where
For and even, if , two coded symbols are obtained, i.e,
Else if , a coded symbol is obtained, where
Table VII illustrates the message decoded by each client for some values of . It is illustrated in table VIII that each client doesn’t get more than one message for those values of (for the same reason as in Case 1).
Let us take an example where and even. Let and . Let . The coded symbol obtained is . The clients in get and those in get from .
Consider an example where and even. Let and . The coded symbols obtained are and . The clients gets , gets , gets and gets from . The clients gets , gets , gets and gets from . None of the clients , where can decode any message from as is present in , where and are not available as side information with the client . Similarly none of the clients , where can decode any message from as is present in . Hence each client can decode only one message.
We will show that for both the cases - and , where is odd, there doesn’t exist any code where each client gets exactly one message.
and odd : If the coded symbol transmitted has more than two XORed messages, none of the clients can decode any message from that since the cardinality of side information is one. Hence coded symbols transmitted can have atmost two XORed messages.
Let us take the case where we initially transmit some message uncoded. If we transmit any message uncoded, all other clients except get as they do not have as side information. Since the clients in have only one side information , to retrieve any message they do not have, we need to transmit either or , for some . All other clients except get as they do not have as side information if we transmit . Hence some clients get both and . So this is ruled out. If we transmit , since is already transmitted, all the clients can decode from this. Hence this is also ruled out. In short, we cannot transmit any messages uncoded.
The only possibility left is to transmit XOR of two messages. If we transmit XOR of two messages, say , the clients in can decode and the clients in can decode . None of the other clients can decode anything. Following that if we transmit some message uncoded, all the clients except get (Clients in already have this as side information). Hence either the clients in or the clients in can decode . So we cannot transmit any messages uncoded and instead we transmit . If is same as , the clients in will get apart from . Similarly will get apart from if is same as , will get apart from if is same as and will get apart from if is same as . Hence and are all different messages. Hence if we transmit , the clients in can decode and the clients in can decode . We continue transmitting , where each of the messages are distinct. With these coded transmissions set of clients in are satisfied. There exists a set of clients whose requirement is not met by those transmissions. The side information of those clients is . Hence we need to transmit either or , where . If we transmit and if for some , then the clients in get apart from and if for some , then the clients in get apart from . Hence we cannot transmit . If we transmit also, the above problem arises. Hence we cannot do that also.
To summarize, we cannot find any code such that all the clients get exactly one message.
and odd: We randomly pick some message . It satisfies the requirements of the clients in and . In general a message satisfies the requirements of exactly two set of clients - and . Now we choose a message such that it is in the side information of and . The message satisfies the requirements of the clients and . We keep on choosing messages such that all the previously selected clients requirement is met even if we choose a pick a new message. We do this until no more messages can be picked. Assume messages are picked up, say . If we XOR these messages and send, it satisfies the requirements of even number of clients - . Since the cardinality of the set is odd, there exists a set of clients . In order to satisfy the requirement of this set of clients, we need to transmit either or XOR of with some of the side information of the clients in , where . If we transmit and if , the clients in get apart from , since . If we transmit and if , the clients in get apart from , since . Hence we cannot transmit alone. Now, if we transmit XOR of with some of the side information of the clients in also the same argument holds. Hence we cannot do that also. Hence it is not possible to find a code such that all the clients get exactly one message for this case.
II-B Optimality
In this section we provide the lower bound on the minimum number of scalar transmissions required for PICOD with consecutive side information.
For , with one transmission each client gets one message they have demanded, for any value of . The coded symbol is
. The client , where gets from .
For , we will prove in the coming part that with one transmission it is not possible for all the clients to retrieve the message they demanded. One transmission implies either sending a message uncoded or sending one coded symbol. If we send some message uncoded, then the client doesn’t get any message it doesn’t have. Hence we cannot send any message uncoded. Considering the transmission of a coded symbol. Let us assume that it is possible for all the clients to retrieve the messages they demanded with one coded transmission. Let us start building up such a coded symbol. Start with a random message . We cannot pick any of the messages in to add to the coded symbol as the client won’t be able to decode any message if we add any one of them. We have to pick , otherwise the client won’t be able to decode any message. Continuing the same argument we pick the messages , where . Next we have to pick , else the client won’t be able to decode any message. But if we pick , the client won’t be able to decode any message as both and will be there in the coded symbol and both are not available as side information. Hence with one coded transmission it is impossible for all the clients to decode the message they demanded. So minimum number of coded transmissions required is two.
Hence for the second extreme case discussed in this section, the code provided is optimal.
III Total number of messages decoded by effective clients is maximized.
In this section we will provide the code for the second extreme case where the effective clients get maximum number of messages.
Note: Any receiver decodes atmost one message from any coded symbol transmitted. If it can decode two messages from , say and , then both the messages must be wanted by and both have to be there in . Since XOR of and is present in , we cannot decode and individually. Hence can decode atmost one message from the coded symbol .
So, from two coded symbols, a receiver can decode atmost two messages. Our objective is to find coded symbols, of optimal length, such that maximum receivers will get maximum messages from the coded symbols.
Let and .
If one coded symbol is obtained, where
If or two coded symbols and are obtained, where
If , two coded symbols and are obtained, where and are given below.
Table IX illustrates the effective clients who get minimum number of messages with the coded transmissions. If , then each client gets exactly one message from one coded transmission. If , every client gets exactly two messages from the two coded transmission. For all other cases, from the two coded transmissions, number of effective clients get two messages. All other clients can decode only one message.
Let . Here, and . Let . The coded symbols obtained are and . All the clients get two messages from the two coded transmissions.
IV Constrained Pliable Index Coding
In this section, we provide index code for a class of PICOD where each client has any consecutive messages as side information, under a c-constraint, i.e., each message is decoded by atmost c clients demanding that message. We consider the case where .
For , if , then use the index code for the second extreme case given in the previous section.
For , if , the code construction is as follows.. Let .
For even , coded symbols are obtained, where
for each , a coded symbol is obtained.
for , a coded symbol is obtained.
For odd , coded symbols are obtained, where
for each , a coded symbol is obtained.
Let and . . Hence . Let . The coded symbols obtained are and . With this transmissions, the message is decoded by the clients , the message by , the message by and the message by . Hence all the messages are decoded by four clients which is equal to .
V Conclusion
We provide index code for two extreme classes of PICOD - for the class where each client gets exactly one desired message and for a class where total number of messages decoded by the effective clients is maximized.
We also provide index code for c-constrained pliable index coding with consecutive side information.
Acknowledgment
This work was supported partly by the Science and Engineering Research Board (SERB) of Department of Science and Technology (DST), Government of India, through J. C. Bose National Fellowship to B. Sundar Rajan.