最近話題になったこの記事。
qiita.com
この記事は主に次の事実を扱ったものです。
ここで,トロピカル演算は次のように定義されるものです。
この話を聞いて,似た話を知っていると思った人もいたのではないでしょうか。それは次の定理です。
辺の重みを並べた行列は,隣接行列に見た目がよく似ています。
この2つの似た事実は成り立つ理由もよく似ていますが,隣接行列をうまく一般化するとこの2つの事実を同時に示すことができるというのが今日のお話です。この話を通して,トロピカル演算の正体が見えてきます。
2つの類似した現象
以降では自己ループや多重辺も許容する有向グラフ を考えます。ただし, を頂点集合, を辺集合とします。また,辺 に対し, の始点を ,終点を で表すことにします*1。
有向グラフの隣接行列
さて,有向グラフ に対して
\begin{align}
a_{ij}&=\#\{e\in E \mid s(e)=i, t(e)=j\}\\
&=\mbox{頂点$i$ から 頂点$j$ への辺の本数}
\end{align}で定まる 行列 を の隣接行列と呼びます。
隣接行列 の 乗 の第 -成分は
です。 は頂点 から頂点 への辺の本数なので, の中身は
というルートを通る道の本数を表しています。よって,その合計は から への長さ の道の数に等しいことが分かります。
有向グラフの重み行列
さらに,辺の重みを与える関数 が定まっている場合を考えましょう。つまり,各辺 に重み が定まっています。
応用上では重みは,辺の長さや,通過にかかる時間・コスト,容量などを表すものとして定められることが多いです。
辺に重みがつけられた有向グラフ に対して,
\begin{align}
w_{ij}&=\min\{w(e)\mid e\in E,s(e)=i, t(e)=j \}\\
&=\mbox{頂点$i$ から 頂点$j$ への辺の重みの最小値}
\end{align}で定まる 行列 を の重み行列と呼びます。ただし, から への辺がないときは と定めます。これは重みが辺の通過にかかる時間を表しているとき,「辺がない」ことを「時間が無限にかかる」と表現していると解釈すれば,この定義に納得できると思います。
重み行列 のトロピカルな 乗 の第 -成分は
です。 は頂点 から頂点 への辺の重みの最小値なので, の中身は
というルートを通る道の重みの最小値を表しています。よってその最小値は から への長さ の道の重みの最小値に等しいことが分かります。
具体例
具体例で見てみましょう。
この有向グラフの隣接行列 と重み行列 は
\begin{align}
A=\left(
\begin{array}{ccccc}
0 & 1 & 0 & 0 & 0\\
0 & 0 & 1 & 0 & 1\\
1 & 0 & 0 & 0 & 0\\
0 & 1 & 0 & 0 & 0\\
0 & 0 & 1 & 1 & 0
\end{array}
\right),~~~
W=\left(
\begin{array}{ccccc}
\infty & 3 & \infty & \infty & \infty\\
\infty & \infty & 2& \infty & 7\\
6 & \infty & \infty & \infty & \infty \\
\infty &10 & \infty & \infty & \infty \\
\infty & \infty & 5 & 1 & \infty
\end{array}
\right)
\end{align}となります。この 乗をそれぞれ計算してみましょう。ただし の方はトロピカルな 乗です。
\begin{align}
A^6=\left(
\begin{array}{ccccc}
2 & 0 & 3 & 2 & 1\\
3 & 4 & 1 & 1 & 0\\
0 & 1 & 2 & 0 & 2\\
2 & 0 & 3 & 2 & 1\\
1 & 3 & 2 & 0 & 2
\end{array}
\right),~~~
W^{\otimes 6}=\left(
\begin{array}{ccccc}
{22} & \infty & {26} & {22} & {31}\\
{29} & {22} & {33} & {29} & \infty\\
\infty & {30} & {22} & \infty & {27}\\
{29} & \infty & {33} & {29} & {38}\\
{32} & {25} & {24} & \infty & {29}
\end{array}
\right)
\end{align}
の第 -成分は なので,頂点 から頂点 への長さ の道はちょうど 本あることが分かります。
また, の第 -成分は なので,頂点 から頂点 への長さ の道の最小の重みは であることが分かります。
実際,頂点 から頂点 への長さ の道は\begin{align}
&1\rightarrow2\rightarrow3\rightarrow1\rightarrow2\rightarrow5\rightarrow4\\
&1\rightarrow2\rightarrow5\rightarrow4\rightarrow2\rightarrow5\rightarrow4
\end{align}の本だけで,重みはそれぞれ \begin{align} 3+2+6+3+7+1&=22\\3+7+1+10+7+1&=29\end{align} になっており,最小値は確かに です。
隣接行列の一般化
さて, と 両方の情報を含むような新たな行列を定義しましょう。
は を頂点集合, を辺集合とする自己ループや多重辺も許容する有向グラフで,重み関数 が定まっていたことを思い出しましょう。また, は から への辺です 。
を変数とし,\begin{align}
a_{ij}(x)=\sum_{e\in E, s(e)=i,t(e)=j} x^{w(e)}
\end{align}で定まる 行列 を の多項式隣接行列と呼ぶことにします。
多項式隣接行列 の 乗 の第 -成分は
です。この展開を考えると, の第 -成分の の係数は, から への長さ の道で,重みが であるものの本数であることが分かります。
具体例
先ほどの例で見てみましょう。
この有向グラフの多項式隣接行列は
となります。この 乗を計算してみましょう。
の第 -成分は なので,頂点 から頂点 への長さ の道は,重みが のものと のものが 本ずつあることが分かります。
また,第 -成分は なので,頂点 から頂点 への長さ の道は,重みが のものと のものが本ずつ,重みが のものが本あることが分かります。
実際,\begin{align}
&2\rightarrow5\rightarrow4\rightarrow2\rightarrow5\rightarrow4\rightarrow2\\
&2\rightarrow3\rightarrow1\rightarrow2\rightarrow3\rightarrow1\rightarrow2\\
&2\rightarrow5\rightarrow4\rightarrow2\rightarrow3\rightarrow1\rightarrow2\\
&2\rightarrow3\rightarrow1\rightarrow2\rightarrow5\rightarrow4\rightarrow2
\end{align}の本で,重みがそれぞれ となっています。
隣接行列・重み行列との関係
定義より, に を代入したものは隣接行列 に一致しています。よって, は に を代入することで得られます。
また, の第 -成分は から への長さ の道の重みの最小値でしたが,これは の第 -成分の最低次数に一致します (ただし, の最低次数は と約束します)。
こうしてみると,トロピカル演算の正体が見えてきます。つまりトロピカル演算とは,多項式の最低次数だけを抜き出して計算しているものなのです。
トロピカル演算の正体
多項式 に対し,\begin{align}\mathrm{ord}(f)&:=\min \{n \mid c_n\neq 0\}\\ \mathrm{ord}(0)&:=\infty \end{align} と定義し, のオーダーと呼びます。
とする理由を説明します。いま,次数の小さい部分に注目していますが,これは が十分に小さい範囲を考えていることに対応しています。物理学で, が十分に小さいときに を で近似したりしますよね。 が十分に小さいときは なので, と約束するのが都合がよいのです。
つの多項式 に対し, \begin{align}
\mathrm{ord}(fg)&=\mathrm{ord}(f)+\mathrm{ord}(g)\\
\mathrm{ord}(f+g)&\ge \min\{\mathrm{ord}(f),~\mathrm{ord}(g)\}\\
\end{align}が成り立ちます。2番目の不等式で等号が成り立たないのは,最低次数の部分がちょうどキャンセルしてになる場合です。
よってそれ以外の場合,例えば と の係数が全て非負の場合は \begin{align}
\mathrm{ord}(fg)&=\mathrm{ord}(f)+\mathrm{ord}(g)\\
\mathrm{ord}(f+g)&= \min\{\mathrm{ord}(f),~\mathrm{ord}(g)\}\\
\end{align}となります。オーダー関数 によって,加法が に,乗法が に変換されていることが見て取れます。さらに加法単位元 については で, です。これはまさにトロピカル演算
を表しています。
より詳しくトロピカル代数・トロピカル幾何を知りたい方は次のサイトからいろいろたどってみてください。
http://pantodon.shinshu-u.ac.jp/topology/literature/tropical_mathematics.html
*1:つまり は単なる有限集合で,つの関数 が定まっているということです。 の要素 のことを から への辺と呼ぶことにします。自己ループや多重辺も許容するというのは, となる辺 があってもいいし,異なる辺 で となるものがあってもいいといことです