makenowjust-labs/blog

MakeNowJust Laboratory Tech Blog

自然数の分割とその積の最大値について

2023-12-12 (更新: 2023-12-13) / 読むのにかかる時間: 約7.3

自然数の分割とは、ある数と和が等しくなるような自然数の多重集合です。 例えば { ⁣3,2,2,1 ⁣}\{\!| 3, 2, 2, 1 |\!\}3+2+2+1=83 + 2 + 2 + 1 = 8 なので 88 の分割となります。

この記事では、自然数の分割のの最大値について考えます。

自然数の分割とは

自然数の分割とは、ある数と和が等しくなるような自然数の多重集合です。 例えば、{ ⁣3,2,2,1 ⁣}\{\!| 3, 2, 2, 1 |\!\}3+2+2+1=83 + 2 + 2 + 1 = 8 なので 88 の分割で、{ ⁣7,5,2 ⁣}\{\!| 7, 5, 2 |\!\}7+5+2=147 + 5 + 2 = 14 なので 1414 の分割です。 また、ある数 nn について単一の集合 { ⁣n ⁣}\{\!| n |\!\}nn 自身の分割になります。

数学の諸分野で、これが研究対象となります。 分かりやすいのは離散数学での数え上げで、自然数44の数え上げは次の5種類になります。

{ ⁣1,1,1,1 ⁣},{ ⁣2,1,1 ⁣},{ ⁣2,2 ⁣},{ ⁣3,1 ⁣},{ ⁣4 ⁣}\{\!| 1, 1, 1, 1 |\!\},\, \{\!| 2, 1, 1 |\!\},\, \{\!| 2, 2 |\!\},\, \{\!| 3, 1 |\!\},\, \{\!| 4 |\!\}

この分割の、各自然の値だけ列に丸記号を置いて図示すると、次のようになります。

4の分割に対応するフェラーズ図形の一覧

この図を見ると、4の分割は{ ⁣1,1,1,1 ⁣}\{\!| 1, 1, 1, 1 |\!\}{ ⁣4 ⁣}\{\!| 4 |\!\}{ ⁣2,1,1 ⁣}\{\!| 2, 1, 1 |\!\}{ ⁣3,1 ⁣}\{\!| 3, 1 |\!\}がそれぞれ対称になっているというのが見てとれるのではないかと思います。 このような図はフェラーズ図形と呼ばれ、自然数の分割の考察に用いられてきました。

他にも丸記号を四角形にしたものはヤング図形と呼ばれます。

4の分割に対応するヤング図形の一覧

こちらの場合は、四角の中に数を書き込むことでより複雑な数学的構造を表現でき、群論の研究などで用いられることがあるらしいです。

この分割の数え上げの数列はOEISA000041として登録されていて、その値はn=0n=0から順に次のようになっています。

1,1,2,3,5,7,11,15,22,30,1, 1, 2, 3, 5, 7, 11, 15, 22, 30, \dots

OEISのページには色々なことが書かれていて、一度見てみると面白いです。

このように、自然数の分割は数学的に興味深い対象となっています。 そして、今回はこの自然数の分割の積の最大値について考えていきたいと思います。

積の最大値

自然数の分割の積とは、書いて字の通り分割の値をすべて掛けたものになります。 例えば{ ⁣3,2,2,1 ⁣}\{\!| 3, 2, 2, 1 |\!\}88の分割ですが、その積は3×2×2×1=123 \times 2 \times 2 \times 1 = 12となります。

そして「この積が最大となるような分割を見つけたい」というのが今回の記事の主題になります。

さて、あまり考えなくても、積が最大となる分割には「11が含まれることはない」ということは分かります。 というのも、ある自然数nnについて、nnの分割が{ ⁣x1,x2,,xk ⁣}\{\!| x_1, x_2, \cdots, x_k |\!\}x1=1x_1 = 1のとき、

x1+x2+x3++xk=(x1+x2)+x3++xk=nx_1 + x_2 + x_3 + \cdots + x_k = (x_1 + x_2) + x_3 + \cdots + x_k = n

ですが、x1×x2<x1+x2x_1 \times x_2 < x_1 + x_2なので、{ ⁣x1+x2,x3,,xk ⁣}\{\!| x_1 + x_2, x_3, \cdots, x_k |\!\}の方が積の大きい分割となってしまうためです。 もっと単純に、11は掛けるよりも足した方が値を大きくできる数だから、と考えても良いです。

次に、もう少し考えると、積が最大となる分割には「55以上の数字が含まれることはない」ということも分かります。 同様に、nnの分割が{ ⁣x1,x2,,xk ⁣}\{\!| x_1, x_2, \cdots, x_k |\!\}x15x_1 \ge 5のとき、

x1+x2+x3++xk=(x13)+3+x2+x3++xk=nx_1 + x_2 + x_3 + \cdots + x_k = (x_1 - 3) + 3 + x_2 + x_3 + \cdots + x_k = n

ですが、x1<(x13)×3x_1 < (x_1 - 3) \times 3なので、{ ⁣x13,3,x2,,xk ⁣}\{\!| x_1 - 3, 3, x_2, \cdots, x_k |\!\}の方が積の大きい分割となるためです。

これらの考察から、積が最大となる分割には2,3,42, 3, 4のみで構成されていることが分かります。 さらに2×2=2+2=42 \times 2 = 2 + 2 = 4なので4422を2個分と考えても差し支えないため、積が最大となる分割は2233のみで構成されていると言うこともできます。 そして、可能な限り22ではなく33を掛けた方が積は大きくなります。

ここまで来れば、あとはnn33で割った余りについて場合分けすれば、積の最大値について一般項P(n)P(n)が求められます。

P(n)={3n3(if n0mod3)3n131×22(if n1mod3)3n23×2(if n2mod3)P(n) = \begin{cases} 3^{\frac{n}{3}} & \text{(if $n \equiv 0 \bmod 3$)} \\ 3^{\frac{n - 1}{3} - 1} \times 2^2 & \text{(if $n \equiv 1 \bmod 3$)} \\ 3^{\frac{n - 2}{3}} \times 2 & \text{(if $n \equiv 2 \bmod 3$)} \end{cases}

この値を素因数分解すれば、積が最大となる分割を得ることができます。

この数列はOEISのA000792として登録されています。 これはn=0n=0から順に、次のようになります。

1,1,2,3,4,6,9,12,18,27,1, 1, 2, 3, 4, 6, 9, 12, 18, 27, \dots

結局何が言いたいのかと言うとP(n)P(n)の値はnnについて多項式で抑えることができず、指数的になるということです。 これが少し不思議なことに感じたので、今回記事にしてみました。

まとめ

自然数の分割に関しては、調べてみるともっと面白い話が色々ある気がします。 その辺りももう少し勉強したいと思っています。

最後まで目を通していただきありがとうございました。