裃のお勉強部屋

物理や数学のおぼえがき

トロピカル幾何学というより計算(1)

最近気になって調べているもの。
トロピカル幾何学という分野があって、そこで使う計算規則が面白いのでメモしておきます。

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

\begin{eqnarray*}
和 \; a\oplus b &=& max(a,b)\\\
積 \; a\otimes b &=& a+b
\end{eqnarray*}
流儀としては$max$ではなく$min$をとるものもある。どちらかというと$min$でやっている人が多いような気がする。

ひとまず$max$のほうで話を進めると、この計算規則は普通に僕らがやる算数の和や積の特徴をおおよそ持っている。

例えば、どっちの演算もちゃんと可換である。
\begin{eqnarray*}
3\oplus 5 &=& 5\oplus 3=max(3,5)=5\\\
4\otimes 6&=& 6 \otimes 4=4+6=10
\end{eqnarray*}
あと、分配法則もok
\begin{eqnarray*}
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{eqnarray*}
こんな感じで計算できるのだが、初めて見るとやっぱり気持ち悪いようで、妻なんかはクトゥルフみたいで不安になると言ってました。確かに見たことある計算が悉く変わるけど、なんとなく知ってるルールの多くが使えるってそんな気分かもしれない。

追記: ――――――――――――――
言わずもがな結合法則もちゃんと成り立ってます。
\begin{eqnarray*}
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{eqnarray*}
よかったね。
――――――――――――――――

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

まず単位元とかから調べると、積は簡単に、
\begin{eqnarray*}
a\otimes b&=&a+b=a\\\
b&=&0
\end{eqnarray*}
積はもとの和なのだから、和の単位元0をつかえば良さそうである。

積の零元は、いかなる相手にも自分自身になるものである。そこで無理矢理数のほうに$-\infty$を付け加えた${\mathbf R}\cup -\infty$を考えると、
\begin{eqnarray*}
a\otimes -\infty&=&a+(-\infty)\\\
\therefore a\otimes -\infty &=& -\infty\\\
[a\times 0&=&0 に似てる]
\end{eqnarray*}
となる。
和の方は$-\infty$がどんなほかの元より小さいので、
\begin{eqnarray*}
a\oplus -\infty&=& max(a,-\infty)\\\
a\oplus -\infty &=&a\\\
[a+ 0&=&a に似てる]
\end{eqnarray*}
こんなふうに$-\infty$は$0$の役割をしてくれる。

じゃあ$1$に対応するものがあるのかというと、こいつが厄介。普通の計算での$1$は
\begin{eqnarray*}
a+1 &=& b,( b\neq a)\\\
a \times 1&=& a
\end{eqnarray*}
となるものである。積で単位元。和で元を一つずらす役割を持っている。
これをトロピカルでやると、

\begin{eqnarray*}
a \oplus I &=&
max(a,I)\\\
a \otimes I&=& a+I=a
\end{eqnarray*}

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

仮に${\mathbf R} $のうち正の部分だけを取るなら必ず$a>0$なので、
\begin{eqnarray*}
a\oplus 0 &=&
a[a>0]\\\
a \otimes 0&=& a+0=a
\end{eqnarray*}
これだと$a\oplus 0 =a$なので、「和として作用させると別の元に移る」ということは起きない。つまり$1$の性質をすこし譲歩し、ひとまず特別な元として、同じ結果を返すことはできるのだから、これでお茶を濁そうというわけだ。
(ぽいだけでうまくいっているわけではないが)

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

4/22追記:単位元がどっちの意味の話をしているかわかりにくいところを修正。普通に書き間違えてたところもあった。