2008-10-29
■オフィスソフト
組織レベルでの考え方としては非常に柔軟でかつ論理的。
「最初は徐々に置き換えていこうと考えていたのだが、Microsoft Officeのほうが2007にバージョンアップしたところ、ユーザーインターフェイスもファイル形式も大幅に変わってしまった」
(略)
「職員がいちいち拡張子を意識しているかというとそうではない。そうなると、Microsoft Officeの環境でも文書形式の非互換という問題が起こる可能性がある。じゃあ、せっかく同じコストを掛けるのならば、OpenOffice.orgでもいいのではないかという話になった」
「MS Officeに知らないうちに依存していた」、OOo導入の会津若松市 ? @IT
個人的には私も同じことを考えた。OfficeをアップグレードするのならOOoに移行しても同じじゃん、ということでOffice2003を1台のマシンに残してあるけど、メインマシンはOOo。
2008-10-28
■スカボロー・フェア
今日漫画の辺境警備など読み返していて気がついたことがあった。
大好きな曲のスカボロー・フェアの歌詞が引用されているじゃないか。
というか順番が逆で、スカボロー・フェアを聴いた時に何か記憶に引っかかる歌詞だったからよけいに好きになった、という感じ。
その源流が今日判明してちょっとすっきり。
サイモン & ガーファンクル版はなぜか iTMS ではライブ音源のもの。
Simon & Garfunkel - Old Friends Live On Stage - Scarborough Fair
あとは、
あたりが好みだった。
追記
これリンクするの忘れてた。歌詞ですよ。
2008-10-27
■無限桁の数 再び
内容的には、
の続き。
読了前提。
はてなの質問に関して最後に書いておこう。
あのやり方のどこがまずかったかというと、「自然数と実数が一対一対応する」ということを言いたいはずなのに、自然数の集合じゃなくて、「実数と一対一対応できるように完備化した集合」をうっかり間違えて持ち出してきてしまったというところ。
その「実数と一対一対応できるように完備化した集合」について書いたのが、一番最初に挙げたエントリだ。
さて。
一昨日のエントリで、対角線論法に関するはてなの質問に対する逆質問として、
循環小数
0.10101010101010……
と
0.010101010101010……
に対応する自然数はなんですか?
というようなことを書いた。
昨日のエントリで、
1/3や2/3はいつ現れてくるでしょう?
と書いた。
この2つはちゃんと対応するように選んでいる。
循環小数 0.10101010101010…… は 2/3 の2進数表記で、0.010101010101010…… は 1/3 の2進数表記だ。
1/3 = 0.010101010101010……
2/3 = 0.101010101010101……
である。
はてなの質問にあったやり方でこれを無限桁の数に対応させる。
1/3 = 0.010101010101010…… ←→ ……10101010101010
2/3 = 0.101010101010101…… ←→ ……01010101010101
左が[0,1]区間の実数の世界で、右側が無限桁の数の世界だ。右側にでている数をよく見る。
下の数を2倍した数が、上の数になっている。
2を2進表記すると10だ。どんな進数表記を考えても「基数をかける」というのは表現上「10をかける」ということになり、それはつまり「左にシフトして最右に0を足し加える」という作業で表現できる。
それがここでちゃんと生きている。
ただし、小数点の右と左で折り返しているから関係が逆転しているのだけど。
(a) 1/3 = 0.010101010101010…… ←→ ……10101010101010 (A) (b) 2/3 = 0.101010101010101…… ←→ ……01010101010101 (B)
左の世界では b = 2a
右の世界では A = 2B
で、なんか面白くなってきたぞ、と思ってその先を考えてみた。
右の世界で A - B を筆算すると、B が現れるのが分かる。
A - B = B
だ。上で書いた。A = 2B とマッチする。
次に B - A を考えてみた。すると、
……01010101010101 ……10101010101010 -------------------- ……10101010101011 (C)
となる。
この C はなんだろう?
実は私はこの数を目にしている。最初に挙げたエントリの中で書いていたのだ。
1/3、1÷3、3の乗算の逆元。
と、いうことは?
A - B = B
A = 2B
B - A = C (= 1/3 にあたる数)
という形になった。
C が 1/3 にあたる数だとするならば、仮に実数だと思ってこの関係を満たす A と B を出してみると、A が -2/3、B が -1/3になるじゃないか。
1/3 = 0.010101010101010…… ←→ ……10101010101010 ( -2/3 ) (A)
2/3 = 0.101010101010101…… ←→ ……01010101010101 ( -1/3 ) (B)
……10101010101011 ( 1/3 ) (C)
へぇ。と思った。
試しに、B + C を考えると ……0000000 になる。零元だ。
A + B を考えると ……11111111 になる。これ、-1 にあたる数、1 に対する加算の逆元だ。
んじゃぁ、(C)に対応する実数は?
小数点でひっくり返すと、0.110101010101010…… になる。小数点2位以下は 1/3 と同じ形なので、1/2 + 1/3。つまり 5/6。
1/3 = 0.010101010101010…… ←→ ……10101010101010 ( -2/3 ) (A) 2/3 = 0.101010101010101…… ←→ ……01010101010101 ( -1/3 ) (B) 5/6 = 0.110101010101010…… ←→ ……10101010101011 ( 1/3 ) (C)
となって、対応関係が曖昧になっちゃった。残念。
というあたりで今回の旅はおしまい。
追記
完備化した後の演算について根本的な間違いをしている気がしてならない今日この頃。
■最後に書いておこうとかいっておきながら
やっぱりもうちょっとだけ書いておこうかな。
対角線論法が駄目だと思います.無限は無い,あっても一つだと思います.
http://q.hatena.ne.jp/1224941448
の質問のこと。
2番目のコメントの人だけが [0,1] 区間と書いていて、質問者と1番目の回答者は [0,1) 区間と書いている。
ただそれだけの違いに、理解の程度が現れているんじゃなかろうか。などと思っていた。
追記
1月の時には私も [0,1) 区間って書いているなぁ……。
2008-10-26
■実数どころか……
続きでも書きましょうか。
対角線論法のことは忘れて、何をしようとしているかを謙虚に見直すことでどんな間違いをしでかしているかを考えてみましょう。
1.二進法で表した,自然数と区間[0,1)の実数とを考えます.
2.二進法で表した整数を区間[0,1)の有理数に1対1に対応させます.たとえば110101を0.101011といった具合にします.(対称になっているのです)
3.n桁以下の自然数(0も含みます)について,2^n個の自然数があり,それらに2^n個の区間[0,1)の有理数が1対1対応します.
4.log2_n(nの底が2の対数)はnの極限をとると当然無限です.(log2_nが任意の自然数より大きくできるということです.n=2^(N+1)とおけばlog2_nはNより大きいです)
5.以上よりもれなく実数と対応するといえます.
http://q.hatena.ne.jp/1224941448
4.はここでは忘れましょう。
肝心の部分は3.と5.。
このやり方では、「もれなく実数と対応する」どころか「有理数のごくごく一部としか対応しない」のです。
1桁目。
0 → 0.0 → 0 に対応
1 → 0.1 → 1/2 に対応
2桁目
10 → 0.01 → 1/4 に対応
11 → 0.11 → 3/4 に対応
3桁目
100 → 0.001 → 1/8 に対応
110 → 0.011 → 3/8 に対応
101 → 0.101 → 5/8 に対応
111 → 0.111 → 7/8 に対応
ここまでくると分かるはず。最初の0を取り除いて考えるとハッキリする。
- [0,1]区間を等間隔に2分割する
- 分割した区間をさらに等間隔に2分割する
- その繰り返し
をしているにすぎない。
こんなイメージね。
問題。
1/3や2/3はいつ現れてくるでしょう?
答え。
nをどれほど大きくしても現れない。
極限の下につく\(n\rightarrow\infty\)
という表記に惑わされちゃ行けない。
n はあくまで自然数の範囲なのだ。
このやり方で自然数と「一対一対応」させられるのは、「実数」どころか「有理数のごく一部の範囲」つまり「[0,1)区間内の分数のうち分母が\(2^n\)
の形になっているもの」だけ。
対角線論法のことを忘れて、自然数と一対一対応するのがなんなのか? ということだけ考えるとさっぱりするでしょ。
(次の日のエントリに続くよ)
2008-10-25
■faviconって
(IEの) my FAVorite's ICON のことなのか、と気がついた朝。
■自然数は必ずある桁で数字が止まって初めて数になるのです
回答書いていたけどしめ切られてしまった。
対角線論法が駄目だと思います.無限は無い,あっても一つだと思います.
1.二進法で表した,自然数と区間[0,1)の実数とを考えます.
2.二進法で表した整数を区間[0,1)の有理数に1対1に対応させます.たとえば110101を0.101011といった具合にします.(対称になっているのです)
3.n桁以下の自然数(0も含みます)について,2^n個の自然数があり,それらに2^n個の区間[0,1)の有理数が1対1対応します.
4.log2_n(nの底が2の対数)はnの極限をとると当然無限です.(log2_nが任意の自然数より大きくできるということです.n=2^(N+1)とおけばlog2_nはNより大きいです)
5.以上よりもれなく実数と対応するといえます.
自然数濃度と実数濃度は同じではないでしょうか.
http://q.hatena.ne.jp/1224941448
用意していた回答(じゃないけどね)。
逆質問。
1.から自然数と区間[0,1)の実数を対応させていると思われているようですが、循環小数
0.10101010101010……
と
0.010101010101010……
に対応する自然数はなんですか?
(あるいは、それは自然数ですか? という質問の方が本質的)
もし上の質問に答えられたとしたら次の質問。
その2つの数のどちらが大きいですか?
(あるいは、自然数濃度であるならば順序がつけられるはずですがどういう順序付けをしますか? その順序づけにおいてどちらが先にでてきますか? という質問の方が隙がない)
バッサリ書くと、
- 0.01111…… という数と、……11110 という左に無限に1が続く「何か」が対応するじゃないか
- だって自然数は無限にあるのだから!
と考えているのかもしれませんが、「……11110 という左に無限に1が続く何か」は自然数ではないわけです。
「自然数が無限にある」からといって、「(左側に)無限に数字が続く」ことはないのです。
ここまでで一回トラックバック。そして追記する。
の元問題と同じタイプの落とし穴に、逆から嵌っている。
こういう問題。
2のべき乗の集合。
\(\{2^{0},~2^{1},~2^{2},\cdots,~2^{n},\cdots\}\)
部分集合を考える。\(~\{~2^0,~2^1~\}\)
や、 \(~\{~2^2,~2^4,~2^5~\}\)
など。
これを「2進数による数の表現」だとしよう。
前者は\(~\{~2^0,~2^1~\}~\rightarrow~\{~1,~2~\}~\rightarrow~1~+~2~\rightarrow~3\)
、
後者は\(~\{~2^2,~2^4,~2^5~\}~\rightarrow~\{~4,~16,~32~\}~\rightarrow~4~+~16~+~32~\rightarrow~52\)
となる。
では、
「《2のべき乗の集合》の部分集合(の集合)が自然数(の集合)と一対一対応する」と言えるだろうか? というのが問題*1。
ところで「部分集合の集合」をべき集合と呼ぶので以下べき集合と書く。
《2のべき乗の集合》のべき集合を考えてみよう。
\(~\{~\phi,~\{2^0\},~\{2^1\},~\{2^0,~2^1\},~\{2^2\},\{2^0,~2^2\},~\{2^1,~2^2\},~\{2^0,~2^1,~2^2\},~\{2^3\},~\{2^0,~2^3\},\)
\(~\{2^1,~2^3\},~\{2^0,~2^1,~2^3\},~\{2^2,~2^3\},~\{2^0,~2^2,~2^3\},~\{2^1,~2^2,~2^3\},\{2^0,~2^1,~2^2,~2^3\},~\{2^4\},~,,,\}\)
便宜上空集合\(\phi\)
を0と見なすとして*2、1つの部分集合が1つの自然数と1対1に対応しているように見える(上の場合だと、0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,,, になっている)。
……が、それは間違い。
もとの集合が無限集合であることを忘れている。
例えば、もとの集合自身もべき集合の元(げん)である。\(~\{~2^0,~2^1,~2^2,~2^3,~,,,\}\) と無限に続く集合。これに対応する自然数はあるだろうか?
ないのだ。
同じ様に、\(~\{~2^0,~2^2,~2^4,~2^6,,,\}\) や \(~\{~2^1,~2^3,~2^5,~2^7,,,\}\) のようなものも、対応する自然数がない。(これが回答として用意した部分の、0.10101010101010…… 0.010101010101010…… に対応していることに気がついて欲しい)
「《2のべき乗の集合》の部分集合(の集合)が自然数(の集合)と一対一対応する」と言えるだろうか? というのが問題だった。
これについては、
「《2のべき乗の集合》の部分集合のうち、有限集合だけを取り出すと自然数と一対一対応する」というのが正解。(空集合の扱いがぞんざいだけど)
最初のはてなの質問で忘れられてしまっているのが何かといえば、「《2のべき乗の集合》の部分集合の中の、無限集合である元」。
それが「実数の無限」と「自然数の無限」の差。
■もいっかい
《2のべき乗の集合》の部分集合は3つに分類できる。
- \(\phi\)
- 有限集合
- 無限集合
で、\(\phi\)
を0に、有限集合を自然数に対応させる、というところまではいい。
それがもとのはてなの質問のアイデア。
残った無限集合が、忘れられた部分、考慮されていない部分。
同じ話は形を変えて何度も繰り返しているのだけど、あえて新しくまとめて書いた。
最近だと、
が近い話題か。
自然数の濃度\(\aleph_{0}\) と、実数の濃度\(\aleph\) の大きな隔たりの話になっているかな、と。
■一応書いておくと
「対角線論法は正しい」と主張するつもりは全くない。
「対角線論法が間違っているというその考え方は正しくない」というだけ。
対角線論法を擁護しているのではなくて、それでは実数と自然数が一対一対応していませんよ、という話。



