13
大学数学基礎解説
文献あり

グレブナー基底とWolframAlpha先生を使って最小値問題を解く

808
1

はじめに

 この記事では、最近Twitterで話題になった次の問題の解答についての解説をします。
 そのあとで、トリボナッチ数に関係する定数との不思議な関係についてご紹介します。
 元となる NNN (@n_symmetric)さんのツイートはこちらです。

 問題形式に書き直すとこうなります。

最小値を求める

任意の相異なる実数 a,b,c に対し

(abc)4+(bca)4+(cab)4 がとり得る値の最小値は?

解答

適当に数を代入してあたりをつける

 求める最小値をmとおくことにしましょう。
4 乗和ですから明らかに0m です。

 次に適当に数を代入しておおざっぱに評価します。
 たとえば、a=15,b=12,c=2 とすると

(1512+2)4+(12215)4+(21512)4=1.763

 これで、ざっくりと** 0m<1.764 **と評価できることがわかりました。

簡単な問題に書き換える

 まず、a,b,cのどれか1つが0だとすると、相加相乗平均から式の値は2以上となります。0m<1.764 ですから、ここからはa,b,c がいずれも 0 でない場合だけを考えます。

 また、a,b,c を定数倍しても式の値は変わりません。したがって、c=1 としても一般性は失われません。
c=1 として書き換えると

(ab1)4+(b1a)4+(1ab)4

分母が重たいので次のように置換します。

x=ab1y=b1az=1ab

z の式から a,b を消去すると

z=xy+1x+y

となります。
 分母に x+y がありますが、 x+y=0 となるときは a+b=1 のときであり、このとき

(a(1a)1)4+(1a1a)4+(1a(1a))4>2

 ですから、最小値にはなりえないので** x+y0 **としてよいです。
 これを使って書き換えると

(ab1)4+(b1a)4+(1ab)4=x4+y4+z4=x4+y4+(xy+1x+y)4

となります。
 まだ扱いにくいので、さらに次のように置換します。

A=x+yB=xy

 これらを使って、x4+y4 を A,B で表すことができます。

x4+y4=(x2+y2)22x2y2=((x+y)22xy)22x2y2=(A22B)22B2=A44A2B+2B2

 これを使うと

x4+y4+z4=A44A2B+2B2+(B+1A)4

さらに、C=A2(>0) と置換すると、

x4+y4+z4=C24CB+2B2+(B+1)4C2

 次数も下がってだいぶ扱いやすくなりました。

偏微分を求める

 つぎに必要条件を考えます。
 この式が最小になるB,Cでは、B,C それぞれの偏微分が0 になるはずです。

 つまり、次の連立方程式の解となる B,C が最小値となりうる候補となります。

