【新手向】最大团问题和最大独立子集的懒人算法(随机化)

本文介绍了最大团和最大独立子集的概念,并指出最大独立子集等价于补图的最大团问题。针对最大团的NP完全性,文章推荐了一种适合懒人的随机化算法,通过随机排列节点并逐步检查来寻找可能的最大团,虽然时间复杂度为n^2,但多次运行取最大值能获得较高准确性。文章最后提供了相关代码示例。
摘要由CSDN通过智能技术生成

不要去百度百科找最大团,因为你会找到一个团购网站= =
维基百科:https://en.wikipedia.org/wiki/Clique_problem

首先,团是什么呢?
团就是一个点集,点集中任意两点都有直接的边相连
举个栗子:图中红色的点构成了一个团
图中红色的点构成了一个团,当然单独一个点也算是一个团。

那么,独立子集又是什么呢?
和团正好相反,独立子集也是一个点集,但是任意两点之间都没有直接的边相连……
再举个栗子……
图中绿色的点构成了一个独立子集
图中绿色的点构成了一个独立子集,你说一个点是一个独立子集我也没意见……

那么,最大团和最大独立子集怎么求呢?
首先最大独立子集和最大团正好相反,所以最大独立子集的数目就是这个图的“补图”的最大团……
(补图就是一张图有边的改成没边,没边的改成有边……)
于是最大独立子集问题转化成最大团问题

最大团又怎么求呢???
最大团其实是个NP完全问题……目前常用的算法是搜索+优化和随机化……
这里介绍随机化算法(适合懒人……)
把点组成随机组成一个排列,然后从前往后暴力找……首先第一个点可以组

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值