切换深浅主题
第 10 章:取幂的均匀性与到达时间分布
10.1 均匀输入怎样才能产生均匀输出
先说明一个将反复使用的计数原则。若在一个有限集合
上均匀,令
。对于一个输出
,
分子是产生的输入个数,也称
的原像个数。因为每个输入概率相同,输出概率就由有多少个输入合到这里决定。若每个可能输出的原像一样多,输出才均匀;若
是双射,每个输出只有一个原像,当然也均匀。
所以“底数均匀”本身不足以推出“取幂后均匀”。下面必须实际检查这个取幂映射的原像数量,以及哪些映射是双射。
10.2 把模数的乘法周期拆成奇部和2的幂
只分析模,模
同理。把
中的因子2全部提出,写成
表示
含有多少个因子2;因为
为奇质数,
。另一方面,算法的指数是
,
为奇数。由于
,有
和
。
后一个整除关系为什么成立?,但
是奇数,与
互质,所以可以消去
,推出
。于是写
,
也为奇数。
取模的原根
,令
。因为
的阶为
,第4.4节给出
因此生成一个恰有
个元素的循环群
提出奇部的作用,就是从长度
的原根循环中,得到长度纯为2的幂的循环。算法先算
,也会消去这个奇部;下一节把两件事连接起来。
10.3 为什么指数开始对2的幂取模
原根给出唯一编号,其中
。取
次幂后,
现在底数变为,它的阶是
。所以
的值由指数
决定。这就是为什么指数的模数变为
。
幂值仍在模下计算,指数则按
的周期取模
。 没有把
改成
。第4.3节的指数与幂值区分在这里再次出现。
10.4 为什么取幂后在这个循环群上均匀
由第9章,在全部非零类上均匀。原根编号是双射,所以
也在
上均匀。接着沿上一节的等式分三步看分布。
首先将对
取余。固定余数
,恰有
这个编号产生它。每个余数的原像数相同,所以
均匀,每个概率为
。
其次把这个余数乘。因为
为奇数,
,乘法可消去:若
,必有
。因此乘
是一个排列,
仍均匀。此处只需要
与
互质,不需要它与整个
互质。
最后由编号转为
。由于
的阶恰好为
,这又是双射。所以
完整的依据依次是:原根给出双射编号,取余有等大小原像,乘奇数是排列,最后的幂编号又是双射。 取幂通常没有在全部个非零类上保持均匀,而是在这个较小的
上均匀。
如果希望核对各步,可以取:
,选原根
,则
的阶为4。取
,有
;12个编号对4取余时每个余数有3个原像,乘3再把四个余数重排,因此输出
各占
。这个例子对应上面的原像数与排列,不承担一般证明。
10.5 到达时间为什么由元素阶决定
令,它已在
中。假设
的阶为
。连续平方
次就是计算
,所以第4.2节告诉我们
因为是
阶循环群,
的阶必为
,其中
。这可以直接从
与幂阶公式
看出,也符合“元素阶整除群阶”的一般定理。
当时,
等价于
,所以最早到1的时刻恰为
。
意味着
,即初始
已经是1。现在问题变成:
中有多少个元素的阶恰为
?
10.6 怎样从阶的个数得到概率
先做一般计数。设的阶为
,全部元素是
,
。若
,由幂阶公式,
的阶恰好为
等价于
满足条件的编号必能写成,其中
。代入最大公约数,条件进一步等价于
。这样的
恰有
个,所以循环群中阶恰为
的元素有
个。
时只有单位元;第16章保留完整的群论证明。
回到。阶为1的元素有1个;阶为
、
的元素有
个。这是因为
至
中与
互质的编号正是奇数,恰占一半。
每个元素的概率已知为,因此
这是“符合条件的元素个数除以全部元素个数”,不是把各个到达时间直接设成等可能。比如时,阶1、2、4分别有1、1、2个元素,所以
取0、1、2的概率为
。这个小例子显示:元素均匀,到达时间却不均匀,因为不同阶的元素数量不同。
一般情况下,所有概率的总和为。而每个概率都不超过
:
用
;
时最大值在
取得,恰为
。模
完全同理,只需把
换成
中因子2的次数
。