2023-02-05

"アルゴリズム思考術 - 問題解決の最強ツール" Brian Christian & Tom Griffiths 著

人が合理的に生きることは難しい。独りでいる分にはそうでもなく、賢明な人も大勢いて、少しばかり楽観的な見方もできるが、集団化しちまうと、途轍もなく悲観的にならざるをえない。そもそも人類が合理的な存在ならば、これほどの爆発的な人口増殖を招かなかったであろうし、地球環境をこれほど侵食することもなかったであろう。合理的に生きるためには客観的な視点も必要だが、それは人間の本能に逆らった側面がある。だからこそ、客観的な視点に惹かれ、合理的な生き方に焦がれるのやもしれん。
しかし、多様化社会では合理性もまた多様化が進み、経済合理性にばかり目を奪われていては、輪をかけてカオスな非合理性に見舞われる。
本書は、そんな非合理的な人間社会を合理的に生きるための指針として、「アルゴリズム思考術」なるものを伝授してくれる。
尚、田沢恭子訳版(早川書房)を手に取る。

アルゴリズムとは、イスラム帝国の数学者アル=フワーリズミーの名に由来する代数的解法を言うが、現在ではもっと広い意味で解され、本書は「問題解決に用いられる有限な一連の手順」と定義している。
それは、きわめて形式的で、機械的で、コンピュータとの相性も良く、こんなものが人間社会のあらゆる問題に有効だとすれば、人間そのものがマシンのような存在だと言っているようなもの。実際、そうなんだろう。AI の登場で、それも現実味を帯びてきたし...
コンピュータそのものは数学的な構造をしており、その振る舞いは、どんなプログラミング言語を用いるにせよ、順次処理、条件分岐、反復処理でだいたい説明がつく。そこで重要となる要素は、これらの処理にひっかけるデータである。データという概念も抽象的で、なかなか手ごわいのだけど...
そして、人間の行動パターンも、これらの振る舞いにだいたい当てはめることができよう。例えば、人がいつも悩まされる「選択」という行為は条件分岐にあたり、問題解決のための意思決定はまさにこれである。その選択肢は、悩みにひっかけるデータにかかっており、認識能力や経験値などで決まる。
尚、選択肢をあまり広げると目移りして、ネストが深くなるからご用心!

「チューリングマシン」の名を掲げるアラン・チューリングは、機械か人間かの判定方法を考案した。人間である条件とはなんであろう。世間では、人間には心があると言われる。
「心」ってなんだ?辞書を引くと、「人間の理性、知性、感情、意志などの働きの元になるもの、または、その働きそのもの...」とある。言葉で定義すれば、こんな表現になるのだろう。しかし、定義できるからといって理解したことにはなるまい。人間は心というものを知っているのだろうか。人間は、本当に人間自身を知っているのだろうか...
心は、人と人とのコミュニケーションにおいて感じ取ることができる。ならば、人とコンピュータとのコミュニケーションにおいて心を感じ取ることができれば、コンピュータも心を持ちうるということになるかもしれない。そして、コンピュータの物理構造から心の正体も見えてくるかもしれない。コンピュータが、人間とは何かを教えてくれるってか。最も人間味に欠け、最も人間らしくない奴が...
おいらの心は、あの SF 作家風の言葉をつぶやいてやがる... 発達し過ぎたコンピュータ科学は、悪魔とまったく見分けがつかん!

さて、いつも長過ぎる前戯はこのぐらいにして...
本書は、日々出くわす問題にコンピュータアルゴリズムを適用するという観点から、効率的な思考法を提示してくれる。そればかりか、合理的な人生哲学を暗示しているような...
ソート理論には整理整頓の哲学を魅せられ、キャッシュ理論には忘却の哲学が刻まれ、スケジューリングには人生で何を優先すべきかを考えよ!と諭される有り様。
人生は短い!完璧な答えを求めて彷徨うより、いくらか妥協して前に進む方が有意義なことが多い。それは、客観的な妥協、あるいは、合理的な妥協とでも言おうか。合理的な人生は、妥協の哲学に看取られているようである...

