フェルミ推定記事執筆の後日談
そのようなわけで、フェルミ推定を紹介する記事を書いていた。おかげでフェルミ推定のお勉強を改めてして思った徒然を4つの視点で考えてみた。
(手法) フェルミ推定と次元解析
フェルミ推定の発想のポイントである、「直接見積もれそうもない量は見積もれそうな他の量を足したり割ったりして求めよう」というのは、よく考えると高校物理だ。典型的にわかりやすい例をあげると、ばねの延びからぶら下がっているものの重さを求めようとする秤。これは重さなんか直接的にはよくわからんから、ばねの特性を用いて延びとばね係数から重さがが見積もれるということから重さを求めているわけだ。
で、フェルミ推定を知っている前提でも、ばねの法則みたいなものを自らが考えなくてはならないという点が地頭力なるものの見極めどころなのだが、これをシステマティックに考えようとする場合、次元解析と同じ発想が使える。実際wikipediaでもそれを示唆する文章がある。つまり、見積もりたい値や問題に出てくる定量化可能な事象の単位を片っ端から洗い出してその組み合わせを検討してみるというやり方だ。すべてがこれでうまくいくわけではないが、ある程度はあたりがつくなあとフェルミ推定の問題集を見て思った。
(抽象化)記号論的フェルミ推定拡張
フェルミ推定は、「量」に注目した見積もり手法だ。だから登場するのは実数であり、手法として登場するのは実数に対して用いることが可能な演算だ。つまり、代表的には掛けると足すである。
ちょっと俯瞰的にみると、対象の特性をどのように表すかが定まれば、その表し方に対する演算を用いて推定するという時に、フェルミ推定で重要な「考え方」であるa)俯瞰してみるとか、b)フレームワークで考えるとか、c)抽象的に考えるとか、そんな発想が使えるのではないかと思った。たとえば、「真偽」に注目した特性を見積もりたいなら、「真偽」に注目した学問である論理学で用いられる演算、つまり∧とか∨とか⇒とか¬を使って、さらにa)からc)のような発想で「真偽」の短時間での見極めが使える。その他でも同様だ(とはいっても、他によく使われていて記号操作がはっきりしている対象ってあまり思いつかないけど)。
もちろん、これはそもそも発想が逆なのだが、フェルミ推定という入口から上記a)からc)のような考え方を理解しつつ、いつまでも量ばかり見積もろうという人が一歩先に進むために、この発想の拡張は必要なのではと思いました。私がそうでしたが。
(将来予測)フェルミ推定がいらなくなる世界
フェルミ推定のポイントはやはり掛け合わせの発想であろう。なぜ、それが重要か。それはもう一つのアプローチである積み上げるが不可能な場合が多いからである。そりゃピアノの調律師の数なんかわからんし、東京都内の駐禁の道路標識の数もわからんし、国会図書館の蔵書数もわからない(すべてフェルミ推定のサンプル問題)。それはすべてのものが分類されていたり、分割して管理されていたりされていないからだ。つまり、「何らかの特性を持つ対象をすべて数え上げる」ということができないからだ。
では、すべてのものが分類されていたり、分割されていたら?そんなことできないでしょうと思うのだがやろうと思っている奴らが近くにいる。近くにいるといってもあちら側だ。そう、それはGoogleだ。彼らの野望は梅田さんに言わせると『世界中の情報を整理し尽くす』だそうだ。整理するとは、すべての情報を分類すると言っているに近い。その場合すべての量を「数え上げる」ことができるようになるかもしれない。
たとえば、
- 国会図書館の蔵書数 −> 国会の図書館に存在している本という検索で「ぐぐる」→ ヒット数で見積もる。
- 東京都内の駐禁の標識 −> すべての標識のなかで東京都内にあって駐車禁止のものという検索で「ぐぐる」→ ヒット数で見積もる。
- ピアノ調律師 −> シカゴが住所のピアノ調律師で検索して「ぐぐる」→ ヒット数で見積もる。
こんな世界だ。ここにもはやフェルミさんの入る余地はない。さて。
(具体例)フェルミ推定を実生活に活かす
私は、昨日から用事で大阪に行っており夜の7時頃に新大阪駅に着き東京に向かった。今日は朝ごはんから何も食べていなかったので空腹であった。新大阪駅構内にはおいしい定食屋がある。私は、できれば駅弁よりもあったかい料理を定食屋で食べたい。定食屋は混雑していて料理が来て食べ終わるまでどのぐらい時間がかかるかわからない。しかし、新幹線までの時間もそんなにはない。さて、私は定食屋に入るべきであろうか、駅弁を買って車内で食べるであろうか。
という状況に、さっきなった。ここでフェルミ推定(の考え方を取り入れた検討)の出番である。以下、思考の過程。
- あと新幹線の発車まで20分。
- 店内に入った人は、席で待ってから、ご飯をたべて出る。つまり、座っている人の状態は、そのどちらかでありかつ必ずこの順番で状態遷移する。
- ざっと店内を見ると、おおよそ2/3の人がご飯を食べ、その他の人は席で待っている。
- 店内の席には常に誰かが座っている。個々の席は人が待っているか、人が食べているかの状態しかない。
- つまり、すべての席によって、すべての人に与えている状態で考えると、待っている状態対食べている状態が1/3:2/3の比率、つまり1:2のはず
- すべての人が同じ比率でその状態の時間を割り当てられていると捉えると、個々人の待っている時間と食べている時間も1:2。
- 通常一人の人がご飯を食べるのには20分かかると仮定する
- すると待っている時間は10分。よって、仮に自分が急いで10分で食べるとすると20分で出れる。
- 結局、発車までの時間と同じなので、あったかい料理と東京に帰れる効用で決定すべき。
- つまり、駅弁。
という高度な判断プロセスの結果。駅弁になった。っていうか、もちろんこのような問題で1:2になるのは待ち行列の素養がある人や中学受験をした人には直感的な話であるし、この例ではその概算加減の影響でなんの意思決定にも役に立っていない。しかし、このような過程を自分で考えるっていう癖がつくのが、フェルミ推定という技法自身以上にフェルミ推定のような考え方を学んだ効果であろう思う。例えば、上記の引用部分の問を数字も入れて文章題として出せばほとんどの人は解けると思う。ただ、普段の仕事や何気ないLifeHackの根拠に数理的手法を用いることができるかは、普段からこのような発想を頭の片隅に入れておかないと難しい。と今回思いました。