かやのみ日記帳

日々感じたことをつれづれと書いています。

フェルミ推定

 

昔、Googleの入社試験にフェルミ推定が使われていたが、現在は利用されていないという。理由はフェルミ推定の優劣は入社後のパフォーマンスと関係がないとわかったかららしい。

とはいえ、普段プログラマーの仕事をしているとフェルミ推定らしきことはいっぱいやっている。散歩しているとき、簡単な説明ができないかを考えていた。

 

 

例えば大量にある木材からジェンガを作れないか依頼されたとする。
まず、ジェンガの大きさを知りたい。何個必要だろうか、何段組むんだろうか。
「いいから作れるか教えて」と言われれば、「まあできますよ」と答える。

 

で、試しにいくつか加工してそれっぽいものを作ってみる。
ところが「全然違う、そうだドミノがやりたかったんだ」と言われる。

ドミノとジェンガはまったく違う。大きさも違うだろうし、個数も変わってくるはずだ。「同じ木で作れるだろうし、もう一度加工して」なんて注文がくる。

 

OK、ここで嫌な予感を最大限に活かす。サイズは今後も可変するおそれがある。
厚み、サイズを自由に作れるようにしよう。また個数もわからない。大量に作らなければならないおそれがある。なるべく簡単に自動で何個も作れるようにしよう。

 

「実は色を7色にしてほしいんだ、白、黒、赤…って個別にね」

さて、どうしたものか。問題はどこで塗装するかだ。
加工仕切った後に色付け工程を用意したほうがいいか。色について白だけ、黒だけ…とすると効率的か、それとも後工程でまとめてばらばらに色付けできるようにしたほうがいいか。

 

「そうそう、白の割合が7割で、ほかの色が全部で3割になるようにしてね」

本当か?どうせあとで変更される気がする。どう考えても白ばっかりのドミノがいるのか?単色セット、複数色セット、割合も変えられるように梱包を考えておくべきだろう。いや、ひょっとしてドミノで絵を描くようなキットを作りたいのか?その場合は色の割合は確定している。だったらそれに最適化するべきなのか?

 

 

とまあ、こんな感じであちこち推理、嫌な予感を働かせる必要がある。
案外、他の仕事でも同じかもしれない。

プログラムは無機物で人間味がないように思われるが、それは違う。人間が作ったものなのでそれぞれに人間たちの癖や思考、思想が入っている。それをうまーくぶつからないように扱わなければならない。調整だ。

(AIで自動生成されたものは人間が作ったものではないと思うかもしれないが、元の素材は人間が作ったものでしかない、そもそもAIを作ったのは人間だし)

 

曖昧さ、不確実性を減らし、求めるものを明確にする。
正解のないものに対して、手探りしつつ柔軟にこなす。

どの仕事でもあまり変わらない原則かもしれない。
…あんまりフェルミ推定関わらなかったな。