第4話

『グレブナー基底で地図を塗る』


大人は何もしないし、何もしてくれない。

いつものようにオレは、コンビニの駐車場に座って炭酸を飲んでいた。

午前に降っていた雨のせいで、コンクリートには水たまりが少しできていたが、幸いにも縁石は濡れていなかった。


「ぎゃはははははは!!!」


遠くでヤツらの笑い声が聞こえた。

汚く下品な声に、頬の絆創膏が微かにしびれる。

オレは、急いでランドセルからハサミを取り出し、後ろのポケットにしまった。


「お?Kちゃんじゃん!また買い食いしてんの?」


ヤツらの一人がオレに気づき声をかける。

Kとは、ヤツらがつけたオレのあだ名で、『下の名前のイニシャル』と『キモい』をかけたものだ。


「あ?あ?あ?相変わらずキモいやつだなあ!なあ、タジマー!」


トリマキがいつもの威嚇行動をしてくる。

タジマは黙って、オレをじっと見ている。

大きなゴロッとした眼球は動かない。


オレは、今からタジマを殺す。

前から決めていたことだった。

油断したところを、ハサミで急所を一突き。

一発で終わらす。


「今日は、ナニ買ったんだよ」


タジマが一言、そう呟いた。

大丈夫。気づかれていはいない。

気づかれてはいけない。


「た、炭酸だよ」


震える足を抑えながら、オレはなるべく自然に答えた。

大丈夫。これは、ただのケンカだ。

大人たちの言う、ただの子供のケンカだ。

たまたまケンカが起きて、たまたま授業で使ったオレのハサミが、たまたまタジマに刺さり、たまたまタジマが死んでしまう。

そう、ただのケンカだ。


「また、炭酸か。他にはナニ買ったんだよ」


タジマがトリマキにビニール袋を漁らせる。

まだだ。タジマはまだ立っている。

タジマが座りオレに近づいた瞬間がチャンスだ。


「あ?なんだこれ?カニカマ?」


トリマキはビニール袋に気を取られている。

まだだ。まだ。

駐車場の大人たちは、いつも通り、誰もこっちを気にしていない。


「ちょっと、貸してみろよ」


タジマが、トリマキの横に、座った。

オレの目の前にタジマがいる。

縁石に座っている分、オレの方が少し高い位置にいる。

やった。やった。

この位置なら、うまく刺せる。


オレは、ポケットのハサミに手をかけた。

手汗で滑らないように、ぎゅっとグリップを握る。

瞬間、タジマがフッっと鼻で笑った。


「ああ、これは、コイツの妹は、×××だから」


オレは、ハサミを振りかぶった。


***


x^4-1=0

y^4-1=0

(x+y)(x^2+y^2)=0


「これが、東京と千葉を異なる色で塗り分ける、連立方程式だ。」


妹は、春季限定いちごタルトをほとんど食べ終えていた。

このまま調子に乗って、「夏季限定トロピカルパフェ」など頼まなければいいのだが。

こちとら、小市民なので、お金はそんなに持っていないのだ。


「ええと、x^4-1=0, y^4-1=0 って東京と千葉には、4色のうちのどれかが塗られているってこと、だよね?」


妹が、式の意味について、俺に確認する。

ほっぺたについているクリームを指摘してから、俺は解説を始めた。


「ああ、その通りだ。そして、3番目の式が、『xとy は違う値』ということを意味するものだった。つまり、これら3つの多項式をまとめた連立方程式を考えると、次の主張が成り立つ。」


連立方程式

x^4-1=0

y^4-1=0

(x+y)(x^2+y^2)=0

の解が存在する。

東京と千葉は、4色で塗り分けられる。


「すなわち、『連立方程式の解が存在する』かを調べれば、『4色で塗り分けられる』かが判定できるんだ。」

「?解が存在しないってどういうこと?」


聞きなれない言葉に、妹は少し動揺する。


「え、ああ。今まで、学校では、解が存在する連立方程式ばかり解いてきたと思うけど、一般には、解が存在するとは限らないんだ。」

「例えば?」

「えーと、例えば、」


x+y=1

x+y=0


「とか、そうかな。試しにこの連立方程式を解いてみて。」

「うん。うんと、上の式から、下の式を引くと……左辺は、」


(x+y)-(x+y)=0


