fc2ブログ

中の人の徒然草425 濃度とカントールに思いをはせる

集合論を学んで一番不思議に思ったのが濃度の概念です。全単射を考えると言う発想そのものは、元々個数を数える事から始まっているので普通なのですが、部分集合と集合の濃度が同じになると言う部分が腑に落ちません。
確かに全単射だから、無限に数えるという行為をしている限り無限は無限なのですが、ℵ0と名前をつけただけで終えないで、ℵ0の性質を分類するところまで考えを進めなければ気持ちが悪いです。私の美意識に反しているので、納得しかねるのです。
定義域と値域の大きさが考慮されていない点と、有限と無限の対応が無い点が気になります。例えば、奇数の集合を無限に付番できるのでℵ0とされています。しかし、奇数と言うもの自体は無限であり、無限は無限としかいいようがありませんが、無限の要素を分析するために、無限の集合を微分する(ある一定範囲の変化率を分析した場合)に同じ濃度と定義すると支障が出ます。一例をあげると、ビット数が限られている時に問題が出ます。
整数と自然数のデータ型を同じすると問題が生じます。集合論がいうように、0,1,-1,2,-2,と言う風に付番しても1方向の写像ならば問題がありません。しかし、その値を逆写像する時、同じデータ型にしてしまうとビット数が足りないので演算が閉じません。それに加えて、数値の順序が維持されていないので気持ちが悪いです。これはプログラミングでよくある問題です。その様なよくある問題に対応できないのは美しくありません。この件はもちろん、プログラミングだけに限った話ではありません。
この世にある全ての物事は無限と言ってもよいでしょう。空も宇宙もあらゆる事象も全てが途切れなく連なっています。有限の存在である人間が出来るのは、論理的視点により有限の元として分析する事だけです。高度100キロメートルを超えると宇宙と定義するとか、物質を元素の集まりとして捉えるだとか、人間が出来る事は、無限の一部を取り出して、部分的な事実から無限なる事象を思考する事だけです。従って、集合論の濃度も、無限の要素を有限の要素との対比を加味するべきです。
そもそも数学で扱うオブジェクトは基本的に無限です。2次元関数のグラフですから無限に続きます。しかし、微分する(細部に着目する)ことにより性質を分析できます。数学のOSと呼ばれる事もある集合論は、その様な当たり前の出来事に対応した方がよいかと思います。
私が集合に対して合成関数(対応)を定義したように、濃度についても代数的計算が出来るようになるべきだと思います。そうすれば、データ型問題(域値問題)の様なものも集合論で演算して分析する事が出来るようになります。その辺の定義が足りないから、集合論のパラドックスが生じていると思います。
私の好みを言うと、整数の濃度は 2ℵ0 + 1 (自然数に0を含めない場合)と言う風に演算したいです。この式は、0を中点として、マイナス方向へℵ0、プラス方向へℵ0の濃度を持つ集合という意味です。こうした演算が出来れば、物事を集合に直して、値域と集合の対応を演算で解く事が出来るようになります。これに加えて、私が言っているように、集合を対応(合成関数)と捉えれば、論理演算を出来るので、この世のすべてのオブジェクトを演算で解けます。
学問はこうした思考遊戯を自由に出来るので楽しいです。カントールもきっと、自分の集合論にまだ発展の余地があると考えていたと思います。その証拠に、集合論のパラドックスに対しても前向きでした。彼は信仰心があつい人でしたから、神様がくれた問いだと考えていたのでしょう。この様な素晴らしい能力を持つ人が死んでしまったのは、本当に惜しいです。いま彼が生きていたら、この辺の事を尋ねる事が出来たのにな・・・
そう考えると、インターネットは偉大な発明です。でも、英語が苦手だから、現在の偉人にすら話しかけられません。英語をもっと勉強して、現在の偉人と話しをしようと思います。
スポンサーサイト



テーマ : 情報処理技術
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

インドリ

Author:インドリ
みなさん、はじめまして、
コンニチハ。

ボクは、無限の夢(infinity dream)を持つネタ好きな虹色の鳥インドリ(in dre)です。
色々な情報処理技術を啄ばむから楽しみにしてね。

http://twitter.com/indori
は別人による嫌がらせ行為です。
私とは関係ないので注意して下さい。
次はなりすましブログなどをするかもしれませんが、ここ以外でブログをするつもりがないので、ここ以外にインドリのブログがあったとしても無視してください。


何度言っても分からない人がいるので、ここにコメント欄へ書き込むときの注意事項を書きます。


一、社会人としてのマナーをわきまえましょう。
一、妄想に基づく書き込みを止めてください。
一、暴言の類は書かないで下さい。
一、某誹謗中傷サイトの書き込みは彼らの妄想に基づく書き込みですから無視して、ここへ書き込まないで下さい。
一、コメント書く前に他のコメントよく読んでから行って下さい。
一、言いがかかり等の行為を禁止します。
一、その他常識的に考えて迷惑なコメントはしないで下さい。


以上のルールを守れない人のコメントは削除します。



利用上の注意
ここに紹介してある文章およびプログラムコードは正確であるように心がけておりますが、内容を保証するものではありません。当サイトの内容によって生じた損害については、一切の責任を負いませんので御了承ください。


執筆したCodeZineの記事


【VB.NETで仮想CPUを作ろう】

  1. VB.NETで仮想CPUを作ろう
  2. レジスタの実装
  3. 仮想CPUのGUI化
  4. テストドライバの改良
  5. CPUの基礎動作の実装
  6. MOV命令の実装
  7. ADD命令実装
  8. SUB命令実装
  9. INC命令&DEC命令の実装と命令長
  10. MLU命令の実装とModR/Mについて
  11. DIV命令の実装とイベント設計について
  12. 機械語駆動式 関数電卓を作ろう!
  13. 機械語駆動式 関数電卓を作ろう! 解答編(前半)
  14. 機械語駆動式 関数電卓を作ろう! 解答編(後半)


【仮想ネットワーク実装でTCP/IPを学ぼう】
  1. TCP/IPの基礎と勘所
  2. ネットワークアクセス層の勘所
  3. インターネット層の勘所
  4. トランスポート層の勘所
  5. アプリケーション層の勘所
  6. セキュリティの基礎と仮想ネットワークの仕様
  7. GDI+と独自プロトコルの定義



【並列化】
インテル Parallel Studioを使って並列化プログラミングを試してみた
並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」


【TBBシリーズ】
  1. インテル スレッディング・ビルディング・ブロックの概要
  2. インテルTBBから学ぶループの並列化
  3. スレッドセーフとインテルTBBのコンテナ
  4. インテルTBBのスレッドクラス


【OpenMPシリーズ】
  1. OpenMPの基礎構文
  2. OpenMPの実行時ライブラリと並列ループ
  3. OpenMPのメモリモデルとfork- joinモデル

最近の記事
最近のコメント
月別アーカイブ
カテゴリ
Ada (9)
COBOL (5)
C (9)
C++ (11)
C# (370)
D (25)
Java (8)
Perl (1)
Ruby (14)
PHP (2)
Boo (2)
Cobra (2)
LISP (6)
F# (33)
HTML (0)
XHTML (0)
CSS (0)
XML (0)
XSLT (0)
Scala (4)
WPF (0)
WF (2)
WCF (0)
LINQ (4)
MONO (5)
Linux (0)
MySQL (0)
ブログ内検索
リンク
最近のトラックバック
RSSフィード
ブロとも申請フォーム

この人とブロともになる

QRコード
FC2カウンター