2013年11月24日日曜日

臆病



 臆病とは、人が自然淘汰の中で、生存競争(生存可能性)におけるリスク(危険遭遇率)を回避するために進化した、優れた能力である。


※ 写真はflickrでCCライセンスの"evolution"を検索して出てきたもの。素晴らしい。

2013年11月23日土曜日

ひさびさのペン大 11月初回

さて夏休みを挟んで初めての復帰。本当にひさびさである。今日実は色々行けない事情が重なったのだが、今日こそ絶対行くと前から決めていたので、それに屈っせず行けて本当に良かった。

その気合いに応えてくれたかのような、やはり最高に楽しい授業だった。先生、ありがとうございます!

20世紀は四度(IV△7)の時代。

分析曲ではトニックが一回しか現れず、IVが各小節の頭に出まくる。曲を特徴付けるので、人によっては第二のトニックともいう?らしい。

今思ったのだが、このIVの時代というのは、あくまでメジャーの話なのか、マイナーもなのか。分析曲のコード進行上はGメジャーだが、マイナーの場合はどうなのだろう?


とはいえ、それは、トニック感を利用した浮遊感というか、幻想感というか、そういったものだと思うので、どう理解するかの問題だと思う。トニックって何?という。

あと、課題曲(分析曲)ではキーGだったので、このIVをIにするとキーCになる。♯が1個減るが、これで行くと曲はどう見えるのだろう?

Gダイアトニック
G△7 Am7 Bm7 C△7 D7 Em7 Fm7-5
Em7 Fm7-5 G△7 Am7 Bm7 C△7 D7

Cダイアトニック(GのIV)
C△7 Dm7 Em7 F△7 G7 Am7 Bm7-5
Cm7 Dm7-5 E♭△7 Fm7 Gm7 A♭△7 B♭7


面倒なので色々省略してしまったが、
まあ、”ダイアトニック環境"に立てば言わずもがなコードが一致しない。

じゃあどうすればコードが合うかと言えば、
”スケールを代え”ればいい。

Gメジャースケールと同じ構成音のままCから弾くとCリディアン。
もしIV度がトニック並みなのであれば、ダイアトニック統合表の中に、リディアンを入れてしまうというのもアリな気がするが。

Cメ(GのIV)/リディアン入り
C△7 Dm7 Em7 F△7 G7 Am7 Bm7-5(メジャー)
C△7 D7 Em7 Fm7-5 G△7 Am7 Bm7(リディアン)
Cm7 Dm7-5 E♭△7 Fm7 Gm7 A♭△7 B♭7(ナチュラルマイナー)
..
..

でもよく見るとメジャーではドミナントであるVが△7になっていて、如何にもまずい。由来するGに沿って機能も移動してIIをドミナントとするしかない? それだとどうなんでしょうね。。。あ、普通に他の階から借りてくればいいのか、つまりメジャーから。

そういえば以前、PrinceのBambiのなんちゃ分析したとき、ブルーススケール(VIIが♭するミクソリディアン)がダイアトニックに入るとか入らないとかいう話があった。

Cメジャー(GのIV)/リディアン、ミクソリディアン入り
C△7 Dm7 Em7 F△7 G7 Am7 Bm7-5(メジャー)
C△7 D7 Em7 Fm7-5 G△7 Am7 Bm7(リディアン)
C7 Dm7 Em7-5 Fm7 Gm7 Am7 B♭△7(ミクソリディアン)
Cm7 Dm7-5 E♭△7 Fm7 Gm7 A♭△7 B♭7(ナチュラルマイナー)
..
..

注)リディアン、ミクソリディアンのコードは自分で拾ったので間違ってるかも。

こうやってモードを追加していくと7階建てメジャーになるが、それが以前言っていたやがて7階建てになるということでもないような気がする。


他にも(一見話が脱線しているようにみえるほど)様々な角度から説明してくれるのだが、それらが基本的に随分前に教えてもらった内容を元にしていて、如何にこれまで基本的なことを教わってきているのかが再認識されると同時に、それらが本当に”基本”であり、こうしてより高度な話の基礎になっていることがよく分かって、その納得感がより理解を深める重しのような役割をしている。いや〜さすがだ。感服。






2013年11月4日月曜日

「宇宙をプログラムする宇宙」を読みながらのロギングまたはジャーナル2


カップヌードルの最後の豚肉?の一欠片の不味いことと言ったらない。本当、止めてほしい。どうしてわざわざ不味いものを作る必要があるのか。サディスティックであるから、という以外に理由が思いつかない。


P55 「合理性が自己言及と相まって、われわれの行動を本質的に矛盾した不確実なものにするのである。」

という文自体が矛盾している。合理性とは何か?という点で、狭い範囲の合理性を選んでいることが問題。自己言及は無限だが螺旋でもある。つまり、最初に何があったか、神か、ビットか。結局そこにたどり着くわけで、時間軸を無視した静的な考えに、そもそも「矛盾」を導く合理性はない(合理性がなければ矛盾もない)。矛盾するのは合理性が限定的だからだ。

物事(つまりエネルギー)は時間とともに変化する。昨日の自分と今日の自分は違うのだ。

P56 「コンピュータをプログラミングして〜(中略)〜人間に近づいているのである」

だんだん疲れてきた。これは何だ? それは評価基準の問題でしかない。何を言いたいのかといえば恐らく、予測不可能だということだろう。そんなことは自明だ。せめてなぜ予測不可能なのか、あるいは予測可能だと誤解してしまうのか、ならまだましと思うが。

なぜコンピュータを何かこう、絶対論理の守護神のような扱いを前提にするのだろう。誰もそんなことは思っちゃいないと思うのだが。間違ってるのに、わざわざ合ってると仮定すると矛盾するから間違ってる、と言われてもねえ。。。最初から間違ってるんだから。

戻ってP55、「論理的に行動したときにこそ、われわれの振る舞いは予測不可能になるものだ」ってじゃあなに、ランダムに行動したときこそ予測可能になるといの? そうは言ってないんだよね? わけわかんない。前提が間違ってるんだよ前提が。論理的に行動すれば予測可能になりそうだ、という前提が。論理的行動と、予測可能性の相関なんて、どこにも示されてないじゃん。せめてベルの不等式みたいな、予測可能/不可能と論理を結びつける範囲を明確に示す不等式が必要だと思う。

P57 まぐわう
初めて聞いた。

P58 「ビッグバンと呼ばれる巨大な爆発で誕生した」
え? インフレーションは無視ですか? まあ『光速より速い光』という本にあるようにインフレーション理論でなくてもいいのだが、ビックバンから始めるのはどうなんだろう。最初にビットありき、で語るには、無(ゼロ)のすぐ次から始めなくてはならないのではないか?

「なぜ宇宙はこれほどまでに複雑なのか」
それは単に、人間の思考能力が及ばないから。なぜそんなに人間の思考能力を絶賛するのか。例えば無限に大きく見える巨大な数字。それがどうした? 人間の四則演算力の限界を遥かに超える計算が必要だとして、何が問題なのか。1024bitの暗号解読に何年もかかる? だから?  裏を返せば、宇宙はもっと複雑でなければならない、どうしてこんなに単純なのか?とも言えるではないか。つまり、複雑さが問題なのではない。その複雑に感じる要因の1つ1つになぜそうなっているのか、が問題なだけだ。例えば宇宙の全部の星が100兆個の100兆倍あると推定されたとしよう。そこで問題なのはその数が人間の思考上巨大だということではない。なぜその数になったか、だ。100個しか無い、なんていったら明らかに間違ってると思うだろう。でも確認が難しい答えが出た時、その大きさではなく正確さが問題なのだ。

人間の能力を基準にする意味はどこにあるのか。全く理解できない。


