Log of ROYGB

ブックマークのコメント一覧非表示用のタグを使用しています。

2008-01-14

無限桁の自然数 無限桁の自然数を含むブックマーク

http://dain.cocolog-nifty.com/myblog/2008/01/post_35f2.htmlの『わたしが知らないスゴ本は、きっとあなたが読んでいる 数学ぎらいは幸せになれないか 「生き抜くための数学入門」』を読んで思い出したことと考えたこと。


まず、自然数と0〜1の実数を一対一対応させることはできないということの、対角線論法による説明。実数は二進数の無限小数で表記します。二進数でなくて十進数でも可能ですが、二進数だと集合と冪集合の説明にも使える利点があります。

左側の自然数と右側の実数が全て対応可能だと仮定すると矛盾がでるので、対応は不可能であるというのが対角線論法です。具体的には赤い数字を反転させたものを使ってつくる実数は自然数と対応できていないことがわかります。一番目の実数とは書数点以下第一位がちがい、二番目とは第二位が、三番目とは第三位が、というように、全ての実数と違う箇所がある新しい実数を作り出すことができるからです。

1 : 0.00000…

2 : 0.00000…

3 : 0.11000…

4 : 0.00100…

5 : 0.10100…

6 : 0.01100


しかし自然数を表記するのに無限の桁を使うことを認めると、実数と対応させることが出来てしまいます。やりかたはいたって単純で、小数点以下第一位の数が一の位、第二位が十の位、のように続けていった数を実数に対応させることです。見た目としては小数の「0.」を取り除いて、左右を反転させたものになります。これが一対一対応することについては、特に説明の必要もないと思います。

…000001 : 0.100000…

…000010 : 0.010000…

…000011 : 0.110000…

…000100 : 0.001000…

…000101 : 0.101000…

…000110 : 0.011000…


無限の桁を使った自然数と実数は対応させることができるのに、自然数と実数を対応させることはできないのだから、無限の桁というのが間違いとなりそうです。

前に「限りの無い有限の数」でも似たようなことは書いたのだけれど、この自然数は無限の桁ではないというのはどうも不思議な感じです。それは有限の桁だとすると、有限の桁で表記される自然数が無限に存在するということになるからです。

それに、その有限の桁の数っていったいいくつなんだという疑問も出てきます。もちろん具体的にいくつだなんてことは言えるはずも無いのですが、そうすると有限だけれども限りは無いんだといったこれまたよくわからないことになってきます。


(24日追記)

コメント欄の指摘に関して説明を加えてみます。

まず、“循環小数0.10101010…に対応する自然数を挙げられるでしょうか?”ということに関して。これは「0.」を取り除いて、左右を反転させるという操作を行うと、

…01010101

となります。これが自然数でないことは指摘の通りです。しかし、無限の桁を認めるという前提があれば存在し得るのではということです。それが自然数でないとしても、無限桁によって表す数というのを仮定することはできるはずです。*1

だから循環小数ではない無理数やπのような超越数であっても、小数点を基準に反転させるという操作によって対応する数をつくることができます。

具体的にはこんな感じです。

…65312414.1 : 1.41421356…

…56295141.3 : 3.14159265…


右側が実数で、左側が小数点基準で反転させた数です。この対応は全単射だと思います。

有限集合の冪集合としての自然数 有限集合の冪集合としての自然数を含むブックマーク

自然数を定義するのに集合を使う方法があります。

まず、なにも要素を持たない空集合としてφを考えてそれを0とします。

次に、0を要素に含む集合を考えて、それを1と定義します。

その次に、0と1を要素に含む集合を考えて、それを2と定義します。

そして、0と1と2を含む集合を3と定義するといったことを続けていって次々に自然数を定義するわけですが、式で書くとこんな具合です。

0=φ

1={0}

2={0,1}

3={0,1,2}


自然数全ての集合というものも考えることができて、これは無限集合になります。要素の数が1とか2とか742のように数えられる有限の数の場合は有限集合で、数え切れない場合は無限集合になります。

ある有限集合として、2のn乗の値を要素に持つ集合を考えて見ます。nは自然数ですが、無限にはならないとします。その集合をMとおくと次のようになります。

M={1,2,4,8,16,…,2^n}

集合の要素の数はn個です。nが有限の値であるので、有限集合になります。

