【发布时间】:2020-08-03 02:54:40
【问题描述】:
我有以下问题,似乎与顶点覆盖问题有一些相似之处。
我们有一个有向图 G=(V,E) 和 |V|顶点和 |E|边缘。让我们假设一个顶点代表一个人,从顶点 A 到顶点 B 的一条边代表从 B 到 A 的信息路径,即如果给 B 一条信息,那么 A 也有它。但是,如果另一条边从顶点 C 到顶点 A,那么信息将不会到达 C,除非从 C 到 B 有一条边,或者如果信息也直接提供给 A。
现在的问题是,通过向(最多)k 个顶点/人提供信息,我们可以达到的最大顶点/人数是多少。我认为这与顶点问题密切相关,但我们只需要覆盖 k 个顶点而不是全部。但它似乎仍然不太适合其他问题。
谁能说出一个具有相似结构的众所周知的问题?这将帮助我更好地接近它的近似算法。
编辑:我对这个问题的优化方面很感兴趣,但在我看来,最佳方法是选择一组尽可能多的有联系的人,然后从所有其他人中删除选定的人组连接的人并重复该过程。那么问题就出在 P 中,但它实际上是 NP 难的。这个我没看到。
【问题讨论】:
-
澄清一下——如果存在从一个节点到另一个节点的路径,信息是否会流动?或者是否需要从第一个节点到第二个节点有直接边?
-
好问题。不,信息只会从它的起源处传播一步,但只会沿着边缘的相反方向传播。例如,如果信息被放置在一个顶点或只有出边的人,那么信息只会到达已经拥有它的人。这种表示可能看起来令人困惑和颠倒,但这就是问题的表述方式。
标签: graph computer-science graph-algorithm social-networking vertex-cover