Skip to content

第 9 章:成功条件与两个首次到达时间 ​

返回目录

9.1 先固定随机选择的范围 ​

先只研究与n互质的底数,即从U_n中均匀选取a。均匀表示其中每个剩余类被选到的概率都为1/\varphi(n)。一旦a选定,后续取幂、平方和取最大公约数都由它确定,没有新的随机选择。

第8章从全部1,\ldots,n-1抽样的算法也适用:不互质的底数直接给出因子;条件于“选到的a互质”,各个互质底数仍然等可能。因此先证明互质分支的成功率,再把直接成功的分支加回来即可。

9.2 为什么要定义两个到达时间 ​

连续平方的第j项是x_j\equiv a^{2^jr}\pmod n。用CRT拆开,模p和模q各自形成一条平方序列。两边都最终到1,但到达的时刻可能不同。

令

T_p=\min\{j\ge0:a^{2^jr}\equiv1\pmod p\},
\qquad
T_q=\min\{j\ge0:a^{2^jr}\equiv1\pmod q\}.

T_p表示模p第一次到1时,已经做了多少次平方;T_q含义相同。初始a^r已经为1时,次数记为0。这两个量都由随机底数a决定,因此称为随机变量。它们存在且不大于s,因为第s项已经为1;到1以后再平方,仍为1。

引入它们的目的,是把“前一项属于哪种平方根”转化为“两个坐标是否同时第一次到1”。后者更容易计数。

9.3 为什么到达时间不同就成功 ​

设T_p<T_q。整体序列第一次到1的时刻是T_q:此时两边都为1,而此前模q还未到1。考察前一项j=T_q-1。

模p已经到1,所以前一项的p坐标为1。模q尚未到1,但下一次平方将为1,所以前一项的q坐标是-1。这里用的是质数下方程x^2=1只有\pm1两个根,排除1后就只剩-1。

因此前一项的坐标为(1,-1),是非平凡平方根,算法成功。若T_q<T_p,同理得到(-1,1),也成功。

若T_p=T_q=t>0,前一项的两边都尚未到1,下一次却都为1,所以前一项为(-1,-1),即整体的-1,算法失败。若t=0,初始整体已为1,也失败。所有可能都已覆盖,因此对于互质底数,

\boxed{\text{成功}\Longleftrightarrow T_p\ne T_q,\qquad
\text{失败}\Longleftrightarrow T_p=T_q.}

这一步只解释成功与失败的条件,还没有给出概率。下一步要问两个到达时间分别怎样分布,以及它们是否独立。

9.4 CRT为什么给出独立的随机坐标 ​

第6章给出双射U_n\longleftrightarrow U_p\times U_q。右边共有(p-1)(q-1)对坐标;每一对恰好对应一个底数。均匀选择U_n中的底数,就等价于等可能地选择这些坐标对。

记A_p=a\bmod p、A_q=a\bmod q。固定一个非零余数b和一个非零余数c,有

P(A_p=b,A_q=c)=\frac1{(p-1)(q-1)}.

固定b而让c任意,一共有q-1对,所以P(A_p=b)=1/(p-1);同理P(A_q=c)=1/(q-1)。联合概率等于两个边缘概率的乘积,这正是独立性。

也可以把坐标对看成一个完整的行列表:模p余数决定行,模q余数决定列。知道选中了哪一行,仍不会偏向这行中的某一列,因为每行都有相同的全部列。这个理解对应的仍是上面的精确计数,而不是另外的假设。

9.5 同一个底数产生的两个到达时间为什么也独立 ​

T_p只需要a的p坐标就能计算,T_q只需要q坐标;固定的r没有额外随机性。因此分别对两个独立坐标做确定的运算,不会让它们相关。

把这一点写成计数更清楚。令B_t为模p到达时间等于t的余数集合,C_u为模q到达时间等于u的余数集合。事件T_p=t,T_q=u对应B_t\times C_u,所以

P(T_p=t,T_q=u)
=\frac{|B_t||C_u|}{(p-1)(q-1)}
=P(T_p=t)P(T_q=u).

这里|B_t|表示集合中的元素个数。对任意t,u都成立,所以T_p,T_q独立。关键不是“它们来自同一个底数”或“它们来自两个质数”,而是CRT保证均匀底数对应完整、均匀的坐标对。

9.6 概率证明现在还缺哪一步 ​

我们已把失败转化为T_p=T_q,也证明了两者独立。还需要知道:每个到达时间出现的概率是否有统一上界。

接下来的目标是证明,对于任意t,P(T_p=t)\le1/2,模q也一样。路线是:先证明取幂后的初始余数在一个较小循环群上均匀,再根据元素的阶统计首次到达时间。这里“元素均匀”与“到达时间均匀”是不同结论;后一种均匀实际上通常不成立。

保留每一次追问,认真走完每一步证明。