我在尝试分类算法时遇到了以下算法问题。元素被归类为一个多层级结构,我理解它是带有单个根的偏序集。我必须解决以下问题,它看起来很像集合覆盖问题。
我在这里上传了我的LaTeX问题描述(链接)。
设计一个满足1和2的近似算法非常容易,只需从G的顶点“向上”或从根开始“向下”进行。假设您从根开始,迭代地扩展顶点,然后删除不必要的顶点,直到您至少拥有k个子格。逼近界限取决于顶点的子节点数量,对于我的应用程序来说这是可以接受的。
有人知道这个问题是否有一个适当的名称,或者可能是树版本的问题吗?我想知道这个问题是否是NP难的,也许有人有好的NP难问题来减少或者有多项式算法来解决这个问题。如果你两者都有,就可以获得百万美元的奖金。;)
我在这里上传了我的LaTeX问题描述(链接)。
设计一个满足1和2的近似算法非常容易,只需从G的顶点“向上”或从根开始“向下”进行。假设您从根开始,迭代地扩展顶点,然后删除不必要的顶点,直到您至少拥有k个子格。逼近界限取决于顶点的子节点数量,对于我的应用程序来说这是可以接受的。
有人知道这个问题是否有一个适当的名称,或者可能是树版本的问题吗?我想知道这个问题是否是NP难的,也许有人有好的NP难问题来减少或者有多项式算法来解决这个问题。如果你两者都有,就可以获得百万美元的奖金。;)
k
:为了使问题更加有趣 :) 当k=1
时,解决方案为S={r}
。 - BoloG
的选择(除非我有遗漏,如果G
包含两个子节点且没有更多内容,则具有l = k = 2
的解S = G
是一个解)。2)在倒数第三段中,你可能想表达的是:“[...] 我们仍然希望保留 2。” - Bolo