あ、っとここで、全然関係ない本『量子のからみあう宇宙』というだいぶ前に読んだ本の中であった、量子通信(と呼んだかどうかは定かでないが要するに絡み合う量子の一方が動くと他方が瞬間的につまり時間ゼロで動く)が相対性理論の光速の制限を破るという話のなかで、とはいえ、その情報を伝えるには結局光速以下で通信するしかないので、問題ないといった内容だった。でその時いい説明が見つからなかったのだが、この本を読みながら不意に浮かんだのでメモ。

天王星に基地があり、敵と交戦中だとする。ここで地球にある本部に、敵が天王星の基地に向け、地球の軌道上にいる敵宇宙船から光速ミサイルを発射したという連絡が入った。発射されたのは30分前。天王星は今、地球から27億kmの距離に位置している。つまり電磁波で通信すると150分もかかってしまう。光速ミサイルは文字通り光速にほぼ近い速度で
航行するので、2時間後には基地が吹き飛ばされるだろう。何せ我々には敵ミサイルを撃ち落とす能力が無いのだ。逃げるしかない。

こんなとき、量子通信があれば大丈夫。なにせ一瞬で伝わるのだから。モノは運べないが情報なら運べる。これは相対性理論を破っているのではないか?

しかしこの本を読んだことでたった今気づいたのは、正に今自分が書いた「モノは運べないが情報なら運べる」ということ、かもしれない。

ただそれでも納得できているわけではない。以前は絡み合った量子というのは、実際繋がっていると思っていた。つまりニコイチになっているのだ。相対論的空間上では離れているので、そうでない”何か”、それが相対論的空間では見えないしかし同一の入れ物に入っている、あるいは表は離れているけど裏は繋がっている、そんな感じ。


P75 「おおざっぱにいうと〜」
やっと話が本筋に来た、ということで今までの前置きは聞き流しておけば良かったと後悔。でも大雑把な説明すら意味不明というか、そもそも「量子をシミュレート」というと何か矛盾を感じてしまう。不確定性原理に支配されたもののシミュレートが何を意味し、どう役立つのか。それはこの先を読んで行くしかない。面白くなってきた。


P84まで
エネルギーには方向がある。言葉としては人間が認識しているだけかもしれないが、例え生き物がいなくても方向はあった。つまりエネルギーはそれが”どちらか向いている方向に対しての力”だからだ。温度は振動数ともいえる(と思う)。それは”何か”が”動いている”ということだが、さらにそれは”空間”と”時間”があってこそだ。初めにエネルギーが生まれた時、空間も生まれた。これはどちらが先なのか。もし宇宙の誕生が”裂け目”だとしたら、わずかに空間が先ということになる。振動する隙間がなければ振動は生まれない。

今までエネルギーが保存されることにしか頭が行っていなかったが、確かに”向き”がないと意味がない。そしてその向きとは、今風位に言えば(実際には大昔からあるのだろうが)”情報”なのか? はっきり言い切れない(?がつく)のは単に違和感(ジャストフィットしない)があるからだが。

ところでタイプライターをランダムに叩くサルというのは実にナンセンスな考えだ。だが考えてみなければ分からない。ナンセンスにみえて、実は違った、ということも世の中にはまああるものだから。しかし(まだこの時点ではイメージできないし直感的には間違っていると思うが)"計算(Compute)”というのが”プログラム”で表現できるというのはその通りかもしれない。世の中は”折り畳まれている”と言ったのがプランクだったかドーキンス(の本に出てくる誰か)だったかは忘れたが、これを”プログラム”という概念で置き換えるのは今はぼんやりしていて出来ない。出来ないというより、何か間違っている、足りない感じがするのだ。非常に近いが、肝心な”何か”が抜けているような気がして、まったくすっきりしない(=ぼんやり)。

コンピュータにはそれ本体と、それが実行するプログラムの2つがある。だがプログラムは時に暴走するし、コンピュータ本体の違いもある。コンピュータをたたくサルでさえ、それがランダムなら今の宇宙の形になるとは思えない。つまり、折り畳まれるとは思えない。そこが何か足りないと感じる部分ではないだろうか。

ただ1つ(今の時点で)言えるのは、この人の言う計算とはプログラムを実行するという意味だろうということ。宇宙は量子コンピュータで、量子プログラムを実行している。そしてそれはランダムに行われてきた(サルがコンピュータをたたいてきた)、と言っているのだ。そして宇宙という量子コンピュータは、常に自分自身をアップデートするようになっていて、量子プログラムの実行結果が自分自身を改造する。改造された宇宙はさらにプログラムの実行を繰り返す。ああ、プログラム自体もだ。プログラム自体もアップデートされる。そうして問題なのは、宇宙と宇宙プログラムとの間には境目がないことだ。Macなら本体とプログラムの違いは明確だ。しかし宇宙はそうではない。それにMacを作るには結局人が介在するが、宇宙は自分ひとりで全部やっている。しかも本体自体、どこまでが一体でどこまでが部品なのか、あまり明確な区別がない。確かに物質化していったりした時点で、まるでライブラリやアプリケーションのように、部分化していっているとは言えるし、それにより機能が折り畳まれて行くのは確かだ。確かなのだが。。。まだ何か足りない。

う〜ん、納得はできないが、だんだん見えてきた。

P87 宇宙の計算の仕方
というのは恐らく、宇宙コンピュータと宇宙プログラムのセットのこと。


P88 「個々の物理系はあるビットの情報を持っていて〜」
熱力学の第二法則のエントロピーの増大をもっと正確にいうと、物理系の持っている情報量は(そのタイナミクスにより)増えることはあっても減ることはない、という主旨のことを言っていると思うが、とすれば情報の所有者は誰か? 情報が増えるのは想像に難くないが、それは互いに影響し合うのだから、情報としてはどう行き来し、結局ある瞬間において、情報の所有者は明確に決まるのだろうか。決まらないとおかしいとは思うのだが、増えるということは、最大容量があるように見えるが、現時点が常に最小値で、増えて行くと、現時点の値が更新されるので、最大容量もまた増えて行くことになる。エネルギーは変わらず情報だけが増えていくのであれば、それは一体どういうことなのか。どこに記録されると見なしているのか。

そして自分にはものを折り畳みたくなる性質(性格)がある。自分が宇宙コンピュータの結果(過程)なのだから、これは実は自分の意思というより、プログラムということになる。つまり、自分は必然的にそういう性質を受け継いでいるのだ。これはおそらく、逃れられない。折り畳まない側の人もいるかもしれない。あるいは自分の中に折り畳みたくない自分も同居している可能性もある(どこがそれに当たるのかははっきりしないが、そんな気がする)。それはエントロピーとの関係が分かれば明らかになるだろう。

P91  中性子とクオークの比率が、人と中性子の比率よりさらに小さい
昔から換算アプリを作りたかったが(例えば東京ドーム何個分とか、富士山と同じ高さとか、そういうこと)、このアプリが言う「クオークに例えると…」というくだりはきっと面白いと思う。

中性子に口を割らすというのは、ある意味拷問みたいなものだとも言える。中性子が痛がってるかどうかは分からないし、そうは見えない(または見ないようにしている)かもしれないが、まるで天使の頭のいろんな箇所を金属のような棒で指すという拷問で、天使の秘密を吐かせた悪魔のようではないか。

もし中性子が痛いといったら実験をやめるだろうか。動物実験をやるのだからそれはないな。だって君の中には原子以外、何があるっていうのだ? 何もないじゃないか。そして中性子は原子(核)の構成要素だ。君が痛みを感じる時、それは中性子が一役買っているのは間違いない。だったら中性子が痛いと言っているのかもしれないじゃないか。

