【发布时间】:2011-12-31 08:37:27
【问题描述】:
我正在尝试解决以下问题:
给定一个连通图 G = (V, E) 和一个顶点 t ∈ V,我需要找到一个子图 G'= (V', E'),其中 t ∈ V'。 G' 应该最大化某个目标函数并最小化它包含的顶点数。
Max f(G')
Min |V'|
在这个多目标优化问题中,最大化 f(G') 比最小化顶点数更重要。
让我们检查一个有类似问题的实际情况:
假设我们必须在客户端设备具有固定位置并且只有一个接入点连接到有线网络的建筑物中设计一个自组织无线网络。最初,我们在每个房间放置一个 AP,并使用传播模型计算可以连接的 AP 以及它们提供覆盖的客户端设备。在这个初始分布中,可能会有多个 AP 为同一个客户端设备提供覆盖,因此我们需要对其进行优化。
图 1. 红点表示连接到有线网络的 AP,黑点表示其余的 AP。 AP 之间的实线向我们展示了它们是如何连接的。
在图 1 中形成 AP 连接的图表示我们问题的连接图 G,连接到有线网络的 AP 是节点 t。优化表示此初始网络设计的图意味着找到一个包含连接到有线网络的 AP 的子图,并最大化覆盖客户端设备的百分比 (Max f(G') ) 最小化 AP 的数量 (Min |V'| )。与问题一样,最大化覆盖客户端设备的百分比是主要目标。
图 2. 一种可能的解决方案。
使用蛮力算法,看起来像是一个 NP-Completeness 问题;找到最佳解决方案需要检查所有可能的子图(都包含节点 t)并证明可能的解决方案。你怎么看?
【问题讨论】:
-
如果我们稍微专门化一下这个问题,是否可以在 O(n^3) 中找到所有顶点最短路径(使用 f' 作为度量)并找到具有最小(最大)和的顶点到其他顶点的距离?并使用这个顶点作为答案?
-
感谢 Eugen,这是一个有趣的想法,可以使用 f 函数作为度量来找到所有顶点之间的最短路径。请注意,我正在寻找子图,而不是节点;我不明白你的最后一个问题。
-
看来我有点误解了你的问题。好吧,也许我会在接下来的几天里考虑这个问题。
-
他们现在这样说,这个问题听起来很难。
f看起来像什么?您可能必须利用f的各种属性来指导您在解决方案空间中的搜索。缓和问题的另一种方法:x 近似就足够了吗?您提供的信息越具体,就越容易为您提供帮助。
标签: graph complexity-theory subgraph