Imagine you are given a communication channel , which takes in a messages of length , with each taking values in an alphabet of size . is noiseless, except that it has a malfunction, which is that it is deleting a set of indices of size , so the output is , where are the indices which are not deleted by . If you can just figure out what the set is, then you can again use as a noiseless channel by sending the actual message only in the indices and putting arbitrary symbols in . The situation is diagrammed below in Figure 1 with , , and .

This is essentially the question which we posed to Nixon Elementary School students on Information Theory Night. The implementation had a few kid-friendly changes. First, the messages, instead of symbols, were sequences of colored cards, which the kids got to choose from. The channel itself was a cardboard box with holes on both sides for the messages to go through. To increase the mysteriousness, we draped a big black blanket over the apparatus, so that the whole thing had the appearance of a Houdini-esque magic trick.

To send messages, children would insert their flashcards one by one into the box, and one of us would sit behind it and choose which cards would get through to the other side. Another one of us would then lay out the cards that did get through cleanly on the other side, so that the kids could compare it to what they put in.

Our project had a few key strengths. The first was that it was interactive. We wanted the kids to really get a sense for the problem by playing with it with their bare hands (literally). Instead of lecturing them, we tried to give them a chance to learn what worked and what didn’t through trial and error. This not only kept them engaged, but also gave them a rare opportunity to engage with a problem that was completely new, and which they didn’t know had a ‘right’ or ‘wrong’ answer. Instead of being told what to do, they got to experiment, which is always the first step when approaching any problem.

The next strength was that we could scale the difficult of the problem, either by making them use fewer colors (a smaller alphabet), or by increasing the number of deletions. After solving the one deletion case, many of them found that two deletions was quite a bit more difficult. This introduced them to the idea of generalizability, and showed how a problem which is trivial in one parameter regime could be much more nuanced in another.

Overall, the outreach project was a great experience. It was exciting to see children interact with a problem we had been working on. I also feel that the challenge of communicating the problem to them also gave us a better understanding of what the important aspect of the problem really were.

Moving on from the outreach project, we will now formalize the problem at hand. We will mainly focusing on the binary alphabet case, . Our first observation is that that given a set of codewords to send through the channel, we can model the problem of identifying the deletion indices as solving linear system.

Let be the codewords we will send through the channel. We then let be the the matrix whose columns are these codewords, that is,

We then formulate the “deletion matrix” , which, when multiplied by a codeword , yields the result of passing through the channel, . We do this by letting $P$ be a submatrix of the identity matrix. In particular, if is the set of indices being deleted and we let be the one-hot vector in the -th coordinate, let be the matrix of columns in ascending order. For example, if and , then

Note that knowing tells us exactly which indices are being deleted.

We now observe now that if we write , with our newly defined matrices and , then is the matrix whose columns are the results of passing the columns of , , through the channel. Thus, we now see that given a set of codewords, i.e. given , identifying the deletion indices is equivalent to solving the linear system for .

The question is then of designing the matrix such that is solvable for any , while minimizing the number of columns of . In particular, we are interested in the minimal , and the corresponding .

We now note an easy upper bound on the minimal such , . In particular, we let be the matrix whose rows are all the binary of length . Upon observing the matrix , it suffices to check which of the length binary strings are missing from the rows of .

Again, this is easiest to understand by way of example. Suppose we have a channel that deletes the indices from binary strings of length eight. Then, the matrix is given by

We then let be the matrix

We then have that is

We can see that is missing the rows , which tells us precisely that

Though this scheme works well when thinking of growing as a fraction of , it is overkill when is a constant. For those who wish to think about this problem further, it might be interesting to think about this parameter regime, and also think about how the algorithm can better take advantage of the fact that you can observe the output from the previous messages before choosing the next one to put through. Our solution right now ignores this fact, choosing all the messages at once, beforehand (the distinction is referred to as “adaptive” vs. “non-adaptive” algorithms).

The are interesting generalizations of deletion identification, to which this particular problem could be reduced, such as recovering arbitrary projection matrices (over finite fields). We are interested in an closed form for how many columns are needed. By reduction arguments, the case of deletions may give interesting bounds on the above generalizations.

Finally, we would like to thank Prof. Weissman and the teaching staff of EE376A for their advice on this project as well as their hard work in organizing the outreach event.