グーグル面接難問とアクチュアリー試験

前回
http://d.hatena.ne.jp/actuary_math/20091125
「次回は回帰分析について述べる」
と申し上げたのですが、それはもう少々後にさせていただきたいと思います。


今回は
「グーグル面接難問集」
http://www.gizmodo.jp/2009/11/1515.html
(英語原文は
http://gizmodo.com/5405865/google-quetions-gallery

にあった問題からアクチュアリー試験に関連する問題を取り上げます。


(問題)
「2. ある高速道路で30分以内に車が通る確率が0.95(95%)だとすると、10分以内に車が通る確率は? (デフォルト確率は一定として)」
(英語原文は、"If the probability of observing a car in 30 minutes on a highway is 0.95, what is the probability of observing a car in 10 minutes (assuming constant default probability)?")


この問題の解答は
「この問題は、.95と言っても、たった1台じゃなく1台以上通る確率を指してるところが引っ掛けだね。30分以内に車が1台も通らない確率は0.05だから、10分以内に1台も通らない確率はその立方根。よって10分以内に車が通る確率は1引く「それ」、つまり~63%さ。」
(英語原文は、"The trick here is that .95 is the probability for 1 or more cars, not the probability of seeing just one car. The prob. of NO cars in 30 minutes is 0.05, so the prob of no cars in 10 minutes is the cube root of that, so the prob of seeing a car in 10 minutes is one minus *that*, or ~63%.")
となっています。


これはこれでよいのですが、以下の2点からもう少し考察してみます。


(1)数学・損保数理で出てくる確率過程との関係

1分間に平均\lambda台の車が通るとします。
このとき、時刻0からt分経過時の車の台数\{N_t\}は、パラメーター\lambdaのポワソン過程になります。
このとき、
車が来てから次の車がくるまでの間隔を示す確率変数Tは、平均\frac{1}{\lambda}の指数分布に従います。
(損保数理(平成21年7月改定版)のテキスト第8章(改定前の版だと第7章)の問題2でn=1とおいたものです。
なお、 http://actuary.upthx.net/pukiwiki/index.php?1.1.3.3.2.%A5%DD%A5%EF%A5%BD%A5%F3%B2%E1%C4%F8 もご参照ください。)


つまり、
P(T \le t)=1-\exp(\lambda t)であり、
今、
P(T \le 30)=1-\exp(30\lambda)=0.95
なので、
\exp(30\lambda)=0.05
であり、
P(T \le 10)=1-\exp(10\lambda)=1-\sqrt[3]{0.05}≒0.63
という次第です。


この問題を解くだけであればここまでする必要性はなかったのですが、
上記の「ポワソン過程→指数分布(ガンマ分布)」の読み替え
を使った問題は、損保数理の過去問題でも出題されているし、数学(モデリング)でも出題される可能性があるので要注意事項の1つ(証明を理解するのではなく、結果を知って使えるようにすること)と考えられます。


(2)実際の計算

この問題にはもう1つ厄介な点があります。それは、0.05の立方根の計算です。
関数電卓があれば当然一発ですが、面接では関数電卓は使えないと考えます。
グーグルの面接の詳細な条件が不明ですが http://d.hatena.ne.jp/shiumachi/20090122/1232574613 によると、ホワイトボードを使った面接があるということなので筆算はできるのでしょう。
ここでは、筆算ができるとして、0.05の立方根を小数点第2位まで(第3位を四捨五入)求めることを考えましょう*1
(a)
0.05=\frac{50}{1000}
なので、50の立方根を小数点第1位まで(第2位を四捨五入)求めてそれを10で割れば、求める値になります。
3^3<50<4^3
なので、50の立方根は、3と4の間にあることが分かりますです。
(b)
\left(\frac{7}{2}\right)^3=\frac{343}{8}<\frac{400}{8}=50
なので、50の立方根は3.5より大であることが分かります。
(c)
\left(\frac{36}{10}\right)^3=\frac{36^3}{1000}=\frac{(36*6)^2}{1000}=\frac{(216)^2}{1000}
<\frac{(220)^2}{1000}<\frac{48400}{1000}=48.4<50
なので、50の立方根は3.6より大もあることが分かります。
(d)
\left(\frac{37}{10}\right)^3=\frac{1369*37}{1000}=\frac{50653}{1000}>50
なので、50の立方根は3.7より小もあることが分かります。
(e)
最後に
(3.65)^3=\left(\frac{73}{20}\right)^3=\frac{5329*73}{8000}=\frac{389017}{8000}
<\frac{400000}{8000}=50
なので、50の立方根は3.65より大もあることが分かります。
(f)
以上のことから、
50の立方根は3.65と3.7の間なので、50の立方根を小数点以下第1位まで(第2位を四捨五入)求めると、3.7であり、
0.05の立方根を小数点第2位まで(第3位を四捨五入)求めると0.37となり、
最初の確率は約63%
となります。

以上は、当然アクチュアリー試験と同条件、つまり(普通の)電卓があればより素早くできるのですが、普通の電卓を使って行う方法として他には、
ニュートン法、つまり
x_{n+1}=\frac{1}{3}\left(2x_n+\frac{a}{x_n^2}\right)
で定義される数列の極限を考えるという方法も考えられるところです。(aとして、そのものずばり0.05をとる方法の他に、上記のように50をとって結果を10でわったり、あるいは、逆数の20を考え出た結果を割算で求めることもあります。aとして整数を選択する方が打鍵のミスが少ないと考えられます。)

なお、ニュートン法ですが、ご存知ない方もいらっしゃると思うので*2
http://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%88%E3%83%B3%E6%B3%95
をご参照ください。
別に知らなくてもアクチュアリー試験ではまず困らないですが、知っておいて損のない知識と考えます。たとえば、
x_{n+1}=\frac{1}{2}\left(x_n+\frac{a}{x_n}\right)
により√のない計算機で\sqrt{a}の計算ができます。*3

*1:筆算もできずに暗算となると私は不合格になります。

*2:http://www.cvl.iis.u-tokyo.ac.jp/~miyazaki/tech/tech19.html によると新課程では出ているそうです。また学習指導要領が変わるのでその後どうなるかは不明ですが。

*3:実際には、自分の持ち込んだ計算機に√機能がなければ、コンビニに走って√機能のある計算機を買うというのが最善の解決策だと思いますが。