トロピカルな計算練習(1)

最近気になって調べているもの。トロピカル幾何学という分野があって、そこで使う計算規則が面白いのでメモしておきます。
この記事ははてなブログでも書いていたんですけど、移植ついでに加筆訂正しています。

先に注意しておくと、これは裃自身の勉強ノートも兼ねてるので、いろいろ「どうしてそうするとダメか」的なところにも触れています。
結論を急ぎたいようならそういう動画か自分で調べてまとめるのが速いかと思います。

でもね、トロピカルちょっとかじって僕ぁ思うんだ。
「紆余曲折すればするほど、通常演算ってすごいし、数と演算の定義ってなんだ? と深みにはまれる」
そして帰ってこなくなる。


トロピカルという名前の由来はwikiなりで調べてもらうとして、大雑把にこんなルールです。

$$
\begin{array}{} a\oplus b &=&\max(a,b)\\\ a\otimes b &=& a+b\end{array}
$$

流儀としては $${\max}$$ ではなく $${\min}$$ をとるものもある。どちらかというと$${\min}$$でやっている人が多いような気がする。

ひとまず$${\max}$$のほうで話を進めることにする。
この計算規則は普通に僕らがやる算数の和や積の特徴をおおよそ持っている。
普通の算数的な和や積というと、
・可換
・分配法則
・結合法則
くらいが成り立っていてほしいところなんだけど、これができる。

例えば、可換かは

$$
\begin{array}{} 3\oplus 5&=&5\oplus 3&=&\max(3,5)&=&5\\\ 4\otimes 6&=&6 \otimes 4&=&4+6&=&10\end{array}
$$

分配法則は

$$
\begin{array}{} &&4 \otimes (3\oplus 5)&=& 4+\max(3,5)\\\ &&&=&4+5&=&9\\\ &=& (4 \otimes 3) \oplus (4 \otimes 5)&=& \max( (4+3),(4+5) )\\\ && &=&\max(7,9) &=& 9\end{array}
$$

さらにはトロピカルな和でもトロピカルな積でも結合法則もちゃんと成り立ってます。
トロピカルな積は普通の和なので成立していて当たり前ですね。
トロピカルな和は、

$$
\begin{array}{} &&4\oplus (3\oplus 5)&=& \max(4,\max(3,5) )&=&\max(4,5)\\\ &=&5(4\oplus 3)\oplus 5 &=& \max( \max(4,3),5) ) &=&\max(4,5)\\\ &=&5 \end{array}
$$

こんな感じで計算できるのだが、初めて見るとやっぱり気持ち悪いようで、妻なんかはクトゥルフみたいで不安になると言ってました。確かに見たことある計算が悉く変わるけど、なんとなく知ってるルールの多くが使えるってそんな気分かもしれない。


じゃあこの算法の単位元とかはどうなっているのか、とろぴ逆元とかどうなのよって話なのだが、なんとトロピカル和の逆演算はない。つまりトロピカル引き算はない。
(ないんだけど次回頑張って考えて、やっぱり無理でしたって話をします。)

まず通常羽になるから簡単そうなトロピカル積から調べる。
トロピカル積での単位元は通常和の単位元$${0}$$をつかえば良さそうである。
$${b}$$をトロピカル積の単位元とすると、

$$
\begin{array}{} a\otimes b&=&a+b&=&a\\\ b&=&0 \end{array}
$$

さて、積はあと特別な元として零元があある。
零元は、いかなる相手に作用させても自分自身になるもので、後述するように通常演算だと和の単位元になっている。
こんな特別な奴がトロピカルにもちゃんといる。
いるというか、付け加えるだけで何とかなる。何を付け加えるかというと、ちょっと記法として気持ち悪い気もするが、$${-\infty}$$を付け加える。
つまり$${{\mathbb R}\cup -\infty}$$の上では、

$$
\begin{array}{} & a\otimes -\infty&=&a+(-\infty)\\\ \therefore & a\otimes -\infty &=& -\infty\\\ &[a\times 0&=&0 に似てる] \end{array}
$$

となって、積での零元の役割になっている。めでたしめでたし。
ちなみに通常の積では零元こと$${0}$$との積、その逆元は存在していない。
素朴なイメージ的には$${\infty}$$だけども、それを万が一でも書くとと数学の先生に怒られるヤツ、それです。
トロピカルでもこれはキレイに(?)対応していて、ちゃんと(?)$${\otimes 0}$$の逆元は存在していない。


