Skip to main content

兎のエゴンと私: 見えない惑星を発見することの不思議さについて (3)

(前回からの続き)

I: 檻の話はどうやらまだまだ続くのかもしれない.でも,それはもっと考えてみたい.そして,最初の天体の話が途中だった.不思議が素敵に変わっていくという話も.

Egon: ...

I: 天体がどう動くのかというのは物が落ちるということと同じということを発見した人がいた.その人の考えにしたがって,ある惑星がどう動くかを計算したら,どの惑星もその通りに動くことがわかった.望遠鏡がないと見えない小惑星というものが新しくみつかって,それも同じ法則に従っていることがわかった.つまり,この太陽系の中をそうやって見ていくと,物は落ちるということが,同じ規則で起っていることが繰り返し繰り返し観測されてきた.

Egon: 君の,いや,人間の世界が太陽系の中に広がっていったと.その中の規則がわかり,望遠鏡で見ると例外がみつからない.

I: いや,例外があったのさ.少し動きが怪しい惑星があったんだ.そこで2つの考えがでてきた.1つは私達の観測してきた他に何かの規則があること.たとえば,万有引力が働かない世界,物が落ちない星がある.つまり,私達の知っている世界の規則が不完全だという考えが1つ.

Egon: ...

I: そして.もう1つは,ある場所にまだみつかっていない惑星があれば,その動きが例外でなくなるというものだ.つまり私達の知る世界の規則は同じだが,単に知らない惑星があるという考えだ.

Egon: その時に君は地球上でない遠くでも物が落ちる規則は同じことを信じて,そこに惑星があると思うわけか.そして惑星が思っているように動いている時には,他には惑星はないと思うわけか.

I: その通り,だから私は惑星がそこに見つかったことを不思議に思わないんだと思う.もし惑星が計算した通りの場所にないとなると,そこには万有引力が働かない,つまり,「物が落ちない」ことが宇宙で起こっていることになる.物が落ちない?  その方が私には信じられない.つまり,見えない惑星が見つからないことの方が私には大問題なのさ.そして見えない惑星がそれでみつかることは,私達が世界の一部が理解できているということをサポートすることだ.私はまだ一貫して世界を持っている.それはさらなる理解の土台となる.それが素敵だと思う.

Egon: 重力の起源はわかっていないのだろう.君が知っているのはそれがどういうふうにふるまうかだけで,なぜかは知らない.君の友人は,もしかしたら,物は落ちない星があってもいいという考えかもしれない.他の原理があって,物が落ちるというのは単なるその原理の一面なのかもしれない.そうでないことが不思議かい? 羽がなくても自由に空の飛べる星なんて素敵じゃないか.最初はあたり前と言ったが,君が見ていること,物は落ちる,ということが宇宙のどこかでは間違っていることだってあるという考えも悪くないと思うね.

I: それには反論できない.わかっているのは法則だけ.コンピュータのプログラムの間違いを直す時,このボタンを押せばクラッシュすることはわかっているけれども,何が間違っているのかがわからないのと似ている.「ボタンを押すとクラッシュするの法則」を知っているだけで,なぜクラッシュするのかはわかっていないようなものだ.だから君が正しい可能性も否定できない.ただ,宇宙をいろいろと見て物理学者達は「宇宙では物は落ちる」と信じることにしたのさ.そして私もそれを信じている.質量保存の法則や,エネルギー保存の法則,慣性の法則とかも似たようなものだ.どうしてそうなるかをわかっている人は多分いない.でも,法則はいつも正しいようなので,もう不思議に思わなくなってしまった.物理学者達は法則の修正をしたりはしたが,法則が根本的に間違いというのはなかなか信じられない.そういう可能性はあるとしても.

Egon: 君の友人がもしそれを不思議に思うとしたら,天才かもしれない.

I: ところで,私にある先生がなぜ物が落ちるのか? と問題を出したことがある.「わかりません」,と答えたら,「重力の法則があるから」が答えだったので,この先生は重力の法則を理解していないことを知ったことがある.

Egon: 名前をつければわかった気になるものさ.君だった私をはじめて見た時,「あれは何?」「うさぎの Egonだよ」「へー,そうなんだ」と言っただろう.私の何に納得したのかい? 私の何を知ったのかい?

I: 名前があると知っただけさ.もちろん君について何もわかっていないことは気がついているよ.生まれた場所から離れて暮らすと,「どこの国から来たの?」と聞かれることは多い.国の名前を答えて,そこから会話が弾むのならともかく,それで私を全て理解したような人もいるのは知っている.君がうさぎと知ったことで私が君の個性を理解したわけじゃあない.