{B(C24CB+2B2+(B+1)4C2)=0C(C24CB+2B2+(B+1)4C2)=0

偏微分すると

{4(B3+3B2+BC2+3BC3+1)C2=02(B4+4B3+6B2+2BC3+4BC4+1)C3=0

分母を払って整理すると

{B3+3B2+BC2+3BC3+1=0B4+4B3+6B2+2BC3+4BC4+1=0

グレブナー基底を使って解を見つける

 これを満たすB,Cの組合せを探します。
 手計算ではとても解を見つけられる気がしませんが、グレブナー基底を使えばこのような複雑な連立方程式を簡単な形に変換してくれます。
 WolframAlpha先生にグレブナー基底を使って簡単にしてもらいましょう。まず{C,B}の順でグレブナー基底を計算してもらうと

WolframAlpha: GroebnerBasis[{B^3 + 3 B^2 + B C^2 + 3 B - C^3 + 1=0,B^4 + 4 B^3 + 6 B^2 + 2 B C^3 + 4 B - C^4 + 1=0}, {C,B}]

 グレブナー基底は

{11B9+73B8+210B7+342B6+345B5+221B4+88B3+20B2+2B,143B8+872B7+2252B6+3184B5+2649B4+2B3C+1284B3+6B2C+326B2+6BC+28B+2C2,187B8+1032B7+2326B6+2696B5+1619B4+386B350B234B+2C22}

となるので、

11B9+73B8+210B7+342B6+345B5+221B4+88B3+20B2+2B=0

を満たすBを探します。
 因数分解すると

B(B+1)5(11B3+18B2+10B+2)=0

B=0,1 は不適(証明略)です。

 B3次方程式

11B3+18B2+10B+2=0

は1つの実数解をもち、その解は

B=111(6+3(113363)3323(113363)3)=0.73953

です。

WolframAlpha: B (B (11 B + 18) + 10) + 2 = 0

 次に{B,C}の順でグレブナー基底を計算すると

WolframAlpha: GroebnerBasis[{B^3 + 3 B^2 + B C^2 + 3 B - C^3 + 1=0,B^4 + 4 B^3 + 6 B^2 + 2 B C^3 + 4 B - C^4 + 1=0}, {B,C}]

 グレブナー規定は

{11C8+2C78C66C5+C4,14BC277C7+30C6+53C5+8C428C3+14C2,14B3+42B2+42B+77C730C653C58C4+14C314C2+14}

となるので、

11C8+2C78C66C5+C4=0

を満たすCを探します。
因数分解すると

(C1)C4(11C3+13C2+5C1)=0

C=0,1 は不適(証明略)です。

 C3次方程式

11C3+13C2+5C1=0

は1つの実数解をもち、その解は

C=133(13+2(132723133)3+2(1327+23133)3)=0.14161

です。

WolframAlpha: 11 C^3 + 13 C^2 + 5 C - 1 = 0

x,y,z の組合せを求める

x+y=A,xy=B より x,yX の二次方程式 X2AX+B=0 の解です。
また、z=B+1Aですから、x,y,zA,B で表すと

x=A±A24B2y=AA24B2z=B+1AA=±C

となります。
※ x,y については復号同順です。

a:b:c の候補を見つける

定義より
a=xyxxy+1b=xy+yxy+1c=1

 となりますが、a,b,c については定数倍しても式の値は変わらないことから、それぞれ xy+1 倍することにします。書き換えると

a=xyxb=xy+yc=xy+1

x,y の部分を A,B で書き直すと

a=BA±A24B2b=B+AA24B2c=B+1

 これと、A=±C から、4通りの解の候補がでた……ようにみえます。

1つ目の候補(?)
  a:b:c=(BC+C4B2):(B+CC4B2):(B+1)
2つ目の候補(?)
  a:b:c=(BCC4B2):(B+C+C4B2):(B+1)
3つ目の候補(?)
  a:b:c=(BC+C4B2):(B+CC4B2):(B+1)
4つ目の候補(?)
  a:b:c=(BCC4B2):(B+C+C4B2):(B+1)

 しかし、よくみると1つ目の候補と3つ目の候補、2つ目の候補と4つ目の候補はそれぞれ順番を並べ替えたものであり、実質的に同じです。

 さらに、数値計算では
  (BC+C4B2):(B+CC4B2):(B+1)1.80799:1.43168:0.260465(B+C+C4B2):(B+1):(BCC4B2)

 となり、1つ目の候補と2つ目の候補も同じ比のならべかえにすぎないようです。
(厳密には未証明ですが、WolframAlpha先生の検算ではこれらの比の誤差は計算限界以下でした)

 以上から、最小値となる a,b,c は次の比となる実数の組合せ(とその並び替え)とわかりました。

  a:b:c=(BC+C4B2):(B+CC4B2):(B+1)1.80799:1.43168:0.260465

ただし
B=111(6+3(113363)3323(113363)3)=0.73953

C=133(13+2(132723133)3+2(1327+23133)3)=0.14161

最小値 m を求める

x4+y4+z4=C24CB+2B2+(B+1)4C2

 ですから、これに先ほどのB,Cを代入すれば最小値 m が求められます。WolframAlpha先生に計算してもらうと

WolframAlpha: ReplaceAll[C^2-4CB+2B^2+(B+1)^4/C^2, {B -> 1/11(-6+(11sqrt(33)-63)^(1/3)/3^(2/3)-2/(3 (11sqrt(33)-63))^(1/3)), C -> (1/33 (-13+(2654 - 462sqrt(33))^(1/3) + (2(1327+231sqrt(33)))^(1/3)))}]

m=10+22501363333+22501+363333331.762293875711

トリボナッチ数との関係の謎

 ところで、トリボナッチ数の一般項の四捨五入を使った表現に出てくるこんな定数があります。

トリボナッチ数の一般項の四捨五入を使った表現

    Tn=TnU
 ただし、T,Uは次の定数です。

    T=13(1+193333+19+3333)=1.839286755214161

    U=3T22T1=5.4703537932903902

Mathlog:トリボナッチ数の一般項の四捨五入による表現の導出

元ツイに寄せられた数々のリプライや引用リツイートの情報等とこの定数を組み合わせれば、この式に出てくる定数 T を使って、a:b:cm を次のように表現することができるようです。

  a:b:c=(2T+2):(T+T2+2T):(TT2+2T)
のとき
  (abc)4+(bca)4+(cab)4=2T+44T3=m

 計算してみると、確かにそうなります。
 しかし、なぜこうなるのか私は理解していません。
 (すいません)

(2022.5.1 追記)
上記記事中の定数 B,C について、Tで表現できることを確認しました。
次のようにできます。

B=T+1T+2=0.73953

C=1T(T+2)=0.14161

いい感じにシンプルに書けました。
はたしてトリボナッチ数に関係する定数がからむのは単なる偶然なのでしょうか。

グレブナー基底を使って、B,C を求めることなく最小値を得ることもできる

(2022.5.5 追記)

上記の記事では、最小値を求めるのに B,C を求めてから元の式に代入する方法を使いましたが、実は、グレブナー基底を使えば B,C を求めることなく最小値を計算できることに気が付きました。

やり方は、偏微分がゼロになるときの式の値さえわかればいいのですから、次の3元連立方程式の解となる m を調べればよいということです。

{B(C24CB+2B2+(B+1)4C2)=0C(C24CB+2B2+(B+1)4C2)=0C24CB+2B2+(B+1)4C2=m

 WolframAlpha先生にグレブナー基底を計算してもらうと

[WolframAlpha: GroebnerBasis[{D[C^2-4CB+2B^2+{(B+1)^4}/{C^2},B]=0,D[C^2-4CB+2B^2+{(B+1)^4}/{C^2},C]=0,C^2-4CB+2B^2+{(B+1)^4}/{C^2}=m},{C,B,m}]]( https://ja.wolframalpha.com/input?i=GroebnerBasis%5B%7BD%5BC%5E2-4CB%2B2B%5E2%2B%7B%28B%2B1%29%5E4%7D%2F%7BC%5E2%7D%2CB%5D%3D0%2CD%5BC%5E2-4CB%2B2B%5E2%2B%7B%28B%2B1%29%5E4%7D%2F%7BC%5E2%7D%2CC%5D%3D0%2CC%5E2-4CB%2B2B%5E2%2B%7B%28B%2B1%29%5E4%7D%2F%7BC%5E2%7D%3Dm%7D%2C%7BC%2CB%2Cm%7D%5D )

{11m432m3+8m2+16m+16,(以下使わないので省略)}

となるので、

11m432m3+8m2+16m+16=0

を解いて m を得ることができます。
因数分解すると

(m2)(11m310m212m8)=0

解のうち 0m<2 となるものは 1 つしかなく、それは上記で得られた解と一致します。

WolframAlpha: 11m^4-32m^3+8m^2+16m+16=0

6乗の場合について

(2022.5.5 追記)

同じ方法を使えば、当初の問題の4 乗の部分を 6 乗にした場合の最小値についても調べることができます。
6乗の場合はつぎの3元連立方程式を解くことになります。

{B(C36C2B+9CB22B3+(B+1)6C3)=0C(C36C2B+9CB22B3+(B+1)6C3)=0C36C2B+9CB22B3+(B+1)6C3=m

 WolframAlpha先生にグレブナー基底を計算してもらうと

[WolframAlpha: GroebnerBasis[{D[C^3-6C^2B+9CB^2-2B^3+{(B+1)^6}/{C^3},B]=0,D[C^3-6C^2B+9CB^2-2B^3+{(B+1)^6}/{C^3},C]=0,C^3-6C^2B+9CB^2-2B^3+{(B+1)^6}/{C^3}=m},{C,B,m}]]( https://ja.wolframalpha.com/input?i=GroebnerBasis%5B%7BD%5BC%5E3-6C%5E2B%2B9CB%5E2-2B%5E3%2B%7B%28B%2B1%29%5E6%7D%2F%7BC%5E3%7D%2CB%5D%3D0%2CD%5BC%5E3-6C%5E2B%2B9CB%5E2-2B%5E3%2B%7B%28B%2B1%29%5E6%7D%2F%7BC%5E3%7D%2CC%5D%3D0%2CC%5E3-6C%5E2B%2B9CB%5E2-2B%5E3%2B%7B%28B%2B1%29%5E6%7D%2F%7BC%5E3%7D%3Dm%7D%2C%7BC%2CB%2Cm%7D%5D )

{1849m810246m7+17323m67540m5+372m43664m31616m2+320m64,(以下使わないので省略)}

1849m810246m7+17323m67540m5+372m43664m31616m2+320m64=0

因数分解して

(m2)(m22m1)(1849m52850m4+376m31184m2+208m32)=0

解のうち 0m<2 となるものは 1 つしかなく、それは5次方程式

1849m52850m4+376m31184m2+208m32=0

の解となっています。近似値は次のとおり。

m=1.63348907346325448597037265359354784473

WolframAlpha: 1849m^8-10246m^7+17323m^6-7540m^5+372m^4-3664m^3-1616m^2+320m-64=0

なお、WolframAlphaでは厳密解が計算できませんでした。おそらく、四則演算と冪根の組合せでは表せない解になると思われます。

8乗の場合について

(2022.5.5 追記)

同じ方法を使えば、当初の問題の4 乗の部分を 8 乗にした場合の最小値についても調べることができます。
8乗の場合はつぎの3元連立方程式を解くことになります。

{B(C48C3B+20C2B216CB3+2B4+(B+1)8C4)=0C(C48C3B+20C2B216CB3+2B4+(B+1)8C4)=0C48C3B+20C2B216CB3+2B4+(B+1)8C4=m

式が複雑になると、WolframAlpha先生は文字を x,y にしないと計算してくれないという変な癖がありますので、B,Cx,y に置換してから WolframAlpha先生にグレブナー基底を計算してもらうと

[WolframAlpha: GroebnerBasis[{D[y^4-8y^3x+20y^2x^2-16yx^3+2x^4+(x+1)^8/y^4,x]=0,D[y^4-8y^3x+20y^2x^2-16yx^3+2x^4+(x+1)^8/y^4,y]=0,y^4-8y^3x+20y^2x^2-16yx^3+2x^4+(x+1)^8/y^4=m},{y,x,m}]]( https://ja.wolframalpha.com/input?i=GroebnerBasis%5B%7BD%5By%5E4-8y%5E3x%2B20y%5E2x%5E2-16yx%5E3%2B2x%5E4%2B%28x%2B1%29%5E8%2Fy%5E4%2Cx%5D%3D0%2CD%5By%5E4-8y%5E3x%2B20y%5E2x%5E2-16yx%5E3%2B2x%5E4%2B%28x%2B1%29%5E8%2Fy%5E4%2Cy%5D%3D0%2Cy%5E4-8y%5E3x%2B20y%5E2x%5E2-16yx%5E3%2B2x%5E4%2B%28x%2B1%29%5E8%2Fy%5E4%3Dm%7D%2C%7By%2Cx%2Cm%7D%5D )

{1215051273m139045070902m12+24469346984m1127549334336m10+10383816752m92020749296m8+1585571840m7+2402076160m6+1111820544m5+41492480m4+10082304m31241088m265536m4096,(以下使わないので省略)}

因数分解サイトを使って因数分解すると

因数分解の電卓

(m2)(243m5946m4+680m3+576m2+112m16)(5000211m77756250m6+2065244m52973928m4277104m365504m23008m128)=0

m=2 の解のほか、5次方程式の方の解と7次方程式の方の解が得られました。

5次方程式の方の解は

m0.0935307

7次方程式の方の解は

m1.54957

未証明ですが、数値実験の結果から、7次方程式の方の解の方が最小値と思われます。

もう少し先の桁まで計算すると

m=1.54957068032383362115233806586966093783

WolframAlpha: 5000211m^7−7756250m^6+2065244m^5−2973928m^4−277104m^3−65504m^2−3008m−128=0

まとめ

(2022.5.5 追記)

ここまでにわかった結果をまとめておきます。

x=abcy=bcaz=cab

としたとき、

x2+y2+z2の最小値x4+y4+z4の最小値x6+y6+z6の最小値x8+y8+z8の最小値
m2=0 の解11m310m212m8=0 の解1849m52850m4+376m31184m2+208m32=0 の解5000211m77756250m6+2065244m52973928m4277104m365504m23008m128=0 の解
21.7622938757110521.6334890734632541.549570680323833

これらの係数に法則性があるのかどうか、気になりますね。

おわりに

 この式で遊んでみてこれまでにわかった情報をまとめました。
 グレブナー基底で複雑な連立方程式が解けるという話を聞いたことはあったのですが、今回その実力を目の当たりにしました。
 すごいぞグレブナー基底!そしてWolframAlpha先生!

 しかし、まだまだわからないことがたくさんあります。
 解法についても、もっとシンプルな方法があるのではないかと思います。

 特に、トリボナッチ数に関係する定数がでてきたことは不思議です。

 何かご意見、情報等ありましたらコメント等で教えてください!

参考文献

投稿日:2022430
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

apu_yokai
apu_yokai
486
65693

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 解答
  3. 適当に数を代入してあたりをつける
  4. 簡単な問題に書き換える
  5. 偏微分を求める
  6. グレブナー基底を使って解を見つける
  7. $x,y,z$ の組合せを求める
  8. $a:b:c$ の候補を見つける
  9. 最小値 $m$ を求める
  10. トリボナッチ数との関係の謎
  11. グレブナー基底を使って、$B,C$ を求めることなく最小値を得ることもできる
  12. $6$乗の場合について
  13. $8$乗の場合について
  14. まとめ
  15. おわりに
  16. 参考文献