「完璧は善の敵である。」... ヴォルテール

1. 37% ルールで行動のタイミングをはかる...
最適停止問題では、やめるタイミングを教えてくれる。
その代表例に、秘書問題がある。秘書を一人雇うのに、どれだけの面接を繰り返せば、最良の人が雇えるか。採用はその場で即座に決め、不採用にした応募者は、もう採用できないこととする。
そして、面接回数の指標に、「37% ルール」ってやつを紹介してくれる。
例えば、100人の応募者の中から選ぶとすると、最初の 37 人は検討のみとし、能力や人格など観察して採用基準を定める。以降の応募者からその基準に則って採用すれば、最良の秘書を雇う確率が最大になるという寸法よ。
37% とは、具体的には、1/e で、e はネイピア数。サンプル数が多いほど精度が上がる。
ネイピア数とは自然対数の底であり、こいつを確率論に持ち込むと、数字の魔術にしてやられる。確率論こそが、合理的な妥協というわけか...
そういえば、これに近い考えを、おいらもやっている。本を買う時は、最初の 1/3 を立ち読みして決めたり、アマゾンを放浪する時は、リストアップした中から 1/3 に絞り、さらに 1/3 に絞り、これを繰り返して 照準を絞るといった具合に...
もっといい物が見つかる... という思いのために、先送りして後悔することはよくある。もっといい人に出会えるかも... という心理は、結婚相談所でも働くらしいが、理想高すぎ!と説教をくらうのがオチ。
ちなみに、初恋は実らないもの... と言うが、このルールに従うらしい。
そして、早々に判断してしまうと、情報カスケードの落とし穴に出くわす。ネット社会では集団極性化という現象もあり、サイバーカスケードという用語も見かける。ハードウェアにも接続方法の有効な手段としてカスケード接続ってやつがあり、電力網のトラブルでもカスケード障害ってやつがある。
人間心理には連鎖的につながることを好む性癖があり、巷では、心地よく響く「絆」という言葉が乱用される。それで早々に繋がっちまうと、後悔先に立たずってか。いや、みんなで落ちれば怖くない...

2. ギッティンズ指数を悲観的に見るか、楽観的に見るか...
実行タイミングを最適なものにするには、探索と活用のトレードオフに悩まされる。どこまで探索し、いつ活用に移るか。
最も単純なアルゴリズムでは、「勝てばキープ、負ければスィッチ」という考え方がある。うまくいけばやり方を変えない... というのは良さそうだが、うまくいかなければやり方を変える... というのは、あまりにせっかちな。どんなにいいレストランでも、たまには外れの料理もあろうに...
そこで、「ギッティンズ指数」というものを紹介してくれる。経済学者は、未来より現在に価値があるという見方を「割引」と呼ぶそうな。未来に期待しない現実主義者というわけか。先物では信用取引などと呼称しながら、現物を人質にしてやがるし。なるほど、信用ならぬ取引というわけか...
さて、ギッティンズ指数では、幾何級数的に割引関数を想定する。未来を割引く関数ってのも、未来に希望が持てないようで、悲観主義にも見えてくる。当初、統計学者ギッティンズは「動的配分指数」と呼んだそうだけど...
探索しながら良いタイミングで活用するという問題は、例えば「多腕バンディット問題」に見られる。それは、最も良いアームを候補の中から順次に探す問題で、アームという奇妙な名はスロットマシン、すなわちバンディットマシンの比喩からきている。
そして、「利得が幾何級数的に割引されていく多腕バンディット問題は完全に解決できる。」という。
未来を割引くという考えが馴染まなければ、後悔に着目するという見方もある。そこで、後悔を最小化する「信頼上限アルゴリズム」というものを紹介してくれる。後悔を最小化できると考えられれば、楽観主義にも見えてくる。見方をちょいと裏返しただけで、悲観主義も、楽観主義も、気分の問題か。どちらもうまく扱えば、視界良好!どちらも扱いを間違えれば、ドツボ!

