ねこでも分かるホモロジー

2019-07-20 math Topology, Homology

トポロジーで使われるホモロジーをざっっくり解説しました.

アレルギー表示

本記事には以下のアレルギー物質が含まれます. ご注意ください.

  • 厳密ではない議論
  • 感覚的な議論

トポロジーとは

まずトポロジーがどんな分野なのかを説明せねばなりませんね. トポロジーは幾何学の一分野で, 日本語では位相幾何学と言われています.

この分野の目的のひとつは, 位相空間の分類です. 位相空間というのは簡単に言えば図形です. 例えば円周や球面やトーラスや8の字です.

なぜ分類したいのかというと, 分類したいからですね. 学問てのはだいたいが分類したがりですよね(知らんけど).

分類といっても, どれくらい細かく, もしくは粗っぽく行うかは重要なポイントです. 例えば生物を分類する場合, 以下の2つでは分類の細かさが異なります.

  • 脊椎動物と非脊椎動物の2グループ
  • 鳥類, 魚類, 哺乳類, 爬虫類, 両生類の5グループ

もう少し数学っぽい例を挙げましょう. 中学生の頃に三角形の合同や相似について勉強しましたよね. 合同という視点は, 相似という視点に比べてより細かい分類を考えています. たとえば以下の2つの三角形は合同という視点では区別されますが, 相似という視点では同一視されます.

こんなふうに, 分類するにはどのレベルまで細分化するのかまで考える必要があります.

さて, トポロジーでは位相空間(図形)を分類するんでしたけど, その分類というのは結構粗っぽいです. ある図形に連続的な変形を施したものは, もとの図形と同一視されます. よく引き合いに出されるのがコーヒーカップとドーナツですね. コーヒーカップを連続的に変形させて, ドーナツの形にすることができます(Wikipedia に gif があります).

ホモロジーとは

不変量

トポロジーというのは, 「連続的に変形し合う図形は同じもの」という視点で図形の分類を目指す分野だと説明しました. では具体的にどのように分類していくのでしょうか? 言い方を変えれば, どのようにして2つの図形を区別するのでしょうか?

「どんなに頑張っても \(A\) から \(B\) に変形させることはできない」ということを証明するのはとても難しいです. 「ほら, こんな風に変形しようとしたんだけど, 無理だったよ」と言っても, 「他の変形の仕方ならできるんじゃない?」を返されてしまいます.

一般に, 「存在しないこと」を証明することは「存在すること」を証明することよりも難しいです. とある政治家も「金銭の受け渡しはしていない. 渡していないことは証明しようがない. いわば悪魔の証明だ」なんて言ってましたね.

そこで登場するのが不変量です. 不変量とは, 「同一視されるものは同じ値を取る関数」のことです. 具体例を出しましょう.

相似の観点から三角形を分類することを考えます. このとき, 次の関数は不変量です.

\[ f(\triangle \mathrm{ABC}) = \max\{\angle\mathrm{A}, \angle\mathrm{B}, \angle\mathrm{C}\} \]

なぜこれが不変量なのかというと, \(T_1, T_2\) が相似な三角形であるならば, \(f(T_1) = f(T_2)\) が成り立つからです. つまり, \(f\) は同一視されるものに対して等しい値を取るということです.

対偶を考えると, もし \(f(T_1) \neq f(T_2)\) ならば, \(T_1, T_2\) は相似ではないことがわかります. 三角形を直接扱うことなく, 相似でないことが判別できてしまうというわけですね.

注意しなくてはならないのは, \(f(T_1) = f(T_2)\) だからといって \(T_1, T_2\) が相似とは限らないことです.

位相不変量

\(A\) から \(B\) に連続的に変形させる方法は存在しない」ということを証明するのは難しいと言いました. しかし不変量 \(f\) があったらどうでしょう. \(f(A) \neq f(B)\) であることが分かればそれで十分です. もちろん \(A, B\) を直接考えるよりも \(f(A), f(B)\) を比較するほうが簡単であることが前提にはなりますが.

さて, このような不変量を位相不変量といいます. 位相空間に対して計算される不変量だからこのように呼びます. 位相不変量にはいくつか種類がありますが, よく使われるのがホモロジー \(H_*\) です.

\(A\)を位相空間としましょう. \(H_*(A)\) は何なのかというと, ベクトル空間です(ほんとは加群と呼ばれるものですが, ここでは簡単にベクトル空間ということにします).

アスタリスクには0以上の整数が入ります. \(H_*\) という記号は, \(H_0, H_1, \ldots\) をまとめた表記です. 各 \(H_i(A)\) がベクトル空間だということです.

\(H_*\) が位相不変量だということは, 空間の何かしらの情報を抽出してくれているということになります. 具体的にどんな情報を与えてくれるのかというと, 以下の通りです.

  • \(H_0(A)\) の次元は \(A\) の連結成分の数
  • \(H_1(A)\) の次元は \(A\) の1次元の穴の数
  • \(H_2(A)\) の次元は \(A\) の2次元の穴の数
  • \(H_n(A)\) の次元は \(A\)\(n\)次元の穴の数

連結成分の個数というのは, 大雑把に言えば, つながった陸地がいくつあるのかということです. 先に挙げた円周, 球面, トーラス, 8の字はそれぞれ連結成分はひとつです. 次のような円周が2つ組み合わさった空間の連結成分の個数は2です.

1次元の穴というのは指輪のような穴のことです. ドーナツやコーヒーカップは1次元の穴をひとつ持ちます.

2次元の穴というのは風船のような空洞のことです. シャボン玉やサッカーボールは2次元の穴をひとつ持ちます.

3次元以上の穴は残念ながら具体的な例を挙げることはできません. 3次元の穴は4次元空間に行けば見られます.

ホモロジーは位相不変量である

ではホモロジーが位相不変量であることを感覚的に理解してみます. トポロジーでは連続的に変形し合う図形は同一視するのでした. この「連続的に」というのがポイントです.

連続的に変形させる場合, ちぎったりくっつけたりができません. したがって, 変形前後で連結成分の個数は変化せず, \(H_0(A)\) の次元も変化しません. つまり不変量です.

連続的に変形させる場合, 穴をつくったり穴を潰したりできません. したがって, 変形前後で穴の数は変化せず, \(H_1(A)\)\(H_2(A)\) の次元は変化しません. つまり不変量です.

まとめ

トポロジーではホモロジーという位相不変量を使って位相空間を分類するというお話でした.

分類の仕方にもいろいろありますし, 位相不変量もホモロジーだけではありません. また位相不変量を計算するための手法もたくさん研究されてきました. とにかくトポロジーは広い分野ですね.

そんなトポロジーはデータ分析にも応用されていますが, それはまた別の記事で…