Hidden Matching Problem
Application of quantum communication
Alice and Bob holds different inputs. Alice holds a bit string with n bits of data
x∈{0,1}n
Bob holds matching disjoint pairs of indices M. Matching means that every index appears in exactly one pair
example:
M={(1,5),(2,6),(3,7),(4,8)}
Alice sends a message to Bob which Bob will output based on that message.
Bob must output a triple (i,j,xi⊕xj) where
(i,j) is a pair from his matching M i.e., (i,j)∈M
xi⊕xj is the XOR of the two bits of x at those indices
Bob doesn't need to give XORs for every pair just one pair of his choosing.
If Bob had to give XORs for all n/2 pairs, Alice would need to send all of x and the problem wouldn't be interesting. The catch is that Alice needs to send just enough information that whichever pair Bob picks, he can compute that one XOR. We just need one pair from Bob. Since Alice doesn't know Bob's matching M, she has to send somethign that works for any possible pair, but Bob only extracts one bit of XOR information.
Classically, we'd need to send Ω(n) bits.
In QM, we'd only need to send O(logn)qubits. Alice can encode all of x into amplitudes of a quantum state on only log2n qubits and send that.