集合Mの冪集合を考えて見ます。冪集合は、ある集合の部分集合を全て集めた集合のことです。Mの冪集合をM^2と書くとすると

M^2={{1},{2},{1,2},{4},{1,4},…,{1,2,…,2^n}}

のような感じでしょうか。


ここでnの値を、自然数を二進数で表記するのに必要な桁数とおきます。自然数を表記するのに無限の桁は必要ないので、いくつだかわかりませんが必要な有限の値をnとおいて、集合Mを考えます。この場合も、Mは有限集合です。

そして、Mの冪集合を考えます。Mの冪集合と自然数全体の集合には一対一対応が成り立つと考えられます。M^2とn桁で表記できる数との間に一対一対応が成り立つからです。

そうすると、有限集合Mの冪集合であるM^2と、無限集合の間に一対一対応が成り立ってしまうのではないでしょうか。


と、いうのが自然数を表記するのに必要な桁数が有限であって無限ではないということについて、不思議に思うことを集合を使って説明してみたものです。

*1:その一つがトラックバック先でも紹介されているp進数ですが、ここではそこまで深く考えずに小数点以下どこまでも続く無限小数と同じように小数点以上にどこまでも続く数を仮定しているだけです。

通りすがり通りすがり 2008/01/24 02:09 気になったので、一応個人的な見解をいくつか書いてみたいと思います。もしかしたらこんなことはROYGBさんには分かりきったことなのかも知れません。もしそうなら申し訳ありませんが、素人のたわごとと思ってお許し下さい。
また、自分はいかなる意味でも関連分野の専門家ではないので、言葉遣いがナイーブ過ぎたりとか、いろいろ問題があるとは思いますが、その点についてもお許しいただきたく思います。(もっと知識のある人が、何か直接コメントしてくれませんかね…)

>これが一対一対応することについては、特に説明の必要もないと思います。
例えば、循環小数0.10101010…に対応する自然数を挙げられるでしょうか?(ところで、実数とその小数表記との間の関係については、まじめにやるならもう少しことわったほうがいいんですかね)

>無限の桁というのが間違いとなりそうです。
自然数の先頭に無限桁の0をつけたことについていっているのでしょうか?それ自身は問題ではないと思いますが…

>自然数は無限の桁ではないというのはどうも不思議
「自然数は無限の桁ではない」というのを、より厳密な言葉で言い換えてみてください。例えば、Nを自然数全体の集合、f(n)をnの桁数を与える関数、というような具合にして、述語論理風の論理式に言い換えてみれば、問題がはっきりするのではないでしょうか。可能な言い換えが複数あって、ROYGBさんが想定していらっしゃるものと、「自然数は無限の桁ではない」といっている人(この言葉遣いでそう主張している人が実際にいるのかどうかはともかく)が想定しているものとが食い違っているというようなことはないでしょうか?
同じことが「限りの無い有限の数」の記事中の話にも言えるのではないかと思います。

もっともそうやって議論を厳密化したとして、そういうやり方で無限集合を扱って矛盾が生じたりしないのか、というような問題はあるのかもしれません。「実数の一対一対応」の記事とかとも関係ありそうですが、自分の力ではちょっとよく分からないです…専門家のコメントが欲しいですね。
個人的には、例えば、言語で可能な表現が可算無限しかないのに、それより大きい集合を想定することに意味がある、というのは確かに不思議な感じはします。

蛇足ですが、無限集合同士を一対一対応させるには、適当な写像を与えて、それが全単射になっていることを形式的に証明すればいいのではないかと思います。「無限を扱う」ことの問題自体は、また別の話なんでしょうけど。

長文で失礼しました

ROYGBROYGB 2008/01/24 23:04 コメントありがとうございます。指摘に関する説明は、長くなりそうだったので本文に追記しました。書いていない事については、まだ良くわかっていないかうまく説明できない部分です。

通りすがり通りすがり 2008/01/25 01:19 >書いていない事については、まだ良くわかっていないかうまく説明できない部分です。
ご説明ありがとうございます。匿名のコメントにご返答頂けるだけでも喜ばしいことです。
返事をせかすようなことになるのは私としても本意ではありませんから、コメントのことはあまり気にせずのんびり考えて頂ければと思います。