3.コペルニクスの原理で大胆に...
地球は宇宙の中心ではない。太陽しかり、銀河系しかり。これが、コペルニクスの宇宙観である。では、自分の立ち位置は、宇宙のどのあたりにあるのだろう。とりあえず、中心と端っこの中間の 50% あたりとする。コペルニクスの原理を確率論に適用すると、こうなるらしい。
確率論には、最尤推定ってやつもある。50% とするのも、あまりに安直だが、尤もらしい確率というのも、なかなかの安直ぶり。しかし、こうした大雑把な予測が、生きる上で意外と役に立つ。すべての人間が平等というのを信じれば、平均値を頼りにする最も平凡な戦略もありだ。
宝くじのように期待値が算出できれば、もうちょっとましな見方もできよう。ただ、当たる確率は売り場で違う!と主張するマニアもいるが、あながち嘘とは言えまい。こうした数値を、ベイズの法則でいうところの無情報事前分布として眺める手もある。
ベイズの法則は、条件付き確率と事前確率で組み立てられるが、本書は「事前に持った信念と観察された証拠をどう結びつけるか」という視点を与えてくれる。
しばしば人間は、行動せねばならぬ時、大胆さが求められるものだ。そして、十分に努力した結果なのだから... と自分に納得させ、自分に言い訳できることも、生きる上では必要であろう。それは、諦めの境地とは違う。運命論に身を委ねるのとも違う...

4. ランダム戦略で偶然任せに...
人間が当てずっぽうにやれば、神頼み!となるが、コンピュータがやると、ことのほか重要な役割を持つ概念がある。ランダム性ってやつが、それだ。
計算機工学では、論理的に解くのが絶望的なほど複雑な問題でも、乱数を用いて近似解を得るというアプローチがある。乱択アルゴリズムの代表といえば、モナコのカジノに因んだ名で知られる「モンテカルロ法」がある。量子力学のシミュレーションモデルなどで見かけるやつだ。
乱数は、難題に対する最後の砦となりうる。例えば、複雑な入力パターンを持つブラックボックスをテストする場合、とりあえず入力条件の組み合わせに乱数を放り込んで、手っ取り早く検証モデルのプロトタイプを作っちまうという手は、なかなか有効である。
但し、コンピュータアルゴリズムで生成する乱数は、何らかの手順を踏んで生成するのだから、疑似乱数にならざるをえない。真の乱数を生成するには、量子現象に基づいた物理デバイスでも持ち出さないとできないだろう。
そんなデバイスからデータを呼び出す特別な関数を実装した CPU があれば、不確定性原理に看取られた世界へアクセスできそうだ。
とはいえ、アルゴリズムで生成された疑似乱数には再現性があり、検証プロセスのような用途では、むしろ都合がいい。再現性のない現象を検証するのは、途轍もなく厄介である。だから、ランダムではなく、ランダム性なのだ。
つまり、人間の都合のよい程度にランダムであることが、現実社会を生きるための指針となる。偶然に身を委ねるとはいえ、あまりに想定外の偶然は困る。
本書は、乱択アルゴリズムの例に「ミラー = ラビン素数判定法」ってやつを紹介してくれる。素数の判定は、今日ではインターネットの暗号システムで核となっている技術で、この判定法を用いれば、任意の精度で巨大な数でも、すばやく素数かどうかをが見分けられるという。しかし、「おそらく素数」「ほぼ確実に素数」などと表現されれば、これは本当に数学であろうか。こんなものが実用的だということは、それだけ暗号解読が途轍もなく困難であるかを示しているのだけど...
人間社会というカオスの中を生きていくには、完全な確信を得るよりも、確率的に、近似的に、偶然的に、だいたいの確信にすばやく近づくことの方が幸せなのかもしれん。どうせ確信もまた、ある種の思い込みだ。科学がどんなに進歩しようとも、迷信に惑わされる人類の性癖は治りそうもない...

0 コメント:

コメントを投稿