思想をあらわすプログラミング

ちょっと感動した。
柳井政和という方が、人工無能のライブラリWeb AIをJavaScriptでお書きになっておられる。
その思想というのが、私が結構好きだった、攻殻機動隊やイノセンスを例にあげている。

プログラムに思想が必要か?必要です。はっきり言っておきますが、世の中でお金になっている業務用プログラムというものは、プログラミングとしてはまったく高度なものではありません。入力画面をこさえ、たいした演算もせずにデータベースに蓄え、必要に応じデータベースを検索して、出力画面に出すか、どこかに送る、それだけのものです。(エクセルやワードのようなものは、ユーザーの理不尽ともいえる要求に答えた結果、極めて高度ですが。。。)

それだけのことでも、MVC(Model, View, Controler)とかパターンといった思想が入ってきています。私はRubyそのものは認めていませんが、(いや、私がなにを言おうがその他大勢ですからいいんですが)まつもとゆきひろさんがやろうとしている思想は好きです。

通信の世界でもふたとおりの潮流があり、電話は市外局から地方局に展開されるトップダウンでできていますが、インターネットはさまざまなルーティングプロトコルを使いメッシュでできています。

3次元の世界を画面という2次元にマッピングする場合、隠線処理(重なった時、遠くにあるものは消す)といったことは多くの計算を必要とします。それだけならポリゴンで多角形を処理する単純な話ですが、表面のテクスチュアや生物らしい動かし方、といった途端に、思想が顔を出します。(ちなみに、CGの登場人物がいつまでたっても宇宙服なのは、宇宙服は16世紀のような華やかな服に比べて、まったくテクスチュアが少なくて済むからです)

みなさんが気軽に使うGUI画面もあらゆる形を式で表せるベジェ曲線が基本となり、いろいろな形を創りだしています。ひとつの数式をもとに世界を作るか、画面は四角にきまっているときめて世界を作るか、はたまた重なりあった画面はどこに保管されるべきか、などなど、高度なプログラムには必ず思想が隠れています。

柳井さんは上の文章ではこういっています。「私が提唱する「Web AI」は、Web上の情報を元にして、人間の手を経ずに検索を行い、人間の代わりに何らかの答えを導き出す人工知能だ」

この一行だけで、我々のコンピューターがまだ情報を処理する入り口に立っただけに過ぎないし、モバイルで情報が好きに得られるといっている浅薄な評論がいかに、なにも見ていない素人の評価かわかります。

個人的には、どんな形であれ、元祖人工知能のイライザ(ELIZA)が多くのうつ病患者に役立ったように、人を助ける人工知能はヘボでもがんばりつづけるべきだと思う。

私はこの思想に共鳴する。だから、ちょっといろいろ作ってみたい。

コメント