「となって、右辺は、」


1-0=1


「だから、ってことは、」


0=1


「あれ!?1=0!?」

「その通り。」

「これって正しいの?」

「環奈の連立方程式の解き方は、正しかったけど、0=1 は明らかに間違いだ。」

「だよね。」

「この 0=1 は、たとえxとyにどんな値を代入しても常に間違っているよね。」

「うん。xとy、関係ないもんね。」

「つまり、元々の連立方程式を成り立たせるような、xとyはそもそも存在しなかったってことなんだ。」


連立方程式

x+y=1

x+y=0

を満たす x, y は存在しない


「このように、すべての連立方程式が解を持つとは限らないんだ。」

「なるほにょ。」


タルトの最後の一欠片を食べた妹が、もぐもぐしながら納得する。

しまった。どうせなら、一口もらうんだった。


「四色の話に戻そう。連立方程式」


x^4-1=0

y^4-1=0

(x+y)(x^2+y^2)=0


「に解が存在すれば、東京と千葉は4色で塗り分けられる。では、この連立方程式に解は存在すると思う?」

「えーと、存在するんじゃないの?」

「具体的には?」

「え、うーんと、x=1 と……… y=-1 とか?」

「ほう。実際に示してみて。」


1^4-1=1-1=0

(-1)^4-1=1-1=0

(1+(-1))(1^2+(-1)^2)=0*(1+1)=0


「x=1とy=-1を連立方程式の多項式に代入すると、確かに全部0になっているよね?これでいい?」

「なんか計算が速くなってきたな。」

「えへへ。」


妹は、右手で頭を軽く撫でるように掻く。

今まで気づかなかったが、右手の甲に大きな絆創膏が貼ってある。

どこかで怪我でもしたのだろうか。


「x=1とy=-1が連立方程式の解ってわかったわけだけど、ここで多項式の本来の意味を考えてみよう。」

「本来の意味?」

「ああ。x=1は『東京は赤』、y=-1は『千葉が青』って意味だったね。これが連立方程式の解ってことは、」


『東京を赤、千葉を青に塗れば、東京と千葉は塗り分けられる』


「ということが分かるんだ。」

「ん?なんか当たり前じゃない?」

「そうだね。今は、一番簡単な場合をやっているから、わざわざ連立方程式で難しくしているように思える。しかし、地図がもっと複雑な場合、この方法は有効になり得る。」

「ほう?」

「東京、千葉、神奈川を考えてみよう。」


東京 千葉

神奈川


「神奈川には変数 z を対応させる。すると、この地図を4色で塗りわけるための連立方程式は、」


x^4-1=0

y^4-1=0

z^4-1=0

(x+y)(x^2+y^2)=0

(x+z)(x^2+z^2)=0


「というようになる。新しい多項式 z^4-1 は神奈川は4色のうちどれか、そして、(x+z)(x^2+z^2) は東京と神奈川は違う色であることを意味している。」

「あれ?(y+z)(y^2+z^2)っていうのはないの?」

「え、ああ。今、千葉 y と神奈川 z は隣あってないだろ?だから、別に千葉と神奈川は同じ色でもいいから、(y+z)(y^2+z^2) は必要ないんだ。」

「そっか。」

「では、この連立方程式には、解が存在するかな?」

「うへ!?………………存在する?」

「その通り。試しに、」


x=1、y=z=-1


「を代入してごらん。」

「わかった。」


1^4-1=0

(-1)^4-1=0

(-1)^4-1=0

(1+(-1))(1^2+(-1)^2)=0

(1+(-1))(1^2+(-1)^2)=0


「あ!ほんとに全部0になってるね!お兄ちゃんっ!」

「ああそうだな。これは、x=1、y=-1、z=-1 が連立方程式の解ってことだが、地図ではどんな意味だか考えてみてくれ。」

「ふーむと、1が赤で、-1が青だったから、」


東京=赤

千葉=青

神奈川=青


「ってこと?」

「そう!これは、」


東京 千葉

神奈川


「ということで、これってさっき塗ったよな。」

「あ、そだね!」

「今度は、逆に考えてみよう。東京、千葉、神奈川は、赤、黄色、青を使っても塗り分けられた。つまり、」


東京 千葉黄色

神奈川


「ということだった。」

「黄色は、千葉の落花生の色だもんね。」


