1つの組み合わせ問題について

科学研究の過程で、私はいくつかの興味深い結果を蓄積してきました。私の観点からすると、科学出版物での出版にはかなり弱いですが、それ自体は、例えばスポーツプログラミングの分野で興味深いものです。 これらの結果の1つは、以下で定式化されますが、いくつかのバリエーションでは、大規模なIT企業での面接の申請者に提供できます。







それで、私は遠くから始めます。 一次元のグロス・ピタエフスキー方程式の定常局所構造を研究しました[作業例] 。 このような構造は、問題のパラメーターに関する特定の十分な条件下で、両側の無限のシンボリックシーケンスによってエンコードできます。これをコードと呼びます。 つまり、微分方程式の連続解は離散コードによって分類されます。 エンコーディングアルファベットは通常有限であり、たとえば次のような奇数の文字で構成されます。 N = 2L + 1 文字 L 自然数です。 アルファベットにヌル文字があります 、および他のすべてのシンボルは、対称性によって接続されたペアに分割されます。 簡単にするために、エンコーディングのアルファベットを示します A = \ {i \} _ {i = -L} ^ L キャラクターはどこですか 私は そして -i 互いに対称。 数 N 私たちはアルファベットの力を呼びます A







調査中の構造は空間にローカライズされているため、それらのコードは無限の数のゼロ文字で始まり、終わります。つまり、形式は











{\ bf c} =(\ ldots、0、s_1、s_2、\ ldots、s_M、0、\ ldots)、\ quad s_i \ in A、\ quad s_1 \ neq 0、\ quad s_M \ neq 0。










コードの中心部 {\ bf c} 、またはそのキャリアは、 M キャラクター、メディアの極端なキャラクター、 s_1 そして s_M null文字ではありません。 数 M コード長を呼び出します {\ bf c} 。 今、各コードについて {\ bf c} 3つの対称コードを記述できます。











\ mathcal {I} _1 {\ bf c} =(\ ldots、0、s_M、s_ {M-1}、\ ldots、s_1,0、\ ldots)、\\ \ mathcal {I} _2 {\ bf c } =(\ ldots、0、-s_1、-s_2、\ ldots、-s_M、0、\ ldots)、\\ \ mathcal {I} _1 \ mathcal {I} _2 {\ bf c} =(\ ldots、 0、-s_M、-s_ {M-1}、\ ldots、-s_1,0、\ ldots)、










どこで \ mathcal {I} _1 そして \ mathcal {I} _2 興味のあるコードの対称性は2つあります。 タスクは次のとおりです。 すべての長さコードの数を見つける M 力のアルファベットで構成 N 最大2つの対称性 \ mathcal {I} _1 そして \ mathcal {I} _2 。 つまり、2つの任意のコードが対称で接続されている場合 \ mathcal {I} _1\ mathcal {I} _2 または \ mathcal {I} _1 \ mathcal {I} _2 、そのようなコードは同じと見なします。 時間的なプレッシャーの条件下では、インタビューで、対称性のないすべてのコードの数は (N-1)^ 2N ^ {M-2} 。 さらに、私の観点からは、問題は鉛筆を手にして解決する必要があります。 私のソリューションは最適ではないかもしれないとすぐに言わなければなりません(数学的操作の数と単純さの意味で)。 ユーザーmihaildは、不変順列とBurnsideの補題のグループを通じて、このような問題に対する非常にエレガントなソリューションを提案しました。







解決策

すべてのコードのセットを示します D_0 。 別れる D_0 3つの互いに素なサブセットに











D_1 = \ {{\ bf c} \ mid {\ bf c} = \ mathcal {I} _1 {\ bf c} \}、\\ D_2 = \ {{\ bf c} \ mid {\ bf c} = \ mathcal {I} _1 \ mathcal {I} _2 {\ bf c} \}、\\ D_3 = \ {{\ bf c} \ mid {\ bf c} \ neq \ mathcal {I} _1 {\ bf c }、\ {\ bf c} \ neq \ mathcal {I} _1 \ mathcal {I} _2 {\ bf c} \}。










サブセット内 D_1 コードの構造は次のとおりです











{\ bf c} =(\ ldots、0、s_1、s_2、\ ldots、s _ {\ frac {M-1} {2}}、s _ {\ frac {M + 1} {2}}、s _ {\ frac {M-1} {2}}、\ ldots、s_2、s_1、0、\ ldots)、\ quad M-\ mbox {odd}、\\ {\ bf c} =(\ ldots、0、s_1、 s_2、\ ldots、s _ {\ frac {M} {2}}、s _ {\ frac {M} {2}}、\ ldots、s_2、s_1、0、\ ldots)、\ quad M-\ mbox {even }。










サブセット内 D_2 コードの構造は次のとおりです











{\ bf c} =(\ ldots、0、s_1、s_2、\ ldots、s _ {\ frac {M-1} {2}}、s _ {\ frac {M + 1} {2}}、-s_ { \ frac {M-1} {2}}、\ ldots、-s_2、-s_1、0、\ ldots)、\ quad M-\ mbox {odd}、\\ {\ bf c} =(\ ldots、0 、s_1、s_2、\ ldots、s _ {\ frac {M} {2}}、-s _ {\ frac {M} {2}}、\ ldots、-s_2、-s_1、0、\ ldots)、\ quad M-\ mbox {偶数}。










したがって、定義により、サブセットで D_1 そして D_2 コードはペアに分割されます ({\ bf c}、\ mathcal {I} _2 {\ bf c}) 、およびサブセット D_3 -四つんばいで ({\ bf c}、\ mathcal {I} _1 {\ bf c}、\ mathcal {I} _2 {\ bf c}、\ mathcal {I} _1 \ mathcal {I} _2 {\ bf c}) それは











