遺伝的プログラミングというものがあるのなら、 自然界の遺伝子だって計算してる事になるんじゃないの。 という自分の発明した与太話だが、 案外、これって本質突いてるナイス発想なのではないのか、 と手前味噌ぐるぐる。
ところで大変なものには3種類がある。 というのはここでよく私がほざいてる話で、すなわち
の3種類である。このうちややこしいものは、 知恵と機転でどうにかすることができ、 問題が間違っているものについては関わらないように (問題が間違ってるよ、という話をすると戦争になるから) すればよいのだが、 難しいものについては、これはどうしようもないわけです。
ところでこれまで難しいもの、と一言でくくっていましたが、 私が接する難しいものといえば今まで 写像の写像の写像とか、抽象化の抽象化の抽象化の抽象化とか、 あいつがこれを知っている事を知っている事を知っている事を知っているとか、 そういう感じでした。
最近、物理系のバックグラウンドを持つ人々と一緒に仕事をしているせいで、 こういうのとは違う難しさに接するようになりました。 物理系の難しさは、またこれとはちょっと違いますな。
飛躍があっても、定義を詰め込み、証明を追うことでそれを埋めるという手口が 通用しない場合がある。 なんせ一行目の意味が解らないわけで。 これが解るまで2日かかったりします。 その間、鼻血などが出ます。
つまり、難しいものには2種類がある。
そうそう、つまり悟りですよ。
炭火というと、放っておいてもちょっとずつもえていく、 という印象があるが、安定的に少しずつ燃やすのは案外難しい。
本質的に不安定な系だからだ。
火に勢いがでてくると風が吹き込むようになり、 どんどん勢いが増す。一旦冷えて来ると、空気が来なくなってどんどん火が弱くなる。 適当な落しどころというのが無いのだ。
これを克服し、燃料を節約して適当な温度を維持するには、 供給される空気の量を少ない状態で一定に保ち、 少ない発熱でも燃焼に必要な温度を維持する事だ。
これを可能にするのが火鉢の灰だ。 火を、適当なすき間を残して灰で囲う事で、 空気の量を制限し燃焼に必要な温度を保つことができる。
先日、レンタルビデオ屋に行く途中にある公園の池を久々にのぞいたら、 タシギが3羽居た。 鳥はどれもそうだが、タシギは特に、じっとしていると絶対に見付からないだろう。 鳥の水準で保護色になっているので、われわれ人類の視力で見分けるのは不可能なのも当然である。
タシギは食べるとおいしいらしい。 そういえば、エスキモーコシャクシギは、渡り前に栄養をどっさり蓄えるので、 やはりとてもおいしかったらしい。
なぜ過去形かといえば、そんな理由で捕られて絶滅したから。人に捕られて。
うちのベランダから見える鳥の巣。空巣。多分ヒヨドリ。
裏の池に来たハシビロガモ。
イラガの繭をゲッツしたシジュウカラ。 このご馳走は冬場の定番メニュー。 かなり嬉しそうに見える。
ジョウビタキの枝上反転です。 2コマめ、頭は静止したまま体をまわすところが見事ですね。
メジロ。まだけっこう残っているヌルデの実を食べています。柿に群でやってきてとても賑やか。
ヤマガラはよくみると面白い顔。柵に絡んだ蔓の実をシジュウカラと一緒になって食べていた。
レリーズのスイッチを雲台のとってにしばりつけて、 右手で焦点、左手で方向とシャッター操作ができるようにしてみた。 一眼レフには遠く及ばないが、以前の村田銃みたいな段取りから脱却し、 圧倒的に打率が向上した。 この程度の工作を、なぜさっさとやらなかったのだろうか。謎だ。
なお、村田銃とは、「釣りキチ三平」にも出て来た、 伝説のボルトアクション式単発銃である。 射撃ごとにタマをこめなきゃいけないので、 2発めという概念は存在せず、 一撃必殺を期して霜が降るように引金を絞らねばならなかったのである。
http://en.wikipedia.org/wiki/Z1_%28computer%29
1936年の製作。 多分、最初のプログラマブルでバイナリなコンピュータ。 モーター駆動の機械式。 1936年といえばちょうど、ラムダ計算とかゲーデルの定理の頃である。
作者はKonrad Zuse氏。 第三帝国のために働いたがために、ほぼ終生その仕事に相応しい名誉を受けることがなかった、という これ以上ないくらいぴったりな「栄光無き天才たち」の一人。 そんな人が居た事を今日知った。
動いてるところを見てみたいが、 動画は見付からなかった。 生前の本人のインタビューは tube にあった。 「私はエンジニアとしては怠けものの部類に入ると思う。 計算がだるかったんだ。 だからこれを作った。」 などと、どこかで聞いたような事をそのまま仰っていた。
なんで見付けたかというと、 floating point について調べていたら、この記事が出て来たのです。 なぜその記事にこれが出て来るかといえば、 Zuse氏の計算機には、なんと、 既に浮動少数点演算が実装されていたからである。 素晴らしい。
さて、Zuse氏から数えて70年後の今、浮動少数点演算に関するテクノロジは 一体どうなっているのか!?
その答えがこれだ!
GRAPEという大量の数値演算を並行に行う事で高速に計算するという 演算装置の、演算回路をシロートが作ってみることができるようにする 環境です。 コンパイラが人が書いた計算内容をマシン語に変換するのに対し、 これは、人が書いた計算内容を電子回路に変換するわけです。 すなわち、これを使えばあなたも今日から バイナリアンどころのはなしではなく、 そのはるか下をいくシグナリアンであり物理層直撃。
C言語っぽい言語で計算内容を記述すると、 それを回路データに変換するプログラムが処理して、 デバイスにそのデータを書き込んでくれます。 あとは計算をそのデバイスにお願いすれば、 概ね神が計算するのと同じくらいの速度で計算が終ります。
重力シミュレーションなど n体問題の計算などによく使われますが、 他に分子動力学、流体力学 (SPH)、境界要素法 (BIEM) などに使えます。 並列に計算できるものなら、 大概何にでも使えます。 すんません。いいかげんな事を言って、 先方に迷惑をかけても具合が悪いので、 こんどちゃんと訊いときます。
とりあえず動くというものを作るだけでも、 電子回路の設計と製作にはよほどの年季が必要ですが、 浮動少数点演算を行う高速な並列演算装置を、何も知らない人が作るのは、 「ねこ踏んじゃった」が弾けない人がラフマニノフに挑戦するよりも難しいと言われています。 すなわち、ねこ踏んじゃったを弾けない人でも、 これを使えばラフマニノフがクリア、というくらい凄い。 しかもこれにより、神の計算速度が手に入る。
すなわち70年という歳月は、まことに有意義に使われたと言えよう。