【问题标题】:Choosing subsets of a set such that the subsets satisfy a global constraint选择集合的子集,使子集满足全局约束
【发布时间】:2010-08-24 16:24:36
【问题描述】:

我们有一组项目 I = {i_1, i_2, ..., i_n}。这些项目中的每一个都有我们所说的 p 值,它是一个实数。我们想要选择 I 的一个子集,称为 I',大小为 m(对于一些 m,1 p 值的平均值' 落在某个指定的范围内,[p_l, p_u]。 (例如,我们可能需要一个介于 0.70 和 0.74 之间的平均 p 值。)此外,我们希望有效地做到这一点。

我们希望在 O(n) 时间内做到这一点,但是任何多项式时间算法都足够好。我们当然不想只尝试大小为 m 的 I 的每个可能子集,然后检查它是否满足平均 p 值约束。

最后,我们将重复执行此操作,并且我们希望选择的子集在所有可能的此类子集上均匀随机分布。

有没有办法做到这一点?

【问题讨论】:

  • 多项式时间算法似乎不太可能。这个问题很可能等价于一般的Constrained Subset Selection Problem,即NP。如果您的输入值围绕某个枢轴紧密聚集,并且具有正态分布,则您可以使用回溯算法来选择满足要求的子集。但是,确保在 l 的所有成员上获得均匀的随机分布将是一项挑战。在 mathoverflow.com 寻求帮助可能会更好。
  • 感谢您的评论。我倾向于认为这个问题也很棘手。我可能会在 mathoverflow.com 上提问,但到目前为止,我发现 Stack Overflow 对这类理论问题更有帮助。

标签: combinatorics


【解决方案1】:

如果你有一个子集和它的总和,如果你用 |subset+1|/|subset| 缩放总和,你添加的每个新元素对总和的贡献是线性的。因此,这似乎与子集和问题(NP 完全)极为相似,其目标是找到所有子集的总和为 0,尽管在这里我们希望总和接近 0。例如,如果你有一个大设置一个元素大致在可接受的 p 范围内的位置,如果您粗略假设该元素无关紧要,突然之间它实际上是等效的......假设您有大量的正 p 值和负 p 值,并且问题不是由对手制造的。如果是这种情况,您可以使用http://en.wikipedia.org/wiki/Subset_sum_problem 给出的两个近似解决方案之一,使等式“模糊”,然后将 0.7

当然,您可以从解决方案中获得的效率难以置信取决于 p 值的生成方式(其“分布”)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多