このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

リレーションの理論はダメだ (2)

リレーションの理論はダメだ - 檜山正幸のキマイラ飼育記 メモ編の続き。

  1. RVA(relation valued attribute)って、ホントにバカじゃないの?! group-byの結果を再びリレーションとして表現するために導入したらしいが、なんでそんなバカなことする? Rel(A, B) \stackrel{\sim}{=} Map(A, Pow(B)) ってだけじゃん。grf:Map(A, B)→Pow(A×B) という関数グラフ写像も使っているが。Rel(A, B), Map(A, B) などを使うことを拒んでいるから、こういう悲惨なことになる。
  2. 属性名に拘るが、その理由は暗黙のセマンティクスを属性名に込めるから。その結果、セマンティクスが明示的に語られることはない。名前からの連想・暗示に頼る。
  3. 名前無しタプル=順序タプルを嫌うが、セマンティクスを切り離すなら順序タプルを使うべき。
  4. 平均値の計算や、順序ソートを単にアウトオブスコープとして、分析しない。
  5. 外側にチューリング完全プログラミング言語があれば、集合としてのリレーション(タプル空間でもいい)上の関数は部分関数になる。したがって、全域関数だけを相手にするには無理がある。
  6. プログラミング言語で、値、変数、型を区別しないことはあり得ないが、DB理論では区別できてない。値と変数の区別はリレーションvsテーブルの議論、変数と型が1:1のケースが多いので、変数名と型名を一致させるってのが言い訳。一理あるが、やはり良くない。
  7. バッグも拒んでいるが、行列計算として容易に拡張できるのに。
  8. 結合(ジョイン)を演算だと言っているが、全域一意対応の意味の演算ではない。結合の結果は恣意性があり不定
  9. 結合は可換だと言っているが、そんなわけねーよ! リネーム考慮しろ。
  10. リネームなしでいくか、けっこう、では直積のエミュレーションはどうする? 出来ないだろう。
  11. 有限性に拘ると、整数算術を破綻させるし、論理の否定もなくなるので、整数算術/述語論理との対応が取れなくなる。
  12. 有限性と均一なフラットレコード集合への拘りで、いったい誰得?
  13. シンジが言っていたピグマリオン症候群だろう。
  14. 自分で自分を誤魔化している、自己欺瞞が多すぎる。

使うべきこと:

  1. 普通の直積とファイバー積
  2. 名前に関するリネームとリネームスパン
  3. 依存型理論の依存積Πと依存和Σ
  4. Fam(A), Fam(A, B) = Map(A, Pow(B)) のような概念
  5. B有界・A族がAからBへの関係であること。
  6. Πに関する指数法則、Σの分配法則(線形性)
  7. 指数と余指数(乗法)、余指数=掛け算関手(掛け算の累加解釈)
  8. 掛け算の積解釈×と、掛け算の塁加解釈(Σ解釈)
  9. 指数の塁積解釈(Π解釈)
  10. 和+と積×、族の総和Σと族の総積Π、塁加・、累乗 [ > ]

[追記]まったく記憶になかったが、http://d.hatena.ne.jp/m-hiyama-memo/20130412/1365735934のなかでピグマリオン症候群について書いてあった。なお、シンジは、「ピグマリオン症」と言っていたようだ。僕も圏論ピグマリオン症だから、同じ穴のムジナだ。が、モデルに入れ込むにしても、「いまどきそれはないだろう」という感じはある。[/追記]

[さらに追記]古くて、弱点・欠点、機能不足が明らかな道具立て、枠組みにどうしてこれほどに拘るのだろう? まったく理解に苦しむ。一種の互換性か? 数年前でもMS-DOS上で動く業務ソフト見たことがある。諸般の事情でOS変えられない。それと似ているのかも知れない。が、どうも「しょうがないから使い続ける」つうより「これがイイ、これ最高!」みたいな感じで使っているから哀しくなる。[/さらに追記]