Toolbox

C1: Pointer Chasing Problem

Reminder: This post contains 3388 words · 10 min read · by Xianbin

I. Movitiation:

Is there any problem for which the kk-round protocol has a big progress compared to the (k1)(k-1)-round protocol? What is that problem?

Initial Definitinon.\textbf{Initial Definitinon.} We restrict the famous Alice and Bob communication model with kk rounds. Each player is given a list of nn pointers, each pointing to a pointer to the list of the other. The task is to follow those pointers from v0Alicev_0 \in \text{Alice} to find the kk-th pointer.

Informal Definitinon\textbf{Informal Definitinon}. There are k+1k+1 layers of vertices: L0,,LkL_0,\ldots,L_k. In the top layer L0L_0, there is only one vertex v0v_0, and all the other kk layers have nn 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 kk-th pointer, i.e., the node vk+1v_{k+1} (or both of palyers will know vkv_k).

When Alice starts first, it is easy to give a kk-round complexity algorithm with klognk\log n bits of communication.

What about (k1) rounds?\textcolor{blue}{\text{What about } (k-1) \text{ rounds?}}

It is much harder! For simplicity, we use CCA,k(f)CC^{A, k}(f) to denote the communication cost of any protocol ff in which AA sends the first message using kk rounds. The define of CCB,k(f)CC^{B, k}(f) follows similarly.

Formal Definition\textbf{Formal Definition}. Let VA,VBV_A, V_B denote two disjoint sets of nn vertices each and V=VAVBV = V_A \cup V_B. Let FA={fAfA:VAVB}F_A = \{f_A \mid f_A: V_A \to V_B\} and FB={fBfB:VBVA}F_B = \{f_B \mid f_B: V_B \to V_A\}. Let f(v)=fA(v),vVAf(v) = f_A(v), \forall v\in V_A and f(v)=fB(v),vVBf(v) = f_B(v),\forall v \in V_B. The goal of pointer chasing is to compute gk:FA×FBVg_k: F_A \times F_B \to V defined by Fk(fA,fB)=f(k)(v0)F_k(f_A, f_B) = f^{(k)}(v_0), where f(0)(v)=vf^{(0)}(v) = v, and f(k)(v)=f(f(k1)(v))f^{(k)}(v) = f(f^{(k-1)}(v)) for k>0k>0.

II. The Upper Bound

Theorem 1\textbf{Theorem } 1. CCB,k(gk)=O(nlog(k1)n)CC^{B,k}(g_k) = O(n\log ^{(k-1)}n) for all klognk \leq \log ^*n.

Proof\textbf{Proof}. This theorem says that if Bob first sends the messages, there is an algorithm that can find vkv_k within kk rounds using O(nlog(k1)n)O(n\log ^{(k-1)}n) bits.

Let us start from the base case k=2k=2. Our goal is to design an algorithm using one round. Bob sends all of his input, all nn vertices mapping (fB(v)f_B(v) for each vVBv\in V_B ) in L1L_1 to Alice, who holds L0(v0)L_0 (v_0) and L2L_2. Then, we can find v2v_2. When we know v2v_2, we know v2v3v_2\to v_3, i.e., the second pointer. Here, we use O(nlogn)O(n\log n) bits in total.

We can do better for a more general kk. Instead of sending the whole vertices mapping, we have the following procedure.

  1. Bob sends the last log(k1)n\log ^{(k-1)}n bits fo of the vertices mapping to Alice.
  2. Alice receives the mapping, i.e., the last log(k1)n\log ^{(k-1)}n bits of fB(v1)f_B(v_1), and sends v1=fA(v0)v_1 = f_A(v_0) and the last log(k2)n\log^{(k-2)}n bits of vertices mapping, i.e., fA(v)f_A(v) for each possible vVAv\in V_A to which v1v_1 points, which indicates possible pointers.
  3. Repeat until the end.

The main idea of the above procedure is to divide LiL_i into 2bi+12^{b_{i+1}} blocks where b1=0b_1 = 0, each of size n2bi+1\lceil \frac{n}{2^{b_{i+1}}}\rceil. For each time, we map blocks to blocks. Finally, the size of the block is one, and we find vkv_k. Let BiB_i denote the block containing the target viv_i. Then, it is easy to see that the communication cost is bi+1Bib_{i+1}\lvert B_i\rvert. After calculation, we obtain the upper bound.

III. Lower Bounds

Simple Version:\textbf{Simple Version}: The Ω(n)\Omega(n) bound.


To be continued \color{red} \text{To be continued \ldots}

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.