酒と数学と(検閲により削除されました)

ブログタイトルは人生の目標です

100円をたくさん機械に入れてお金儲けしたいって話(前編)

おはようございますこんにちはこんばんは。早くも記事のネタ切れ感が半端ないです。

 

今回はブログタイトルにもなってるし、いっちょ数学の記事でも書いてやんよってことでそういった話になります。興味がない人はブラウザバック推奨です。

 

なんてったってはてなブログ \LaTeXが書けますからね!こんなに数学の記事を書くのに向いたサイトもないでしょう。

 

 

ぼくは大学で数学を専攻しており、その中でも特に集合論(Set Theory)と呼ばれる分野を勉強していることが多いです。

ぼくはこの分野の魅力の一つとして、「直感に反する結果が出ることがままある」ことがあげられると思っており、今回はそんな話をご紹介できたらと思います。

 

まず、「整列」や「順序数」といったものについて軽く説明していきます。

 

順序集合 (P,<)整列しているとは、その順序 <に対して以下が成立することです

 \forall S \subseteq P(S\neq \emptyset  \Rightarrow (\exists a \in S\ \forall b \in S \ a < b))

日本語で言えば、「任意の空でない部分集合が、常に最小限を持つ」と言えます(簡単のため、ここでは「順序」といったとき「狭義全順序」を指していることとしています)

 

整列している集合の例として、 \mathbb{N}が挙げられます。一方で、 \mathbb{Z} \left(0,1\right]は整列していません。前者は \mathbb{Z}_{\leq0}が、後者は \left(0,1\right]そのものが最小限が存在しない部分集合として反例になっています。

 

ここで、自然数の整列性に着目して「数」を拡張していくことを考えます。そのために、はじめに自然数を何らかの集合の形で定義します。ここでは、自然数と集合の要素の数を自然に対応付けて、自然数のようなものを集合論上で展開します(この方法は、フォン・ノイマン型順序数といわれます)。

 

まず、0は要素数0の集合と対応付けたいので、0=\emptysetと定義しましょう。

次に、1を何らかの要素を1つだけ持つ集合と対応付けたいですが、たった今0という集合を定義したところなので、1=\lbrace 1 \rbrace=\lbrace\emptyset\rbraceと定義します。 

次に、2を何らかの要素を2つ持つ集合と対応付けたいですが、たった今0と1という2つの集合を定義したところなので、2=\lbrace 0,1 \rbrace=\lbrace\emptyset , \lbrace\emptyset\rbrace\rbraceと定義します。

 

以下同様に、今まで作った集合をすべて集めてくることによって自然数をすべて定義することができます。

 

さて、この定義の利点ですが、我々が通常考える自然数の順序関係<と、この集合間の関係\inが完全に対応します。また、\leq\subseteqと対応します。

 

ここで、今まで作った集合をすべて集めてくるという操作を考えれば、上のような無限の操作ののちに、

\omega=\lbrace 0,1,2,3,\ldots\rbrace

という集合を考え、次に

\omega +1=\lbrace0,1,2,3,\ldots ,\omega\rbrace

という集合をさらに考えていく、ということも自然なように感じます。このような構成で得られる集合たちを順序数と呼びます(正確にはこれらの集合に共通する特徴づけを述べることで定義しますが、そういう細かい議論はここではやりません)。

順序数は、常に\inについて整列集合となります。したがって順序数は冒頭で挙げたように「自然数の整列性に着目した数の一般化」と思うことができます。

 

後々使うので定義しておくと、順序数のうち加算集合をすべて集めることで得られる順序数(これは最小の非加算順序数になる)を\omega_1と書きます。

 

 

 

 

 

 

 

さて、何でこんな話をしているかというと、実はさっき突然家に黒い服を着た怪しい人間が謎の機械を持って現れて(めちゃくちゃ怖かった)、ぼくに以下のような言葉を告げて去っていきました。

 

「その機械は、100円を入れると常に200円が返ってくる。好きに使って億万長者になるがよい。」

 

最初はぼくも怪しいと思って触らないでいたんですが、好奇心に負けて100円を入れてしまいました。すると、黒服の男の言う通りちゃんと200円が返って来たんです。ぼくはびっくりしながらも次々に100円を入れました。すると、仕組みはわかりませんがやっぱりいつでも200円が返ってくるんです。

 

これは本格的に億万長者になれるぞと思い、夢中で100円を入れ続けました。おかしなことが起こったのは丁度\omega回100円を入れ終えた後でした。手元に100円玉が1枚も残っていなかったんです。

 

 

この現象を解明するために、自分がどうやって機械にお金を入れたか考えてみます。初めに手元にある100円玉に0という名前を付けます。n回目に100円を入れたとき、自分の手元に返ってくる100円玉2枚にa_n,b_nという名前を付けましょう(初めの100円を入れる操作は「1回目」とカウントします)。

さっきぼくが100円を入れたとき、「手に入れた100円玉を古い順に機械に入れていく」という方法で機械にお金を入れました。順序数\alphaに対して、\alpha回目に手元にあるお金は

\alpha回目までに手に入れたお金)ー(\alpha回目までに機械に入れたお金)

で計算できます。

 

以上のことを念頭に入れれば、先ほどの現象を説明できます。\omega回目までに手に入れた100円玉はすべて、例えばn回目に手に入れた100円玉a_n,b_nは、先ほどのぼくのお金の入れ方から、それぞれn(n+1)-1,n(n+1)回目には機械に入れてしまいます。したがって\omega回の操作が終わったとき、手に入れたお金はすべて機械に投入されたことになり、手元には100円玉が1枚も残っていない状況が発生したようです。

 

次は同じ失敗を繰り返さないようにしようと思い、100円を入れるときにa_1の100円玉だけを手元に残したまま、他の100円玉を先ほどと同じ規則で投入しました。すると、a_1以外の100円玉について先ほどと同様の議論が回り、\omega回目にはa_1の100円玉だけが手元に残りました。

 

また、任意のnに対してa_nの100円玉を手元に残し、b_nの100円玉だけを投入することで、\omega回目の操作終了後に手元に100円玉を\omega枚残すことにも成功しました(したがって、先ほど一時的に億万長者になりました)。

 

 

しかしこれまた不思議なことに、どんなに投入の方法を工夫しても、欲張って\omega_1回まで続けようとすると、その前のどこかで資金が尽きてしまうのです。これはぼくがいけないのでしょうか?それとも機械が壊れているんでしょうか?(さっきイラついたので機械はめちゃくちゃに壊してしまいました)。後編はこれについて考えていこうと思います。