笔记来源:高级算法设计(孙晓明老师部分)
本文参考:http://people.seas.harvard.edu/~salil/pseudorandomness/basic.pdf
关于条件期望用于去随机化的原理https://blog.csdn.net/qq_38662930/article/details/105141845
最大割
定义将图的顶点分为两个集合,使得集合间的边数最大
形式化定义:
设最优的割划分为
OPT,随机算法求出的一个割为
δ(U)定义其比值 为
OPTδ(U),比值越接近1越好 。通过随机 算法可以找到一个之割,其期望割边至少是边数的二分之一。
主要思想是:对于每一个顶点以掷硬币的方式决定其是否属于所求的割。
证明:分为两个集合S和T,
∀(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)∣)的期望,然后利用全概率公式展开成关于
Z1(表示第一个顶点是否进入所求割)的条件概率期望,我们总能求出关于
E(Y∣Z1=1)和
E(Y∣Z1=0)的大小关系,然后向上放大。接下来我们再求出关于$Z_1
的最优解,然后再对X_2 $进行展开和放大,直到所有的顶点全部展开.
从而求得一个可行割
∣E(A,B)∣=E(Y∣u1∈A,u2∈B...)≥E(∣E(A,B)∣)