11/26 (木)
x86-64/gcc が出す 8 バイトロード・ストア
うまく再現コードを書けないのだが x86-64 用の gcc (v4.1.2) を -O0 で使っていると、 8 バイトの long 型を使った時のメモリストアが movq 命令にならずに 4バイト+4バイトと 2 つの movl 命令に分解されてしまうことがあるようだ。 これは volatile をつけても一緒だ。
11/21 (土)
近所で火事だ!! というかご近所すぎる
正午に家を出るとモクモクと煙が立ち込めている。
通りに出るとなぜかロープが張られて通行禁止。 野次馬うじゃうじゃ。警官が通行規制をしているよ。
どうも1時間まえに二つ隣のブロックの通りに面した家からボヤが出たらしい。 幸い家が燃えたり怪我人がでたりするような火事ではなかったらしい。
それにしても、これだけ大騒ぎになっているのに、部屋に居る時には全然気づかなかったよ。 近場で家が燃えるような火事があった場合、逃げ遅れるね > オレ。
11/11 (水)
[MyWeb] AWS の Product Advertising API の署名認証をようやく導入
Amazon アソシエイト Web サービスを使った ID に対する電子署名をようやく設定した。 督促は6月22日から来ていたのだが、 ついつい面倒でやっていませんでした m(_ _)m
とりあえずバーコードやISBNコードによる書籍の検索が復活したので、 これで年末の蔵書の棚卸ができる。
11/5 (水)
ThinkPad T40 を久しぶりに起動してみる
ここ1年ほど使っていなかった自前のノートパソコンを立ち上げて Microsoft Update をかける。 Norton Anti Virus のデータを見ると最後にアップデートしたのが 2008年11月28日とな。
必須の修正パッチが 50 以上も出てくるので、 パッチをあてる作業だけに1時間半もかかる。 南無三。
11/4 (火)
連続体仮説を解いた夢
新横浜で K さんの送別会があった。 詳細はここには書かないが、 その場でなぜか連続体仮説の話が出た時に思い出した 連続体仮説の夢の話を書いておくよ。 起きた後に頭の中を整理してからメモ書いたので、 実際に見た夢とは違いがあるかもしれない。
連続体仮説は、 自然数の集合(を可算集合と呼ぶ)の個数(濃度)と 実数の集合(を連続体と呼ぶ)の個数(濃度)に関する仮説で、 詳しくはwikipediaを見て欲しい。 可算濃度は X0 で、 連続体濃度は X1 で、 連続体仮説は可算集合のべき集合が連続体濃度となること。
べき集合はある集合の部分集合を全て集めてできた集合のことで、
集合α が 3 つの自然数を要素に持つ有限集合 {2, 3, 4}
なら、
そのべき集合は {φ(空集合), {2}, {3}, {4}, {2, 3}, {2, 4}, {3, 4}, {2, 3, 4}}
になる。
このべき集合は 2α
のように書くことがある。
なぜ 2 が出てくるかと、ちょうどこれは2進法で、
αの部分集合の数は 2αの要素数 になっているから。
連続体仮説は「可算集合のべき集合の濃度は連続体濃度に等しい」というもので
2X0 = X1
と書ける。
2 | 3 | 4 | 部分集合 |
---|---|---|---|
0 | 0 | 0 | φ(空集合) |
1 | 0 | 0 | {2} |
0 | 1 | 0 | {3} |
1 | 1 | 0 | {2, 3} |
0 | 0 | 1 | {4} |
1 | 0 | 1 | {2, 4} |
0 | 1 | 1 | {3, 4} |
1 | 1 | 1 | {2, 3, 4} |
さて夢の中の私は、 「可算集合のべき集合、 つまり自然数のべき集合は、 無限の桁数の2進数があってそれがあらわせる全ての状態の数になる。」と考えた。 夢にもの銀河の端から端まであるカウンタが浮かび P0P1…P∞ のビット列が、 000… から 111… を目指してガチャガチャとカウントアップして行った。
P0 | P1 | … | P∞ |
---|---|---|---|
0 or 1 | 0 or 1 | … | 0 or 1 |
さらに夢の中の私は、 「実数全体と 0 以上 1 未満の実数は同じ濃度を持つ。 ここでは 0 以上 1 未満の実数だけを考えよう。 結局、これは無限桁を持つ固定小数点があれば表現できるはず。 0 以上 1 未満の区間で、最も小さい実数は 0.000…、最も大きい実数は 0.111…。 この間のビット列を全て走査すれば実数全体を網羅できる。」
B0 | B1 | … | B∞ | |
---|---|---|---|---|
0. | 0 or 1 | 0 or 1 | … | 0 or 1 |
夢の中の私は 「P0P1…P∞ も 0. B0B1…B∞ も 同じ操作をしているだけだから、やったこれで証明できた!!」 と大変喜んだ。 その後の夢でいろいろな応用を思いついたのだが、 それは夢から覚めた後には思い出せなかったよ。
ご存知の通り連続体仮説は証明も反証もできないことが証明された命題なので、連続体仮説を証明してしまった夢の中の説明は誤りです。
夢から覚めた後に思い直してみると、
- B列とP列が同じ濃度なのは間違いないです。
- P列がとりえる表現の集合は自然数のべき集合になっています。
問題はB列の方です。
B列は無限長の2進数なので、これである特定の無理数を表現することは可能です。
しかしB列の0/1を入れ換えて行くことで、実数全体を表現できるというのは正しくないようです。
そのためP列とB列が同じ濃度であることを証明しても意味がない。と私は理解しています。