スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

中の人の徒然草430 集合論に対する自分の考え

ここ最近、集合論で遊んでいます。自分の考えをまとめるために、その中で考えたことを書きます。先ず最初に思ったことは、集合そのものの定義が厳密でないことです。集合論は集合とは何かについて語り切っていないと思います。集合論の矛盾はそこから発生していると感じます。
「属する」もしくは「含む」という言葉そのものが曖昧模糊としています。英語を調べると・・・
x ∈ E は x is an element of E
A ⊂ B は A is contained in B もしくは A is a subset of B
です。要素と部分集合の所属は違うということだと思いますが、ならば要素とは何かについて厳密に定まっていません。部分集合については、すべてのAの元(要素)がBに属するとき部分集合であると定義されています。ここで問題となるのは、やはり要素(元)の厳密な定義です。
それが要素なのか集合なのか、分からない場合もあり得ます。実際に、原子論が発表された当時は、物質の最小要素は原子でしたが、今では原子よりも小さい物質(原子核など)が見つかっています。そういった将来の拡張性まで考えたとき、要素と集合の差は何なのか疑問です。
普通に考えば、何らかの要素を持つものを集合、すなわち要素を持つ要素は部分集合だと思います。ですが、要素をもたないと厳密に分かっている集合は空集合だけです。最小単位が「空集合」なのですから、要素があるといっている反面、集合論の構成要素は集合しかない事を暗示しています。
試しに最小要素を空集合だとみなして色々実験してみました。すると不思議なことに、それでも、いやそのほうが集合論は美しくなります。カントールの考えは、そちらのほうにあったという気がします。改めて考えてみれば、カントールは、数値さえも集合である順序数を例にとり理論を組み立てています。その考えに従うと、すべての要素は集合(最小単位は空集合)だと考えたほうがしっくりします。
カントールが理論構築に使っている順序数は、数の概念に人間の感性に一致すると私は思います。なぜならば、多くの数値は素数からなる合成数です。しかも、すべての数は1の合成です。人間は対象を「1,2,3,4,5...」と自然数で数えます(ただしプログラマーは0から数える)この感覚でいうと、数そのものが何らかの集合を表わしています。それを考慮すると、カントールの集合論には集合しかないような気がします。
次に私が問題だと感じたのは濃度です。整数と自然数には1対1の対応があるから濃度は等しいと聞いたとき、一瞬納得しかけましたが、直ぐに違和感を覚えました。確かに整数集合の部分集合である自然数から見れば1対1でしょう。しかし、本当の意味で両方の立場になって物事を見ていません。また、順序数(整列集合)のときの理論構築と矛盾しています。
順序数をすべて数え終わったらωとして・・・と理論が繰り広げられています。同じ理屈から言えば、自然数と整数の対応を0,1,-1,2,-2 = 0,1,2,3,4,というふうにしていけば、自然数が数え終わったとしたらどうするのでしょうか?明らかに半分足りません。このロジックの欠点は、自然数集合が整数集合の部分集合であるのにも関わらず、自然集合の範囲内でのみ、対応(関数)を考えている点にあります。小さな窓から見たら、世界は窓の広さに見えます。しかし、実際の世界は窓よりも広いです。それと同じことが整数と自然数にも言えます。
それに加えて、濃度の定義は微分的な考えがかけています。無限に広がるものは自然界に溢れかえっていますが、人間は有限の範囲内で分析し、無限を分析します。つまり、1杯の水から海水の性質を分析するように、無限集合の範囲内から、その濃度を調べる演算が必要だと私は考えています。自然数は無限、だから無限に付番できるというのはちょっと乱暴すぎます。無限にある自然数の要素を個々に考えるのではなく、関数ひとつだと考えればよいと思います。P( x ) = x + 1(x >= 0)の関数を要素として持つ自然数集合だと考えたほうが良いと思います。
そう考えると、整数集合は、中点である0と、2つの関数を持つ集合だとなります。こう考えると、濃度は2ℵ0+1となります。むろん自然数の濃度はℵ0とします。こう考えたほうが、「無限に付番できるから同じ無限なんだよ」という乱暴さがなくなり、理論が美しくなります。それに何より、濃度を有限の個数と対応付けられて代数演算できるようになります。1杯の水から海水の性質を分析するのです。人間が無限を分析するならば、有限の範囲内を取り出し、そこから性質を分析するしかありません。濃度と個数に対応関係が足りません。
数学の美しさは対称性にあると私は思います。ならば、有限と無限の個数に対応関係がなければ美しくないです。無限は無限だと思考停止せず、自由に発想したいです。数学は自由なのですから。ということで、私は集合論の拡張という遊びをしています。無駄なようですが、こういった遊びが技術力を高めると思います。もしかして、集合プログラミングが思いつくかもしれません。
スポンサーサイト

テーマ : 日記
ジャンル : 日記

コメントの投稿

非公開コメント

プロフィール

インドリ

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カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。