C1: Pointer Chasing Problem
I. Movitiation:
Is there any problem for which the -round protocol has a big progress compared to the -round protocol? What is that problem?
We restrict the famous Alice and Bob communication model with rounds. Each player is given a list of pointers, each pointing to a pointer to the list of the other. The task is to follow those pointers from to find the -th pointer.
. There are layers of vertices: . In the top layer , there is only one vertex , and all the other layers have vertices. Each node in one layer has exactly one direction to a vertex in the next layer. We let Alice know the edges coming out of even layers and let Bob know the edges coming out of the odd layers of vertices. Then, we can imagine the “pointer chasing”. The goal is to find the -th pointer, i.e., the node (or both of palyers will know ).
When Alice starts first, it is easy to give a -round complexity algorithm with bits of communication.
It is much harder! For simplicity, we use to denote the communication cost of any protocol in which sends the first message using rounds. The define of follows similarly.
. Let denote two disjoint sets of vertices each and . Let and . Let and . The goal of pointer chasing is to compute defined by , where , and for .
II. The Upper Bound
. for all .
. This theorem says that if Bob first sends the messages, there is an algorithm that can find within rounds using bits.
Let us start from the base case . Our goal is to design an algorithm using one round. Bob sends all of his input, all vertices mapping ( for each ) in to Alice, who holds and . Then, we can find . When we know , we know , i.e., the second pointer. Here, we use bits in total.
We can do better for a more general . Instead of sending the whole vertices mapping, we have the following procedure.
- Bob sends the last bits fo of the vertices mapping to Alice.
- Alice receives the mapping, i.e., the last bits of , and sends and the last bits of vertices mapping, i.e., for each possible to which points, which indicates possible pointers.
- Repeat until the end.
The main idea of the above procedure is to divide into blocks where , each of size . For each time, we map blocks to blocks. Finally, the size of the block is one, and we find . Let denote the block containing the target . Then, it is easy to see that the communication cost is . After calculation, we obtain the upper bound.
III. Lower Bounds
The bound.
Reference
[1]. Nisan, Noam, and Avi Widgerson. “Rounds in communication complexity revisited.” Proceedings of the twenty-third annual ACM symposium on Theory of computing. 1991.
[2]. Ponzio, Stephen J., Jaikumar Radhakrishnan, and Srinivasan Venkatesh. “The communication complexity of pointer chasing.” Journal of Computer and System Sciences 62.2 (2001): 323-355.