Egon: それはどうも.

I: ... でも,保存則もそうだが,あまりにも不思議ではなくなってしまっている.私にとって,もし,何かがなくなった,ということは誰かが取ったということだ.私の家にクッキーがあって,友人が遊びに来て帰ったらそれがなくなっていたとする.そして私はクッキーを食べていないとしたら?

Egon: 君はクッキーが突然歩いて逃げたとは考えない.友達が食べたと思うわけだ.

I: その通り,私の家の中のクッキーの量は保存する.私はクッキーの保存法則を信じている.誰かが食べない限り,クッキーはそこに存在する.なくなったということは,取った人がいるということだ.見えている惑星が少しおかしく動くのは,そこに見えない惑星があるに違いないと思うのと同じように,私はクッキーがなくなれば,誰かが取ったと信じる.つまり見えないことが,何かあったことの証明になると思っている.

Egon: あるいは君が年をとって,自分で食べたことを忘れるということもあるかもしれない.物は落ちる.もしかしたらクッキーも落ちて机の下にあるかもしれない.

I: その場合でも私が忘れているだけで,私がクッキーを食べてなくしてしまわない限り,クッキーは保存されるはずさだ.そして,机の下はまだ私の部屋の中だ.私の部屋の中のクッキーの保存則はまだ正しい.これは実は, Feymann の「腕白デニス」の話と同じことでね.この話というのは,...

Egon: そう信じることは,また自分の世界に留まることのようにも思えるが.

I: 信じるだけでは自分の世界に留まることになる.でも,その信じたことで世界を見て,自分で考えることで,少し違うかもしれない.何も考えないことが世界に留まることなのだと思う.

Egon: ...

I: 保存則がみあたらない場合がみつかった時,私達は世界の端に到達したことを知るのさ.クッキーが家の中になくなった.どこにも落ちていない.友達は来たが,彼らは食べていないし,取ってもいない.その時,たとえば部屋の温度が少し上がっているとか,部屋の二酸化炭素が増えているとかいうことがもしわかったら,友達がクッキーを燃やしたというようなことがわかるのさ.燃やしてしまってもクッキーは空気中に二酸化炭素として存在している.燃やしたがために少し部屋の温度が上昇した.つまりクッキーは,燃やされてもなくなったのではなく,他の形で保存される.そして保存されるのは実はクッキーではなく,原子というものだということがわかってくるのさ.そうやって科学は進歩してきた.つまり,世界を広げるためには,信じたことと違うことがみつかることが重要なんだ.新しい不思議がそこには必要だと思う.それが科学の素敵な点でもあると思う.

Egon: そして君はまだクッキーの保存則は世界のどの家でも同じだと信じている.信じている点では宗教と同じようだな.

I: 私は科学は一種の宗教だと思う.「人間は宇宙の一部を正しく理解できる」と信じるのが教義だ.ただし,人間が何を言ったかということは関係なく,機械に観測できる形で事実を再現できないといけない,そして常に新しいことを考え続けるということも必要だ.こういう条件があるのが多くの宗教と少し違うことかもしれない.

この後 Egon は私との会話に興味を失なったようだ.私は Feymann の「腕白デニス」の話を説明したが,彼は何も言わずに人参の葉を食べていた.

謝辞


最初の疑問を下さった H.H. に感謝します.不思議について昼休みに私と議論して下さった友人達に感謝します.いつも私自身を考えなおさせてくれる私の小さな生徒であり先生である子達に感謝します.この話をいつも私に inspiration を与えてくれる R.M. に捧げます

Comments

Popular posts from this blog

共有メモリによるプロセス間通信

