11.1
题目
问题 1. 证明函数族
H={ha,b∣ha,b(x)=a⋅x+b,a∈{0,1}k,b∈{0,1}}
对于范围 R={0,1} 和定义域 U={0,1}k 是一个成对独立(pairwise independent)的哈希函数族。
解答
要证明函数族 H 是成对独立的,需验证:对任意两个不同的输入 x1,x2∈U(其中 x1=x2),以及任意两个输出 y1,y2∈R,有
h∈HPr[h(x1)=y1∧h(x2)=y2]=∣R∣21=41.
这里 h 是从 H 中均匀随机选取的函数,即 h=ha,b 且 (a,b) 均匀取自 {0,1}k×{0,1}。
证明:
固定任意 x1=x2 在 {0,1}k 中,以及任意 y1,y2∈{0,1}。定义事件:
ha,b(x1)=a⋅x1+b=y1(mod2),ha,b(x2)=a⋅x2+b=y2(mod2),
其中 a⋅x 表示二元域上的点积(即 ∑i=1kaiximod2)。
-
建立线性方程组:
将两个方程相减(在二元域中,加法等同于减法):
(a⋅x1+b)+(a⋅x2+b)=y1+y2(mod2).
化简得(注意 b+b=0(mod2)):
a⋅(x1+x2)=y1+y2(mod2).(∗)
令 d=x1+x2 和 c=y1+y2。由于 x1=x2,有 d=0。方程 (∗) 即:
a⋅d=c(mod2).
-
分析方程的解:
- 方程 a⋅d=c 是关于 a 的线性方程。
- 因为 d=0,该方程在 {0,1}k 中恰有 2k−1 个解(即满足条件的 a 的数量)。
- 对每个满足 a⋅d=c 的 a,由原方程解出 b:
b=y1+a⋅x1(mod2).
此 b 也满足第二个方程,因为:a⋅x2+b=a⋅x2+(y1+a⋅x1)=a⋅(x1+x2)+y1=c+y1=(y1+y2)+y1=y2(mod2).
因此,对每个满足 (∗) 的 a,存在唯一的 b 使两个事件同时成立。
-
计算概率:
- 满足条件的 (a,b) 对的数量:2k−1(因有 2k−1 个 a,每个对应唯一 b)。
- H 的总大小:∣H∣=∣{0,1}k∣×∣{0,1}∣=2k×2=2k+1。
- 概率为:
Pr=总对数满足条件的 (a,b) 对数=2k+12k−1=41.
因此,函数族 H 是成对独立的。
11.2
题目
(a)
考虑一个在 n+1 个顶点 0,1,…,n 上的随机游走 X0,X1,X2,…,其转移概率如下:
Pr(Xt=k∣Xt−1=j)=⎩⎪⎨⎪⎧2110如果 j∈[1,n−1] 且 k=j±1,如果 j=0,k=1 或 j=n,k=n,其他情况.
设 Ti 为从初始状态 X0=i 出发,到达终点顶点 n 的期望步数。证明对于所有 i∈[0,n],有 Ti≤n2。
(b)
考虑以下针对 n 个变量的 2-SAT 问题的随机算法。
- 1: 选择一个任意的初始赋值。
- 2: for t=1,2,…,2n2 do
- 3: if 当前赋值满足所有子句 then
- 5: else
- 6: 选择一个未被满足的子句(任意选择)。
- 7: 以均匀概率随机选择该子句中的一个文字。
- 8: 翻转所选文字中变量的值。
- 9: end if
- 10: end for
- 11: 如果尚未接受,则拒绝。
使用马尔可夫不等式证明,当输入是一个可满足的实例(即存在满足赋值)时,该算法以至少 21 的概率找到一个满足解(即在循环结束前接受)。
解答
(a)
考虑随机游走在顶点 0,1,…,n 上,转移概率如题所述。顶点 n 是吸收态(一旦到达即停留),顶点 0 是反射壁(总是移动到 1)。设 Ti 为从状态 i 到达状态 n 的期望步数。
定义 Ti 满足以下方程:
- Tn=0(因为已在终点)。
- 对于 i=0,有 T0=1+T1(因为从 0 总是移动到 1,需一步)。
- 对于 i∈[1,n−1],有 Ti=1+21Ti−1+21Ti+1(因为以概率 21 移动到 i−1 或 i+1,需一步)。
这是一个线性方程组。假设解的形式为二次函数 Ti=ai2+bi+c。代入边界条件求解:
因此,解为 Ti=−i2+n2=n2−i2.
由于 i2≥0 且 i∈[0,n],有 n2−i2≤n2,等号成立当且仅当 i=0。
故对于所有 i∈[0,n],有 Ti≤n2.
(b)
假设输入是一个可满足的 2-SAT 实例(存在满足赋值)。设 S 为一个固定的满足赋值。定义随机过程:
- Dt 为时间 t 时当前赋值与 S 的汉明距离(不同变量的个数)。Dt=0 时表示找到满足赋值(算法接受)。
- T 为首次命中 Dt=0 的时间(即找到满足赋值的步数)。
算法运行最多 2n2 步。目标是证明 P(T≤2n2)≥21,即 P(T>2n2)≤21.
分析 Dt 的变化:
- 当当前赋值不满足时,存在未满足子句。选择这样一个子句(对手任意选择),并以均匀概率随机翻转其中一个文字对应的变量。
- 由于 S 满足该子句,在 S 中至少有一个文字为真。翻转一个变量后,Dt 变化为 ±1(因为只改变一个变量的匹配状态)。
- 考虑子句类型:
- 若子句在 S 中恰有一个真文字,则翻转后:以概率 21 减少 Dt(翻转真文字对应的变量),以概率 21 增加 Dt(翻转假文字对应的变量)。
- 若子句在 S 中有两个真文字,则翻转后:Dt 一定减少 1(无论翻转哪个变量)。
- 对手为最大化期望时间,会选择使减少概率最小的子句。即,如果存在恰有一个真文字的子句,则选择它(此时减少概率为 21);否则(所有未满足子句都有两个真文字),减少概率为 1。
- 因此,在任何状态下,减少 Dt 的概率至少为 21,即 P(Dt+1=Dt−1)≥21,P(Dt+1=Dt+1)≤21,且 Dt 变化为 ±1,边界:Dt=0 时吸收,Dt=n 时下一步一定减少(因为未满足子句必有两个真文字)。
期望时间分析:
设 Ed 为从距离 d 出发的 E[T]。最坏情况下(对手使减少概率最小化),假设对于 d∈[1,n−1],有 P(减少)=21,P(增加)=21。边界条件:
- E0=0(已吸收)。
- 对于 d=n,有 En=1+En−1(因为下一步一定到 n−1)。
- 对于 d∈[1,n−1],有 Ed=1+21Ed−1+21Ed+1.
求解该方程组:
- 递推关系:Ed+1−2Ed+Ed−1=−2(整理方程得)。
- 齐次解:特征方程 r2−2r+1=0 有重根 r=1,故齐次解为 a+bd。
- 特解:假设 Ed=cd2,代入得 2c=−2,即 c=−1。
- 通解:Ed=a+bd−d2。
- 边界条件:
- d=0: E0=a=0。
- d=n: En=bn−n2=1+En−1=1+[b(n−1)−(n−1)2]。
代入化简:bn−n2=1+bn−b−n2+2n−1,即 0=−b+2n,得 b=2n。
- 故 Ed=2nd−d2=d(2n−d)。
由于 d∈[0,n],有 Ed=d(2n−d)≤n⋅n=n2(最大值在 d=n 时取 En=n2)。
实际中,减少概率可能大于 21,故 E[T]≤n2(最坏情况下等号成立)。
应用马尔可夫不等式:
- T 是非负随机变量,且 E[T]≤n2。
- 算法运行 2n2 步,考虑事件 T>2n2。
- 由马尔可夫不等式:P(T>2n2)≤2n2E[T]≤2n2n2=21。
- 因此,P(T≤2n2)≥1−21=21。
即,当输入可满足时,算法在 2n2 步内找到满足解的概率至少为 21。