さて、問題のトロピカル和。トロピカルな和の単位元を見てみましょう。
ひとまずトロピカル積での零元が$${-\infty}$$だったので、これがトロピカル和でも零的な役割、つまり「和としての単位元の役目」をしてくれるのか確かめる。
$${-\infty}$$はどんなほかの元より小さいので、

$$
\begin{array}{} a \oplus - \infty &=& \max(a,-\infty) \\\ &=& a \\\ [a+ 0 &=&a に似てる] \end{array}
$$

こんなふうにちゃんと$${-\infty}$$は正真正銘通常$${0}$$っぽい役割をしてくれる。
さぁて、ここまでならよかったのに。

$$
積での零元 = 和での単位元
$$

なんてうまいことができてると、もう少し期待して、

$${積での単位元=和での1の役割}$$

を期待したくなる、しかしこれはうまくいかない。
沼の中でのあがきが始まるよ。
通常の演算での$${1}$$の役割をもう一度見てみると、

$$
\begin{array}{} a+1 &=& b,&( b\neq a)\\\\a \times 1 &=& a\end{array}
$$

となるものである。和で元を一つずらす、いわゆる後者関数的な役割を持っている。これを後者関数的役割をトロピカル積単位元$${0}$$に期待すると、

$$
\begin{array}{} a \oplus 0 &=&\max(a,0)&=& \begin{cases} \;a&(a>0)\\\ 0&(a\leq 0) \end{cases} \end{array}
$$

このように、後者関数にはもちろんならず、値の出方は二通りになってしまう。
つまり自分自身が返ってくるか、かならず$${0}$$、積単位元になるかで、次々と新しい元が飛び出してくるというわけではない。

では仮に後者関数的な役割をやめて、せめて演算される側$${a}$$ではない何かが返ってくるようにできないか考えてみると、

$$
\begin{array}{} a \oplus I &=&\max(a,I)&\neq& a \end{array}
$$

これなら$${I}$$としては$${0}$$を取るとよさそうに見える。しかし、和$${\oplus}$$の結果が結局このままでは確定しない。
$${a}$$と$${I}$$の大小で変わってしまう。
つまり$${I}$$としては$${0}$$を取ると、負の数と$${\oplus}$$すれば必ず結果が$${0}$$になってしまうのだが、正の数と$${\oplus}$$させると、$${\oplus}$$する前の数がただ返されることになる。途中で元への反応が変わる。これはちょっと「通常演算での$${1}$$の役割」と言い切るには心もとない。

では譲歩に譲歩を重ねてみるとしよう。トロピカル積零元$${=}$$トロピカル和単位元の時に$${-\infty}$$を付け加えて何とかしたように、扱う数を制限する作戦に出る。
仮に$${{\mathbb R} }$$のうち正の部分だけを取るなら必ず$${a>0}$$なので、

$$
\begin{array}{} a\oplus 0 &=&a&[a>0]\\\ a \otimes 0 &=& a+0\\\ &=&a \end{array}
$$

これだと$${a\oplus 0 =a}$$なので、「和として作用させると別の元に移る」ということは起きない。しかし相手の元に対して一定の結果が得られるという意味では……うーん。でもこれってただのトロピカル和単位元じゃん。


このように安易に譲歩をしてしまうと、それだったら
「トロピカル積単位元にそこまで期待することをやめたほうが良くない?」
ということになります。
そういうわけで、普通トロピカルな演算では通常計算における$${0}$$、$${1}$$の役割の内、

・各演算内での単位元の性質(あたりまえ)
・和単位元は積の零元

まで要求することにしているようです。
次回でも触れますが正の数だけに限ってしまうと、やっぱり厄介なことが多いんです。


本当はこれを最初書いたとき、トロピカルと通常計算を漸近的につなぐ話をもっと早くもってこようかなと思ってたんです。
そこでは結局うまく演算を再定義して負の数も扱えるようにしているのですが、最初の発想は正の数だけの方が有利なんですね。
それでこんな思わせぶりな譲歩をしたんですが、この先トロピカルオンリーで話したいことが多くなっちゃったので、早めに否定しておくことにしました。
note版で無事そこまで記事が書ければいいんですけども。


さて、ひとまず和と積はこれでなんとかなったことにして、差と除算はどうなのか。もう嫌な予感しかしないけど、その話は次回。

この記事が気に入ったらサポートをしてみませんか?