>それが自然数でないとしても、無限桁によって表す数というのを仮定することはできるはずです
なるほど、納得です。しかしそれなら、これは単に小数(というか、実数との対応付けは問題になっていないので、数字の無限列とでも呼んだ方が良いでしょうか)の表記を逆向きにしてみました、というだけの話になってしまいませんか?同じ対象について二通りの表記法を考えたとき、それらが自然に一対一に対応付けられるというのはむしろ期待される振る舞いで、特に面白いことは起こっていないように思えます。(表記法というのも大げさでしょうか。紙の上では違って見えますが、数学的な対象としては同じものといっていい位ですから)

それに、これがもともと自然数に関する議論ではないのなら、「自然数」という言葉を持ち出すのは、誤解を生むだけで、あまり意味がなくなっているように見えます。(また、前半の対角線論法の話ともとくにつながらなくなっているように思えます。)その辺はどうでしょう。

ROYGBROYGB 2008/01/25 23:46 もともと自然数の話でないわけでもないんです。というか、私は自然数の桁が無限ではいけないということについて納得していないというか理解していないんですね。一応、世間では無限の桁を使って表した数が自然数ではないとされていることは認識していますが、何故そうなのかが理解できていないわけです。

小数の場合は、有限桁であっても無限桁続く無限小数であっても同じ小数として扱われています。だから自然数や整数の場合でも、小数で有限小数と無限小数があるように有限桁の自然数に対して無限桁の自然数があっても不思議ではないと思えるからです。無限小数の呼び方を適用すれば、無限自然数や無限整数というような名前で呼んでもいいような気もします。
有限小数の桁数をどんどん増やしていった極限として無限小数を理解するのならば、自然数や整数の桁数をどんどん増やしていった極限も考えることができるわけです。
そして自然数の桁数をどんどん増やしていった極限は、自然数なのかそうでないのか。自然数でないとするならそれは何故なのだろう。
といったことを考えているのですが、結論は出ていません。

通りすがり通りすがり 2008/01/26 12:17 >というか、私は自然数の桁が無限ではいけないということについて納得していないというか理解していないんですね。
なるほど、何が問題になっているのか分かってきた気がします。(「生き抜くための数学入門」の記事に対するROYGBさんのコメントなどに惑わされて、真意を見誤っていたようです。)
ええと、こんな風に言い換えてもいいでしょうか?

「小数に関しては、桁を無限に伸ばした無限小数なるものが有限小数などの自然な拡張として定義され、つじつまのあう算術ができて実用上も重要なのに、反対側に桁を伸ばしたような数(仮に小数の反対で「無限大数」とでも呼んでおきましょうか)が普通に使われるようにはならなかったのは、なぜなのか」

確かに不思議な気がしてきました。(とはいえ数の拡張に関する似たような疑問はいろいろ作れるとも思うので、「無限大数」に関するものだけ特に不思議に思うかというとちょっとよく分かりませんが)この問題は自分の手には負えそうにありませんが、少しだけ適当なことをコメントしてみます。
「普通に使われる」数というのは、物事の数量を表すために使われているのだと思いますが、「無限大数」に、「有限大数」の自然な拡張になるような数量や大小関係を与えて、有用そうなものを作る方法はちょっと思いつきませんが、どうなんですかね。

ところで、そういうことなら、対角線論法や一対一対応に関する議論は、やはりこの問題そのものとはあまり関係がないような気がします。(一対一対応ができるから何かパラドキシカルな状況になっている、というような話にはなっていないですよね?)
また、
>有限の桁だとすると、有限の桁で表記される自然数が無限に存在するということになるからです
という部分については、何が問題になっているのか依然として分からないのですが…
個々の自然数の桁数は有限だが(自然数と呼ぶよりは、数字の有限列という方が正確ですかね)、いくらでも大きい桁数の数を作ることができるので、自然数全体が有限個しかないということにはならない、というのではなぜいけないのでしょうか。
いけないといっているのではなくて、不思議だといっているだけということでしょうか?でもそれならなぜ「有限集合の冪集合としての自然数」で書いてあるような議論をしたくなるのかがちょっと理解できません。
(具体的に言うと、
>自然数を表記するのに無限の桁は必要ないので、いくつだかわかりませんが必要な有限の値をnとおいて
の部分です。)