笔记来源:高级算法设计(孙晓明老师部分)
本文参考:http://people.seas.harvard.edu/~salil/pseudorandomness/basic.pdf
关于条件期望用于去随机化的原理https://blog.csdn.net/qq_38662930/article/details/105141845
最大割
定义将图的顶点分为两个集合,使得集合间的边数最大
形式化定义:
设最优的割划分为
O
P
T
OPT
OPT,随机算法求出的一个割为
δ
(
U
)
\delta(U)
δ(U)定义其比值 为
δ
(
U
)
O
P
T
\frac{\delta(U)}{OPT}
OPTδ(U),比值越接近1越好 。通过随机 算法可以找到一个之割,其期望割边至少是边数的二分之一。
主要思想是:对于每一个顶点以掷硬币的方式决定其是否属于所求的割。
证明:分为两个集合S和T,
∀
(
u
i
,
v
j
)
∈
E
当
u
i
∈
S
,
v
j
∈
T
,
或
u
i
∈
T
,
v
j
∈
S
时
即
p
r
(
x
i
≠
x
j
)
,
则
u
i
,
v
j
在
对
应
的
割
中
P
r
{
(
u
i
,
v
j
)
∈
E
(
S
,
T
)
}
=
1
/
4
+
1
/
4
=
1
/
2
,
此
时
E
{
δ
(
U
)
}
=
E
2
\forall (u_i,v_j) \in E \\ 当u_i \in S,v_j \in T,或u_i \in T,v_j \in S时\\ 即pr(x_i\ne x_j) ,则u_i,v_j 在对应的割 中\\ Pr\{(u_i,v_j)\in E(S,T)\}=1/4+1/4=1/2,\\此时E\{\delta(U) \}=\frac{E}{2}
∀(ui,vj)∈E当ui∈S,vj∈T,或ui∈T,vj∈S时即pr(xi=xj),则ui,vj在对应的割中Pr{(ui,vj)∈E(S,T)}=1/4+1/4=1/2,此时E{δ(U)}=2E,
当不再是硬币选择是(例如1/3,则结果可以是5/9),概率变会提高,因此最小是1/2
利用条件期望去随机化
主要思想:利用逐次固定变量的优化方法,先通过期望找到一个好的然后利用条件期望去随机化。
如上图所示,我们己经求出
E
(
∣
E
(
A
,
B
)
∣
)
E(|E(A,B)|)
E(∣E(A,B)∣)的期望,然后利用全概率公式展开成关于
Z
1
(
表
示
第
一
个
顶
点
是
否
进
入
所
求
割
)
Z_1(表示第一个顶点是否进入所求割)
Z1(表示第一个顶点是否进入所求割)的条件概率期望,我们总能求出关于
E
(
Y
∣
Z
1
=
1
)
E(Y|Z_1=1)
E(Y∣Z1=1)和
E
(
Y
∣
Z
1
=
0
)
E(Y|Z_1=0)
E(Y∣Z1=0)的大小关系,然后向上放大。接下来我们再求出关于$Z_1
的
最
优
解
,
然
后
再
对
的最优解,然后再对
的最优解,然后再对X_2 $进行展开和放大,直到所有的顶点全部展开.
从而求得一个可行割
∣
E
(
A
,
B
)
∣
=
E
(
Y
∣
u
1
∈
A
,
u
2
∈
B
.
.
.
)
≥
E
(
∣
E
(
A
,
B
)
∣
)
|E(A,B)|=E(Y|u_1\in A,u_2\in B...)\geq E(|E(A,B)|)
∣E(A,B)∣=E(Y∣u1∈A,u2∈B...)≥E(∣E(A,B)∣)