UA MATH567 高维统计II 随机向量9 图的Max-cut问题 0.878近似算法
UA MATH567 高维统计II 随机向量9 图的Max-cut问题 0.878近似算法
上一讲我们用整数规划对MAX-CUT问题建了模,CUT(G,x)=12∑xixj=−1Aij=14∑i,jAij(1−xixj)=14∑i,jAij−14∑i,jAijxixjCUT(G,x)=\frac{1}{2}\sum_{x_ix_j=-1}A_{ij} = \frac{1}{4}\sum_{i,j}A_{ij}(1-x_ix_j) \\ = \frac{1}{4}\sum_{i,j}A_{ij}-\frac{1}{4}\sum_{i,j}A_{ij} x_ix_jCUT(G,x)=21xixj=−1∑Aij=41i,j∑Aij(1−xixj)=41i,j∑Aij−41i,j∑Aijxixj第一项是常数,于是
MAX−CUT(G)=maxxCUT(G,x)⇔minx∈{−1,1}nxTAxMAX-CUT(G)=\max_x CUT(G,x) \Leftrightarrow \min_{x \in \{-1,1\}^n} x^TAxMAX−CUT(G)=xmaxCUT(G,x)⇔x∈{−1,1}nminxTAx并且我们给了一个0.5 approximation algorithm,这一讲我们讨论一个更先进的0.878-approximation algorithm。
上上上讲我们介绍了用半正定规划近似整数规划,既然MAX-CUT问题可以用整数规划建模,那么我们也可以用半正定规划来近似MAX−CUT(G)MAX-CUT(G)MAX−CUT(G),也就是
SDP(G)=14max∥Xi∥2=1{∑i,jAij(1−⟨Xi,Xj⟩)}SDP(G)=\frac{1}{4}\max_{\left\| X_i \right\|_2=1}\{\sum_{i,j}A_{ij}(1-\langle X_i,X_j \rangle)\}SDP(G)=41∥Xi∥2=1max{i,j∑Aij(1−⟨Xi,Xj⟩)}
根据relaxation的性质,
SDP(G)≥MAX−CUT(G)SDP(G) \ge MAX-CUT(G)SDP(G)≥MAX−CUT(G)
下面我们推导用半正定规划近似max-cut的效果:
假设X1,⋯,XnX_1,\cdots,X_nX1,⋯,Xn是SDP(G)SDP(G)SDP(G)的解,我们做random rounding,即定义g∼N(0,In)g \sim N(0,I_n)g∼N(0,In),定义xi=sgn(⟨Xi,g⟩)x_i = sgn(\langle X_i,g \rangle)xi=sgn(⟨Xi,g⟩),使用x=(x1,⋯,xn)x = (x_1,\cdots,x_n)x=(x1,⋯,xn),我们可以计算ECUT(G,x)ECUT(G,x)ECUT(G,x),可以证明
ECUT(G,x)≥0.878SDP(G)≥0.878MAX−CUT(G)ECUT(G,x) \ge 0.878 SDP(G) \ge 0.878MAX-CUT(G)ECUT(G,x)≥0.878SDP(G)≥0.878MAX−CUT(G)
称这个近似为0.878-approximation algorithm。
引理 Grothendieck恒等式
u,v∈Sn−1u,v \in S^{n-1}u,v∈Sn−1,g∈N(0,In)g \in N(0,I_n)g∈N(0,In),则
E(sgn⟨g,u⟩sgn⟨g,v⟩)=2πarcsin⟨u,v⟩E(sgn \langle g,u \rangle sgn\langle g,v \rangle)=\frac{2}{\pi}\arcsin \langle u,v \rangleE(sgn⟨g,u⟩sgn⟨g,v⟩)=π2arcsin⟨u,v⟩
证明
假设u,vu,vu,v的夹角(nnn维单位球的球心角)为θ\thetaθ,则
sgn⟨g,u⟩sgn⟨g,v⟩={1,withprob1−π/θ−1,withprobπ/θsgn \langle g,u \rangle sgn\langle g,v \rangle = \begin{cases} 1, with \ prob \ 1-\pi/\theta \\ -1,with \ prob \ \pi/\theta \end{cases}sgn⟨g,u⟩sgn⟨g,v⟩={1,with prob 1−π/θ−1,with prob π/θ
因此
E[sgn⟨g,u⟩sgn⟨g,v⟩]=π−2θπE[sgn \langle g,u \rangle sgn\langle g,v \rangle]=\frac{\pi -2\theta}{\pi}E[sgn⟨g,u⟩sgn⟨g,v⟩]=ππ−2θ
其中θ=arccos⟨u,v⟩\theta = \arccos\langle u,v \rangleθ=arccos⟨u,v⟩,
E[sgn⟨g,u⟩sgn⟨g,v⟩]=2π(π2−arccos⟨u,v⟩)=2πarcsin⟨u,v⟩E[sgn \langle g,u \rangle sgn\langle g,v \rangle] = \frac{2}{\pi}(\frac{\pi}{2}-\arccos\langle u,v \rangle) \\ = \frac{2}{\pi}\arcsin \langle u,v \rangleE[sgn⟨g,u⟩sgn⟨g,v⟩]=π2(2π−arccos⟨u,v⟩)=π2arcsin⟨u,v⟩
证明0.878近似
ECUT(G,x)=E14∑i,jAij(1−xixj)=14∑i,jAij(1−Exixj)=14∑i,jAij(1−Esgn(⟨Xi,g⟩)sgn(⟨Xj,g⟩))=14∑i,jAij(1−2πarcsin⟨Xi,Xj⟩)ECUT(G,x) =E\frac{1}{4}\sum_{i,j}A_{ij}(1-x_ix_j) = \frac{1}{4}\sum_{i,j}A_{ij}(1-Ex_ix_j) \\ =\frac{1}{4}\sum_{i,j}A_{ij}(1-Esgn(\langle X_i,g \rangle)sgn(\langle X_j,g \rangle)) \\ = \frac{1}{4}\sum_{i,j}A_{ij}(1-\frac{2}{\pi}\arcsin \langle X_i,X_j \rangle) ECUT(G,x)=E41i,j∑Aij(1−xixj)=41i,j∑Aij(1−Exixj)=41i,j∑Aij(1−Esgn(⟨Xi,g⟩)sgn(⟨Xj,g⟩))=41i,j∑Aij(1−π2arcsin⟨Xi,Xj⟩)
最后一步用的Grothendieck恒等式。我们继续计算
14∑i,jAij(1−2πarcsin⟨Xi,Xj⟩)=14∑i,jAij2πarccos⟨Xi,Xj⟩\frac{1}{4}\sum_{i,j}A_{ij}(1-\frac{2}{\pi}\arcsin \langle X_i,X_j \rangle) = \frac{1}{4}\sum_{i,j}A_{ij}\frac{2}{\pi}\arccos \langle X_i,X_j \rangle41i,j∑Aij(1−π2arcsin⟨Xi,Xj⟩)=41i,j∑Aijπ2arccos⟨Xi,Xj⟩
希望看到的结果是
2πarccos⟨Xi,Xj⟩≥C(1−⟨Xi,Xj⟩)\frac{2}{\pi}\arccos \langle X_i,X_j \rangle \ge C(1- \langle X_i,X_j \rangle)π2arccos⟨Xi,Xj⟩≥C(1−⟨Xi,Xj⟩)
这样我们就可以得到
ECUT(G,x)≥C×SDP(G)ECUT(G,x) \ge C \times SDP(G)ECUT(G,x)≥C×SDP(G)
画出2arccos(x)π(1−x)\frac{2\arccos (x)}{\pi(1-x)}π(1−x)2arccos(x)的图像,就可以发现0.878是最小值了(0.879是近似的结果)
UA MATH567 高维统计II 随机向量9 图的Max-cut问题 0.878近似算法相关推荐
- UA MATH567 高维统计II 随机向量8 图的Max-cut问题 0.5近似算法的运行时间分析
UA MATH567 高维统计II 随机向量8 图的Max-cut问题 0.5近似算法的运行时间分析 我们之前讨论了图的max-cut问题的0.5近似算法,也就是给定一张图,按掷硬币的概率决定是否切开 ...
- UA MATH567 高维统计II 随机向量8 图的max-cut问题 0.5近似算法
UA MATH567 高维统计II 随机向量8 图的Max-cut问题 0.5近似算法 前两讲讨论了随机向量的概率不等式的一个应用:半正定规划近似求解整数规划,这一讲我们讨论它的另一个应用--图的ma ...
- UA MATH567 高维统计II 随机向量10 Grothendieck不等式的证明 版本二:kernel trick
UA MATH567 高维统计II 随机向量10 Grothendieck不等式的证明 版本二:kernel trick 在介绍亚高斯随机向量的更多应用之前,我们先简单介绍一下核方法(kernel t ...
- UA MATH567 高维统计II 随机向量11 kernel的构造 用内积替换反三角函数
UA MATH567 高维统计II 随机向量11 kernel的构造 用内积替换反三角函数 我们来做上一讲剩下的kernel的构造,完成Grothendieck不等式的证明中的kernel trick ...
- UA MATH567 高维统计II 随机向量7 Grothendieck不等式
UA MATH567 高维统计II 随机向量7 Grothendieck不等式 上一讲我们介绍了用半正定规划近似一个整数规划的方法,要证明这种近似与原整数规划解的大小关系,我们需要Grothendie ...
- UA MATH567 高维统计II 随机向量6 亚高斯随机向量的应用: 半正定规划
UA MATH567 高维统计II 随机向量6 亚高斯随机向量的应用: 半正定规划 半正定规划(semidefinite programming, SDP)是凸优化的一个分支: maxX⟨A,X⟩s ...
- UA MATH567 高维统计II 随机向量5 亚高斯随机向量
UA MATH567 高维统计II 随机向量5 亚高斯随机向量 这一讲我们将亚高斯分布推广到高维. 亚高斯随机向量 XXX是一个nnn维随机向量,称XXX是亚高斯随机向量如果∀x∈Sn−1\foral ...
- UA MATH567 高维统计II 随机向量4 Frame、凸性与各向同性
UA MATH567 高维统计II 随机向量4 Frame.凸性与各向同性 上一讲末尾我们介绍了frame作为标准正交基的推广的概念,我们称{ui}i=1N,ui∈Rn\{u_i\}_{i=1}^N, ...
- UA MATH567 高维统计II 随机向量3 常见的高维随机向量的分布
UA MATH567 高维统计II 随机向量3 常见的高维随机向量的分布 Spherical Distribution Symmetric Bernoulli Distribution 正态分布 Fr ...
最新文章
- 5月23日 JavaScript
- 控制机械手叫什么_用意念控制机械手臂?世界上第一个半机械人即将诞生!
- [Issue Fixed]-GCC编译[-Werror,-Wformat]
- C#基础知识整理:基础知识(1) Main方法
- 大学必须掌握的计算机技巧,大学生必须掌握的电脑办公技巧
- C/C++人机猜拳游戏
- 批量读入一个文件夹中文件的数据操作实例
- MVC应用程序的jQuery代码重构
- python的最大优势之一是有理数吗_Python里的有理数类(精度高,可计算)
- c语言结构体多次调用错误,C语言在使用中遇到了一个结构体赋值失败的问题?...
- 抓取Amazon产品评论的神器
- python3.5中文手册chm_python3官方帮助文档-python3.5.2官方chm参考手册-东坡下载
- 【sm2算法】基于mbedtls开源库国密算法的使用(二)
- oracle user_source表
- 【原】win 7 屏幕旋转问题的解决
- 十一、TN 的本征自洽方法、梯度更新与任意 TN 的收缩
- 怎么隐藏label标签
- 后端给图片加水印的方法
- 手机信号屏蔽器的设计与制作
- 逆水寒显示连接服务器失败,逆水寒脚本封号吗地下城fc提示连接服务器失败
热门文章
- 房地产萧条的两个标志
- 用java做出32选7_用java做的一个彩票32选7的简单程序
- 模板引擎——Thymeleaf
- EasyTable.js,令html的table布局变得非常简单!
- nginx+tomcat实现主备切换
- leetcode C++ 6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
- leetcode C++ 28. 实现 strStr() 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 need
- Error - section 'InterruptVectorLow' can not fit the absolute section. Section 'InterruptVectorLow'
- 使用Matlab画心形线
- [YTU]_2428(C语言习题 计算该日在本年中是第几天)