Lecture 1 - 2025 / 2 / 17

Checking matrix multiplication

输入:三个 n×nn\times n 矩阵 A,B,CA, B, C

输出:是否 AB=CAB = C

随机选定向量 r=(r1,r2,,rn)r = (r_1, r_2, \cdots, r_n),其中 rir_i 独立同分布于 U(S)U(S)2S<N2 \le |S| < |\N|

如果 (AB)rCr(AB)r \ne Cr 则输出 No,否则输出 Yes

确定算法 O(n3)O(n^3),或者最优秀的是 O(n2.376)O(n^{2.376})

算法时间复杂度 O(n2)O(n^2)

Claim: 如果 ABCAB \ne C,则 Pr[(AB)r=Cr]1S\Pr[(AB)r = Cr] \le \dfrac{1}{|S|}

D=ABC0D = AB - C \ne 0,则不失一般性设 d110d_{11} \ne 0

如果 Dr=0Dr = 0,则

(Dr)1=i=1nd1iri=0(Dr)_1 = \sum_{i=1}^{n} d_{1i}r_i = 0

于是

r1=1d11(d12r2++d1nrn)r_1 = - \dfrac{1}{d_{11}} (d_{12} r_2 + \cdots + d_{1n} r_n)

于是对于 r2,,rnr_2, \cdots, r_n 的每种选择,r1r_1 只有唯一的可能性有可能使 Dr=0Dr = 0,于是 Pr[Dr=0]1S\Pr[Dr = 0] \le \dfrac{1}{|S|}

Checking associativity

输入:在一个大小为 nn 的集合 XX 上定义二元运算 \circ

输出:是否满足结合律 i,j,kX,i(jk)=(ij)k\forall i, j, k \in X, i \circ(j \circ k) = (i \circ j) \circ k

确定性算法 O(n3)O(n^3)

不妨规定 X={1,2,,n}X = \{1 ,2, \cdots, n\}

首先可以构造一种 \circ 使得不满足条件的三元组是常数组。

事实上,构造 12=11 \circ 2 = 1,其余运算结果全部为 33,则只有 (12)21(22)(1 \circ 2) \circ 2 \ne 1 \circ (2 \circ 2)

X=2X\mathcal X = 2^X,对于 RXR \in \mathcal X,可以用 R=r1r2rnR = r_1r_2\cdots r_n 表示,其中 riF2r_i \in \mathbb F_2 表示 ii 有没有在 RR 中出现。

从而 RR 可以写成 i=1nrii\sum\limits_{i = 1}^{n} r_i \cdot i

我们在 X\mathcal X 上定义一种 ++ 运算,并扩展 \circ 运算

R+S=i=1n(ri+si)iRS=i=1nj=1n(risj)(ij)R + S = \sum_{i=1}^{n} (r_i + s_i) \cdot i \\ R\circ S = \sum_{i=1}^{n}\sum_{j=1}^{n} (r_i s_j) \cdot (i\circ j)

我们将算法规定为:

均匀随机选择 R,S,TXR, S, T \in \mathcal X,如果 (RS)TR(ST)(R \circ S) \circ T \ne R \circ(S \circ T) 输出 No,否则输出 Yes

可以看出 \circXX 上是结合的,等价于 \circX\cal X 上是结合的。

\Rightarrow 可以通过展开得到,\Leftarrow 是因为单元素集 X\in \cal X

Claim: 如果 \circ 不结合,那么 Pr[(RS)T=R(ST)]78\Pr[(R \circ S) \circ T = R \circ (S \circ T)] \le \dfrac 7 8

假设存在 i,j,ki^*, j^*, k^* 不结合。

任取一组 R0,S0,T0R_0, S_0, T_0 使得 iR0,jS0,kT0i^* \notin R_0, j^* \notin S_0, k^* \notin T_0

R1=R0{i},S1=S0{j},T1=T0{k}R_1 = R_0 \cup \{i^*\}, S_1 = S_0 \cup \{j^*\}, T_1 = T_0 \cup \{k^*\}

则设 f(α,β,γ)=(αβ)γ+α(βγ)f(\alpha, \beta, \gamma) = (\alpha \circ \beta) \circ \gamma + \alpha \circ (\beta \circ \gamma)

不结合即 f({i},{j},{k})f(\{i^*\}, \{j^*\}, \{k^*\}) \ne \varnothing

根据容斥原理 f({i},{j},{k})=r,s,t{0,1}f(Rr,Ss,Tt)f(\{i^*\}, \{j^*\}, \{k^*\}) = \sum_{r,s,t\in \{0, 1\} } f(R_r, S_s, T_t) \ne \varnothing

从而 r,s,t{0,1}\exists r, s, t \in \{0, 1\} 使得 f(Rr,Ss,Tt)f(R_r, S_s, T_t) \ne \varnothing

由于这样的 (R0,S0,T0)(R_0, S_0, T_0) 以及衍生出的 88 个集合构成了 X3\cal X^3 的一个划分,所以一定有 18\frac{1}{8}X\cal X 的三元组是不满足结合律的。

Testing Polynomial Identities

给定某个域下 22nn 元多项式 P,QP, Q,判定是否 PQP \equiv Q

作差后问题等价于判定 P0P \equiv 0 是否成立。

我们在有限集 S|S| 上均匀随机采样 r1,,rnr_1, \cdots, r_n,并带入 PP 计算。

Claim: 如果 P0P \ne 0,则 Pr[P(r1,,rn)=0]dS\Pr[P(r_1, \cdots, r_n) = 0] \le \dfrac{d}{|S|},其中 d=degPd = \deg P

对于 nn 归纳。n=1n = 1 时显然至多 dd 个根,结论成立。

kkPP 关于 x1x_1 的最大度数。

P(x1,,xn)=M(x2,,xn)x1k+N(x1,,xn)P(x_1, \cdots, x_n) = M (x_2, \cdots, x_n) x_1^k + N(x_1, \cdots, x_n)

其中 degMdk\deg M \le d - kNNx1x_1 的度数 <k< k

E\cal E 表示 M(r2,,rn)=0M(r_2, \cdots, r_n) = 0

  1. 如果 E\cal E 发生,则对 MM 由归纳,Pr[E]dkS\Pr[\mathcal E] \le \dfrac{d - k}{|S|}

  2. 如果 E\cal E 不发生,则当固定 r2,,rnr_2, \cdots, r_n 时,PP 是关于 x1x_1kk 次多项式,从而能使 P=0P = 0x1x_1 不超过 kk 个,于是 Pr[P(r1,,rn)=0¬E]kS\Pr[P(r_1, \cdots, r_n) = 0 \mid \neg \mathcal E] \le \dfrac{k}{|S|}

根据 union bound 立刻得证。