【发布时间】:2014-12-31 09:05:10
【问题描述】:
我有一个问题,从一英里高处看起来就像连接子图问题,但非常不同的是它不属于严格的定义。
我面对一个包含几百万个节点和链接的图(无法手动分析),在这几百万个节点中,已知有 2 或 3 个“集合”。
每个“集合”都由千分之十的节点和千分之几的子图组成,没有强连接。理论上,这些集合中的每一个都不应该与其他集合链接......但是(猜测)有十几个错误的链接最终连接了这些集合。
问题是找到那些集合和错误链接,或者至少获得一个人工管理的候选错误链接列表,可以手动验证。
我目前的“最佳想法”是随机选择两个节点,找到它们之间的最短路径,然后在该最短路径上标记链接。冲洗和重复数百万次,错误的链接最终会成为最明显的链接,因为它们是集合之间的“阻塞点”。
但是,这很慢,当一组比其他组大得多并且有内部阻塞点时,它最终会主导“标记最多”的列表,使其毫无意义。
有更好的算法/方法吗?
编辑: 路径标记的改进是与路径的长度成比例地标记,这有助于解决“大集合的内部阻塞点”问题,但并不能完全消除它,因为一些集合可能有遥远的“异常值”,而其他集合有很多紧密连接的节点(内部距离短)
【问题讨论】:
-
在两个随机节点之间运行最小切算法是否有效?