2001年 6月10日 作成 | セットとクラス (現象的な違い) | >> 目次 (作成日順) |
2006年 8月16日 補遺 |
▼ セット (集合) と クラス (類) [ その 3: 現象的の違い ] 以下の 「顧客」 entity の構造を例にして、クラス と セット の現象的な違いを述べる。 |
┌───────────────────┐ │ 顧 客 R│ ├─────────┬─────────┤ │顧客番号 │顧客名称 │ │ │ │ │ │ │ └─────────┼─────────┘ | ┌──────┴───────┐ ┌────┴────┐ ┌────┴────┐ │ ? │ │ 法 人 │ └────┬────┘ └─────────┘ ┌──────┴───────┐ ┌──┴──┐ ┌──┴──┐ │ 男 | │ 女 │ └─────┘ └─────┘ |
1. クラス の考えかた
クラス は 「階の関係」 を記述して、「分類する」 という概念である。 2. セット の考えかた
セット は 「包摂関係」 を記述して、「区分する」 という概念である。 |
以上のように、「クラス」 と 「セット」 は、現象的には、表裏一体の関係にあるが、定義が違う。 | |
クラス (タイプ理論) | セット (包摂関係) |
G (f) | F ⊂ G |
f (x) = {a, b, c} G (f) = {f} ≠ {a, b, c} |
F = {a, b, c} G = {a, b, c, d} |
クラス のなかでは、「男」 と 「女」 は、「 個人」 の メンバー ではあるが、「顧客」 の メンバー ではない。 |
3. クラス と セット のちがい クラス の定義を説明する例として、「国連」 が例示されることが多い。すなわち、国連の メンバー は国々であり、 国の メンバー は、例えば、日本国なら日本人だが、日本人は国連の メンバー ではない、という説明がされる。 しかし、(セット の観点からすれば) 日本人の集合は、いくら日本人を加わえても、日本人の集合であって、日本国にはならない。もし、f (x) の述語を 「x は日本国籍を取得している」 というなら、「国」 を認知の対象としているのだから、(タイプ理論を使わない) 「命題論理」を使った 「関係の論理 (aRb)」 の観点から言えば、「人」 と 「国」 という 2つの enity の間に生成される真理値表 (対照表、「人. 国. 対照表」) として表現される。 つまり、「男」 と 「女」 を使った例で言えば、「男」 と 「女」 の集合を起点にして、「個人 」 あるいは 「法人」 という クラス を形成するためには、タイプ (N − 1)と タイプ N の間には、「概念の飛躍 (抽象化)」 が起こっているのである。 概念の一般化は論理和ではない。 |
[ 補遺 ] (2006年 8月16日)
「セット と クラス」 のちがいは、数学上、「或る部分集合を仮想するかどうか」-- セットは、{x ∈ a | f (x)} という 「部分集合の公理」 を前提にしているが、クラス には、そういう前提はない -- という点にすぎないのかもしれない (小生は数学の専門家ではないので、そうであると断言できるほどの知識がないが、それぞれの 「定義」 から判断して、そういうふうに言うことができると思う)。手短に言えば、「みずからを メンバー としない セット の全体はないけれど、そういう クラス はある」 ということ。
この 「定義のちがい」 が、セット あるいは クラス を実際の 「集合の構成」 として適用するときに、「具体的に」 どのような相違点として生じるのかと問われたら、少なくとも、データベース 設計では、{x ∈ a | f (x)} でも f (x) でも相違点はないし、そもそも、企業の データ は、「或る部分集合を仮想した (有限の)」 集合なので、セット 概念のほうが 「相性が良い」。 「構造」 は 「個体と関係」 として記述され、個体に対して セット を使おうが クラス を使おうが良いのであれば、「関係」 を--「関係の論理 (aRb)」 を--R (a, b) として考えて、述語論理に翻訳して、第一階の述語を使うか、それとも、高階の述語を使うか、という点のほうが、データ 設計法にとって、公理系を作る大切な点になるでしょうね。
コッド関係モデルは、第一階の述語と セット 概念を使っています。
(1) R {resource, event}. したがって、TM は、或る意味では、クラス 概念を適用しているのですが--「event」 以外は、「resource」 であるという クラス を適用しているのですが--、それでも、或る定義域 (或る企業) のなかで、それらを使うので、セット 概念とも言える。 ただ、「event」 であれ 「resource」 であれ、ひとつの セット (あるいは、クラス) のなかで、みずからの メンバー に対して、「並び」 を構成するのであれば--いわゆる 「再帰 (recursive)」 であれば--、メンバー を対象にした 「A 上の関数」なので、第二階の述語論理を使わない。 ただし、TM は数理 モデル ではない。述語論理の公理系 (たとえば、PM) に従って、上述した 3つの公理に対して、なんらかの公理系を示している訳ではない。TM は、個体の セット (entity) を 「event」 と 「resource」 の 2種類に区分して、entity の定義から直ちに導かれる 「組」 を 2項関係の 「(4つの) 公理」 として命題の形で述べているので、「非常にゆるやかな意味において」、「系」 ということができるかもしれないけれど、数理 モデル ではない。 |
<< もどる | HOME | すすむ >> | |
ベーシックス |