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

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

L加群豊饒化と行列計算による説明

文字「L」自体には特に意味が無い。プレースホルダーつうか変数つうか。適当な有限個の代数(広い意味の「代数」!)の集合上を走る変数がL。代数系の集合は {I, F1, F2, N, Z} あたりか。

  1. I または I -- 自明なモノイド
  2. F1 または F1 -- 自明な零付きモノイド、通称一元体
  3. F2 または F2 -- 二元体
  4. B または B -- ブール半環
  5. N または N -- 自然数半環
  6. Z または Z -- 整数環

これらの代数を便宜的にL代数と呼ぶ。L代数上の加群、特に自由生成加群により既存の圏(主に集合圏の部分圏)を豊饒化するシナリオ。そのために事前にいくつかの概念と練習が必要。

自由構成

自由群が典型だろうが、自由モノイドのほうがわかりやすい。自由モノイドの要素は「語、文字列、列(シーケンス)、文、リスト」などと呼ばれる。自由モノイド構成は関手になる。モナドにもなる。

自由ベクトル空間、いい例はなにかな? 電圧ポテンシャルを持った0チェイン、電流を持った1チェインをグラフ上で考えるとか。抵抗が一定の回路グラフの有向辺の上に電流を割り当てる、か。キルヒホッフの法則? それだけで時間がかかる。

一次式の集合がいいか。もともと形式的だし。自由ベクトル空間構成も関手となって、忘却関手の随伴となる。もちろんモナドになる。

コレクション・データ型

集合A(有限が考えやすい)があるとき:

  1. A ボトム添加
  2. A* = List<A> クリーネスター、リスト関手
  3. FSet<A> = Enum<A> 有限集合関手
  4. Bag<A> バッグ=マルチセット関手
  5. A上の自由Z加群

これらはL加群豊饒化と関係する。

  1. I豊饒化 なにもしないA
  2. F1豊饒化 A
  3. F2豊饒化 Fset<A> 対消滅付き合併
  4. B豊饒化 Fset<A>
  5. N豊饒化 Bag<A>
  6. Z豊饒化 荷電集合

零付き代数に関しては、豊饒化=局所加群化 だけでなく、全加群化もできる。

局所加群化の例としてのND(非決定性)関手。

行列計算

上で定義したL代数以外の代数系も入るが:

  1. 可達問題 Bの計算
  2. 最短経路問題 [0, ∞] 上のmin-plus代数
  3. 氷の運搬問題 [0, 1] 上のmax-times代数
  4. 構文図 アルファベットA上のクリーネ代数

一般化された行列計算

  1. ダイクストラアルゴリズム
  2. ウィルスの感染/バイオハザードのシミュレーション
  3. 離散波=ステップ進行波、波頭集合と掃過域
  4. 設定ファイルの合理的なマージ
  5. ファインマン/クリーネ総和の公式

他に、フロイド/ウォーシャル法とかベルマンの原理とか。