情報システム学会 メールマガジン 2011.7.25 No.06-04 [6]

連載 「オブジェクト指向と哲学」
第7回 知識とは何か - 2つの知識

河合 昭男

 前回まで2回に渡って「徳とは何か?」についてプラトンのプロタゴラスとパイドロスを引用しつつ「分類と分解」の視点からUMLでモデリングしながら考えてみました。

 今回は「知識とは何か?」というテーマで、個物と普遍の存在と認識についてUMLでモデリングしながら考えてみたいと思います。知識には個物の知識と普遍の知識があります。

「・・・がある」と「・・・である」
 机の上に一冊の本があるとします。それを「(1)そこに本がある」と表現する方法と、「(2)それは本である」と表現する方法があります。これら二通りの表現は一見似ていますが、微妙な違いがあります。
 (1)は本というものが存在することを示します。ものとして存在するためには質料と形相が必要です。(2)はそれが何であるか、その本質を表します。質料ではなく形相に焦点があります。

 オブジェクト指向の言葉でいえば(1)は具体的なオブジェクトが存在することを示し、オブジェクトだから属性の具体的値を持ちます。例えば「タイトル=メノン」「著者=プラトン」など固有の値を持つオブジェクトです。

図1 (1)そこに本がある
図1 (1)そこに本がある

 (2)は「本」という抽象概念が先に存在していて、それはその「本」のひとつのインスタンスであることを示します。固有の属性値を持つ個物としてよりも「本」という普遍なもの、抽象概念に焦点があります。
 UMLでは「それ」というオブジェクトと「本」というクラスの間の依存関係で表します。依存関係の矢印は「それ」の仕様が「本」の仕様に依存することを示しています。その個物よりもその本質の存在が優位にあります。≪snapshot≫はクラスとインスタンスの関係であることを示しています。

図2 (2)それは本である
図2 (2)それは本である

認識するための前提知識
 「(1)そこに本がある」という状況で、次に例えば自分が「(2)それは本である」と認識できるためには、前提として本とは何かということを知識として持っている必要があります。視覚という感性により捉えたイメージを、理性で自分が持っている本の概念と結びつけます。

 ちなみに辞書で「本」を何と説明しているのか調べてみると簡単に「書籍」と説明しています。「書籍」を見ると「本」とあります。ほとんど未定義用語です。改めて辞書で説明の必要のない誰でも知っている常識として扱われています。

 では常識ベースで本すなわち書籍とは何かを考えて見ましょう。書籍には著者、タイトル、内容、出版社、発行日、価格などの属性があります。書店で流通させるにはISBNを取得する必要があります。

図3 書籍の概念、図4 それは書籍である
図3 書籍の概念         図4 それは書籍である       

 書籍の概念が前提として存在して(図3)、それは「書籍」のインスタンスであると認識します(図4)。それは岩波文庫のプラトンのメノンだとします(図5)。

図5 インスタンス
図5 インスタンス

第1実体(個物)の知識構造
 「メノンはプラトンの著作のひとつである」という事実はひとつの知識です。主語を変えて「プラトンはメノンという本を書いた」としても意味は同じです。この事実をオブジェクト指向でモデリングするなら、固有名詞はオブジェクトであり動詞はリンクで表すことができます。

図6 プラトンはメノンを書いた
図6 プラトンはメノンを書いた

 左の図7のように著者を書籍の属性とはせず、右の図8のように著者を別オブジェクトにします。

図7 著者を書籍の属性にする、図8 著者を分離する
図7 著者を書籍の属性にする         図8 著者を分離する             

 小さい範囲の単純な知識だけを扱うなら左(図7)でもよいかもしれませんが、もう少し大きな範囲を扱うなら右(図8)のほうが良いモデルです。
 例えばプラトンのメノンは世界中に翻訳され、例えばPenguinの英語版があります。さらにそこにはプロタゴラスと合わせて一冊にされています。そもそもプラトンが書いた原書である著作物を元に、世界中に翻訳され書籍として企画されて出版されています。原書(著作物)と書籍は別にしたほうがより大きな範囲の知識構造を表現することができます(図9)。著作物と書籍の関係は1対1ではなく多対多です。
 この知識構造は当然ながら文章で表すこともできますが、整理して図9のようにオブジェクト図で表すと簡単で一目瞭然です。

図9 第1実体の知識
図9 第1実体の知識

第2実体(普遍)の知識構造
 アリストテレスは人が視覚など感性により認識できる個物を第1実体であるとし、第1実体の本質(eidos)を第2実体としました。本質よりも具体的に認識できるものの存在を優先しました。
 上記UMLのオブジェクト図はオブジェクト間のリンク構造で第1実体の知識構造を表現したものです。
 第2実体の知識はUMLのクラス図としてクラス間の関連構造で表すことができます。
例えば上記オブジェクト図は次のようなクラス図として抽象概念レベルの知識構造となります(図10)。当然ながらオブジェクト図(図9)と比べて随分とシンプルです。

図10 第2実体(普遍)レベルの知識
図10 第2実体(普遍)レベルの知識

 共著もあるので著者側の多重度は1ではなく1..*です。書籍には翻訳者や監修者がいる場合もありますが、このモデルには入っていません。このようなシンプルな概念レベルの知識を持っていれば、第1実体(個物)の知識体系は図9のように整理された状態でどんどん膨らましてゆくことができます。

 「(2)それは本である」を「(2)それはプラトンのメノンという本である」と認識するためにはこの概念知識が前提になります。このモデルならば岩波文庫でもPenguin Classicsでも同じです。このように概念(第2実体)レベルの知識構造により認識レベルは深まります(図11)。

図11 概念知識により認識レベルは深まる
図11 概念知識により認識レベルは深まる

--

 今回はアリストテレスの第1実体(個物)の知識構造はオブジェクト図で表すことができ、第2実体(普遍)の知識構造はクラス図として表すことができることを示しました。
 アリストテレスは第1実体こそが先に存在するものであり、第2実体はそれだけでは存在しないものだとしました。存在論と認識論は別です。第1実体が何であるかを認識するためには前提として第2実体の知識が必要です。本稿の議論は取りあえずここまでとします。

以 上

ODL ObjectDesignLaboratory,Inc. Akio Kawai