0

『再発見の発想法』(結城浩)

技術者が使う用語を解説し、そこにある考え方を読み解きながら、他の分野でもその考え方を使えるよう促してくれる一冊。目次は以下の通り。

●第1章 あふれる量と戦う
・ランダムサンプリング
・指数関数的爆発
・ブルートフォース
・バックトラック
・データ圧縮

●第2章 速く、速く、もっと速く!
・ボトルネック
・投機的実行
・レスポンスタイム
・バッファ

●第3章 再利用のために
・ライブラリ
・エクスポート/インポート
・テンプレート

●第4章 リソースを活用する
・トレードオフ
・ガベージコレクション
・富豪的プログラミング

●第5章 セキュリティを守る
・公開鍵暗号
・二要素認証
・難読化
・中間者攻撃
・DoS攻撃

●第6章 正しく判断する
・A/Bテスト
・ベンチマーク
・評価関数

●第7章 連携プレーをスムーズに
・デッドロック
・ブートストラップ
・アイドル

●第8章 品質を上げる
・ドッグフーディング
・オーバーエンジニアリング
・バリデータ

●第9章 エラーに対処する
・フェールセーフ
・チェックサム
・S/N比
・DRY

●第10章 機械学習と人工知能
・レコメンデーション
・過学習
・チューリングテスト

読んでいくだけで、上に挙がっている「用語」が何を意味するのかが理解できる。加えて、そうした用語=技術がどのような課題によって要請され、その課題をどう解決しているのかもわかる。これはとても大切なことである。

まず、課題がありそれを技術者は解決するということ、言い換えれば、技術者になるとは問題解決者になる、ということだ。技術に詳しいことはそのための前提条件であって、いくら詳しくても問題を解決できないなら技術者とは言いにくい。課題の解決者、汝の名は技術者。

つまり、技術者の視点に私たちの視点を重ね合わせるということは、「問題解決者になる」ことを意味する。それは、無限の理論を追求するわけでもなく、かといってあらかじめ他の誰かが準備した「正解」に合わせることでもない。目の前にある問題的状況を、知識と己の工夫によって乗り越えようとすることなのである。

よって、本書には第四章で解説されている「トレードオフ」の考え方が随所に登場する。現実の問題解決は、基本的にトレードオフだからだ。言い換えれば、ある(有限の)資源を前提に取り組む必要がある。それはビジネスでは当然のことだし、私生活でも同じである。言い換えれば、生きるとはトレードオフを随時選択していくことなのである。理想を持つことは持つが、しかしそれに耽溺することはく、現実と理想の両方を睨みながら、もっとも良い(最適と言える)解決を探していく。それが問題解決である。

しかし、「もっとも良い」とはどのような状態のことであろうか。あらかじめ「正解」が決められているならば、それにぴたり符合することであろう。しかし、「正解」がないのならば? 何かしらの基準が必要がある。そして、その基準に沿って結果を測定し、評価し、判断していくことも必要だ。それは唯一の正解を決めることではなく、「その時点」の最適解を見つけることなので、一度答えを見つけたら永遠と同じことを繰り返せばよいとはならない。継続的な思考と実践が欠かせないと言える。それもまた技術者の望ましいアプローチだと言えるだろう。

もう一つ、市井の技術者(≒問題解決者)にとっても有用な考え方が、「分ける」というアプローチである。デカルトが言ったように困難は分割すべきだ。言い換えれば、自分が取り組めるサイズの困難に分割することで、ようやく取り組めるようになる。トートロジー的ではあるが、真理でもあろう。

また、「分ける」とは詳しく検討することでもある。ボトルネックになっている部分とそうでない部分を分けて捉えること(≒すべてが均一であるという理解から距離を置くこと)、二つの「良さそうな状態」を切り分けてテストすること、シグナルとノイズと峻別すること。そのような分割=認識の精緻化によって、目の前の課題ががらりと姿を変えてしまうことは少なくない。むしろ、そのような風景の変容を経ない限り、目の前の課題はまったく同じ状態に留まり続けることだろう。見方を変えることは、味方を変えることであり、それで戦況が一変してしまう。

よって本書は、技術者に将来的な憧れを持つ人向けの用語解説書としても読めるし、ここまで日常的に技術が浸透している社会にあってニュースなどでも登場する技術用語に親しむ軽い読み物としても楽しめる。

そして、知的生産者(知的生活者)にとっては、この世界に生み出されたさまざまな「考え方・思考法」に触れられる興味深い本でもある。私は生まれてはじめて公開鍵暗号の方式を理解したとき、その見事さに脳天を打ち抜かれたような気がしたものだ。既存の「当たり前」をひっくり返し、極めて実用的な方法を提供する。技術者にとってはこれ以上ない喜びではないだろうか。

なんにせよ、私たちの「考え方・思考法」は、ある種のパターンを持つ(あるいは人間はそれらにパターンを見出せる知的能力を持つ)。よって、コンピュータ技術に関わらず、こうした思考のパターンは、他の分野でもいくらでも応用できるものである。その意味で、本書はパタン・ランゲージの身近な一冊でもあるだろう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です