Lecture 3 - 2025 / 2 / 24

Primality Testing

费马素数测试:随机选择 a∈{1,2,⋯ ,n−1}a \in \{1 ,2, \cdots, n- 1\},如果 gcd⁡(a,n)≠1\gcd(a, n) \ne 1 直接输出 nn 不是素数,否则如果 ap−1≡1(modn)a^{p - 1} \equiv 1 \pmod n,则输出 Yes,否则为 No。

Definition (Carmichael number): 对于所有 1≤a<n1 \le a < n,都有 ap−1≡1(modn)a^{p-1} \equiv 1 \pmod n,则 nn 为 Carmichael 数。

Theorem: 如果 nn 是合数且不是 Carmichael 数,则 Pr⁡[Error in Fermat test]≤12\Pr[\text{Error in Fermat test}] \le \dfrac{1}{2}。

后文称 G={a∣(a,n)=1}=Zn∗G = \{a \mid (a, n) = 1\} = \Z_n^*。

令 H={a∈G∣an−1≡1(modn)}H = \{a \in G \mid a ^{n - 1} \equiv 1 \pmod n\},显然有 H⪇GH \lneq G,从而根据拉格朗日定理,Pr⁡[Error in Fermat test]≤∣H∣∣G∣≤12\Pr[\text{Error in Fermat test}] \le \dfrac{|H|}{|G|} \le \dfrac 1 2。

现在考虑 Carmichael 数,首先我们处理掉 n=pkn = p^k 的情况。

Claim: 可以在 O(log⁡2n)O(\log^2 n) 的时间内,判断一个数是不是 pkp^k。

首先 k<O(log⁡n)k < O(\log n),所以每次二分 pp 即可。

Lemma: 对于素数 pp,一定不存在 x≢±1(modp)x\not\equiv \pm 1 \pmod p,x2≡1(modp)x^2 \equiv 1 \pmod p。

(x−1)(x+1)≡0(modp)(x - 1)(x + 1) \equiv 0 \pmod p

我们试图通过寻找非平凡 11 的平方根的方式来判定素数。

记 n−1=2wOn - 1 = 2^w O。随机选择 a∈Ga \in G。

显然素数一定能通过这个测试。对于合数,如果 aa 能够成功淘汰它,则称 aa 为一个 witness。

Claim: 对于存在两个不同素因子 p1,p2p_1, p_2 的合数 nn,Pr⁡[a is a non-witness]≤12\Pr[a \text{ is a non-witness}] \le \dfrac{1}{2}。

第一步构造一个包含所有 non-witness 的 GG 的子群。

记 s∗∈{O,2O,⋯ ,2wO}s^* \in \{O, 2O, \cdots, 2^w O\} 为最大的满足,∃x∈G,xs∗≡−1(modn)\exists x \in G, x^{s^*} \equiv -1 \pmod n 的数。

s∗s^* 一定是良定义的,因为 (−1)O≡−1(modn)(-1)^O \equiv -1 \pmod n。

构造 H={a∈G∣as∗≡±1(modn)}≤GH = \{ a \in G \mid a^{s^*} \equiv \pm 1 \pmod n \} \le G。易见所有 non-witness 都包含于 HH。下面说明 H⪇GH \lneq G,即可由拉格朗日定理得到 Pr⁡[a is a non-witness]≤∣H∣∣G∣=12\Pr[a \text{ is a non-witness}] \le \dfrac{|H|}{|G|} = \dfrac{1}{2}。

考虑中国剩余定理,取出一个 (x∗)s∗≡−1(modn)(x^*)^{s^*} \equiv -1 \pmod n,我们构造满足如下方程的 a∈Ga \in G。

{a≡x∗(modp1k1)a≡1(modp2k2)\begin{cases} a\equiv x^* \pmod {p_1^{k_1}} \\ a \equiv 1 \pmod {p_2^{k_2}} \end{cases}

由于 a∉H,a∈Ga\notin H, a \in G,从而 HH 是真子群,原命题得证。

Probabilistic Method

Theorem (Ramsey): 对于 n≤2k/2n \le 2^{k/2} 个点的图,存在二染色方案,使得任意 kk 完全子图都不是同色的。

Theorem (Max Cut): 对于图 G=(V,E)G = (V, E),存在一个割的大小 ≥∣E∣2\ge \dfrac{|E|}{2}。

Independent Set

Claim: 对于图 G=(V,E)G = (V, E),存在独立集大小 ≥∑v1deg⁡(v)+1\ge \sum\limits_v \dfrac{1}{\deg (v) + 1}。

随机对点赋实数值,如果一个点是自己和邻居的最小值,就将其选入独立集。

可以看出不会选到相邻的点。vv 被选入的概率是 1deg⁡(v)+1\dfrac{1}{\deg(v) + 1},从而期望即右式。

Crossing Number

Definition (crossing number): 把 G=(V,E)G = (V, E) 嵌入平面,交叉数 c(G)c(G) 为最少的边的交点数量。

Theorem (Euler's formula): 对于平面图,∣V∣+∣R∣=∣E∣+2|V| + |R| = |E| + 2。同时 ∣R∣≥2∣E∣3|R| \ge \dfrac{2|E|}{3} 从而 ∣E∣≤3∣V∣−6|E| \le 3|V| - 6。

Claim: c(G)≥∣E∣−3∣V∣+6c(G) \ge |E| - 3|V| + 6

容易验证,最佳的嵌入方式满足:

于是,对于原图每一组相交的 (a,b),(c,d)(a, b), (c,d),构造新的点 vv,断开原来的边并将 (a,v),(b,v),(c,v),(d,v)(a, v), (b, v), (c, v), (d, v) 连边。

新图为平面图,∣E′∣=∣E∣+2c(G)|E'| = |E| + 2 c(G),∣V′∣=∣V∣+c(G)|V'| = |V| + c(G),从而
∣E∣+2c(G)≤3∣V∣+3c(G)−6⇒c(G)≥∣E∣−3∣V∣+6|E| + 2c(G) \le 3 |V| + 3c(G) - 6 \Rightarrow c(G) \ge |E| - 3|V| + 6

用概率方法加强这个结论。我们以 pp 的概率保留一个点,1−p1-p 的概率把点删去。

从而每条边有 p2p^2 的概率保留下来,每个原来的交点有 p4p^4 的概率被保留下来。

从而
p4c(G)≥E[c(G)]≥E[∣E∣−3∣V∣+6]=p2∣E∣−3p∣V∣+6p^4 c(G) \ge \mathbb E[c(G)] \ge \mathbb E[|E| - 3|V| + 6] = p^2 |E| - 3p|V| + 6\\

c(G)≥p2∣E∣−3p∣V∣+6p4≥p∣E∣−3∣V∣p3c(G) \ge \dfrac{p^2 |E| - 3p|V| + 6}{p^4} \ge \dfrac{p |E| - 3|V|}{p^3}

Claim: 对任何 ∣E∣≥4∣V∣|E| \ge 4|V| 的图 GG,有 c(G)≥∣E∣364∣V∣2c(G) \ge \dfrac{|E|^3}{64 |V|^2}。

取 p=4∣V∣∣E∣p = \dfrac{4|V|}{|E|} 即可。