(追記)とはいえ、痛いというのはアプリケーション(少なくともライブラリ)レベルだから、論理ゲート的かせいぜいアセンブラの命令レベルの位置づけの汎用性の高い中性子に痛いというのはおかしいといえばおかしい。じゃあいつ痛いは生まれるのか? それはそういうプログラムを書いたとき、だろうなあ。だけれども、元を正せばということはあるわけだし、実際壊れたりすれば、「壊れる前に言えよ〜」とかいうことになって、研究したら壊れるときに発するなにか特徴が見つかって、それを痛いに割り当てる、な〜んてことがなきにしもあらず。(追記)

ちょっと戻って同じP91 電子は同時に多くの場所を占めざるを得ない
量子力学は確率でだいたいこの辺にいるとしか言えないだけかと思っていたが、同時にいるというのはすごいことだし分かりやすい。なぜ量子力学の入門書はもっと、最初からこの重要かつ単純明快な概念を強調しないのだろうか!(もっとも今の時点でその同時の意味が分かってないのだが)




P136 「干渉パターンを壊すには、どんなに小さくても何らかの系が、粒子の位置に関する情報を得るだけでいい」
やっと量子力学の見えるの正体が明かされた。これは素晴らしいんじゃないかい? まだ100%ではないが、これはいけそうな気がする。
位置に関する情報を得る。つまりこのことが何かを引き起こす。でもまだ分からないのが縞模様が具体的にどういう波で出来るのか、つまり写真乾板に1個の電子が当たった時、なぜそれはどちらかが先に位置を得ないのか。スリットがどんな物質で、波としてすり抜ける時、そこではどういう形態を取っているのか。電子1個が両方を通ったとすると、干渉模様を作ったエネルギーは半分づつに別れているのか?(それはおかしくない?)

いずれにしても、見えるというのは、位置情報を得る、ということで、その詳細がどうなっているのかが分かればもっとよく分かってくると思う。量子コンピュータのプログラムコードの1つ、位置情報取得APIが呼ばれると、呼ばれた側の粒子はどうなるのか。そのエネルギーは?

バッキーボールやバクテリアの実験も調べる必要がある。

P136〜 干渉性の消失
ちょっと前のページ(どこか忘れた)で波は粒子の集まりというような話があった。ということは、この電子、波でいるときは粒子が集まっていると仮想できるかもしれない(できないかもしれない)。例えるなら(あまりいい例えではないが)タンカー(電子のエネルギー本体)を大勢のタグボートが引っ張ってる感じ。検出器はタグボートを切り離してしまい、タンカーは惰性で決まった方向にすすむ。

波といっても、よく考えれば、二重スリットによる電子のまるで波のような動きは、波だという証拠とは限らない。というより電子は電子乾板に向かって走っている(移動している)。ここで二重スリットがおそらく100重でも同じような結果になるのだろう。しかし地球の裏側まで干渉するわけではない。電子の航路が干渉されるには範囲があるはずだ。実際、実験に際しては、スリットの最大間隔を把握しているのだと思う(ここまでは登場していないしこの先でて来るかどうかは分からないが)。波がぶつかったような航路を取っているというだけだ。つまりタグボートのスリットに影響されたぶつかり方が波になるだけだ。だから電子がそういう航路を取ったことは間違いないが、タグボート1つ1つが電子のパーツというわけではないだろう。つまり電子がさらに小さい粒子になっているというわけではないということだ(想像)。ではタグボートの正体は何だろう?というのは置いておいて、電子本体であるタンカーの動き方を発射から電子乾板まで追ってみると、2つ考えられる。1つは波のように潰れて扇形に広がって進んでいる状態。もう1つは、1つ1つのタグボートを1ステップづつ移動しながらジグザグに移動している状態。ジグザグというのはおかしなようだが、電子の航路を測定すると、タグボートを破壊するので、その先の航路は1つしかなくなる。だからまっすぐ動いているようにみえる。もし量子的干渉をせずに電子の動きが詳細にわかる悪魔がいたとしたら、そうみえても不思議はない。もう1つ電子が粒状になるというのを考えると、「切れている」ということなので、いつ一つにまとまるのかが問題になるので、少なくとも1つめの横に繋がった状態かのどちらかではないかと思う。

まさに古典コンピュータで言えば、タイムシェアリングによるマルチタスキングか、コードを分散して並列処理するか(ただしプログラムは一本)。

電子は電子乾板に当たった時にはどこか1つに実体化するわけで、スリットを両方通ったからと言って、2つに分割されず、1つの点に当たるわけだから、途中、両方に実在するというのはどうにも変だ。もしそうだとすると、先の悪魔がみた場合、電子のエネルギーは、途中、半分になっている。それはおかしい。なぜならスリットを100万個ならべたら、1個が100万分の1になるということだ。それはいかにもおかしいというか怪しい。あ、逆にどこまでスリットを増やせるのかというのと、もしエネルギーが分割されるとするとどこまで小さく出来るのか、という別の知りたい事が出てくる(それが間違っていると言ってるわけではない)。

で、検出器を詳しく知らないといけないのだが、じゃあ例えば電子を放ってからスリットを通過するまでの間の”適当な”区間だけ検出器をONにしたらどうなるのか? つまりタグボートを壊すのは、検出器とどういう位置関係にあるときなのか。それというのも実はここでもう一つの電子の航路の取り方が考えられるからだが、この実験をぜひやりたい。

それと電子の移動と検出器(というか位置を読んで波動関数を収縮させる装置)をON/OFFするタイミングは、例えば電子がスリットを通った直後や電子乾板に当たる直前とか、いろいろやってみることだ。スリットの直後ならまだタグボートは干渉していない部分が沢山残っている(全部残っているタイミングもあるだろう)。


電子線路。

電子は力が加わる(運動エネルギー?)と、その可能な航路が空間上に作られるというもの。まさに線路が引かれるのだ。そうすると線路は二重スリットを通ってぶつかり、いくつかが壊れてしまい、縞模様になる航路しか残らなくなる。だから逆を言えば、運動エネルギーを加えるということは、線路を引くという行為に等しい。まあ、ちょっとイメージはし辛いが、そもそも空間はデジタルに区切られている。とするとそれは一本一本の線というか、3次元で見れば立方体のマス目がずらっと並んでいるとも言える。力を加えるとう行為は、その先にある立方体の扉を開く行為だとは言えないだろうか。立方体と言ったが、その間は実際”無”だと思う。だから最初の立方体に張り付いていた物体(の粒子)に力が加わると、可能性のある箱の扉の鍵が開けられる。鍵が開くだけで扉は閉まっている。で実際に物体がくっ付き、他の力関係との兼ね合いで進むべき方向の扉が開くのではないか。それを量子レベルで位置を観測しようとうすると、物体がくっついている扉以外の鍵が全部ロックされる。

マクロな物体の原子間の隙間も、実は同じような箱になっていて、絶えず運動エネルギーに従って開いたり閉まったりするのではないだろうか。で、位置を読むという行為は、鍵を(それが分かる数分)開けて、残りを閉めるということになるのではないか。

んーちょっと突拍子もない感じはあるなあ。

自分としては一番簡単そうなタグボート説を選んでおこう。何れにしても同時に2カ所に出現するように見える(決して実体化しているわけではない)のは、その2カ所(もしくはそれ以上の出現可能な場所)を行ったり来たり、転々としていると考えれば済む。

二重スリット実験はどういう装置があれば出来るのか。またはどこへ行けばやらせてもらえるのか。料金は?

どこかそういう施設がありそうだが、調べてみよう。


P139 シュテルン・ゲルラッハ装置
これも調べる。



