次の組み合わせの問題に役立ちますか?


8

私はで構成されているそれぞれがビットベクトル、ビットを。で、番目のベクトルの番目のビット示しましょう。各ビットベクトルは、次の2つの制限があります。mmmvi[j]jii,j[1,m]vi

  1. vi[j]=0 ji
  2. vi[j]=1 j<imlog(m)
  3. 上記の制限に該当しないビットはまたはいずれかですが、そのような場合、の数は最大です。 1 0 1201012

これで、ビット別のビットベクトル。最初に、すべてのビットが設定されます。よる「適用私はビットごとの実行の間の平均とし、その後に結果を格納する。入力で与えられたベクトル繰り返し適用した後のの進化に興味があります。 、M 、M 、S 1 V I S S V I S S V 1v msmms1vissvissv1,...,vm

それらの「繰り返しアプリケーション」トラジェクトリと呼び、そのようなトラジェクトリをより正式に定義しましょう。軌跡は、最大でベクトル(入力で指定されたから選択で構成されるシーケンスであり、がシーケンス内にある場合、その後のすべてのはでなければなりません。したがって、たとえば、一方で、軌道である(ためではありません)。 V 1VはM のV j個の J < I < V 8V 3 > < V 3V 8V 7 > 8 3mv1,...,vmvivjj<i<v8,v3><v3,v8,v7>83

明らかに、異なる軌跡があります。してみましょう。取ると仮定、それが軌道受けるようにするするために:各ステップの軌跡の、で撮影した新しい値を置くでは。次いで、別の軌道に対して同じプロセスを繰り返し(常にから出発、常にすべての新しい値を入れで)。次に、考えられるすべての軌道を試すまで。最後には、集合そのすべての可能な値が含まれています S = S = 1 m個T 12mS=s=1mT1 s S T 2 s = 1 m s S 2 m S sT1sST2s=1msS2mSs 入力で与えられたベクトルを仮定することができます。

ご質問

  1. 私が持っている入力でを。知りたいすなわち、どのように多くの異なる値があり、これまで想定しています。もちろん、を計算したい 効率的に、つまりすべての可能な軌道を1つずつ試行することなく。| S | s | S |vi,...,vm|S|s|S|
  2. 入力のベクトルの2 番目の制限を削除するとします。影響 ? |S|
  3. さらに重要なのは、私が最も気にかけているのは、方法ですとともに成長します。です最大で多項式?です最大でサブ指数?または、不良インスタンスが存在しますか?は必然的に指数関数ですか?m | S | m | S | m | S | メートル|S|m|S|m|S|m|S|m

次の図は、例です。 m=17例

と関係を理解するために、実験データを収集しています。これまでのところ、実験はを示唆しているようです より速く成長し、より遅く成長します。ただし、現時点ではこれらのデータにはあまり意味がありませんまでのテストしかできなかったため、大きな隠された定数や、指数法則が小さな多項式法則のように見える他の要因がある可能性があります。漸近的な振る舞いを理解するのに助けが必要です に関して。 | S | | S | m 3 m 4 m = 90 m | S | メートルm|S||S|m3m4m=90m|S|m


4
@Downvoter:なぜダウン投票ですか?やる気を出してください。
Giorgio Camerani 2011

軌道が複雑になりすぎていませんか?サブセットについて話すことができます{1m}
Peter Taylor

@Peter:はい軌道はサブセットに過ぎない。私は、軌跡について話すことで、問題のより直感的な「視覚的」な描写が得られると思っていました。私は、ベクターの進化にアクセントをつけたかった、私がすることができますどのように多くの異なる値に興味があるという事実を強調するために、sがそのすべての可能な進化の際に前提とします。{1,...,m}ss
Giorgio Camerani '09 / 09/28

3
@ウォルター:反対票の理由の1つとして考えられるのは、質問のタイトルです。これは役に立ちません。「ヘルプ」が含まれず、カウントするオブジェクトのヒントになるように、表現を変更することをお勧めします。乾杯!
ミカエルCadilhac

@MichaëlCadilhac:はい、確かにタイトルは非常に一般的です。おそらくもっと魅力的なものに変更するでしょう。ヒントをありがとう、乾杯!
Giorgio Camerani '09 / 09/29

回答:


8

私はこれを再考し、私の最初の限界は正しかった。最悪の場合、|S|=Θ(m2mlgm)

証明は2つの部分に分かれています。まず、vxで終了する軌道のsの可能な値を考えます。各ビットS[J]のためにjはxは0であり、そしてすべてのビットS[J]のためにJ<X-M|S|=O(m2mlgm)svxs[j]jxs[j]は1です。したがって、2mしかないj<xmlgmsが取ることができる lg m値。vxの数を掛けると、上限があります。2mlgmsvx

次に、検討する

    0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 
    0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 
    0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 
    0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 
    0 0 0 0 0  1 1 1 0 1 1 1 1 1 1 1 1 
    0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1
    ...
    0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 
    0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
     0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

私はこのスキームがあなたに与えると断言します。列ごとのVxはまた検討M|S|=Ω(m2mlgm)vx列が右側にあります。それぞれの2メートル(mlgm2)それらの lg m2の組み合わせは異なるsを与え、それらのsのそれぞれで、トップセットビットはvxのトップセットビットであるので、異なるvx間の二重カウントはありません。2mlgm2ssvxvx


ご回答有難うございます。3番目の制約(つまり、ゼロ以下)が何らかの違いを生むかどうかの手掛かりはありますか?言い換えると、ゼロを最大12に制限することは、v xで終了する軌道によって導入される異なる値の数が2 m / l o g mよりもはるかに少ないことを意味すると思います「はるかに少ない」とは、指数関数ではないことを意味します) in m / l o g m)?私の感覚は、それは何の違いももたらさないということです。私たちが最大で1つのゼロを許可しても、2 mを生成する可能性があるようです1212vx2m/logmm/logm1少なくとも1つのvxに対して異なる値。2m/logmvx
Giorgio Camerani '09 / 09/29

@WalterBishop、私の例では1つ以下のゼロを使用しています。
Peter Taylor、

申し訳ありませんが、答えと例の両方を解析しすぎました。
ジョルジオCamerani

@WalterBishop、代わりに1の数を制限する場合(ただし、ベクター内のの値は1にできる)、| S | = O m k + 1k|S|=O(mk+1)
Peter Taylor

あなたはどのように導き出しますかそのような場合?私には、そのような場合には私たちが持っているようです| S | = O M 2 K= O M (以降、kは定数です)。2つのベクトルのAND演算を行うため、10になる可能性がありますが、01になることはできません。つまり、「スライディングウィンドウ」m / lがあるという事実に関係なく|S|=O(mk+1)|S|=O(m2k)=O(m)k1001ベクトルの場合、「スライディングウィンドウ」の m位置ごとに最大 2 kの異なるベクトルを生成できます。何か不足していますか?m/logm2km
Giorgio Camerani、2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.