千葉というと落花生の黄色をイメージしがちだが、ちなみにチーバくんの色は赤である。

チーバくんとは、横から見ると千葉の形をした犬のマスコットキャラクターだ。

犬型生命体バトルキメランテスとは関係はない。あびゃー。


「塗り分けられるということは、逆に、色に対応する値 x,y,zは連立方程式を満たすということだ。赤は1、青は -1、黄色は虚数 i に対応していたから、x=1、y=i、z=-1 ということになる。」

「うん。」

「実際、これを連立方程式に代入してみると、」


1^4-1=0

i^4-1=(-1)^2-1=0

(-1)^4-1=0

(1+i)(1^2+i^2)=(1+i)(1+(-1))=(1+i)*0=0

(1+(-1))(1^2+(-1)^2)=0


「確かに、すべて0になって、x=1、y=i、z=-1は解になっている。」

「おおー!」

「これで、連立方程式と地図の対応がだいたい分かってくれたかな?」

「うん!結局、連立方程式を解けば、地図を塗り分けられるってことが分かるってことだよね?」

「その通り。…………さて。」

「ん?」


俺は、水を一口含み、喉の調子を整える。

いよいよ、奴の登場だ。


「これから、地図の都道府県が増えていけば、当然、多項式も増えていく。それを手計算で解いていくのは大変だ。」

「グレブナー基底だよね?」

「そこで、連立方程式を機械的に解いていく手法が必要となる。」

「だから、グレブナー基底だよね?」

「まだ何のことだか分からないかもしれないが、実は、それは、この前 Mathematica で計算したものなんだ。」

「グロエブネー・バシス?」

「………忘れたくない基底。忘れたくなかった基底。忘れちゃダメな基底。そう、その基底の名は!」

「おーい。」


「「グレブナー基底!!」」













「いや、お兄ちゃん?なんかエンディングっぽくしても、全然かっこよくないよ?そもそも、もうグレブナー基底だって分かってたし。」

「うん。じゃあ、グレブナー基底を計算していこうか。」


こっちとしては、前前前世から、このネタを温めていたのだが、全全全然ダメだったようだ。

気を取り直して話を進める。


「Mathematica で計算するには、」


GroebnerBasis


「という関数を使えばよかった。これに、さっきの多項式を入力すると、」


GroebnerBasis[{x^4-1,y^4-1,z^4-1,(x+y)(x^2+y^2),(x+z)(x^2+z^2)}]


「となる。さらに、変数を消す順番{x,y,z}を追加して、」


GroebnerBasis[{x^4-1,y^4-1,z^4-1,(x+y)(x^2+y^2),(x+z)(x^2+z^2)},{x,y,z}]


「これで、完成だ。」


かっこよくないよ。今になって、妹の言葉が胸に突き刺さる。

気にしないように、平常心のフリをしていたが、やはり妹にそんな言葉を言われてしまうのは、兄として辛い。


「ねえ、早く計算してみてよ!」


妹が、ハートブレイクしている俺に、催促をする。

そうだ、俺には、グレブナー基底さんがいるんだ。

グレブナー基底さんは、いつでも俺の味方だ。

そう言い聞かせ、俺はEnterを押した。


{z^4-1, y^4-1, x^2*y + x*y^2 + y^3 - x^2*z - x*z^2 - z^3,

x^3 + x^2*z + x*z^2 + z^3}


「これが、さっきの多項式たちのグレブナー基底だ。」

「へ!?さっきより、複雑になってない!?」

「ぱっと見、そう見えるかもな。前から、順番に考えてみよう。」


z^4-1

y^4-1


「前の2つこの式が出てきているね。グレブナー基底の他の式と違って、これらの式は、1つ変数以外に、他の変数が出てこない。これは、色の制約がなく、自由ってことなんだ。」

「自由?」

「そう。1, -1, i, -i のどの値を代入しても、z^4-1 は0になっただろ?グレブナー基底にこれが出てくる、つまり、連立方程式を z について解いた形が z^4-1 ということは、すなわち、z は何色でもいいってことだ。」

「んん?よくわかんない。」

「地図で考えてみよう。z は神奈川だったな。実は、神奈川に、赤、青、黄色、緑のうち、どの色を塗っても4色で塗り分けられるんだ。試しに、神奈川を赤にしてみよう。」


