このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

行列計算とグラフ上の物理

お絵描きお稽古会をやりたいなー、と思っている、来年。

入り口は行列計算かな。{0, 1}とか自然数係数で2×2とか2×3くらいから入る。係数をmax-plusやmax-timesにしてみると面白い(氷運搬問題)。行列=二部グラフとして、まずは基本計算を示す。

行列積は、二部グラフの単純結合(境界の同一視)の後で図形的縮約をし、係数を計算しえ付け替える。実は和のほうがむずかしくて、直和してから重複器と可算器を繋げる。このとき、トーラスとかチューブ(円筒)とか、曲面の例も一緒に出すといい。境界概念がはっきりする。

行列の積の図形化から、積和の公式が、経路総和(ファインマン和)であることを納得する。

  • (B・A)[i, j] = Ωi,j(A;B) 左は代数的、右は幾何的に解釈する

Ωi,j(G) というのは、半環係数で付値されたグラフGの始境界点iから終境界点jに至るすべて経路の関して、経路値(経路積)を総和したものである。さらに、境界点iを動かすとΣi(Ωi,j(G))として、点jへの始境界全体からの影響が求まる。

正方行列Aの両境界をつないで円筒状にする。円筒の測線となった部分(これも境界と呼ぶ、内部境界だね)に注目する。境界に初期値を与えて、円筒に沿った伝搬の影響を時間的に全部累積したときどうなるか? 図形的には、0回、1回、2回のループの影響を全部足す。この影響の累積を求めるオペレータは、行列Aに対するクリーネ級数の形になる。

以上の事実と、経路総和公式を組み合わせると、クリーネ級数を経路総和の形で表す クリーネ/ファインマン公式がでる。

より一般に、正方とか限らない行列の境界の一部を輪(円筒)にして貼り合わせる。今度は、貼り合わせた境界には初期値を与えないで、貼り合わせてない部分から初期値を与えるとどうなるか? 実はクリーネ級数と普通の行列計算で書き下せる。これは、行列圏のトレースの明示公式を与える。このトレース公式は、入力変換、出力変換を伴うオートマトンの行列表現を与える。

これらから、行列とは限らず、ループも持つようなグラフに対しても、一般化されたクリーネ/ファインマン公式が成立することがわかる。

応用というか具体例としては、「離散物理としてのグラフ理論」で述べたように、ホイヘンスの原理とフェルマーの原理の同値性を示すとか、「フロイド/ウォーシャル法とダイクストラのアルゴリズム」の関係を示すとか:

フロイド/ウォーシャル法は半環係数で考えても非常に一般的な方法だ。境界付きグラフ(リグラフ)の始境界であたえられた初期値が無限の未来に終境界にどのような影響を与えるかを計算する。



ダイクストラアルゴリズムは、始境界も終境界も1点である場合のフロイド/ウォーシャル法と同等である。

とにかく、具体例がたくさんたくさん必要だな。プログラム意味論と流れ図とかも入れたい。