思考処理の速度改善とメモリ節約

人間の脳もスペックが決まっており、一度に処理が出来る量、そして1日に処理ができる量(≒認知資源)が決まっているように思われる。一度に複数のことを考えろと言われると処理負荷かかりすぎて頭が真っ白になるし、夜になれば朝と比べれば全然頭が回らなくなる。そんな制約の中で思考を行っている。

そこで思考の効率性を上げて、メモリの無駄遣いを無くすために主に行っているのが、①ライブラリ化、②アナロジー適用、③モジュール化である。これらを上手く利用することで、思考の効率性が高まり、また物事の学習スピードを向上させることが出来るように思う。

①ライブラリ化

基本的にプログラミングにおいて、行う処理について全てを自分でコーディングすることは無い。APIを叩く、ライブラリを用いることで、自分自身の記述量が圧倒的に減る。これは既に外部にまとまった処理が”ライブラリ化”されているからである。

自己の思考において、ライブラリは自分の外にあるわけではなく、自分の中にあるという点では異なるが、ある程度まとまった知識は自分の中の図書室に本として置いておくことが出来る。普段それらの本の内容は忘却の彼方であるが、自分自身は自分の図書館の鍵を持っており、アクセスが出来るので、必要になればその本を手に取り、その中身を確認することが出来る。

またその本の内容は体系的に整理されているので、その本に書いてある内容をわざわざゼロベースで思考し直す必要はなく、処理を最小限に留めることが出来る。これらのライブラリを沢山保有している人は、少ない思考負荷で求める思考結果を獲得することが出来る。

しかし、ライブラリ自体を蓄積していくには、予め思考をしている必要があるので、単純に「思考の貯蓄」と考えることも出来る。ただし、使ってもなくなることは無く、むしろ使うほどにライブラリとしての精度は高まっていくので、早めにライブラリ化しておくと、後々指数関数的に効いてくるのではないだろうか。

ある対象について、体系的にまとめてみたり(ex. ブログを書く、資料を作る)、徹底的に思考をしていると、改めてそれについて考える時には、最小限の思考で済む。関数が出来上がっているので、必要なインプットを投入し、欲しいアウトプットを受け取るだけで済む。ライブラリという関数の箱を開けて処理内容まで改めて理解する必要はない。ただし、ライブラリとしての信用度が低いと感じられる場合は、再度思考をしておくこともある。

一度ちゃんと本として保管しておけば、忘却の彼方にあっても忘れ去られることはない。しかし、その本を探し出すための「特殊キー」が必要になることがある。その鍵をなくしてしまうと、一生その本が見つからないこともある。ライブラリを取り出すためのトリガーは意外なものだったりするので、偶発的に呼び出されることもある。完全に管理できるものでもないが、しっかりと自分が分かる鍵を設定しておけるように関連付けておくことが重要だ。

②アナロジー適用

特定の対象について、理解をするときに、自己の既存のライブラリからアナロジーを効かせることによって、理解速度を圧倒的に高めることが出来る。既に理解していることは、処理速度が圧倒的に早くなっているので、それを未知の対象にもアナロジーによって当てはめる。

一連の動作をパターンとして認識することで、全体として利用する認知資源量が大きく下がる。例えば、新しい楽譜を読む際に、自分が既に暗譜している特定のフレーズとの相対性によって、新しい対象を見る。

この部分、あのフレーズに似ているな

とか

この部分、右と左は左右対称になるだけだな

とかとか。

既に自分の中に持っているライブラリを活用し、ゼロベースでの思考を減らす。自分の処理に余裕を持たせる。

③モジュール化

スポーツも同じで、初めて練習するときは、

  • 目線
  • 利き腕の動き
  • フリーハンドの動き
  • 腰の動き
  • タイミング・・・etc

など複数の要素について、処理を行っているので頭が爆発する。しかし、何度かやっている内に逆に余白の方が見えてくる。つまり「やっている動作」ではなく「やらない動作」が見えてくる。そうなると、使う部分のみに集中が出来るようになる。それらはモジュールとして記憶され、後々から考えずともデフォルトとして動作されるようになる。

例えば、1から10の対象も、モジュールに当てはめると「1-3」「4-6」「7-10」という3つのモジュールで構成されることが理解できる。対象がそういったモジュールの集合体として認識できるようになれば、あとはモジュール同士の「つなぎ目」に意識を向けることでなめらかに動作できるようになる。

まとめ

この3つ所々重複している感あるw また改めて整理するとしよう。ただただ、これらを活用することで、思考の節約、効率性の向上、学習スピードの高速化が期待できる。パターン適用やモジュールとしての認識には直観性も必要なので、ここのコツを掴んでいくことが重要。