ある種の曖昧さ

 学生時代、ちょっとしたプログラムを作りました。 C言語で。
 その時に、"if else"文とか、"switch case"文というのを使います。
 これは、まぁ英訳そのままで、"もし〜なら""〜の場合"みたいな使い方をするのです。
 例を挙げれば、"if x=1 y=1 else y=1"って感じ。
 "もし、xが1ならyは1。xがそれ以外ならyは2"ってことですね。
 これで、いわゆる条件分岐ってのを作っていくわけです。

 最初は、そうややこしくはないんですね。
 大体、シミュレーションした内容を置き換えていくだけです。
 それが、ある瞬間から、作業量が爆発的に増加する。
 いわゆる、「想定外」ってやつです。

 そういうときにどうするか。
 僕の研究内容は、ニューラルネットワークでした。
 簡単に言えば、ある種の人工知能です。しょせん子どもの手遊びレヴェルでしたけど。
 これはどう言うものかというと、自己最適化を行うものです。
 結果をフィードバックして、自ら変数値を変えていく。
 それによって、結果の誤差をどんどん減らしていくのです。
 これは、人間の成長過程とよく似ています。

 何かを作ろうとしたときに、必ず何かしらの問題が発生します。
 それを、きっちりとした原則に基づいて解決出来る事って希です。
 そこで、いかにその問題を解決するか、ということが、才能ってやつだと思っています。
 ニューラルにおいては、ある定数を指定してあげます。
 その定数によって、学習する速度や最終的な誤差の範囲が変化するのです。
 この定数ってやつが、人間でいう才能なんじゃないのかなぁ、と漠然と思っていました。

 プログラミングの話に戻ると、そういうときには、えいやっで括ってしまいました。
 これは、理論もなにもない、直感だけです。
 動くときもあるし、動かないときもある。
 直感というのは、研いでおかないと働きません。
 何が切っ掛けで、脳神経シナプスが繋がるかはその人次第なんですね。
 たぶん、ある種の曖昧さが必要なんだと思います。
 現実世界って、アナログに見えて実はデジタルだから、隙間が絶対ある。
 そこを埋めるのが、ある種の曖昧さなんじゃないかなぁ。
2005年05月30日(月)

日々 / いけだ