COMPX270 — Randomised and Advanced Algorithms
Chapter 4: Derandomisation
Converting randomised algorithms into deterministic ones: small random seed, pairwise independence, and the method of conditional expectations.
Hash families, pairwise independence constructions, conditional expectation computations
The Derandomisation Question
Motivation
Given a randomised algorithm that works well in expectation (or with high probability), can we always convert it into a deterministic algorithm with comparable guarantees?
This is a central question in complexity theory. In particular, it is widely conjectured that \(\mathsf{P} = \mathsf{BPP}\) — every problem solvable in randomised polynomial time can also be solved deterministically in polynomial time.
Running Example: Max-Cut
Given an undirected graph \(G = (V, E)\) with \(|V| = n\) vertices and \(|E| = m\) edges, find a partition of \(V\) into \((A, B)\) that maximises the number of edges crossing the cut:
\[c(A,B) = |\{(u,v) \in E : u \in A, v \in B\}|\]Let \(\text{OPT}\) denote the optimal cut value.
Fact 21.1 (Max-Cut is NP-Hard)
Finding a partition \((A, B)\) that maximises \(c(A, B)\) is NP-Hard. Therefore, we seek approximation algorithms.
Algorithm 6: Random Partition for Max-Cut
Input: Graph \(G = (V, E)\)
- For each vertex \(v \in V\), independently place \(v\) in \(A\) with probability \(1/2\), otherwise in \(B\).
- Output \((A, B)\).
Theorem 22
The random partition (Algorithm 6) satisfies:
\[\mathbb{E}[c(A,B)] \geq \frac{m}{2} \geq \frac{\text{OPT}}{2}\]Hence it is a (randomised) \(\frac{1}{2}\)-approximation algorithm for Max-Cut.
For each edge \(e = (u, v) \in E\), define the indicator variable:
\[Y_e = \mathbf{1}[\text{exactly one of } u, v \text{ is in } A]\]Since \(u\) and \(v\) are placed independently, the probability that they end up on different sides is:
\[\Pr[Y_e = 1] = \Pr[u \in A, v \in B] + \Pr[u \in B, v \in A] = \frac{1}{4} + \frac{1}{4} = \frac{1}{2}\]The cut value is \(c(A,B) = \sum_{e \in E} Y_e\). By linearity of expectation:
\[\mathbb{E}[c(A,B)] = \sum_{e \in E} \mathbb{E}[Y_e] = \sum_{e \in E} \frac{1}{2} = \frac{m}{2}\]Since \(\text{OPT} \leq m\), we get \(\mathbb{E}[c(A,B)] \geq \frac{m}{2} \geq \frac{\text{OPT}}{2}\). \(\square\)
Method 1: Small Random Seed
Key Idea
If a randomised algorithm uses only \(R\) random bits, we can enumerate all \(2^R\) possible random strings and pick the best outcome deterministically.
Algorithm 7: Brute-Force over Random Seed
Input: Problem instance \(x\), randomised algorithm \(\mathcal{A}\) using \(R\) random bits, verifier \(\mathcal{V}\)
- For each \(r \in \{0,1\}^R\):
- Run \(\mathcal{A}(x; r)\) to obtain solution \(s_r\).
- Use \(\mathcal{V}\) to compute the quality of \(s_r\).
- Output the best \(s_r\) found.
Three Requirements
1. Positive Probability
There exists at least one random string \(r\) that yields a “good” solution (guaranteed if the expected quality is good).
2. Bounded Randomness
The algorithm uses \(R\) random bits in total. The brute-force cost is \(2^R\).
3. Efficient Verifier
We can evaluate the quality of each candidate solution in time \(T_V\).
Running Time Analysis
Total running time: \(2^R \cdot (T_{\mathcal{A}} + T_{\mathcal{V}})\)
Key insight: If \(R = O(\log n)\), then \(2^R = \text{poly}(n)\) and the total time is polynomial!
Problem: Algorithm 6 (random partition) uses \(R = n\) random bits — one per vertex. Enumerating \(2^n\) strings is far too expensive.
Goal: Reduce the number of random bits to \(O(\log n)\) while preserving the expected cut value of \(m/2\).
Fact 22.3
If \(\mathbb{E}[X]\) exists (and is finite), then:
\[\Pr[X \geq \mathbb{E}[X]] > 0\]In particular, there exists an outcome achieving at least the expected value.
Suppose for contradiction that \(\Pr[X \geq \mathbb{E}[X]] = 0\), i.e., \(\Pr[X < \mathbb{E}[X]] = 1\). Then:
\[\mathbb{E}[X] = \sum_{\omega} X(\omega) \Pr[\omega] < \mathbb{E}[X] \cdot \sum_{\omega} \Pr[\omega] = \mathbb{E}[X]\]This is a contradiction. Therefore \(\Pr[X \geq \mathbb{E}[X]] > 0\). \(\square\)
Pairwise Independence
Key Observation
The proof of Theorem 22 only uses the fact that for each edge \((u,v)\), the random bits \(X_u\) and \(X_v\) are independent. It does not require full mutual independence of all \(n\) bits.
Therefore, pairwise independence suffices! And pairwise independent bits can be generated using far fewer truly random bits.
Definition 22.1 (Strongly Universal Hash Family)
A family \(\mathcal{H}\) of functions from \(\{0,\ldots,n-1\}\) to \(\{0,1\}\) is strongly universal if for all distinct \(x, y \in \{0,\ldots,n-1\}\) and all \(a, b \in \{0,1\}\):
\[\Pr_{h \sim \mathcal{H}}[h(x) = a \text{ and } h(y) = b] = \frac{1}{4}\]Equivalently, for a uniformly random \(h \in \mathcal{H}\), the values \(h(0), h(1), \ldots, h(n-1)\) are pairwise independent and each uniformly distributed over \(\{0,1\}\).
Fact 22.2 (Explicit Construction)
There exists an explicit strongly universal hash family \(\mathcal{H}\) from \(\{0,\ldots,n-1\}\) to \(\{0,1\}\) with:
\[|\mathcal{H}| = 2^{\lceil \log_2(n+1) \rceil}\]A random element \(h \in \mathcal{H}\) can be described using only \(\lceil \log_2(n+1) \rceil\) random bits.
Construction: Pick \(k = \lceil \log_2(n+1) \rceil\). Represent each \(x \in \{0,\ldots,n-1\}\) as a binary vector in \(\mathbb{F}_2^k\). Define \(h_{a,b}(x) = \langle a, x \rangle \oplus b\) for random \(a \in \mathbb{F}_2^k\), \(b \in \mathbb{F}_2\). This uses \(k + 1\) bits total.
Algorithm 8: Max-Cut with Pairwise Independent Bits
Input: Graph \(G = (V, E)\) with vertices \(\{0, \ldots, n-1\}\)
- Let \(R = \lceil \log_2(n+1) \rceil\).
- Choose a uniformly random \(h \in \mathcal{H}\) (using \(R\) random bits).
- Set \(A = \{v : h(v) = 0\}\), \(B = \{v : h(v) = 1\}\).
- Output \((A, B)\).
Derandomisation via Brute Force
Since Algorithm 8 uses only \(R = \lceil \log_2(n+1) \rceil\) random bits, we can enumerate all \(2^R = O(n)\) hash functions in the family. For each, compute the cut value (in \(O(m)\) time) and keep the best.
Total running time: \(O(n) \cdot O(m + n) = O(n \cdot \max(m, n))\).
Theorem 23
There is a deterministic \(\frac{1}{2}\)-approximation algorithm for Max-Cut running in time \(O(n \cdot \max(m, n))\).
Interactive: Max-Cut Simulation
Generate a random graph and compare the randomised partition, brute-force derandomised approach, and the true optimum.
Method 2: Conditional Expectations
Key Idea
Instead of enumerating all random strings, replace each random choice one by one with the deterministic choice that keeps the conditional expectation at least as high.
At each step \(i\), we have already fixed \(X_1, \ldots, X_i\). We choose \(X_{i+1}\) to maximise:
\[\mathbb{E}[c(A,B) \mid X_1, \ldots, X_{i+1}]\]This is always at least \(\mathbb{E}[c(A,B) \mid X_1, \ldots, X_i]\), since:
\[\mathbb{E}[c(A,B) \mid X_1, \ldots, X_i] = \frac{1}{2}\mathbb{E}[c(A,B) \mid X_1, \ldots, X_i, X_{i+1}=0] + \frac{1}{2}\mathbb{E}[c(A,B) \mid X_1, \ldots, X_i, X_{i+1}=1]\]The maximum of two numbers is at least their average.
The Chain of Inequalities
Starting from the unconditional expectation and ending with the actual cut value:
\[\frac{m}{2} = \mathbb{E}[c(A,B)] \leq \mathbb{E}[c(A,B) \mid X_1] \leq \mathbb{E}[c(A,B) \mid X_1, X_2] \leq \cdots \leq \mathbb{E}[c(A,B) \mid X_1, \ldots, X_n] = c(A,B)\]The final value \(c(A,B)\) is deterministic and at least \(m/2\)!
Computing the Greedy Choice
When deciding vertex \(v_{i+1}\), we need to compare placing it in \(A\) vs \(B\). The key quantities are:
- \(N_A(i+1)\): number of neighbours of \(v_{i+1}\) already assigned to \(A\)
- \(N_B(i+1)\): number of neighbours of \(v_{i+1}\) already assigned to \(B\)
Placing \(v_{i+1}\) in \(A\) cuts \(N_B(i+1)\) edges (to \(B\)-neighbours) and kills \(N_A(i+1)\) potential cuts. Conversely for placing in \(B\).
Greedy rule: Place \(v_{i+1}\) in whichever side cuts more already-assigned neighbours:
- If \(N_A(i+1) \geq N_B(i+1)\): place in \(B\) (cuts \(N_A\) edges).
- If \(N_B(i+1) > N_A(i+1)\): place in \(A\) (cuts \(N_B\) edges).
Algorithm 9: Greedy Max-Cut (Conditional Expectations)
Input: Graph \(G = (V, E)\) with vertices \(v_1, \ldots, v_n\)
- Set \(A \leftarrow \emptyset\), \(B \leftarrow \emptyset\).
- For \(i = 1, \ldots, n\):
- Let \(N_A = |\{j < i : (v_i, v_j) \in E, v_j \in A\}|\).
- Let \(N_B = |\{j < i : (v_i, v_j) \in E, v_j \in B\}|\).
- If \(N_B \geq N_A\): set \(A \leftarrow A \cup \{v_i\}\).
- Else: set \(B \leftarrow B \cup \{v_i\}\).
- Output \((A, B)\).
Theorem 24
Algorithm 9 (Greedy Max-Cut) is a deterministic \(\frac{1}{2}\)-approximation algorithm for Max-Cut running in time \(O(nm)\).
Interactive: Greedy Max-Cut Step-Through
Watch the conditional expectations algorithm assign vertices one by one. The algorithm places each vertex on the side that maximises the number of cut edges among already-placed neighbours.
The Probabilistic Method
General Technique
To prove that a combinatorial object with a certain property exists, show that a randomly chosen object has the desired property with positive probability.
If \(\Pr[\text{good}] > 0\), then at least one good object must exist. This is a powerful non-constructive proof technique introduced by Paul Erdős.
Example: 2-Colouring of Complete Graph Edges
Consider the complete graph \(K_n\) on \(n\) vertices. Colour each edge red or blue independently and uniformly at random. We ask: is there a colouring such that no complete subgraph on \(k\) vertices is monochromatic?
A monochromatic \(K_k\) is a set of \(k\) vertices where all \(\binom{k}{2}\) edges have the same colour.
Theorem 25
If \(\binom{n}{k} \cdot 2^{1 - \binom{k}{2}} < 1\), then there exists a 2-colouring of the edges of \(K_n\) with no monochromatic \(K_k\).
Equivalently, the Ramsey number satisfies \(R(k,k) > n\) whenever \(\binom{n}{k} \cdot 2^{1-\binom{k}{2}} < 1\).
Colour each edge of \(K_n\) red or blue, each with probability \(1/2\), independently.
For a fixed set \(S\) of \(k\) vertices, the probability that all \(\binom{k}{2}\) edges in \(S\) have the same colour (all red or all blue) is:
\[\Pr[\text{S is monochromatic}] = 2 \cdot \left(\frac{1}{2}\right)^{\binom{k}{2}} = 2^{1 - \binom{k}{2}}\]By a union bound over all \(\binom{n}{k}\) subsets of size \(k\):
\[\Pr[\exists \text{ monochromatic } K_k] \leq \binom{n}{k} \cdot 2^{1 - \binom{k}{2}}\]If this is strictly less than 1, then:
\[\Pr[\text{no monochromatic } K_k] > 0\]so a good colouring must exist. \(\square\)
Relation to Derandomisation
The probabilistic method proves existence but doesn't directly give a construction. Derandomisation techniques (small seed, conditional expectations) can sometimes convert such proofs into efficient algorithms.
Fact 24.1 (Goemans–Williamson)
There exists a \(0.878\)-approximation algorithm for Max-Cut based on semidefinite programming (SDP) relaxation. Under the Unique Games Conjecture, this is the best possible approximation ratio achievable in polynomial time.
Tutorial Problems
Work through these problems to reinforce your understanding of derandomisation techniques.
Problem 1 Warm-up
(a) How many random bits do you need to generate a uniformly random integer in \(\{1, \ldots, n\}\)?
(b) How many random bits do you need to generate a uniformly random subset of \(\{1, \ldots, n\}\)?
(a) To generate a uniformly random integer in \(\{1, \ldots, n\}\), we need \(\lceil \log_2 n \rceil\) random bits. These bits encode a binary number in \(\{0, \ldots, 2^{\lceil \log_2 n \rceil} - 1\}\). If \(n\) is not a power of 2, we may need to reject and resample (but the number of bits per attempt is \(\lceil \log_2 n \rceil\)).
(b) A uniformly random subset of \(\{1, \ldots, n\}\) is determined by \(n\) independent fair coin flips (one per element: include if heads). So we need exactly \(n\) random bits. \(\square\)
Problem 2 Warm-up
Let \(X, Y \in \{0,1\}\) be independent, uniformly random bits. Define \(Z = X \oplus Y\) (XOR).
(a) Show that \(Z\) is uniformly distributed over \(\{0,1\}\).
(b) Show that \(X, Y, Z\) are pairwise independent.
(c) Are \(X, Y, Z\) mutually independent? Justify.
(a) \(\Pr[Z = 0] = \Pr[X = Y] = \Pr[X=0]\Pr[Y=0] + \Pr[X=1]\Pr[Y=1] = 1/4 + 1/4 = 1/2\). Similarly \(\Pr[Z = 1] = 1/2\). So \(Z\) is uniform.
(b) We check all pairs:
- \(X, Y\): independent by assumption.
- \(X, Z\): For any \(a, c \in \{0,1\}\), \(\Pr[X=a, Z=c] = \Pr[X=a, Y=a \oplus c] = \Pr[X=a]\Pr[Y=a \oplus c] = 1/4\). So \(X\) and \(Z\) are independent.
- \(Y, Z\): Symmetrically, \(\Pr[Y=b, Z=c] = 1/4\). So \(Y\) and \(Z\) are independent.
(c) No! They are not mutually independent. Knowing any two determines the third: \(Z = X \oplus Y\). For instance:
\[\Pr[X=0, Y=0, Z=0] = \Pr[X=0, Y=0] = 1/4 \neq 1/8 = \Pr[X=0]\Pr[Y=0]\Pr[Z=0]\]This is a canonical example: pairwise independence does not imply mutual independence. \(\square\)
Problem 3 Warm-up
Show that every strongly universal hash family is also a universal hash family (i.e., for all \(x \neq y\): \(\Pr_{h}[h(x) = h(y)] \leq 1/|\text{range}|\)).
Let \(\mathcal{H}\) be a strongly universal family of functions from \(U\) to \(\{0,1\}\). For distinct \(x, y \in U\):
\[\Pr_h[h(x) = h(y)] = \Pr_h[h(x) = 0, h(y) = 0] + \Pr_h[h(x) = 1, h(y) = 1] = \frac{1}{4} + \frac{1}{4} = \frac{1}{2}\]Since the range has size 2, we get \(\Pr[h(x) = h(y)] = 1/2 = 1/|\text{range}|\), which is exactly the universal hashing condition.
More generally, for a strongly universal family into a range of size \(q\), summing over all \(q\) values of \(a\): \(\Pr[h(x) = h(y)] = \sum_{a} \Pr[h(x) = a, h(y) = a] = q \cdot \frac{1}{q^2} = \frac{1}{q}\). \(\square\)
Problem 4 Problem Solving ⭐
Consider Algorithm 6 (random partition for Max-Cut).
(a) Describe how to modify the algorithm so that \(c(A,B) \geq m/2\) with probability at least \(0.99\).
(b) What is the probability that a single run of Algorithm 6 produces a cut with \(c(A,B) \geq m/2\)?
(a) Run Algorithm 6 multiple times and keep the best cut. Since \(\mathbb{E}[c(A,B)] = m/2\), by Fact 22.3, each run has positive probability of achieving \(c(A,B) \geq m/2\). Let \(p = \Pr[c(A,B) \geq m/2]\). After \(t\) independent runs, the probability of never achieving \(\geq m/2\) is \((1-p)^t\). Setting \((1-p)^t \leq 0.01\) gives \(t \geq \lceil \ln(100)/\ln(1/(1-p)) \rceil\).
Since \(p \geq 1/(m+1)\) (at least one of the \(m+1\) possible cut values \(\{0, 1, \ldots, m\}\) is \(\geq m/2\), so the random partition hits it with some positive probability), repeating \(O(m)\) times suffices.
(b) By a more careful counting argument, the probability is at least \(\frac{1}{m+2}\). For each edge, the indicator \(Y_e\) contributes to the sum \(c(A,B) = \sum Y_e\). Since the bits are fully independent, we can show via a second-moment argument or direct counting that the probability mass at or above the mean is at least \(1/(m+2)\). (In many cases the probability is much larger, close to \(1/2\).) \(\square\)
Problem 5 Advanced ⭐⭐
Give an explicit construction of a pairwise independent hash family \(\mathcal{H}\) from \(\{0,1\}^k\) to \(\{0,1\}\) using XOR. Specifically:
(a) Define \(h_{a,b}(x) = \langle a, x \rangle \oplus b = \left(\bigoplus_{i=1}^{k} a_i \cdot x_i\right) \oplus b\) for \(a \in \{0,1\}^k\), \(b \in \{0,1\}\). Show this family is strongly universal.
(b) How large is \(|\mathcal{H}|\)? How many random bits are needed to specify \(h\)?
(c) What is the evaluation time for \(h(x)\)?
(a) Fix distinct \(x, y \in \{0,1\}^k\) and target values \(\alpha, \beta \in \{0,1\}\). We need:
\[\Pr_{a,b}[h_{a,b}(x) = \alpha \text{ and } h_{a,b}(y) = \beta] = \frac{1}{4}\]The conditions are \(\langle a, x \rangle \oplus b = \alpha\) and \(\langle a, y \rangle \oplus b = \beta\). Subtracting (over \(\mathbb{F}_2\)):
\[\langle a, x \oplus y \rangle = \alpha \oplus \beta\]Since \(x \neq y\), the vector \(x \oplus y\) is nonzero. So exactly half of all \(a \in \{0,1\}^k\) satisfy this equation (the solutions form a coset of a codimension-1 subspace). Given any such \(a\), exactly one value of \(b\) satisfies \(\langle a, x \rangle \oplus b = \alpha\). So the number of valid \((a, b)\) pairs is \(2^{k-1} \cdot 1 = 2^{k-1}\) out of \(2^{k+1}\) total, giving probability \(1/4\). \(\checkmark\)
(b) \(|\mathcal{H}| = 2^{k+1}\) (choices for \(a\) and \(b\)). We need \(k + 1\) random bits.
(c) Evaluating \(h_{a,b}(x)\) requires computing the inner product \(\langle a, x \rangle\) over \(\mathbb{F}_2\), which is a bitwise AND followed by XOR (popcount mod 2). This takes \(O(k)\) time. \(\square\)
Problem 6 Problem Solving
Let \(G = (V, E)\) be a directed graph (tournament) with \(n\) vertices and \(m\) directed edges. An oriented triangle is a directed 3-cycle \(u \to v \to w \to u\).
(a) Design a randomised algorithm that finds a colouring of vertices with 2 colours such that at least \(1/4\) of all triangles are properly oriented (i.e., all three edges cross the colour classes).
(b) Derandomise your algorithm using either 3-wise independence or the method of conditional expectations.
(a) Assign each vertex to group \(A\) or \(B\) independently with probability \(1/2\). For a directed triangle \(u \to v \to w \to u\), the probability that all three edges cross the partition (i.e., exactly the right pattern of \(A\) and \(B\) assignments) requires specific alternation. There are \(2^3 = 8\) equally likely assignments of 3 vertices. Exactly 2 out of 8 give a proper crossing pattern for the directed triangle. So each triangle is properly oriented with probability \(1/4\).
By linearity of expectation, the expected number of properly oriented triangles is \(T/4\) where \(T\) is the total number of directed triangles.
(b) Using conditional expectations: Process vertices \(v_1, \ldots, v_n\). For vertex \(v_i\), compute the conditional expected number of properly oriented triangles if \(v_i\) is placed in \(A\) vs \(B\), considering the vertices already placed and averaging over the remaining unplaced vertices. Choose whichever gives a higher conditional expectation.
Alternatively, using 3-wise independence: The proof uses 3 vertex bits per triangle, so we only need 3-wise independence. Construct a 3-wise independent family using \(O(\log n)\) bits, then enumerate all seeds. \(\square\)
Problem 7 Problem Solving ⭐
Prove that for any graph \(G\) on \(n\) vertices, the number of monochromatic triangles in any 2-colouring of its edges is at most \(n^3/24\). Then derandomise.
Hint: Use the probabilistic method with a random 2-colouring of vertices (not edges), and relate it to the number of monochromatic triangles.
Probabilistic method: Consider the complete graph \(K_n\). Colour each vertex red or blue with probability \(1/2\) independently. For any triangle \(\{u,v,w\}\), the probability that all three vertices get the same colour is:
\[\Pr[\text{monochromatic}] = 2 \cdot (1/2)^3 = 1/4\]The total number of triangles in \(K_n\) is \(\binom{n}{3}\). By linearity of expectation, the expected number of monochromatic triangles is:
\[\mathbb{E}[\text{mono triangles}] = \binom{n}{3} \cdot \frac{1}{4} = \frac{n(n-1)(n-2)}{24} \leq \frac{n^3}{24}\]Since the expectation is at most \(n^3/24\), there exists a colouring achieving at most this many monochromatic triangles.
Derandomisation: Use the method of conditional expectations. Process vertices one by one. For each vertex, choose the colour (red or blue) that minimises the conditional expected number of monochromatic triangles among already-coloured triples. Each step can be computed in \(O(n^2)\) time (checking all pairs involving the current vertex), giving a total time of \(O(n^3)\). \(\square\)
Problem 8 Advanced
Let \(p\) be a prime and consider the hash family \(h_a(x) = \sum_{i=1}^{k} a_i \cdot x_i \mod p\) for \(a = (a_1, \ldots, a_k) \in \mathbb{F}_p^k\) and \(x = (x_1, \ldots, x_k) \in \mathbb{F}_p^k\).
(a) Show this family is universal: for distinct \(x \neq y\), \(\Pr_a[h_a(x) = h_a(y)] = 1/p\).
(b) Show this family is not strongly universal.
(a) For distinct \(x, y \in \mathbb{F}_p^k\), we need \(\Pr_a[h_a(x) = h_a(y)] = 1/p\). We have:
\[h_a(x) - h_a(y) = \sum_{i=1}^{k} a_i(x_i - y_i) = \langle a, x - y \rangle \pmod{p}\]Since \(x \neq y\), the vector \(x - y\) is nonzero in \(\mathbb{F}_p^k\). For a uniformly random \(a \in \mathbb{F}_p^k\), the inner product \(\langle a, x-y \rangle\) is uniformly distributed over \(\mathbb{F}_p\) (since at least one coordinate of \(x-y\) is nonzero, say coordinate \(j\), and \(a_j\) ranges over all of \(\mathbb{F}_p\)). So:
\[\Pr_a[\langle a, x-y \rangle = 0] = \frac{1}{p}\](b) For strong universality, we need: for all distinct \(x, y\) and all \(\alpha, \beta \in \mathbb{F}_p\): \(\Pr_a[h_a(x) = \alpha, h_a(y) = \beta] = 1/p^2\).
Consider \(k = 1\), \(x = 1\), \(y = 2\). Then \(h_a(1) = a\) and \(h_a(2) = 2a\). The condition \(h_a(1) = \alpha\) forces \(a = \alpha\), which then forces \(h_a(2) = 2\alpha\). So \(\Pr[h_a(1) = \alpha, h_a(2) = \beta] = 0\) whenever \(\beta \neq 2\alpha\). This is not \(1/p^2\) for all \(\alpha, \beta\).
The issue is that this family has only \(k\) degrees of freedom (the entries of \(a\)), but strong universality for pairs requires \(k+1\) degrees of freedom (adding a constant term \(b\), as in \(h_{a,b}(x) = \langle a, x \rangle + b \mod p\)). \(\square\)
Chapter quizzes
Self-test and math questions for this chapter are in the Quiz Hub (practice or exam mode).