東京 千葉

神奈川


「次に、千葉についても、同じように、y^4-1 という式が出てきているから、千葉は、何色でもいい。例えば、千葉を緑に塗る。」


東京 千葉

神奈川


「最後に、東京の色を決めるけど、東京は、何色でもいいってわけにはいけない。グレブナー基底に出てくる x についての多項式は、」


x^2*y + x*y^2 + y^3 - x^2*z - x*z^2 - z^3,

x^3 + x^2*z + x*z^2 + z^3


「の2つで、両方とも y と z が絡んでいる。つまり、yとzの値によって、xの値が決まるんだ。」

「なるほど?」

「じゃあ、xの値を決めてみよう。上の2つ式に、神奈川=赤の z=1 と、千葉=緑の y=-i を代入する。」


x^2*y + x*y^2 + y^3 - x^2*z - x*z^2 - z^3=-i*x^2-x+i-x^2-x-1=-(1+i)x^2-2x+i-1

x^3 + x^2*z + x*z^2 + z^3=x^3+x^2+x+1=(x+1)(x^2+1)


「うわー。全然わかんないよ。」

「複素数 i が係数に出てきて、あまり見たことのない形かもしれない。でも、今から、やることは、y=-iとz=1を代入して出てきた2つ式、」


-(1+i)x^2-2x+i-1=0

(x+1)(x^2+1)=0


「の両方を満たす x を探すことだ。」

「すごく難しくない?」

「こういう時は、簡単な方から見るんだ。下の式をみよう。」


(x+1)(x^2+1)=0


「これは、因数分解されているから、満たすxはすぐわかる。」


x=-1, i, -i


「が (x+1)(x^2+1)=0の解だ。」

「そうだね。」

「このうち、上の式 -(1+i)x^2-2x+i-1=0 も満たす式を探す。x=-1, i, -i をそれぞれ代入してみると、」


x=-1 → -(1+i)x^2-2x+i-1=-(1+i)(-1)^2-2(-1)+i-1=-(1+i)+2+i-1=0

x=i → -(1+i)x^2-2x+i-1=-(1+i)(i)^2-2(i)+i-1=(1+i)-2i+i-1=0

x=-i → -(1+i)x^2-2x+i-1=-(1+i)(-i)^2-2(-i)+i-1=(1+i)+2i+i-1=4i


「という風になって、上の方程式も満たすのは、-1 と i だけということが分かる。したがって、」


-(1+i)x^2-2x+i-1=0

(x+1)(x^2+1)=0


「を満たす x の値は、」


x=-1, i


「となるんだ。」

「ほ、ほへー。」

「どうかな?」

「や、やっぱり、まだ難しいかな…」

「難しいと感じる時は、『意味』を考えてみよう。x=-1は東京が青、x=i は東京が黄色だったね。ここで、神奈川は赤、千葉は、緑に塗っていたから、」


東京 千葉

神奈川



東京黄色 千葉

神奈川


「ということになる。確かに、これは、4色で、それぞれ隣合うものが違う色で塗り分けられていることになる。今は、神奈川の色を赤と決めたから、こうなったけど、別の色から始めても、同じようにグレブナー基底に出てきた多項式に代入していけば、x の値、つまり東京に塗るべき色が分かるんだ。」

「すごい……!」

「そう、実は、連立方程式を解けば、4色で塗り分けられるかどうかも分かるのと、同時に、そのも全て分かるんだ。」

「は、ははー!」


妹は、驚いてくれているようだが、やはり、まだ計算が複雑なようで、本当の意味で楽しめていないようだ。

しかし、彼が登場すれば、事態は一変するだろう。


「このように、連立方程式の解を具体的に求めることで、4色で塗れるかどうかを判定してきた。

「うん。そうだよね。」

「でも、今やったように、いちいち具体的な解まで求めていくのは面倒くさい。」

「確かにめんどう。」

「でも、実は、実際に解を出さなくても、グレブナー基底の『見た目』だけで、解が存在するかどうか、つまり、4色で塗り分けられるかどうかが分かるんだ。」

「え、どゆこと?」

「それが、」


現代数学の父とも呼ばれる、神のごとく偉大な数学者。

数学をやっている者で、彼の名を知らない人はいないだろう。


「ヒルベルトの零点定理だ。」

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る