高级算法设计之 -- Derandomized MAXCUT Approximation

笔记来源:高级算法设计(孙晓明老师部分)
本文参考:http://people.seas.harvard.edu/~salil/pseudorandomness/basic.pdf

关于条件期望用于去随机化的原理https://blog.csdn.net/qq_38662930/article/details/105141845

最大割

定义将图的顶点分为两个集合,使得集合间的边数最大
形式化定义:
在这里插入图片描述
在这里插入图片描述
设最优的割划分为 O P T OPT ,随机算法求出的一个割为 δ ( U ) \delta(U) 定义其比值 为 δ ( U ) O P T \frac{\delta(U)}{OPT} ,比值越接近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} ,
当不再是硬币选择是(例如1/3,则结果可以是5/9),概率变会提高,因此最小是1/2

利用条件期望去随机化

在这里插入图片描述
主要思想:利用逐次固定变量的优化方法,先通过期望找到一个好的然后利用条件期望去随机化。
如上图所示,我们己经求出 E ( E ( A , B ) ) E(|E(A,B)|) 的期望,然后利用全概率公式展开成关于 Z 1 ( ) Z_1(表示第一个顶点是否进入所求割) 的条件概率期望,我们总能求出关于 E ( Y Z 1 = 1 ) E(Y|Z_1=1) E ( Y Z 1 = 0 ) E(Y|Z_1=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)|)

猜你喜欢

转载自blog.csdn.net/qq_38662930/article/details/105138528