Unix の共有メモリを使ったプロセス間通信について調べて実験をしてみた.対象は1つのホスト上での複数のプロセスである.ネット上でいくつか例題はないかと探したが,どうも良い例となるコードが見当たらなかった.結局はある解説記事と,Stack Overflow の議論と,man page を見て作ってみたものになったので,例をここに置くのも有用かと考え,この記事を書く.(もしかしたら探し方が悪くて良いコード例をみつけられなかっただけかもしれない.) mmap を使うかどうかという話がいくつもでていたが,POSIX の方向としては,shmem_open と mmap を使うという方向があるということだったので,それを信じてその形での実装を試してみた. 基本的なコードの流れは次のようになる. 共有メモリ領域を1つのプロセスが shm_open() を使って作成する.その際に,プロセス間で共通の文字列を識別子(``identifier'')とする.(Linux ではこれが /dev/shm/identifier のように見える.) 共有メモリ領域を mmap() でメモリにマップする.共有メモリポインター (shared_ptr)が得られる. shared_ptr を使って複数のプロセスで通信をする. 利用終了後は munmap() をつかってマップを消す. 共有メモリオブジェクトを shm_unlink() によって消す. 以下に示すプログラムは,server と client の2つのプロセスが共有メモリを使って通信をするものである.ここで,server プロセス数と client プロセス数は共に 1 を仮定する.server と client は自分の領域にしか値を書き込まないことで,ロックを避けている.互いに相手の値を読み,それよりも1大きい数を一定の期間ごとに自分の領域に書くという例題である.シンプルではあるが,共有メモリで通信をする基本としては十分なものだと思う.ソースコード(shmem_test.cpp)を以下に付加する.ソースコードのコメントにコンパイル方法とどのように利用するかを書いておく. /*   Shared memory inter process communication minimal exa

複数の線を持つ線グラフを Jenkins の plot plugin で描く方法

私は毎夜のソフトウェアテストを自動化するために Jenkins というツールを使っています.今回は, valgrind  を使ってメモリーリークのテストを自動化することにし ました.その際,エラーの数の結果をグラフとして表そうと思って, Plot plugin  を使うことにしました. Plot plugin の例図からは,複数のデータラインを描くことができるのは明らかなのですが,どうやったらいいのかは参照のページや,例としてあった Perl script,plugin 中の help からは私にはよくわからなかったのです. ここで重要な考えは,それぞれのデータラインにはそれぞれの出力ファイルが必要ということでした.私はこれを誤解していました. 例として,ビルドの時に次の property データファイルを出力します.それぞれのファイルが1つのデータラインを表します. valgrind_trunk_result.definitely.property valgrind_trunk_result.indirectly.property valgrind_trunk_result.possibly.property それぞれのデータの中身は1行のデータ点です.たとえば, valgrind_trunk_result.definitely.property ファイルの中身は次のような1行 です. YVALUE=0 このファイルを ${WORKSPACE} ディレクトリ以下に出力します.ここで," WORKSPACE " は jenkins が提供する環境変数です. 図1が私の plot plugin の設定を示しています.これは jenkins の config 画面です.3つの data series があって,それぞれにデータファイルがあります. Figure 1: Plot plugin configuration in Jenkins 図2が結果です.複数の線が描かれているのがわかります.(実際には 3 本の線がありますが,最初の線と2番目の線が同じデータなので,重ねって見えません.) Fugure 2: Plot data with multiple data lines

ソニーのカメラ (α 5000) の 30 分のビデオ録画時間の制限を外す方法

私は Sony の Alpha 5000 を気にいって使っています。しかし一つだけ問題がありました。それはビデオの録画時間の制限が 30 分というものです。 今日,ちょっと気になって探したらこの制限を解除できることがわかりました。以下のビデオがその紹介です。 https://youtu.be/7cstA_PuRIg このビデオの作者によれば,ほとんどのソニーのカメラのビデオの制限はなくせるそうです。ただし私が試したのは,Alpha 5000 のみです。 手順 カメラ側 スイッチ On Menu -- Setup --- USB connection を MTP にする スイッチ Off and On USB ケーブルでカメラをコンピュータに接続する (以下接続したままにする) コンピュータ側でソフトのダウンロードとインストール (私は Windows 10 で試しました) 次の URL に行く https://sony-pmca.appspot.com/apps ただし,Internet Explorer か Safari のみサポートということでした。Chrome では上手くいきませんでした。私が試したのは Windows 10,Internet Explore 11 です。 注意事項: このサイトは Sony のサイトですが,ここにあるソフトウェアは Sony のものとは限らないので保証はありません。御自分でリスクを判断してご利用下さい。当方も何も責任を負えません。 上記の URL から,OpenMemories のページに移動する。 このページにある PMCADownloader plugin (PMCADownloader.msi) をダウンロードする PMCADownloader をインストールする 私はいちどここでページを閉じてもう一度 https://sony-pmca.appspot.com/apps を開き,OpenMemories のページに移動しました ここで log に Loading plugin Plugin loaded と表示されます。PMCADownloader の Install がされていない時には,``Plugin loaded'&#