P152 「絡み合いと遠隔作用は関係ない」
えーーー!!? じゃボブとアリスの実験は何? ちょっと後でどういうことか、あっちの本で確認しよう。この人の説明じゃあベルの不等式すら関係なくなるじゃないか。何言ってるんだろう?

それに絡み合った一方のスピンを動かすと、他方も動くのではなかったか?

全く分からん。


P155 シュレーディンガーの猫登場

さあ、予想はしていなかったが、最初の方でメモったシュレーディンガーの猫が登場した。P152からのショックで、ここまでの話は飛ばしている。いまから読むところなので、この先の話は見えていない。さて、猫の健康状態と絡み合いはどう説明されるだろうか。

P158 「検出器があるせいで〜干渉し合うことはないのだ」
いや、だから、検出器があるときはいいんだよ。ないときに、電子乾板に電子が当たるまでの間、電子はどういう生活を送っていたのか?ということだ。縞模様がどういう電子の実体(エネルギーの方)の経路を示しているかは疑問だが、少なくとも本当に両方のスリットを同時に通っていると思っているなら(自分はそうは思っていない。タグボートが通るだけだ)、検出器のない状態で、両方のスリットを通った瞬間の電子の状態をちゃんと説明してほしいなあ。

まったく問題をなかったかのようにする人だ。

あれ、シュレーディンガー方程式が出てこないまま、いきなりシュレーディンガーの猫という問題を提唱したへんな奴的な扱いで出てきてる(「この厄介な側面を大げさに採りあげ(注:漢字これでいいの?)」と言っている)。相当シュレーディンガーが嫌いなんだろうなあ。


P161 「ニューヨークの街中には、何もない空中に話しかけながらふらついている人がたくさんいる。」

笑っちゃいけないが、笑ってしまった。それよりこんなこと書いていいのか!(笑)と、また笑ってしまったが、何なんだろう(笑った自分に対して)。しかもこの後P162で「ニューヨークのホームレスと話すのとは違って、返ってくるのは真実の答だ。」と来たもんだ。引き合いに出す話だろうか。他にも言いようはあるだろうに。

P165
もし原子が絡み合った光子を吸収するとどうなるのか?

どうしてレーザーを当てて第一励起から第二励起に行かず、基底状態に戻るのか?


P188 「量子コンピュータは汎用量子シミュレータであって、そのダイナミクスはどんな物理的ダイナミクスをも模倣できるということである。」

でも同じ時間かかるんじゃないの? 例えば今の宇宙をシミュレーションするには、150億年かかるんじゃないかってこと。「量子コンピュータをそれがシミュレートする系の区別がつかない」って言ってるしね。古典コンピュータのシミュレートは途中をはしょって結果だけ得ることも出来るし、デバッグで使うような類のものは大抵そうではないだろうか。例えば途中で1秒ウェイトしたら、単にウエイトしたことにする、こともできる(し実際にウエイトさせることもできる)。

要するに現在の宇宙を作るのに、実際に宇宙を作るのか?それとも本当にシミュレートすることで、例えば7日で宇宙を作れるようになるのか?(原理的に)

P192 計算する宇宙の歴史(ヘッダ)の前までに続いて
だが量子コンピュータがコンピュータと呼ばれるためには、量子プログラムが必要だ。それが予め組み込まれたもの、というのは悪くはないのだが、コンピュータがコンピュートするというとき、それは任意のプログラム、すなわち人のような意図をもった何者かが設定(インストール)したプログラムを実行しなくてはならないと思う。もし宇宙が量子コンピュータであっても、誰も何もプログラムをインストールしていないのであれば、それは単に宇宙だ。

それに繰り返しになるが、宇宙をシミュレートするのに宇宙と同じキュビットを持つなら、来年の宇宙がどうなってるか「聞いた」瞬間、計算は終わってしまう。

因数分解する量子コンピュータだって、機械らしく何らかの箱詰め(建物を含む)になってるだろう。その中に整然とキュビットを並べ、淡々とプログラムをインストールし、実行させ、最終結果が出るのをひたすら待つ(といっても有用な計算が短時間で終わるなら大した待たないだろうが)。

それがデカくなっても決して宇宙にはならないのだから、この説明はちょっとおかしい。

今気づいた。「天は二物を与えず」
これは位置と速度のことを言っているのか?


シュレーディンガーが生涯を通じてコペンハーゲン解釈と和解することはなかったらしいということやアインシュタインがシュレーディンガー方程式を絶賛したらしいことも著者がシュレーディンガーをよく言わない要因なのか。


他世界解釈において、そもそも、電子が二つ(の世界)に収縮するなら、エネルギーが半分(それ以上のnに分散していれば1/n)にならないとおかしい。ところが実在する側の現実で収縮する電子は1のエネルギーを持っているはずなので、この考えは間違っている。とすれば、重ね合わせの状態にある電子は、n倍のエネルギー量を持っているか? それも間違いだろう。恐らく他世界解釈がエネルギーとして矛盾しないためには、はじめから他世界と絡み合っているというか、絡み合う時点でn世界が合成されていなければならないのではないだろうか。で収縮した際、お互いの世界に戻る。であればエネルギー量的な問題は起こらない。それに、収縮した際に別世界にいく電子は、あくまでその時点で他世界に行く訳で、そこまでの世界が何か丸ごとついて行くわけではない。とすると、他世界というのは、電子1個の実に寂しい世界ということになる。それが悪いとは言わないが、電子1個の世界ってどうなってるの?空間的な広がりとか。まさかそこからビッグバンが始まるとか(笑)。


量子通信の例えで、何も危機回避なんて子供っぽい話を持ち出す必要はまるでなかった。現在の通信では何時間とか何日もかかるような探査機との通信に量子通信を使えば、リアルタイムに探査機を制御できるし、探査機が得た情報もリアルタイムに送ることができる。シリアル通信なら線は2本とか4本でいいのだから、絡み合った量子のセットもたった4つでいい。それで送信側と受信側のペアを2組(予備を除く)作って、地球と探査機にそれぞれ1つづつ載せればいい。これで双方向通信が可能になる。

問題は『量子のからみあう宇宙』で言っていることをもう一度確認しなければならないということ。この著者は絡み合った量子とはいえ、一方の量子だけからは何も得られないとしている。だが確かにEPRの話では、片方の量子のスピンを変えると、相手のスピンが変わるのではなかったか? ボブとアリスの実験ではそうだったような気がする。ただMITの教授がそんなHEMAをするはずがないという根拠において、自分な何をどう読み違えたのだろうか? しかもこの本にはベルの不等式やそれに基づく量子の絡み合いの検証実験の話もまったく出てこないのだ。これほど重大な事件だというのに。

