我有一个矩阵,其中如果图中的节点I和节点j属于同一集群,则第I-j项为1,否则为0。该矩阵是在图中查找社区的优化算法的结果。
我想用n
条目在列表中转换该矩阵,其中对于每个i
-th条目,我可以关联一个整数,该整数表示i
-th节点所属的单独集群。
例如,在python中,我的矩阵如下所示(在本例中,节点0和1属于社区A,而节点2和3属于社区B)
matrix([[ 0., 1., 0., 0.],
[ 1., 0., 0., 0.],
[ 0., 0., 0., 1.],
[ 0., 0., 1., 0.]])
这意味着节点0属于同一社区(节点从0到n-1),如何从该矩阵中提取如下列表:
[A,A,B,B]
列表的第i个元素表示节点所属社区的索引?(我使用A和B只是为了更清楚,但这些索引实际上是整数)
假设这个关系是对称的(X_{ij}=X_{ji}
)和传递的(X_{ij}=1,X_{jk}==1-
因此,您的“社区”实际上是图的连通分支。
使用以下高级伪代码,使用任何图发现/遍历算法(例如BFS和DFS)查找连通分支都相当容易:
X = V //all nodes initially in X
count = 1
while X is not empty:
choose random x in X
do BFS from x, let the set of discovered nodes be U
for each node u in U:
yield (u,count) //u is in the community labeled as count
count = count + 1
X = X \ U //remove all nodes in U from X
联系我们 Nacos Gitter-https://gitter.im/alibaba/nacos Nacos 微博-https://weibo.com/u/6574374908 Nacos segmentfault-https://segmentfault.com/t/nacos 邮件列表 邮件列表建议讨论任何与Nacos有关的事情。具体请看参考手册描述如何订阅我们的邮件列表。 dev-naco
关于 MOSN 社区。 MOSN 是一个开源项目,于 2018 年 7 月由蚂蚁集团开源,使用 Apache 2.0 协议,任何人都可以使用和参与改进。MOSN 社区期待您的加入! 关于 MOSN 社区的详细资料请访问 Community 仓库。 工作组 目前 MOSN 包含以下工作组: Istio 工作组 Dubbo 工作组 选择加入您感兴趣的工作组,开始您的 MOSN 之旅吧! 社区会议 MO
PHP 社区多元化并且规模庞大,成员们也乐意并随时准备好帮助新人。你可以考虑加入当地的 PHP 使用者社区 (PUG) 或者参加教大型的 PHP 会议,从中学习更多最佳实践。你也可以使用 IRC 逛逛 irc.freenode.com 上的 #phpc 频道,也可以关注 @phpc 的Twitter 账号。试着去多结交一些新的开发者,学习新的东西,总之,交一些新朋友!其他的社区资源包含 Googl
198.决定 功能分支 功能分支很容易制作。你不必成为一个提交者。只需要在开发人员的邮件列表中将您的分支名称添加到 JIRA,并且提交者将为您添加它。此后,您可以针对 Apache HBase JIRA 中的功能分支提出问题。您保存在其他地方的代码 - 它应该是公共的,以便可以观察到 - 并且您可以根据进度更新开发邮件列表。当该功能准备好提交时,来自提交者的 3 + 1 将使您的功能合并。参见 H
Perl 基金会 Perl 基金会致力于推进 Perl 编程语言的开放讨论、协作、设计及编码。Perl 基金会是非盈利、501(c)(3) 组织。 http://perlfoundation.org http://news.perlfoundation.org Perl Mongers 世界各地的 Perl 用户组。 http://www.pm.org OSCON 奥莱理的开源大会。起初为 Per
贡献 如果你想为 Composer 做贡献,请阅读 说明 和 贡献 文档。 下面是重要的指导和介绍: 所有的代码贡献 - 具有提交权限的人必须通过一个合并请求并且被核心开发人员批准。 确保所有代码能够正确的审查。 项目分支, 创建一个特性分支, 并且向我们发送请求。 确保代码一致, 你应该确保代码遵循 PSR-2 编码标准。 IRC / 邮件列表 邮件列表的 用户支持 和 发展. IRC 的通道在