子集编号


10

修复。对于足够大的,我们想用正整数标记大小为的的所有子集。我们希望该标签满足以下属性:有一组整数,stk5n{1..n}n/k{1...T}S

  1. 如果大小为个子集不相交(即这些集合的并集形成所有集合),则它们的标签之和在。kn/k{1..n}S
  2. 否则,它们的标签之和不在。S

是否存在和标签st?k5T|S|=O(1.99n)

例如,对于任何我们可以按以下方式标记子集。 ,每个子集具有在他们的比特数:第一比特等于且仅当子集包含,第二位等于且仅当子集包含等可以很容易地看到,仅包含一个元素。但是这里。我们可以做得更好吗?kT=2nn1112S2n1T|S|=Θ(2n)


3
为什么5而不是3?
domotorp 2012年

@domotorp:您知道如何针对较小的吗?k
Alex Golovnev

这将为百万美元的问题提供建设性的证明!没那么快!:)
Tayfun Pay

@Geekster:能请你解释一下吗?
Alex Golovnev

3
是否可以使T = O(1.99 ^ n)?这个问题似乎表明这是可能的,但是我不清楚如何做到这一点。
伊藤刚(Tsuyoshi Ito)

Answers:


7

部分答案是,即使是,也不存在这样的标记。k

对于一组不相交的子集(大小为,令表示它们的值之和)。S 1S t n / k f S 1S ttS1,,Stn/kf(S1,,St)

要求:如果且则。小号1... 小号小号' 1... 小号' ˚F š 1... 小号˚F 小号' 1... 小号' t<kS1StS1Stf(S1,,St)f(S1,,St)

要了解该主张为何成立,请选择一个集合,使,然后再选择其中一个新集合与的一个相交,因此不允许与。ķ = 1 š = [ Ñ ] 小号' ˚F 小号1... 小号ķ˚F 小号' 1... 小号' 小号+ 1S kSt+1,,Ski=1kSi=[n]Sif(S1,,Sk)f(S1,,St,St+1,,Sk)

结论:。T>(ntn/k)/t

设置给出的下限。Ť 2 Ñt=k/2T2(nn/2)/k=Ω(2n/n)

请注意,对于奇数一个阶的下界为。对于我们已有因此指数趋于迅速变为。 Ñkķ=5ħ1-1/k/2=H0.4(nn(11/k)/2)2H((11/k)/2)n=2n(1O(1/k2))k=51H((11/k)/2)=H(0.4)0.971

我想对于奇数也不存在任何解决方案,但是我不确定如何证明它。k


谢谢,非常漂亮的解决方案!但是我不确定是否可以将其推广为奇数。k
Alex Golovnev

4

这不是一个答案,只是一个解释,为什么对于k = 2不会存在这样的标记(我相信这已经为Alex所了解,所以这只是像我这样的其他读者的文章……)

对于k = 2,我们有。这是因为存在个子集,大小为n / 2。如果任何两个获得相同的标签,例如A和B,则A的标签和其补码之和不在S中,或者B的标签和A的补码之和在S中。这意味着(对于大n)。ÑT(nn/2)1.99nŤÑ(nn/2)T(nn/2)

对于更大的ka,类似的论点表明所有标签都必须不同,但这仅给出了较弱的指数下界。因此,似乎k = 3似乎是未知的。


是的,谢谢!如果有人可以给出任何直觉,为什么对于更大的没有这样的标记,或者为什么很难找到这样的标记,那将是很好的。k
亚历克斯·戈洛夫涅夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.