まてよ、この人の書いている文章(訳)をもう一度読んでみよう。
「第一のスピンを測定するだけで第二のスピンの状態が変わることはない」
でも第二のスピンを測定すれば、第一のスピンの状態がわかる。だから地球に第一が、探査船に第二のスピンがあれば、少なくともこの瞬間、探査船には第一のスピンの状態が分かる。予め時計を合わせておけば、その時計の信頼性のかぎりにおいて、瞬時にというには多少の実験誤差はあるだろうが、十分離れた距離(例えばこの本のように4光年はなれていれば、1日やそこらの余裕は十分にある)、つまり今日第一スピンを測る予定だったら、アルファケンタウリ近郊の探査船は24時間遅れの明日測ることにすればいい。何なら1年後でもさほど問題はないだろう。そうすれば間違いなく情報が伝わったことは確認できる(それを地球で理解するには光速以上の時間がかかるが)。”確定した時点で伝わっていた”ことに違いはない(とこの本でも言っている。ただこれは収縮なのだろうか?(第一が収縮したとき、第二は収縮するのか、それとも選択肢はないのに収縮していないのか? でもそれじゃあ箱に紅白の玉を入れて、白が出たから残りは赤だけど箱に入っているから箱から出すまで赤かどうか決まってないといってるようなものだ)

ただこれだけだと通信は出来ない(だからといって光速より速く情報が伝わった事実は揺るがない)。

で『量子のからみあう宇宙』をざっと見直してみたが、確かにアリスは情報を選べないので通信は出来ないようなことが書いてある。ヨシヤバテ。p244「絡み合った粒子は空間を超越する」とか「物理的距離には影響を受けない」ともある。しかし先に書いたように”情報が光速以上で伝わる”とは書いていない。それが1回きりの出来事で、折角超越した空間も閉じてしまうというのならしょうがない。とはいえ、その空間を超越した物理的に影響を受けない絡み合った系というのが何者なのか、言い換えればなぜ絡み合うのか、なぜ複数の重ね合わせ状態になるのかが分かってない以上、タグボートにメッセージを載せることが不可能だとは言い切れないのではないだろうか。

P231 量子ゆらぎ
最初の量子の重ね合わせは何重だったのか? 干渉性を失った歴史というのが、あくまで1つの粒子についてでしかないことについて説明がないのはなぜだろう? 八岐の園は他世界解釈的には生まれようがない。だがまるで干渉性の消滅が別世界を作り出すかのような説明の中では、全宇宙まるごとあるような記述にみえる。

それにコンピュータを打つサルを考えるまでもなく、機能性が折り畳まれることは直感的に(というのは論理的にうまく言葉にできないからだが)自明だ。もちろん科学的であるためにはサルのような理屈を示さなければならないのかもしれないが。

おそらく問題は、重力という空間を形作るものが量子ゆらぎの時点で明確に対で説明されていないからだが、概要的に説明した量子重力論の中に書かれているとしたら、それがどの部分か、まるで分からない(ま、自分に分からないのは当然といわれてしまえばそれまで)。

逆を言えば、もっと詳細に時間軸に沿ってフローチャートのように手順とリソースが示されれば、理解は簡単になるのに、と思う。量子は突然やってきて、重力はどのタイミングでどうなっていて、揺らいだ振動が拡散していくなかで、その連鎖反応がそれ以前にはなかった新しいコマンドを生み出す。それは「初めに量子ありき」が通用するのであれば、同じ理屈で新しいコマンドが生まれることは、何も不思議ではないのだから。

量子論ではないが、自然界には自己相似形が蔓延しているわけで、生物レベルでみれば自然淘汰という「結果」が最終的な「今」を表現しているように、量子あるいは原子といったレベルで自然淘汰(量子的突然変異)が起きた結果として今があってもいい。


0と1の重ね合わせは、単にそれより小さい2ビットの組み合わせの1つだともいえる。ただしその2ビットは相手とは違う値を示すことで、1ビットのように振る舞う。どうして量子ビット数が1であることに拘るのか分からないが、量子より小さな値は「見えない」のだから、それが存在しないと考えるよりは合理的だと思うのだが。量子の波にしてもマクロな波は粒子の集まりであるとしながら、量子の波はそれ以下の粒子の集まりだと、なぜ言えないのだろうか。見えないのはいい。だが想像はいくらでもできるはずだ。見えない2ビットが見える1ビットを構成していたとして、何が問題なのだろうか。


読み終えた。
途中、ロギングできないまま読んだ部分もたくさんある。メールにロギングしてこっちに書いてない部分もある。ロギングするのは主に何処に何が書いてあったか忘れてしまうのと、そのときどう思ったかを忘れてしまうからだが、ロギングしている間にそうした考えが分からなくなってしまうこともある。ミイラ取りがミイラになるように。

だが計算する宇宙の計算とは、平たく言えば変化するということだろう。なぜ変化するのかということが、量子のゆらぎや、この本ではそれが何者か、そしてどこから来たのかよく見えなかった重力との関係性で、キュビットの論理演算とその蓄積として示されている。

変化をするというのは、心理的あるいは直感的に自明だ。サメが常に泳いでいるように、止まっていることは無理だと思わせるには十分な風が吹いているからだ。そして変化が指数関数的に増えそうだということも経験的に感じている。天文学的巨大数字を持ち出すまでもなく、無限ループはいくらでも巨大で複雑なものを作り上げる。もちろん記録するには情報量があり、この本でさかんにビットといっているように二進数でそれを表現すれば、それは何かとても明確になるのは間違いないだろう。

しかし関数のように、折り畳まれてしまえば、そのレベルは新しいレイヤになる。通信上のレイヤなどと同じことで、何か情報を交換しようとしたら、お互いに理解し合えなければならないし、情報はいくらでも変形できるので、違うレイヤ間で情報交換するために、一方のレイヤから他方のレイヤに変形することで、様々なレイヤ間で最終的には情報交換、あるいは伝達が可能だ(もちろんすべてではなく、不可逆のような一方通行も在り得るだろう)。

総じて大きな疑問は2つ?
二重スリットを通る電子などの粒子が、物理的にどういう状態にいるのか。
収縮するという測定は、言い換えれば局在化させているということだし、例えば普段は波として在って、あるとき(測定すると呼ばれる具体的な行為により)局在化するのはいいのだが、その間、スリットの手前から向こう側へどうやって移動しているのかということ。スリットの壁は電子を跳ね返すからこそ開いている穴を通るのだし、2つの穴を同時に通るとき、それは物理的に分割されているのか、それともスリット間をゴムのように伸び切った状態で繋がっていて、電子乾板にぶつかって局在化した瞬間、局在化した側が引っ張られて1つにまとまるのか? あるいは別な物理的でないどこかを通って(しかしスリットの壁で局在化してしまうような通り抜けはできない)1つにまとまるのか? スリットはいくつまで作れるのか、0と1の重ね合わせは1ビットという関数であって実は内部では2ビットではないのか? などといったこと。

もう1つは他世界解釈で、1つの電子が収縮したからといって、それまですでに実在化しているものを引き連れて他世界に行くのはどう考えてもおかしいし、じゃあ目の色の違う著者とこっちの世界が収縮した1個の電子以外の部分を共有しているのかというと、それもその後の系がぐじゃぐじゃになるのでありえない。なのになぜ収縮から先に宇宙全体がまるで枝分かれするような解釈になるのか?(前述の通り)

自然淘汰とは、結局、「結果」のことだ。それはまさに盲目の時計職人とRドーキンス氏が例えたように、人間風に言う意図的なプログラムによるプリントアウトではないことを示しているだけで、それが本当に量子のゆらぎに端を発して起きたと証明する計算が必要なのかは疑問だが、それが科学ということなのかもしれない。なぜ起きたかは分からないけど、起こっても不思議はないと思うのに今分かっている”情報”だけでは不十分なのだろうか。

いずれにしても、結局、全人類(科学者限定でもいい)が納得するたった1つの正解は得られていないということで、それが得られるとは思えない。

宇宙は量子演算を行っているが、それはエネルギーの変化の仕方の見方でしかない。ただ繰り返しになるが、エネルギーの向きが具体的に何か線路のようなものなのか、タグボートのようなものなのか、そこは依然気になるところ。


実は、量子は圧縮されてたりして。局在化が解凍。
要するになぜ重ね合わせの”波”の状態になっているのか、説明してくれていない。なので重ね合わせになったのは実は後からという見方。


空間とは実に厄介だ。試しに何も無い空間に質問してみよう。

「温度は?」
「ゼロ」

「長さは?」
「長さって?」
「じゃあ上向きの」
「上って?」
「…とにかく何でもいいから長さと聞かれたら?」
「ゼロ」

「何か値はないの?」
「値って?」
「量だよ」
「何の?」
「君(空間)のさ!」
「僕は空っぽ。なんにも無い。逆にどんな値なら”有る”と思う? 僕は”無い”と思うけど」

つまり空間は”無い”と考えるしか無い。距離があるように見えるのはあくまで相対的なものでしかない。だから初めに空間が出来たというのは間違いで、今も昔も空間など無い。


どこかに「ゼロの次は1だから、無から何かが生まれるのは何も不思議なことじゃない」といったことが書かれていた。それは詭弁だ。試しに1の次はどうして2なのか考えてみよう。1が2つ生まれたらそれを足せば2になる。でもその為には1が2つ同時に生まれなければならない。まあそれはいいとしよう。今度は3か4だ。同じ原理で1が4つ生まれていれば、2が2つ足されて4になったり、2+1で3になった後、3+1で4になったりする。だがそれらは常に”無”から生まれてこなければならない。だとしたら、未だに無から1が生まれ続けているはずだ。なぜか? もしそうでないとしたらいつ、何が、何個生まれたか、説明できなければならないからだ。そんなことは恐らくできないだろう。そして勝手に生まれるのだから、勝手に消えてもおかしくはない。

逆に無限にほど近い大きなものが、次々分割されていくのであれば、生まれるのは最初のデカい奴だけでいい。ところがこの本では”最初は1ビットだった”と言っている。しかも重ね合わせだから量は2だ。そもそも2つの値が局在化するまでは同時に存在しているといいながら、それを1ビットというのは無理矢理すぎる。前述のように、少なくとも1ビットという関数の中で実は2ビット使って2つの値を返している、とか、高速で0と1が切り替わっているといった、定義に則した合理的な考えが必要だ。どう転んでも1ビットは1ビット。これ(ビット)は概念であって物質ではない。1つの桁には0か1かのどちらかの値しか取れないのが2進数のはずではないか?

確かに情報は増えているように見えるが、逆に最初からビットが必要分あり、単に上位の値が0だったとしても同じことだ。


人間という量子コンピュータアプリケーションが何かを解釈するには、それ自体が解釈できる必要がある。想像力の限界だ。しかし人間は変化(進化/退化)する。昨日の限界は明日も有効であるとは限らないが無効であるとも限らない。

物質的エネルギーの増分を重力が補う、つまり物質的エネルギーがプラスで重力がマイナスといったような内容が何処かに合ったと思うが、見つからない。そのためのログだったのに、肝心なところを逃してしまった。日本語版も電子ブックであればと思うのだが、英語版で理解できないのが問題だとも言える。それはさておき、もしプラスのエネルギーとマイナスのエネルギーが釣り合って総和がゼロなのだとしたら、最初に1が生まれたのではなく、+1と−1に枝分かれしたということだが、それはそれで数字上のつじつまは合っている。振動するのは重力のせいで、重力が空間。重力が無ければ振動しない。

シュレーディンガーの猫にしろ、二重スリットにしろ、重ね合わせの状態が収縮した後の電子は「そこ」に局在化しており、もう重ね合わせの状態ではない。最初にシュレーディンガーの猫の話を聞いたときは、「見る」という行為が人間の視力を指しているかのような表現だった(中には月は見たときに実在するという話まで飛び出していた)ので、なんでそんな”馬鹿げた”話になったのかは依然として不明だ。高名な学者がいうのだから、どこかに”馬鹿げてはいない”まともな理屈があるはずだが、あまりに馬鹿馬鹿しくて追いかける気がまったくしない。


不気味な相互作用(遠隔作用/Spooky Interaction)の件で、一方を測っても他方を測るまでは分からないからだという答えだったが、最初に測ったほうは”何がでるか確率は1/2なのに、次に測る方1/1になる。答えを人間が知るには光速以下の時間がかかるとしても、確率が固定されるのはやはり最初の粒子を測った瞬間であり、それを確かめるのに時間がかかるだけで、不気味な相互作用は空間には依存しない。つまり、絡み合った系は不可分で、絡み合い状態を解くことが目的なら、それはゼロ時間で可能だ。だがそれが解けたかどうかは分からないので、その情報も使えない。もっとこの絡み合いを利用して何か別な面白い情報が得られるような発見が必要で、それはまったく無い(永久に発見されようがない)のかもしれない。例えば絡み合った量子コンピュータを並列に動かすとか。一方を測定すると他方は測らなくても自動的にNOTを示すことになるので、その性質を利用するのが何か役に立つのであれば、その計算時間はゼロになる。



『「宇宙をプログラムする宇宙」を読みながらのロギングまたはジャーナル』へ戻る



2013年11月3日日曜日

「宇宙をプログラムする宇宙」を読みながらのロギングまたはジャーナル

2016/11/23 修正
1. https対応(amazonのリンクを変更)
2. 誤字を修正( (halt,ht)->hlt, sloop->eloop)



前置き。




いつのまにか本棚に出現したこの本。買った覚えはない。もちろん盗んだ覚えも。でも確か、本棚を整理していたとき、カバーがかけてあってタイトルが分からない本を片っ端から(カバーを)剥いていたときに出てきたきがする。


で、そのとき、滅多に読まない本の棚に置かれていたのだが、この前さらに本棚を整理したとき、さすがに情報が古すぎて捨てざるを得ない本をまとめている時、また自分の前に現れて、お、こんな本あったんだ。これは読まねば、と思って、そのうち読む本の列に加わっていたのだが、訳有って昨日から読み始めている。

いつのもことだが、こういう本は読んだ端から疑問だらけで、自分のほうが偉いと錯覚してしまう。なのでブログに文字通りロギングしてみようとしているところ。「またはジャーナル」と付いているのは単なるおまけで、昔はログとは言わず、ジャーナルと言っていたプロジェクトがあったので。

金融系の人が初めて制御系をやったときのプロジェクトなのだが、もしかしたらジャーナルという表現のほうが当たっているかもしれない、と思ったので。


ロギング開始

P16、自己紹介の前まで。

計算を定義せよ。とは口癖だが(正確には「〜(なになに)を定義せよ。」が口癖。実際に口から声を出すわけではないが)、計算とは?

ここで10歳ぐらいの少年に戻って博士に質問してみた。ねー博士、計算って答えを出すためにやるんじゃないの? 宇宙がさー、もし計算してるんなら、何の答えを出そうとしているの?

これはいい。少年に戻ると、質問が非常に分かりやすくなる。

例えばコンピュータが暴走していたら、それは「計算」していると言えるだろうか? まずは原文ではどういう言葉を使っているのか、調べる必要がある。

(追記)amazon.comでkindleを探したらあったので10.7ドル(1051円@今日)で買おうとしたが、思いとどまってamazon.co.jpで探したら981円で売ってたのでレート的に有利なこっちで購入。計算は"compute"だった。つまり計算機の計算。辞書でcalcurateを見ると、正確に計算する時はcomputeとある。(追記)




でさー、僕も宇宙の一部だよね? じゃ僕も何か計算してるんだ。僕は何を計算しているの? 宇宙は宇宙を計算するっていうけど、僕は僕を計算してる、じゃおかしいよね?

計算というのは何か専門的な言い回しなのかもしれないが、今のところ抽象的すぎてこうした質問が浮かんでしまう。

こんなことを考えていると、シュレーディンガーの猫にツッコミが入った。

もし箱に閉じ込められた猫が、重ね合わせの結果(収束)により放たれたガスによって死ぬまで、”だいたい”10時間かかったら、それでも猫は生と死の重ね合わせの状態にあると言えるのか? で、もし、”だいたい”8時間後までの間に猫を救出し解毒剤を投与できたら助かるとしたら、その重ね合わせはどこへ行くのか? あるいはどう変化するのか? そもそもこの猫の”重ね合わさった”生と死とは?

そして、”だいたい”といったのには訳があって、それは猫の実験を何万匹もやったら、そうした時間は非常にアバウトになる、ということもあるが、それより、1匹の猫に注目した時、その日の体調などによって死に至る時間や助かる限界時間が左右されるはずだ。としたら、過去に遡って、あるいは未来に向かって、重ね合わせはどう影響するのか。実験台に立ったのが口がきける猫だったとして、助かった後「いや〜今日は体調がよくて助かったよ。もし昨日ならきっと持たなかったと思う。確実に死んでいたね。」な〜んて言ったら、本当にこの猫に重ね合わせの状態は存在したのだろうか。

もう1つ、ガスが放たれる直前に自然死したらどうなるのか?

こんなことを言い出したら切りがない。つまり、話をすっ飛ばすと、重ね合わせの状態は観測した瞬間に決定する、のではなく、初めから決まっているのだ。観測することも含めて。

(私が読んだ本には、月は見た瞬間実在する、とかなんとか、おかしなことを言う物理学者がいたように確か書かれていて、よくそれで物理学者が勤まるなあと思った覚えがある)

でなければ、重ね合わせ状態はどう伝搬されるというのか? 特により大きな塊(大きな力で巨視的には結合しているもの)の範囲で。



P22、音子ってなんだ? つまり、どうして音を特別扱いするのか。音自体は物質ではないはずなのに。


p24 『年齢に関わらず本書を読み終える頃には、〜(中略)〜原子に単純な計算をやってもらう方法が、理解できていることだろう』

原題は「PROGRAMING THE UNIVERSE」だ。確かに本書の初めの方で宇宙は宇宙を計算していると言っているが、「宇宙をプログラムする宇宙」というのは、この本の目的から外れすぎている感じがすごくする。

P26 ゼロの発明と10進数は同時なの? 昔から桁っていうのは10進だったの? それとも12とか60とか? ソロバンが先らしいというなら、せめてその進数も書いて欲しかったなあ。

P29 性は楽しいだけでなく、工学的にも優れている
どうもこういう言い回しには反感を覚えてしまう。楽しいと工学的に優れているのは不可分なはずだ。楽しいだけで終わっていたら、長続きしない。長続きしているもので、楽しくないものって何かあるの? 苦痛? それを言ったら性的暴行の被害者は楽しくないじゃないか。

P29 自然淘汰
いいですねこの訳最高です! 最近、自然選択という言葉遣いが散見されるにつけ、少々嫌気がさしてきているので。

選択などという弱々しい訳は全く持ってふさわしくないし、恐らくnatural selectionは、悪魔に使える牧師たるダーウィンにすれば、god's selectionに対する皮肉が込められてる気がしてならない。我々は選ばれたのではない。ただ生き残ったに過ぎないのだ。そう、単なる結果だ。Wikipediaに至っては、「本項では原語に従って「自然選択」で統一する。」などといっているが、selectionは選択が必ずしも原語に従った適訳とは限らない。どうしても選ぶという言葉を使いたいなら、せめて厳選とか精選にすべきだろう。そもそも淘汰という稀に見る広く普及している適訳があるのに、わざわざ「原語に従って」選択などという薄っぺらい凡庸な言葉にする意味が明記されてもいない。独善的と断ずる他あるまい。恐らく(勝手な想像だが)、これを書いた人物は、自分が選ばれたと思いたいのだろう。もしそうだとしたら、それは大きな間違いだ。まったく早くWikipediaのような、勝手な編集管理者が牛耳る全く自由でない編集百科に取って代わる、真に自由なサービスを立ち上げる必要がある。その意味でWikipediaは反面教師として素晴らしい。一体どうやって編集管理者(出入り禁止にしたりする人たち/ちなみに自分は出入り禁止になっているわけではない)が決まっているのだろうか。そんな権限を持つ人間がいるのを一概に悪いとは言わないが、自由な編集を騙るのは止めてもらいたいものだ。Wikipediaは、あくまでWikipediaが許可した文章しか載らないのだ。後から削除されるものが、削除されるまでの間自由に編集できるからといって、それを盾に自由に編集に参加できるというのはおかしい。

(※WikipediaでWikipediaをひくと、冒頭、「誰もが無料で自由に編集に参加できる。」とある。これは「誰もが無料でWikipediaの編集規約(基準)や管理人による管理下の元、自由意志で編集に関わることが出来る」のように、明確に書くベきで、百科事典という立場上、意味に関して、そして最も重要な自分自身の定義について、紛らわしい抽象的な”自由”という言葉を使うべきではない。)


ちょっと戻るが、P28 「性を持たないバクテリアが適合するには〜」と、P29の「定義上、成功した生物とは〜」(この下りは素晴らしい。そう、まず何事も定義する(系を決める)ことが先決で重要)を合わせて考えてみると、おかしなことに気づく。バクテリアにしろウィルスにしろ、人間が彼らより成功しているとは言えないということに。それどころか、人間はいつエボラウィルスのような最強最悪のウィルスで絶滅するとも限らないではないか(可能性は低いかもしれないが)。

菌にしてもMRSAのように、抗生物質に対し、悠々と耐性を獲得するものが出てきている。だから性機能が優秀というのは認めるとしても、それはそれでしかない。つまり定義上の成功に対する中間結果として、一定の過去を評価することは出来ても、せいぜいそこまでが限界だ。

そして、人間は決して、彼らより成功している訳ではない。

P36 精度(今はP38上)
有限であることが精度に依存するというのは新しい見方/説明だ。なるほど。だが関数はどうだ? 無限という関数は、それでも有限の値しか扱えないと言い切れるだろうか? 確かに測定する時間的制約の元では、その範囲で扱える精度が決まるような気はする。がしかし、それはちょっと、時間に対して静的過ぎはしないだろうか。

P40 どうもユニークなIDの桁数とそれを同時に存在させることの説明がごっちゃになっている気がする。例えばDNAが小さいのはそれ自身が小さいからで、アミノ酸が4種類の塩基3つセットから組み立てられた、64文字(4の3乗)で構成される、というのとはイコールではない。つまり実際の遺伝子(DNA鎖)の作用は、その1つ1つに重要な機能が折り畳まれているからであって、何でもかんでも64文字あれば記述できるというわけでもない。アルファベット26文字で記述できる文章は無限的だが、ヒトゲノムのように2万1千単語で人が作れるわけでもないし、ましてやランダムに並んだ文字は暗号でもなければ情報とはおそらく言えないだろう。これもまた情報の定義によるわけだが。

P43 コンピュータプログラムに曖昧さがない
それはJavaなどを指しているというだけで、ここでは単に説明しているだけだから、別段突っ込む必要はないといえばない。だが、「あくまでJavaとか」の言語の話であって、この先誰かが(例えば自分が)作るであろう、曖昧な意味を持つ言語とそのコンパイラ(あるいはインタプリタ)のことではない、という断るまでもない断り。

P54 停止問題
自分は停止問題の何が問題なのか、どうしても理解できない大馬鹿ものである。「プログラムが停止するかどうかを見極めるにはそれを走らせてただ見守るしかない」それはウソだ。確かに未知の動きをするインタプリタとそれ用の言語で書かれたプログラムなら動かしてみる以外にどう動くか分からないのだからそうかもしれない。でももしそうなら、停止問題なんてわざわざ言わなくても、分かるわけがないことは自明だ。

だがそれが「プログラムがフリーズしたときの慰めになる」と言うなら、少なくとも既知のプログラムの問題だ。

で、「このプログラムにバグが無いか」という問題なら、カバレッジが無限になる(量子力学的には有限なの?)からという理由で答えられないということはある。しかしそれは別に停止問題ではないし。むしろ鶏が先か卵が先か問題で考えた方が分かりやすい。バグの無いプログラムか調べるにはバグの無いデバッガが必要だが、そのバグの無いデバッガにバグがないことを証明するにはさらにバグの無い別なデバッガが必要だ、そしてこの連鎖に終わりはない、という理屈だ。だがそれは数学を借りずとも論理として自明だし、単にバグがないことを証明できないだけであって、バグのないプログラムが書ける可能性は理論上在り得る。つまり、数学的に不可能だと証明することはできない、ということだ。もちろんそれが実現可能かどうかは別問題。あくまで停止問題として不可能が証明されているというのが納得いかないだけ。つまり言い換えれば、停止問題は数学上の問題であって、物理的な現実の言い訳として、停止問題が解けないからバグは無くならない、という文脈では使えないのではないか、ということ。

ということで、停止問題を解くプログラムMを作って、耐久性を測るコンテストをやればいいのではないだろうか。無事故の連続時間みたいに、このプログラムに挑戦するプログラムAを与えて、停止する/しないの答えを得るのだ。Mは決められた時間(例えば3秒間)動作中のプログレスを更新しないと暴走とみなされ、失格する。また最初に自身の終了予定時間を出し、それを超えると失格。終了予定時間を出すまでの時間は、Mに入力するプログラムのサイズによって機械的に決められ、その時間内に出せないと失格。後は実際にAを実行し、停止しないと判断した場合はコンテストが継続する間、半永久的に実行され、コンテストが継続する間止まらなければ、Mは停止問題を解けないとは断言できない、という中途半端な称号を得られる。停止すると判断した場合は、同時にAが停止する予定時間を出さなければならない。そしてその停止時間までAを実行し、それ以前に停止すれば、Mは停止問題を解けないとは断言できないという称号を得られる。そうでなければ失格。まずは命令の種類の少ないCPUのアセンブラから。4ビットマイコンとかどうだろう。いや、いっそ、1ビットの仮想CPUを作って、gotoとstopの命令しかなくしたらどうだ? それだとプログラムを入力できないか。どっちにしてもまずコンピュータが正しく動いていることを証明できないと停止問題に入れない。前提もおかしいということになる。

なので、プログラムが入力できて、それを読めて、とかいう諸条件をまず定義して、そこから停止問題に入って行って、最も命令数が少なくて済むコンピュータを考えて、プログラムのステップ数もギリギリ少なくしか書けないような仕様にして、でやればいい。相手は数学なんだから、物理的にいくら小さくても構わないはずだ。で、この本は量子力学の本で、物事は有限だと言っているんだから、このコンピュータで記述可能なプログラムの種類が有限であっても文句はあるまい。

そうすれば、前述の終了時間を出すとかいう面倒くさいことはしなくても、仕様として制限時間が決められるし、あ、何よりプログラムの種類が有限なのだから、机上チェックで答え合わせができるはずだ。

ということで、話を整理すると、検査対象のプログラムの置き場所は決まっていて、コンピュータはそのアドレスから読む命令を持っている。停止するプログラムと停止しないプログラムの両方が記述可能。そうするとloopとhltがまず必要。それと条件分岐、プログラムカウンタ。

スタートすると、検査対象プログラムの命令コードを1個読む。命令コードにより分岐する。hltなら結果レジスタに1をセットする命令yes、hltの2つ。eloopだったら結果レジスタに0をセットする命令no、hltの2つ。readなら命令の読み出しは4つスキップされる。しかし最大7ワードなので、残りワード数が4つない場合は、結果レジスタに自動的に1をセットしてhltする。yesなら1つスキップ、noなら1つスキップ。で、Hのコードはread,yes,hlt,no,hlt,yes,hlt.

read
yes
no
hlt
eloop

の5種類。プログラムは7ワードしか置けない。

とすると、組み合わせは5の7乗で78,125通り。げ。もっと少なくしよう。

readとhltとeloopだけ。結果レジスタはreadがセットする。
命令は2ワードしか置けない。

判定結果は結果レジスタにセットされる。
結果レジスタは、未設定(3または2)、停止する(1)、停止しない(0)の3つの状態を表示可能。
判定対象プログラムをセットする領域(メモリ)を2ワード持っている。
判定対象プログラムを読み出す命令read用に読み出しカウンタを持っている。
読み出しカウンタは0,1,2の3つの状態を持つことができる。
Mは起動すると、結果レジスタを未設定にし、読み出しカウンタを0にセットし、開始番地にある命令コードを逐次実行する。
命令コードはread,hlt,eloopの3つ。ただしreadには2つの命令コードが割り当てられ、どちらも全く同じ動きをする。
Mはread,hltのみ。
readはreadが出ると、1ワードスキップ。命令は最大2ワードなので、
2ワード目の場合は結果レジスタに1をセットしてhlt
hltが出ると結果レジスタに1をセットしてhlt
eloopが出ると結果レジスタに0をセットしてhlt

そうすると? 組み合わせは3の2乗で9通り。

  1    2    結果レジスタ
1 read read  1
2 read hlt  1
3 read eloop  0
4 hlt read  1
5 hlt  hlt     1
6 hlt eloop  1
7 eloop read 0
8 eloop hlt     0
9 eloop eloop  0


この中でMは2番。MにMを含むどのプログラムを入力しても必ず停止する。

あとはこの機械がMたるかどうかが、対角線論法とやらで証明されたとされる停止問題上、対象外とされる理由があるかどうか。任意のプログラムは入れられるし、停止するプログラムも無限ループするプログラムも書ける。ちゃんと答えも返せる。あと足りないとしたら何かあるだろうか。

あと疑問なのは、例えばこちらの説明の1.ように、Mが無限ループに入る、というのがおかしい。Mは必ず停止する。問題の定義から、Mはあくまであらゆるプログラムが停止するか否かを判定する機械であるのだから、それ自身が無限ループする場合と停止する場合があるプログラムである必要は全く無い。

さて仕様のまとめ。
Mは任意のプログラムをチェックし、それが停止するかしないかを判定する機械。

構成:
自プログラムメモリ(2ビット2ワード)
判定対象プログラムメモリ(2ビット2ワード)
結果レジスタ(2ビット/PIO出力)
動作状態レジスタ(2ビット/PIO出力)
ループ相対カウンタレジスタ(8ビット/PIO出力)
read用読み出しカウンタ(2ビット)
命令実行ユニット
自プログラムメモリ設定インタフェース(DIPSW)
判定対象プログラム設定インタフェース(DIPSW)

read:命令コード00(B) または 01(B)
動作概要:判定対象プログラム領域から読み出しカウンタの示す命令コードを1ワード取得し、取得したコードに応じた処理を行う。
(1) 読み出しカウンタの値をチェックし、2であれば結果レジスタに2(動作不良)をセットし、停止する。
(2) 読み出しカウンタ位置から命令コードを取得する。命令コードに応じて次の処理を行う。
  (a) readであれば、読み出しカウンタを+1し、値が2であれば、結果レジスタに1(停止する)を設定し、停止する。そうでなければ再び命令コードを取得し、それに応じた処理を行う。
  (b) hltであれば、結果レジスタに1(停止する)をセットし、停止する。
  (c) eloopであれば、結果レジスタに2(停止しない)をセットし、停止する。

hlt:命令コード10(B)
動作概要:停止する。
(1) 動作状態レジスタに1(停止)をセットする。
(2) 停止する。

eloop:命令コード11(B)
動作概要:無限ループする。
(1) 動作状態レジスタに2(動作中)をセットする。
(2) ループ相対カウンタレジスタを+1する。
(3) 1秒ウェイトする。
(4) (2)に戻る。

以上。