最近読んだ本、またはずっと紹介したいと思っていた本の中から、個別エントリにするタイミングがなさそうなものを、まとめて一挙紹介。
★は1-5個でオススメ度。人に薦める価値がまったくないと思うものはそもそも取り上げないので、1個でもつまらないという意味ではない。
『キサラギ』★★★
D.IKUSHIMAさん経由。確かになかなか面白い脚本だ。映画も機会があったら見たい。まあ見たいとか言ってる程度だとたぶん見ないが。
『ソフトウェア開発者採用ガイド』★★
Joel Spolsky著。これまでのJoel本とほとんど重複。それでもよいという人か、または本当に採用ガイドとして使用するような人にはオススメ。
『異端の数ゼロ―数学・物理学が恐れるもっとも危険な概念』★★
チャールズ・サイフェ著。数学教養初心者向きとして、いい感じ。私は同著者の『宇宙を復号する』の方が好きだけど。
『イスラムの怒り』★
内藤正典著。正月にイスタンブール行ったとき家にあったので。賛成できない意見も多いのだが、今日的な一般常識として押さえておいて損はない内容。
『クォーク―素粒子物理はどこまで進んできたか』★★
南部陽一郎著。今更ながらノーベル賞つながり。
『東方儚月抄 〜Cage in Lunatic Runagate.』★
ZUN著。儚月抄漫画版の合間を小説で説明するような感じなので、漫画版を先に読んでないと全く意味不明なので注意。漫画版を読んでても面白いかは微妙。少なくとも入門には向かない。
『まんが道』★★★★★
藤子不二雄(A)著。言わずと知れた傑作。引っ越しのために部屋を探してたら、2人で2畳に住んでたとか、4畳半が広く感じたとかいうエピソードが頭に浮かんだので。
『投資信託にだまされるな!本当に正しい投信の使い方』★★
竹川美奈子著。まあ常識的にいい。
『社会生物学論争史―誰もが真理を擁護していた』★★★★
ウリカ・セーゲルストローレ著。どこの大魔導師かエルフ王かという名前に圧倒されそうになるけど中身も重い。本当に興味のある人にしかおすすめしない。
『プロテスタンティズムの倫理と資本主義の精神』★★★★
マックス・ヴェーバー著。説明不要なほど超有名。
おまけ
これ見て「解せぬ」以上の何かしらの感想を持てる人は、たぶんJoelの言うポインタが理解できる程度の能力を持つ人。ホントこの人のTASは異次元だな。
by 木戸孝紀
tags:IT 宗教 書評 小説 数学 東方
最近読んだ本、またはずっと紹介したいと思っていた本の中から、個別エントリにするタイミングがなさそうなものを、まとめて一挙紹介。
★は1-5個でオススメ度。人に薦める価値がまったくないと思うものはそもそも取り上げないので、1個でもつまらないという意味ではない。
『最新脳科学が教える 高校生の勉強法 東進ブックス』★★★★
池谷裕二著。胡散臭い分野だけど、まともな内容。個人的には新しい内容はなかったがおすすめ。高校生でなくてもおすすめ。
『ゲーデルの不完全性定理』★★
レイモンド・スマリヤン著。スマリヤンの他の本とは違って啓蒙書とは言えません。本気で証明します。名前しか知らないで大げさなこと言う人たちに引っかからないように、人生で一度はぐらいはやっとくべきかも。
『整理HACKS!―1分でスッキリする整理のコツと習慣』★
小山龍介著。iPhoneと書籍電子化の話が書いてあると聞いたので。SugarSync使ってみるか。
『消された科学史』★★
著者にグールドが入ってたので昔読んだ。科学史好きな人には。
『影が行く―ホラーSF傑作選』★★★★
その筋では有名な『遊星からの物体X』の原作は、ジョン・W・キャンベル・ジュニア『影が行く』である。
『46年目の光―視力を取り戻した男の奇跡の人生』★★★
ロバート・カーソン著。ドキュメンタリーに加えて、見るというのは単に眼というカメラに光が入るだけの話ではないという話。再生医療は今後いろいろと面白そうだ。
『結晶世界』★★
J・G・バラード著。今となってはやや古いけど、近年でもたとえば『EDEN』なんかで元ネタになってる。
『4Gbpsを超えるWebサービス構築術』★★★
すげえもんだ。そういえば、livedoor readerだけはGoogle無双の今でも使ってるな。
『おしゃべりな宇宙―心や脳の問題から量子宇宙論まで』★★
K.C. コール著。無難な感じの科学啓蒙本。
『死体が語る歴史』★
フィリップ・シャルリエ著。予想と違って、いわゆる考古学の時代の話より歴史時代の話が多い。
『学校では教えてくれない本当のアメリカの歴史』★★★★
ハワード・ジン著、レベッカ・ステフォフ著。子供向けだけど良くできてる。
『盲目の時計職人―自然淘汰は偶然か?』★★★★★
リチャード・ドーキンス著。新刊が出た影響で紹介しときたくなった。兄貴は書名のつけ方が悪魔的に上手いと思う。
『虹の解体―いかにして科学は驚異への扉を開いたか』★★★★★
リチャード・ドーキンス著。全体にいい本だが、前にもちょっと触れた第9章のガイア理論批判のところは、いつか使うかもしれないので興味がある人は読んどくといいかも。マーギュリスはもう擁護できないレベルにまで行ってしまったみたいだなあ……。(参考)
おまけ
ゲーデルつながり。
by 木戸孝紀
tags:IT 科学 書評 数学 歴史
一昨日のパズル。もう終わっちゃってるけど、乱数でのゴリ押しだけでは芸がなさ過ぎるでしょう常識的に考えて……ということで、ちょっと改良した。
互いに行き着けないノードの数をスコア(当然低い方が良い)として、ステップごとに上位1/4だけ残してそれを4倍に複製。二本のエッジをちょん切ってつなぎ替える。
N=4で15個の解はわりとすんなり見つけられるようになった。
15個のノード。
30本のエッジ。
0のスコア。
0:[9, 12, 5, 8]
1:[3, 9, 11, 6]
2:[5, 11, 13, 12]
3:[1, 5, 10, 13]
4:[7, 5, 14, 6]
5:[2, 4, 3, 0]
6:[14, 12, 1, 4]
7:[4, 11, 9, 10]
8:[10, 14, 11, 0]
9:[13, 0, 7, 1]
10:[8, 12, 7, 3]
11:[2, 7, 1, 8]
12:[6, 10, 0, 2]
13:[9, 14, 2, 3]
14:[6, 13, 8, 4]
まだやってないけど、パラメータ設定とかける時間次第ではN=5もいけるかもしれん。
11/9追記
ちょっと時間かかったけどN=5で24個いけた。populationは800に設定。
24個のノード。
60本のエッジ。
0のスコア。
0:[6, 11, 7, 16, 13]
1:[15, 3, 13, 4, 18]
2:[6, 5, 14, 3, 23]
3:[1, 7, 20, 2, 11]
4:[19, 13, 17, 1, 5]
5:[2, 16, 4, 12, 10]
6:[2, 0, 23, 15, 19]
7:[17, 21, 0, 3, 10]
8:[12, 10, 23, 13, 20]
9:[14, 20, 17, 15, 16]
10:[8, 22, 15, 7, 5]
11:[12, 0, 22, 3, 17]
12:[8, 11, 21, 15, 5]
13:[14, 4, 1, 8, 0]
14:[13, 9, 21, 2, 22]
15:[1, 6, 9, 12, 10]
16:[20, 0, 5, 18, 9]
17:[23, 7, 4, 9, 11]
18:[23, 21, 1, 22, 16]
19:[20, 22, 4, 6, 21]
20:[19, 16, 9, 3, 8]
21:[7, 18, 14, 12, 19]
22:[19, 10, 11, 14, 18]
23:[18, 17, 8, 6, 2]
おまけ
もうすぐCDが出るらしい。
by 木戸孝紀
tags:Ruby パズル プログラミング 数学
ドレイクの方程式というものがある。最近は宇宙への関心低下に伴って知らない人も増えているかもしれないが、一定の年代のSF者や宇宙科学に興味のある人は大抵知っている。
内容の解説はしないので知らない人はwikipediaで予習してほしいが、この方程式なるものは要するに、
今日道路に落ちていたバナナの皮で滑って転んで頭を打って死ぬ人の数は、今日道に落ちているバナナの皮の数×道に落ちているバナナの皮を人が踏む確率×バナナの皮を踏んだ人が転ぶ確率×転んだ人が頭を打つ確率×頭を打った人が死ぬ確率に等しい。
……という、当たり前のことを言っているだけである。それぞれの記号に代入すべき数・確率がすでに知られているのなら、単なるかけ算に過ぎないし、もちろん実際には知られていないのだから、なおさら無意味である。
ところがこれを、いかにも「科学」を連想させる記号で書き、「数学」を連想される「方程式」と名付けると、とたんに何かすごいことを言っているように見え、何か確固たることが言えるような錯覚を起こさせる。
だからこそ、SFや通俗科学では盛んに使われた。wikipediaにも載っているエピソードだが、
著名な天文学者であるカール・セーガンは文明の存続期間以外の項は総て比較的高い値であると推測している。そして、この宇宙に存在する文明の多寡を決定付ける要素は、文明の存続期間(言い換えると技術文明が自滅を避ける能力の大小)であるとしている。ドレイクの方程式はセーガンにとって、環境問題に関わったり、核の冬の危険に対し警告を発する為の原動力となった。
カール・セーガンのこのような主張は、どの本だったか忘れたが、私も読んだことがある。もちろんこのような推測を裏づける根拠は、極めて薄弱である。
数に明るい子供に「銀河系で恒星が形成される速さが大きいと分かったら核戦争をしてもいいのか」と思わせかねないような小細工を弄せずとも、環境保護や核反対の主張はできるはずだし、またすべきだ。
彼は自分の主張がより正しく・立派で・客観的に見えるように、大衆のこうした科学・数学に対するオカルト的崇拝感覚を利用したのであり、それは、いかにもっともな動機によるものといえども真の科学ではない。
高橋直樹がこの件に関連してドレイクの方程式に言及しているのは、地下猫さんの「ダンバー数」に対する態度は、この場合のカール・セーガンに相当する誤りではないか、という問題意識に基づくものと理解している。
つまり「まあそりゃ限度のある要素の集まりには何かしらの限界はあるだろうねえ」と、ドレイクの方程式同様考えるきっかけ程度に扱っておくべきものを、大衆の数学に対する弱さを利用して自分の政治的主張を虚飾することに利用していないかということだ。
私としては、それはさすがに悪意に取りすぎで、地下猫さんはちゃんと考えるきっかけ程度に扱っているように見える。
しかし、確かに今回話したような問題意識をちゃんと持っていたら、今回の通りの言い方はしなかっただろうとも思う。批判的な立場の人から疑われるのは仕方あるまい。
そもそもダンバーの『科学がきらわれる理由』でも、科学が厳密化・数理化されていくに伴って、一般大衆から敬遠・反発の感情が発生し、オカルトへの傾倒を生んでしまう……というような危惧は、重要テーマのひとつだったはずだ。
セーガンやドレイクの方程式の時代とは風向きが大きく違っているけれども、この本から学ぶものは霊長類学以外にもっとあったんじゃないのかあ、ぐらいのことは私も言っておきたいかな。
おまけ
バナナの皮つながり。
by 木戸孝紀
tags:カール・セーガン 宇宙 科学 数学
ううむ、地下猫さんが『科学がきらわれる理由』をおすすめされた背景では、そんなこと考えていたのか。これはちょっと予想外だった。
確かに『科学がきらわれる理由』は素晴らしい本だが、ダンバー数自体は「まあそりゃ限度のある要素の集まりには何かしらの限界はあるだろうねえ」ぐらいの受け取り方をしておけばいいものだろう。
少なくとも現時点で、具体的にその数に何かがある・その数から何かが言えると考えるのは、百匹目の猿現象みたいな純然たるオカルトとは異なるものの、六次の隔たりレベルの通俗科学でしかないと思うなあ。
まあそれはそれとして、
平面上にいくつかの点がある。点と点が線で結ばれている。1本任意の1点から出ている線の数はN。任意の2点を取り出すと、その2点は直接、あるいは、別の1点を経由してつながっている。このような状況が可能な点の個数の最大値は?
という問題そのものには久々にパズル欲が刺激された……と言いたいところだけど、こりゃパズルってレベルじゃねーぞ!
直感で根拠はないが、M、Nが一般の場合の解を求めるのは、数学上の未解決問題ではないかと思う。具体的な数にしたってN = 150なんてとてもとても。
かと言って、一応数学野郎・プログラム野郎の端くれのつもりなのに手も足も出ずに終わるのは悔しいので、小さい数ぐらいでなら遊べるように、ゴリ押しで解を探すスクリプトを書いた。
見つからないと延々と探し続けるので、諦めるときはCtrl+Cで止めて下さい。(実行できる人なら止め方も知ってると思うけど。)
N = 3の時の最大個数は10のようだ。理論上 N^2+1 を上回ることはありえないのでN = 3については解決。
10個のノード。
15本のエッジ。
[0, 1, 2, 7]
[1, 0, 9, 6]
[2, 0, 5, 3]
[3, 2, 8, 6]
[4, 6, 5, 7]
[5, 2, 4, 9]
[6, 1, 3, 4]
[7, 0, 4, 8]
[8, 3, 7, 9]
[9, 1, 5, 8]
N = 4の時は13まで、
13個のノード。
26本のエッジ。
[0, 6, 11, 9, 4]
[1, 6, 11, 12, 10]
[2, 8, 11, 6, 4]
[3, 5, 4, 7, 12]
[4, 0, 2, 3, 12]
[5, 3, 8, 6, 7]
[6, 0, 1, 2, 5]
[7, 3, 5, 11, 9]
[8, 2, 5, 10, 9]
[9, 0, 7, 8, 10]
[10, 1, 8, 9, 12]
[11, 0, 1, 2, 7]
[12, 1, 3, 4, 10]
N = 5の時は16まで、
16個のノード。
40本のエッジ。
[0, 5, 10, 8, 9, 1]
[1, 3, 15, 11, 0, 14]
[2, 10, 12, 11, 4, 3]
[3, 10, 6, 1, 4, 2]
[4, 8, 3, 15, 9, 2]
[5, 15, 0, 7, 10, 14]
[6, 10, 3, 13, 7, 8]
[7, 15, 13, 5, 6, 12]
[8, 4, 0, 6, 14, 11]
[9, 15, 12, 4, 13, 0]
[10, 3, 6, 2, 0, 5]
[11, 2, 13, 14, 1, 8]
[12, 9, 2, 13, 14, 7]
[13, 6, 7, 9, 12, 11]
[14, 5, 12, 11, 8, 1]
[15, 9, 5, 1, 7, 4]
N = 6の時は20個まで発見。(まだあるかも。)(追記:N=4で14はあるみたい。(2009-11-04 – imo758の日記)
20個のノード。
59本のエッジ。
[0, 18, 1, 5, 8, 17, 13]
[1, 7, 0, 10, 4, 16, 14]
[2, 19, 16, 10, 5, 13, 6]
[3, 7, 9, 11, 19, 16, 13]
[4, 12, 18, 16, 19, 1, 11]
[5, 7, 8, 9, 18, 2, 0]
[6, 15, 10, 17, 2, 12, 9]
[7, 9, 3, 5, 1, 15, 17]
[8, 5, 12, 0, 11]
[9, 18, 7, 3, 5, 12, 6]
[10, 12, 15, 2, 6, 13, 1]
[11, 3, 19, 15, 4, 16, 8]
[12, 10, 4, 8, 6, 9, 14]
[13, 19, 10, 2, 18, 0, 3]
[14, 15, 18, 1, 12, 19, 17]
[15, 14, 17, 6, 7, 10, 11]
[16, 17, 2, 4, 1, 11, 3]
[17, 15, 16, 7, 6, 14, 0]
[18, 9, 0, 4, 5, 14, 13]
[19, 2, 4, 13, 11, 3, 14]
もちろん完全ランダムなので、見つからなくてもない証明にはならないが、見つかった解は正しい(はず)。
追記
やっとまともにグラフ理論っぽい説明が来てくれた。面白い。
N=4は15まであるのかよ。やはりN=4で早くもゴリ押しは通用しなくなるみたいだな。まあ今回はN=3の10を見つけるスクリプトがさっと書けたのと、一般には未解決だろうと一目で当たりがつけられたということで個人的には満足しておこう。
おまけ
プログラミングつながり。これは楽しい。
by 木戸孝紀
tags:Ruby パズル プログラミング 数学
最近読んだ本、またはずっと紹介したいと思っていた本の中から、個別エントリにするタイミングがなさそうなものを、まとめて一挙紹介。
★は1-5個でオススメ度。人に薦める価値がまったくないと思うものはそもそも取り上げないので、1個でもつまらないという意味ではない。
『暗殺の事典』★
カール・シファキス著。『詐欺とペテンの大百科』と同じ著者。そちらほどではないが楽しい。楽しんでいいのかという話は置いといて。
『イギリス人の患者』★★★★
マイケル・オンダーチェ著。こういう文学文学したものは普段あまり読まないのだが、これだけは好きなのよね。もっとも、わかりやすくてBGMが良い映画の方がもっと好きだったりするが。
『なぜ年をとると時間の経つのが速くなるのか 記憶と時間の心理学』★
ダウエ・ドラーイスマ著。これに関しては、まだまだ納得のいく答えの出せる段階には来てないので、とても歯がゆい。でもそれはそれで興味深い。
『プログラマのための論理パズル 難題を突破する論理思考トレーニング』★★★
Dennis E. Shasha著。プログラマに限定する必要はないような。ここでもたまにやっているが、ああいう論理パズル好きの人は是非。
『眼の冒険 デザインの道具箱』★★
松田行正著。文中の認識には突っこみたくなるような部分も多いが、まあ野暮というものだろう。単純に見ていて楽しい。
『図説 魚と貝の事典』★★★
魚類文化研究会編。生物図鑑ではなく文化的側面に注目している。かなり面白い。
『入門Luaプログラミング』★
上野豊著。NScripterにも採用されるとかで最近よく聞くので。
『ロマンシング サ・ガ大事典』★★★
攻略本というのはゲームメーカーにとっては、(比較的)楽で実入りの良いおいしい商売らしいが、それ故にか、逆にものすごく気合いの入ったものというのはなかなか出ない。これはその稀な例外。『Diablo art guide book』に次ぐぐらい好き。
『宮崎駿の雑想ノート』★
宮崎駿著。ミリオタ属性が薄い私だが、それでも圧倒される。今までそう思ってなかったわけじゃないが、この人ほんっっっとうに兵器大好きなんだな。そりゃまあこういう見方する人も出るわ。
『リーマン予想は解決するのか?_絶対数学の戦略』★
黒川信重、小島寛之著。ちょっと専門向けっぽいかも。リーマン予想に関して初めてという人にはまだ『素数に憑かれた人たち』の方がいいかな。
『無限を読みとく数学入門 世界と「私」をつなぐ数の物語』★★
小島寛之著。今まで無限ネタだとレイモンド・スマリヤンをオススメしてたけど、軽めの文庫本である程度まとまってるのは貴重かも。
『女性の進化論』★
サラ・ブラッファー・フルディ著。『マザー・ネイチャー 「母親」はいかにヒトを進化させたか』のサラ・ブラファー・ハーディー。この本自体やや古いし、いま最初に読むなら絶対『マザー・ネイチャー』の方がオススメ。ただ、そこに書かれているような知見が霊長類研究から出てきた過程が見えて面白い。
おまけ
イギリス人の間者……って、やかましいわwww
by 木戸孝紀
tags:科学 書評 数学 文学
アラン・チューリングの名誉回復について。彼の名で知られている有名なものは主に三つある。
チューリング賞は計算機科学最高の栄誉とされている賞だ。
チューリングテストはAI分野において、あるいは知性とは・意識とは・思考とはなんぞやという哲学の分野において、汲めども尽きぬ問題を生み出す有用な思考実験であり続けている。
チューリングマシンは現実のコンピュータが作成される以前にその理論的基礎を固めた。現在のところこの世のあらゆるコンピュータ――あなたが今ここを読むために使っているパソコン・携帯電話を含む――は、すべてチューリングマシン(の物理的特性に制約された不完全なサブセット)である。
またチューリングマシンによる計算の抽象化の成果には不完全性定理の最も洗練された形が含まれる。たとえば我々現代人が「プログラムに絶対にバグがないと確信することはできない」などのいくつかの命題に自信を持っていられるのは、彼のおかげだ。
チューリングは第二次世界大戦ではドイツ軍のエニグマ暗号解読に中心的な役割を果たしたにも関わらず、同性愛者だったために自殺に追いやられてしまう。このあたりはサイモン・シンの『暗号解読』がよくまとまっているのでオススメする。1箇所だけ引用しておこう。
アラン・チューリングもまた、世間の認知を待たずに死んだ暗号解読者の一人だった。英雄として歓呼されるどころか、チューリングは同性愛者として迫害を受けたのである。一九五二年、自宅に強盗が入ったと警察に届け出たとき、チューリングはうかつにも自分か同性愛者であることを漏らしてしまった。警察は一も二もなく彼を逮捕し、「刑法一八八五年改正法第十一条に違反する重大な猥褻行為」の罪に問うた。裁判のようすや有罪の判決は新聞ネタとなり、チューリングは公に辱めを受けた。
こうしてチューリングの秘密は暴かれ、彼の性的嗜好は公衆の知るところとなった。イギリス政府は彼のセキュリティークリアランス(国家機密などを扱うための人物証明)を取り消し、チューリングはコンピューター開発関連の研究プロジェクトで働くことを禁じられた。精神科医にかかることを強要され、ホルモン治療を受けさせられて、チューリングは性的不能となり、また肥満体になった。それから二年のあいだ、彼は重い鬱状態にあった。一九五四年六月七日、チューリングは青酸カリ溶液の入ったビンとりんごを一個もって寝室に入った。十六年前、彼は悪い魔女の呪文を歌うように口ずさんでいた――魔法の秘薬にりんごを浸けよう、永遠の眠りがしみ込むように。そして今、彼は自らその呪いにかかろうとしていたのだ。チューリングはりんごを青酸カリに浸けると、何口かかじった。こうして、暗号解読における真の天才の一人は、わずか四十一歳にして自ら命を絶ったのである。
(サイモン・シン『暗号解読』P278-279)
この件に対する公的な名誉回復がやっと行われたというのが冒頭のニュース。後で他の話と関連させて取り上げる機会があると思うので記録しておく。
おまけ
暗号?つながり。
by 木戸孝紀
tags:暗号 時事 数学 政治 同性愛
全員で生還する確率を上げたければ、皆が何かしらの意味で協調した行動を取らなければならない。それなのに、挑戦中にも挑戦後に一切情報をやりとりできない。この一見取り付く島もなさそうなルールの裏をかくにはどうしたらいいか。
情報をやりとりすることはできなくても、新しく全員が得ることができる情報がひとつだけある。というか、ひとつしかない。名前の書かれた紙である。突破口があるとしたらこれしかない。
考えやすくするためにまず用語の準備をしよう。
生徒には出席番号がついているものとして以後数字で考える。ついていなければどんな基準でもジャンケンでもくじ引きでもいいので適当に決める。以後生徒1〜42と呼ぶ。生徒nの名前の書かれた紙を紙nと呼ぶ。
ロッカーにも番号を振る。たとえばロッカーに番号や記号がついていたら辞書順あるいは小さい順に、仮に番号がついてなかったとしても、左上が1でその右が2など事前に決めておいた何らかの規則性に基づいて、やはり1〜42と番号を振る。以後ロッカー1〜42と呼ぶ。
さらに便宜的に同じ状態の42部屋で全員が同時に挑戦しているとして考え、生徒1が案内される部屋を教室1と呼ぶことにする。同様にして仮想の別々の教室をそれぞれ教室1〜42と呼ぶことにする。
このゲームでは、生き残るために必要なのは自分の名前の紙だけである。仮に他人の名前の紙が入っていると分かっているロッカーがあるとしたら、そこを開けるのは避けるべきである。これが基本方針である。
それを知る手段がないから困ってるんだろーが! と思ってしまいそうだが、もう少し待て。
まず最初に開けるロッカーは全員別々にすると決めよう。あえて違う選択をする理由はないのでわかりやすさのため、生徒nはロッカーnを開けることにする。
仮に自分が生徒13だとして、ロッカー13を開ける。もし幸運にも紙13が出てきたら、それでクリアだ。あとは他人の幸運を祈るのみである。しかし、そんなことは1/42の確率でしか起きないので、大抵は外れる。
出てきたのが紙4だったとする。生徒13は「ああ外れた」と嘆き悲しむ。しかし、死にたくないので嘆いてばかりいないで2個目のロッカーを選ばなければならない。2個目はもう当てずっぽうで選ぶしかないだろうか? そんなことはない。
実はこのとき、生徒13は、絶対に手に入らないと思われた他の部屋の情報を、知ることができている。
- 教室4で生徒4が、紙4以外の紙を引き「ああ外れた」と嘆き悲しんでいるということ
がわかるのだ。なぜなら、紙4はロッカー13に入っているのだから。ロッカー4を開けることになっている生徒4が紙4を引いたということは、ありえない。
ということは、生徒13が次に選ぶべきは? ロッカー4である。なぜか? この時点で生徒13が何らかの情報を持っているのは教室4に関してのみである。たとえば教室7でロッカー7を開けた生徒7が紙7を引いている可能性は、僅かながらある。
もちろん、生徒13が自分の生き残りだけ考えた場合、ロッカー4もロッカー7も「紙13が入っているかもしれない」ことにおいては何も変わることはない。
しかし、全員で生き残りたいと考えている場合には、すでに他の生徒の正解と決定している(かもしれない)ロッカーを避けることには意味がある。
よって生徒13は2個目にロッカー4を開ける。出てきたのが仮に紙9だったとする。このとき、生徒13には新たに2つのことがわかる。
- 少し前、教室4で生徒4が1個目に開けたロッカー4から出たのは紙9だったこと
- 現在、教室4で生徒4がロッカー9を開けて紙x(4,9以外の何か)を見ていること
- 現在、教室9で生徒9はロッカーxを開けて紙yを見ているがyは9ではないこと
最初の2つは当然として、紙yが紙9ではないというのはなぜわかるのか?
紙yが紙9だとすると、紙9はロッカー4に入っているのだから、生徒9は2回目にロッカー4を開けたことになり、ひいては1回目に紙4の入ったロッカー13を開けたことになる。作戦上1回目にロッカー13を開けるのは生徒13である自分なのだから、生徒9が作戦に逆らったことになる。作戦に逆らう生徒はいないことになっているので矛盾である。よってyは9ではない。
こうして2個目のロッカーを開けた時点で、生徒13は部屋を一歩も出ずして、生徒4と生徒9がいまだクリアしていないことがわかる。
生徒13が3個目に開けるべきロッカーは? 先と同様の論理で9だ。なぜなら紙13が入っているかもしれない点では他と変わらず、かつ、すでに他の生徒の正解として確定してしまっている可能性がないロッカーだからだ。
ここで、なんと! ロッカー9から紙13が出てきたとしよう。生徒13はもちろんクリアの喜びで雀躍する。だが、同時に生徒4と生徒9もクリアの喜びで雀躍していることがわかる。
というのは、少し前、生徒4が開けたロッカー9に入っていた紙xが紙13だったというのなら、今現在、生徒4はロッカー13を開けて紙4を発見したところだからだ。生徒9に関しても同様。
では、肝心のその作戦で全員生き残れる確率はいくらかぐらいになるのか? とりあえず10万回試行させてみたところ、なんと約32%もある。こんな怖ろしいゲームに巻き込まれて笑い話で済む可能性が1/3近くもあるなんて、約4兆4千億分の1とか言ってたのに比べると夢のような話ではないか。
ただし、いくら同様に続けても紙13が発見できず、今だクリアしていないと分かっている生徒が増えていくだけの可能性もある。21個目のロッカーを開けても紙13が発見できなかった場合。生徒13は死ぬ。
そして同時に、これまで紙の上に名前を見てきた4,9をはじめとする他の21人も同時に死ぬということがわかってしまう。なぜなら、すでに自分とその21人のクリアはかならず同時になることがわかっているからだ。自分が助かっていない以上みんな死ぬ。
要するに、例の場合4,9,13の3つのロッカーが13→4→9→13というループを形成していたことになる。すべての番号は必ず1以上42以下の長さのループに所属することになる。ルール上そうならないことは不可能である。
22以上の長さのループが存在しさえしなければ、全員が、確実にクリアできる。逆に22以上の長さのループが存在してしまうと、そのループにつかまった生徒は一人残らず死ぬ。
ループの長さがいくつになるパターンがいくつあるかをちゃんと計算すれば厳密な確率も求まるはず……だが、その方法は自分も思い出せないので発展課題にしておく。
試行に使ったRubyスクリプト
#!/usr/local/bin/ruby
#-*- coding: Windows-31J -*-
TIMES = 10000
NUM = 42
max = NUM / 2
all = 0
win = 0
live_sum = 0
dead_sum = 0
TIMES.times do
all += 1
arr = (0...NUM).to_a
arr = arr.sort_by{|i| rand}
live = 0
dead = 0
(0...NUM).to_a.each do |i|
cnt = 0
box = i
loop do
cnt += 1
if cnt > max
dead += 1
break
end
if arr[box] == i
live += 1
break
else
box = arr[box]
end
end
end
live_sum += live
dead_sum += dead
win += 1 if live == NUM
puts "#{win}/#{all}回目の試行:#{live}人生存・#{dead}人死亡"
end
puts "個人が助かる確率:#{live_sum.to_f / (live_sum + dead_sum).to_f}"
puts "全員助かる確率:#{win.to_f / all.to_f}"
追記 8/5
HandDrumさんのコメントを元に、厳密解の求め方をコードにしたもの。これでよさそう。
#!/usr/local/bin/ruby
#-*- coding: Windows-31J -*-
class Integer
def factorial
(1..self).inject(1){|r, i| r * i}
end
def permutation(n)
self.factorial / (self - n).factorial
end
end
NUM = 42
puts 1 - (0...(NUM/2)).inject(0) {|r, n| r + NUM.permutation(NUM - n) / (NUM - n) * n.factorial}.to_f / NUM.factorial
おまけ
死にゲーつながり。選曲と天丼が秀逸。(釣り・微ビックリ注意)
by 木戸孝紀
tags:クイズ ネタ パズル 解答 数学
|
|
|