最上の法則
量子コンピュータがW通りの組み合わせの空間を検索したとき
S = k log W
のエントロピーの増大が起きる。
これのいいところは、証明されたときはもちろん反証されても言及されそうなことだな。でもなんかすでに誰かが言ってそう。ま、「誰にでも思いつきそうなこと」なんだから当たり前だけど。
で、調べているところで発見した大石先生の講義の記録
http://www.oishi.info.waseda.ac.jp/‾oishi/interpreter/interpreter.htm
では学生たちがなにげに線形代数用のインタープリタを作ったりしてます。すごいですね。
実は私も自分で使うための数値計算とシンボリックマニュピレーション用のインタープリタを日曜日などにちびちびと作っていた。これは実用の物なので開発は遙かに大きいのだが、現状できているところはこの学生たちのレポートと同じ程度である。しかしおそらく学生たちは私の半分以下の時間で仕上げただろうことを考えると、適任ではない自分がインタープリタを作ることはないかとか意気消沈。
そもそも SAL とかをみると、その手の言語は限りなくたくさんあって、自分がさらに一個つくる意義があるかという疑問は何度も感じた。しかし、やはり自分にしっくりくる言語はないのだ。言語を作る人というのは自分で数学を重用する人というのはあまり居ないのではないか。で、なぜこれを作るのか確認してみることにする。
理由1,自然な数学的記法がつかえる。
たとえば 2x+1と書けるのと2*x+1では、やはり前者の方が自然だ。それになれているからである。自然だということはつまり思考の流れを遮らないということだ。これは重要なことである。この程度では大した問題ではないと思うかもしれないが、たとえば
f(x,y) = 2x y + x +1
と
float f(float x, float y) {
return 2*x*y+x+1;
}
ではどうか。
a = Σi=1 i^2
と
a=0;
for(i=1; i<=n; n++){
a = a+i*i:
}
ではどちらが簡単か、どちらが数学的思考をじゃましないか。
∫dx ∂x x sin x
はトリビアルな式だが
Integrate[Diff[x Sin[x], x], x]
となると括弧を追いかけなければなんだか分からない。
それに一項オペレータが定義できるとたいていの括弧で鬱陶しい式が簡単になるのになぜその程度のことができないか。
image( clip( sqrt(double(x)/20.0) ))
を
image clip sqrt (1/20) double x
と書けるように言語を設計しても何の問題もない。括弧の一致を気にするだけでもかなりの脳力の無駄だ。このような一項関数をオペレータの形に書くのは数式の世界では一般的なことだ。
このような数学の常識的な表記を使えないのはアンビギュイティーがあってコンピュータ言語にできないのだろうと長らく思っていたが、検討してみると数学の表記法はほとんどが合理的でプログラミング言語としても何の問題もないことが分かった。なのにたとえば掛ける記号なしでかけ算ができないのは単なる発想のとらわれにすぎないのではないか。
2,シンボリックマニュピレーションができる。
しばしば導関数が必要になることとかがあります。目の前に表式があるというのに。導関数はたいてい長ったらしくなっていやなものです。
3,アルゴリズム変形支援がつかえること
ちょっとループを入れ替えたいとか、変数名や関数名を変えたいとき、それを支援する機能がshellについていたら、どんなに楽なことか。
ある関数を使っているところを全て見つけたいとき、構造体にアクセッサ関数を通さずに触っているところを全て見つけたいとき、文字列サーチだと要らない物まで引っかかるけど、なぜ文法の情報をつかって探せないのか。
まだまだいっぱいあるけど。
私はそれには訳があると思う。意識というのは私の用語で言うところのレベル3の複雑さを実現するために生まれた物だからである。レベル3というのは要するにチューリングマシンの持っているのと同等の計算論的万能性のレベルで、これを達成するためには、絶対に誤差と誤動作のない確実な単位演算を必要とする。そのために、どうしても誤差の蓄積のさけられない連続量をあえて意識から排除するように進化したのではないかと考えている。
視覚刺激を非常に短時間提示して、当人が「いや見えなかった」といっても無理に選択させると有意に正解するという強制選択実験はその証拠だろう。つまり、連鎖的な演繹のできないような曖昧な事実はむしろあえて意識から排除されるような仕組みになっているのだろう。
Prhではnoveltyが一つであるが、もう一つ50を越えるアクティビティがある。それはprestimulus attentionだ。後もう一つはLiu&Richmondの結果と我々の結果の矛盾をから考えると、あれはreward effectなのではなくattentionによってstimulus selectivityがgateされているのだ。TEなどではこれほど強い(all or nothing)のatttentionによるgatingはない。