シミュレーション

最近、M&S(モデル&シミュレーション)なんていう分野のソフト開発が多い。シミュレーションというと難しく聞こえるが、私がやっているのは単純な物理現象+α程度をシミュレートしたものが多いので、一般の業務アプリの方がよほど難しい。実際には複雑なものを目的に合わせていかに単純にモデリングするか、というところが本当は難しいのだろうけれど、要求仕様を出してるお客さんもシステム設計をしてるSEも、そこまでアタマが回るのはほとんどいないようだ。

ちょっと前に、テレビでラーメン屋の特集をやっていた。確か鎌倉にある若いラーメン店の店主だと思うが、「頭の中にズンドウができてから、味が作れるようになった」というようなことを言っていた。ご存知のとおりズンドウ(寸胴)とはラーメンのスープを作る小型のドラム缶のような円柱形の鍋のことだ。頭の中の想像のズンドウを使って、色々な味のスープを作ってみることができるようになったらしい。確かにそうなれば理想の味に近づけるための強い武器を手にしたことになるだろう。

これなんかは、「頭の中で"シミュレーション"ができるようになった。」ということだろう。ソロバンの得意な人は頭の中にソロバンができるというから、実はそんなに珍しいことではないのかも知れない。むしろ、人間の「考える」という行為は、そもそもが「シミュレーション」なのかも知れない。

例えば、緑藻類のクラミドモナスは光に向かって泳ぐ性質を持っている。眼点という器官で光をキャッチすると、鞭毛が動き光の方向に移動する仕組みになっている。よく出来た仕組みと言えなくもないが、光合成でエネルギーを作り出す生物なのだから当然といえば当然だ。刺激に対してストレートに反応してしまう単純な仕組みしか持っていない訳だ。人間なら何か文句を言われたらすぐ殴りかかるような人、ということになる。子供ならいざ知らず、大の大人がこんな反応しかできないようでは困るだろう。という訳で、人間の場合はもうちょっと高級な仕組みを持っている。

イヤな奴に何か文句を言われたとしよう。その時「今殴りかかったとすると、相手はそんなに強そうじゃないからおそらく勝てるだろう。だけど、そこにいるお巡りさんに捕まってしまうかも知れない。イヤなヤツを殴り倒して、一時は胸が晴れるかも知れないけど、刑務所に入れられるのは勘弁だ。」というようなことを一瞬のウチに計算して、「いやぁ申し訳ありません。そこのところを何とか...」などと適当にゴマ化したりする。

「後先を考える」という大人ならごく当たり前のことだが、これは「シミュレーションをして、その結果を評価する」ことに他ならない。単純な生物の場合は「刺激に対して型通りの反応をする」しかないが、人間の場合は「刺激に対して、シミュレーションを実行して分析評価をした結果に従って反応(行動)する」ということになる。これを可能にした大脳というのは、もの凄いシミュレーションエンジンなのだなぁと思う。