軽深(かるしん なんちゃって圏論) Advent Calendar 2023 2日目の記事です。
演習形式をとっているので、ぜひ 回答を試みてください。
圏とは、
圏論は圏を扱う数学の基本理論です。圏が何だか分からないとさすがまずいので、説明します。簡単な内容なんですが、実は、桁違いに難しいです。
- 対象の集まりがあって対象がある
- 対象間に 射(矢印)がある (例)A → B
- 恒等射:対象が同じ、何もしない射がある
- 射の合成:射は合成できる A → B → C なら、A → C と合成できる
- 結合律:射は適用の順序をかえてもよい (A → B) → C A → (B → C ) (注)厳密ではないけど、
圏の具体例
圏論はCategory theory というくらいなので、分類でとりあえず説明します。
- 種族を対象の集まりとします。
- 属することを射とします。(例) 猫 → 動物
- 恒等射: 猫は猫 (対象は同じ対象に属するとします。)
- 合成: 猫 → 動物 → 生物 なら、猫 → 生物 もいえます。
- 結合律: 猫 → 動物 と 動物 → 生物 はそれぞれ成り立ちます。
演習 関ケ原の戦い で西軍の敵、味方の分類はどんなものがあるか
射がひとつの単純な場合を考えます。
細川 → 西軍の味方
小早川 → 西軍の味方か敵かわからない
敵、味方の分類をすると、分からないがでてきます。
実際には、どんな分類も 分類できない対象がでてきます。
では、味方か敵かわからない 以外にはどんな分類があるでしょうか?
この演習は、想定外はどう分類できるのかという演習とも共通点ありです。
こんな単純な事例でも、なんか実践的に役立つ気はしませんか?
関ケ原では、小早川の行動は、勝敗を決める重要な要素でした。
プログラミングの世界では、想定外はエラー処理そのものです。
プログラミングしたことのある人なら、エラー処理が手間がかかり、かつ重要だという実感はお持ちでしょう。