ナレッジ
【連載】概念モデリングを習得しよう:圏論で理解する概念モデリング(第5回)
読者の皆さん、こんにちは。Knowledge & Experience 代表の太田寛です。
この連載では概念モデリングの解説を行っています。今回は、概念モデリングの数学的な基礎付けについて紹介します。
【連載過去記事はこちら】
圏論による数学的基礎付け
前回までは、哲学的な観点から概念モデリングの解説を行ってきました。本記事では、数学的な観点からの基礎付けに必要な基本知識を紹介します。
概念モデリングの数学的な基礎付けは、近年数学の基礎付けで活用されている“圏論(Category Theory)”という分野で行います。
筆者が概念モデリングの元になっている「Shlaer-Mellor法」の習得にいそしんでいた1990年代、方法論の基礎は集合論であるとして解説がなされていました。しかし、集合論は何かの集まりという素朴な定義では公理系に矛盾があることが、数学者・論理学者のバートランド・ラッセルによって、既に1902年に指摘されているので、その集合論を基礎とすることは何とも心もとないところでした。
しかし、ありがたいことに、圏論を使うと、矛盾が生じない集合論を構成するでき、集合論以外でも、数論をはじめとするさまざまな基礎数学の再定義にも役立っているとのことです。ですから、概念モデリングの基礎付けにも圏論はうってつけであると筆者は考えています。
「え?数学?」と身を引いてしまう読者がいるかもしれません。筆者も程度の差はあれ、似たようなものなのでご安心ください。圏論をベースとしたさまざまな定理は難し過ぎて、筆者が理解するのは容易ではないのですが、圏論の基礎的な定義は、とても簡単です。ここでは、難解にならないように、概念モデリングの基礎付けに必要な部分だけを紹介することにします。この辺りの解説は、筆者の玉石混交コラムの“5. 概念モデリングに関する圏論的考察 ‐ 議論のとっかかりとして”に詳しいのでそちらもご一読ください。
圏論の定義は以下の通りです。書籍によって若干定義が異なるので、ここでは、“圏論の道案内 ~ 矢印で描く数学の世界 ~”を参考にしています。
基本は、
1.:ある対象(域:何でもよい)に対して、あるただ一つの対象(余域:域でもよい)をひも付けているものが、射という用語の定義だよ、ということです。集合論とは異なり、圏論の場合、対象に制約はなく、何でもありです。
そして、
2.:ある対象に対して射 f でひも付いている対象が得られ、さらにその対象に対して射g でひも付いている対象を得ることが合成という操作の定義。
3.と4.:射が、f、 g、 h と三つある場合、
合成の順番を変えてもよいという決まりが結合律であり、圏であるためには、結合律を満たす必要があります。
最後の5.:は、対象の同一性を示す射があること、まさに、それぞれのidentity(恒等射) を指で指しながら区別できることを保証する射が圏には必要であるということです。
もう少しだけ、圏論の道具を紹介していきます。
射について
この圏論の道具立てを使って、先ほどまで解説してきた概念モデルの状態の記述方法を振り返ってみます。
まず、対象となり得るのは、
- 概念インスタンス
- 特徴値
です。
これらはモデル化対象の意味の場で、識別可能、つまり、それぞれを指でさしながら区別でき、数え上げられる存在なので、恒等射を持つことは言うまでもありません。
そして、それぞれの特徴値は、唯一つの概念インスタンスとひも付いていて、かつ、概念インスタンスを一つ選択すれば、その特徴を記述する複数の特徴値が確定するので、
- 概念インスタンスと特徴値の間には同型射が存在する
と言えます。
また、ある概念インスタンスと別の概念インスタンスにリンクがある場合、
- 二つの概念インスタンスの間に二つの射(fl、fr) が存在する
- fl と frリンクであるの間にただ一つの射 l が存在し、その射l がリンクである
という解釈が成り立ちます。
さらに、例示した状態のモデル図を見れば、ある概念インスタンスを出発点にして、特徴値やリンクをたどって、図中に存在する全ての概念インスタンスや特徴値にたどり着けて、かつ、その経路のどこからたどり始めても、同じ目的地に到達できるので、結合律が成り立つ合成が可能であることが明白です。
まとめると、概念モデリングにおける、
- 概念インスタンス
- 特徴値
- リンク
で記述した状態のモデルは、一つの圏であると言えます。この圏の名前を便宜的に“圏I”と呼ぶことにします。
※リンクについては別の圏論的記述も可能なのですが、概念インスタンス、特徴値、リンクでの状態記述が圏であることが示せれば十分なので、そのまま話を進めることにします。
圏と圏の関係
圏論による数学的基礎付けに必要な知識を、後4つ追加します。
概念モデリングで記述された意味の場の状態を記述したモデルは一つの圏であると上述しました。概念モデリングに限らず、他のモデリング技法も、その技法で作ったモデルが圏の要件を満たすなら(筆者の見解は“満たすべきである”ですが)、同じ対象に対してさまざまな技法で作成したモデルも圏になるはずです。ここで、圏と圏の間に関する基本的な定義を紹介します。
まずは、関手(functor)です。
圏における射は、対象と対象を対応付ける概念でしたが、関手は、圏と圏の間を対応付ける概念です。
次は自然変換、関手圏、自然同値です。
一通り定義を書きましたが、中身を全て理解する必要はありません。圏と圏を対応付けるのが関手、関手を対象とした圏が関手圏だ、という程度の理解で構いません。自然変換については、“二つの圏の間に自然変換を満たす対応付けがある場合は、その二つの圏は本質的に同じである”ということを意味する、と覚えてください。
そして、自然同値な関手圏で対応付けられる二つの圏が本質的に同じであるということは、どちらかの圏で成り立つことは、もう一つの圏でも成り立つことを意味します。
これをモデリング全般に当てはめれば、モデル化対象の意味の場、つまり、意味の場の性質を伴った存在、および、存在間の意味的つながりを圏S とすると、それを正しく記述したモデル(つまり圏I)は、自然同値な自然変換の関係になければならないことになります。
モデリングとは、モデル化対象の意味の場とモデルの自然同値な自然変換のことであり、結果として、妥当なモデリング技法とは、自然同値な自然変換の要件を満たすものだ、ということになります。
結論として、圏論を基にした数学的基礎付けの観点から、
ということになります。筆者は数学の専門家ではないので、厳密に自然同値なのか、その証明はできませんが、現象学と言語哲学の観点を素直に取り入れている概念モデリングは、圏S と圏I の間に自然同値な関手圏があることはまず間違いはないでしょう。
結果として、概念モデリングは自然同値を満たすモデリング技法である、と筆者は結論付けています。
次回は、圏I のモデルによるシミュレーションについてご紹介します。
この記事は面白かったですか?
今後の改善の参考にさせていただきます!