发 帖  
原厂入驻New
[问答]

求最大密度子图?

55 密度计
分享
2020-11-11 06:17:11   评论 分享淘帖 邀请回答
3个回答
无向图 /(G(V,E)/) 的密度  /(D = /dfrac {|E|} {|V|}/)
若选择了边 /((u,v)/)  则必须有 /(u /in V , v /in V/)
最大密度子图

具有最大密度的子图,最大化 /(D' = /dfrac {|E'|} {|V'|}/)
根据之前的分数规划
可以二分答案
并且有如下引理


  • 任意两个子图的密度差 /(/ge /dfrac 1{n^2}/)

/(/dfrac {m_1}{n_1} - /dfrac {m_2}{n_2} = /dfrac {m_1n_2 - m_2n_1} {n_1n_2} /ge /dfrac 1 {n_1n_2} /ge /dfrac 1 {n^2}/)
现在的主要问题是如何 /(Judge/)
设要检验的值为 /(g/) , 构造函数 $f =  |E| - g|V| $ , 现在的目标是使得 /(f/)  最大
有两种方法
2020-11-11 14:52:32 评论

举报

1. 最大权闭合子图

目标:
最大化  /(f = |E| - g|V|/)
把无向边 /((u,v)/) 看做一个点连接两条有向边指向 /(u/) 和 /(v/)  原图的点权值设为 /(-g/)  ,
边的点为 /(1/)  ,这样就转成了最大权闭合子图的问题
2020-11-11 14:52:39 评论

举报

2.优化算法(诱导子图最小割)
对于点集 /(V'/) , 显然能选的边要尽可能的都选上

所有能选的边为 /(V'/) 中点的度的和减去割 /([V',/overline{V'}]/) 的容量的一半

/[|E'| = /dfrac {/sum_{v/in V'}deg(v) -c[V',/overline{V'}]}2/]


/[f = /dfrac 12/big(/sum_{v/in V'}deg(v)-c[V',/overline{V'}] - 2/sum_{v /in V'}g/big) // = /dfrac 12/big(/sum_{v/in V'}(deg(v)-2g)-c[V',/overline{V'}] /big)/]

按如下建图, /(U/) 是一个大常数,保证边权不是负数

割 /([S,T]/)  , /(S = {s} + V'/) ,/(T = {t} + /overline{V'}/)
割的容量 /(c[S,T]/) 有四个部分
/(s/to t/)   : /(0/)
/(s /to /overline{V'}/) :  /(/sum_{v /in /overline{V'}}U/)
/(V' /to /overline{V'}/) : 其实就是 /(c[V',/overline{V'}]/)
/(V' /to t/) : /(/sum_{v/in V'}U+2g-d_v/)

/[c[S,T] = c[V',/overline{V'}] + Un + /sum_{v /in V'}2g-d_v = Un -2f/]

所以最大化 /(f/)  即最小化 /(c[S,T]/) ,求最小割就可以了
2020-11-11 14:52:48 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表