中の人の徒然草398
考えるのは人間の脳がなせる技とも言えますが、それはあくまでもハードウェアの話しであり、ソフトウェアの部分、つまり脳の中で動いているアルゴリズムはどうなっているのでしょうか?その点が非常に気になります。趣味で人工知能をやっていた事もありました。でも、何かが違います。人間は人工知能のアルゴリズムでは到底達成できない事をしています。
脳科学を追及すると、ハードウェアの部分は判明するかもしれませんし、心理学を追及するとソフトウェアの一部が判明するかもしれません。しかしながら、私はそれだけでは人間の思考を解明できないという気がしてならない。作業効率を高める為に、自己分析したりもしていますが、自己分析するアルゴリズムはどうなっているのでしょうか?感情は本当に脳の機能だけで生まれるものなのでしょうか?
私は情報技術を愛していますが、もしかしたら世界や人を知りたいという欲求のために学んでいるのかもしれない。理論的には脳は情報処理をしているだけなので、情報技術の先にこそ全てがあると私は考えています。それ故、情報処理はコンピュータにとどまる技術でないと考えています。
例えば、コンサルティングの手法にロジカルシンキングというものがあります。ロジカルシンキングはツリーで考えたり、表で考えたりします。それはデータ構造そのものであり、プログラミング経験者にとってごく普通の技法です。この例からも分かるように、情報技術はコンピュータにとどまる技術ではありません。人間の脳は情報処理をしているのですから、人である限りあらゆる場面に使用できます。実際私は、お客様の要求を分析する際に、あらゆる情報技術の技法を使っています。もちろん、日常生活でも使っています。何かを整理する際にソートアルゴリズムは便利です。
話しは少し変わるかもしれませんが、人間の脳は並列処理されています。それを感じるのは仕事をしている時です。お客様と会話している時に私は、分析・設計・実装・運営・保守・テスト・データベース・ネットワーク・セキュリティを並列的に考えています。並列的と感じる理由は、直列的(順番に)考えているからではないからです。私は全ての工程と側面を同時に考えています。イメージ的には複数の人格がお客様の話しを分析している感じで、お客様の話しを聞いた時点で運営面(最終イメージ)の事が思い浮かんだりします。また、実装時に必要な情報も分かります。それはテクニック云々ではなく、実務で身に付いた能力です。
自分でもこの能力は不思議です。既存の開発方法論に当てはまらない事なので、自分が考えている事を分析&整理して、開発方法論にまで高めたいと思います。命名するのであれば情報駆動自然開発です。名前はなんとなく思い浮かびますが、現時点では方法論という形式に出来ません。困った事に、臨機応変に対処しているのでそもそも形式がありません。情報があるからそれを自然体で処理するという感じです。
そんな形式化出来ない人間の思考について考えるのは非常に面白いです。暇な時に自分の思考プロセスそのものを分析すると、有意義な時間が過ごせると思います。