Q(D_1)= \ frac {| D_1 |} {2}、\ quad Q(D_2)= \ frac {| D_2 |} {2}、\ quad Q(D_3)= \ frac {| D_3 |} {4 } = \ frac {| D_0 |-| D_1 |-| D_2 |} {4}、










どこで Q(D) -サブセット内の異なるコードの数 D| D | -パワー D 。 奇数の場合を考えます M 。 サブセットの場合 D_1D_2 そして D_3 私たちは書く











Q(D_1)= \ frac {N-1} {2} N ^ \ frac {M-1} {2}、\\ Q(D_2)= \ frac {N-1} {2} N ^ \ frac { M-3} {2}、\\ Q(D_3)= \ frac {(N-1)^ 2} {4} N ^ {M-2}-\ frac {N-1} {4} N ^ \ frac {M-1} {2}-\ frac {N-1} {4} N ^ \ frac {M-3} {2}。










オリジナルセット用 D_0 見積もりを得る











Q(D_0)= \ sum_ {i = 1} ^ 3 {Q(D_i)} = \ frac {N-1} {4} \左[N ^ {M-1} \左(1- \ frac {1 } {N} \右)+ \ sqrt {N ^ {M-1}} \左(1+ \ frac {1} {N} \右)\右]。










偶数の場合を考えます M 。 サブセットの場合 D_1D_2 そして D_3 私たちは書く











Q(D_1)= \ frac {N-1} {2} N ^ {\ frac {M} {2} -1}、\\ Q(D_2)= \ frac {N-1} {2} N ^ { \ frac {M} {2} -1}、\\ Q(D_3)= \ frac {(N-1)^ 2} {4} N ^ {M-2}-\ frac {N-1} {2 } N ^ {\ frac {M} {2} -1}。










オリジナルセット用 D_0 見積もりを得る











Q(D_0)= \ sum_ {i = 1} ^ 3 {Q(D_i)} = \ frac {N-1} {4} \左[N ^ {M-1} \左(1- \ frac {1 } {N} \右)+ \ frac {2 \ sqrt {N ^ M}} {N} \右]。










答え

その結果、次の方程式系を答えとして書くことができます(表記を置き換えます Q(D_0)Q(N、M) 以来 Q 変数に依存 N そして M











Q(N、M)= \ left \ {\ begin {array} {l} \ frac {N-1} {4} \ left [N ^ {M-1} \ left(1- \ frac {1} { N} \ right)+ \ sqrt {N ^ {M-1}} \ left(1+ \ frac {1} {N} \ right)\ right]、\ quad M-\ mbox {odd}、\\ \ frac {N-1} {4} \左[N ^ {M-1} \左(1- \ frac {1} {N} \右)+ \ frac {2 \ sqrt {N ^ M}} {N } \ right]、\ quad M-\ mbox {even}。 \ end {array} \右。










結論として、答えはタスクを初めて知ったときよりも少し複雑になったことがわかりました。 このようなタスクは電撃調査に適しているとは考えられませんが、面倒なことではないので、どのようなバリエーションの面接にも提供されません。 結果の式を検証するために、次の値を指定します。 Q(3,1)= 1Q(3,2)= 2Q(3,3)= 5Q(3.4)= 12 。 したがって、この場合に発生するさまざまなコードの表を提示します。 以来 N = 3 、その後、簡略化されたアルファベットで構成されるコードを記述します A = \ {+、0、-\}











\ begin {center} \ begin {small} \ begin {tabular} {| l | l | l | l | l |} \ hline $ M = 1 $& $ M = 2 $& $ M = 3 $& $ M = 4 $ \\ \ hline \ g {$(\ ldots、0、+、0、\ ldots)$}& \ g {$(\ ldots、0、+、+、0、\ ldots)$}& \ g {$(\ ldots、0、+、+、+、0、\ ldots)$}& \ g {$(\ ldots、0、+、+、+、+、0、\ ldots)$} \\& \ y {$(\ ldots、0、+、-、0、\ ldots)$}& \ y {$(\ ldots、0、+、+、-、0、\ ldots)$}& \ y {$(\ ldots、0、+、+、-、+、0、\ ldots)$} \\& & \ y {$(\ ldots、0、+、-、+、0、\ ldots)$}& \ y {$(\ ldots、0、+、-、-、+、0、\ ldots)$} \\& & \ y {$(\ ldots、0、+、0、+、0、\ ldots)$}& \ y {$(\ ldots、0、+、+、0、+、0、\ ldots)$} \\& & \ g {$(\ ldots、0、+、0、-、0、\ ldots)$}& \ y {$(\ ldots、0、+、-、0、+、0、\ ldots)$} \\& & & \ g {$(\ ldots、0、+、0,0、+、0、\ ldots)$} \\& & & \ y {$(\ ldots、0、+、+、+、-、0、\ ldots)$} \\& & & \ y {$(\ ldots、0、+、+、-、-、0、\ ldots)$} \\& & & \ y {$(\ ldots、0、+、-、+、-、0、\ ldots)$} \\& & & \ g {$(\ ldots、0、+、+、0、-、0、\ ldots)$} \\& & & \ y {$(\ ldots、0、+、-、0、-、0、\ ldots)$} \\& & & \ y {$(\ ldots、0、+、0,0、-、0、\ ldots)$} \\ \ hline \ end {tabular} \ end {small} \ end {center}











All Articles