当前位置: 首页 > 知识库问答 >
问题:

从社区共生矩阵到每个节点的社区索引

公羊子真
2023-03-14

我有一个矩阵,其中如果图中的节点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只是为了更清楚,但这些索引实际上是整数)

共有1个答案

池兴邦
2023-03-14

假设这个关系是对称的(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 的通道在