Steve Ballmerの誤った二分探索インタビュー問題
- Steve BallmerはMicrosoftの面接で、候補者たちにパズルのような質問を投げかけていた。この質問は二分探索と期待値に基づいている。
- Ballmerは「1から100までの数字を1つ思い浮かべる。当てたらお金を払い、外したらお金をもらう」というゲームを提案した。
- Ballmerはこのゲームを受けるべきではないと主張した。理由は2つあり、1つ目は自分が最も難しい数字を選べるからで、2つ目はランダムに選んだ場合でも期待値が負になるからだ。
二分探索戦略
- 二分探索戦略に従うと、Ballmerが特定の数字を選んだときに$1を支払うことになる。
- 例えば、Ballmerが59を選んだ場合、二分探索戦略なら5段階で見つけられる。Emily Changは実際にほぼ当てていた。
期待値の計算
- Ballmerがランダムに数字を選ぶ場合、期待値は$0.20である。
- コード例を使うことで、各値に対する推測回数と全体の期待値を計算できる。
- 期待値は 5 * 1/100 + 4 * 2/100 + 3 * 4/100 + 2 * 8/100 + 1 * 16/100 + 0 * 32/100 + -1 * 37/100 で計算される。
Ballmerの誤り
- Ballmerは、$0になる6回の推測ケースを含めていなかった可能性がある。
- もしBallmerが「1から100までの数字を1つ思い浮かべる。当てたらお金を払い、外したらお金をもらう」と言っていたなら、期待値は-$0.49になる。
コメント
- Damian Cugley: 別の推測アルゴリズムのほうがより良い可能性があるのか気になる。
- royalroad: Ballmerが説明したものは不完全情報ゲームであり、最適な期待値を計算するにはナッシュ均衡を見つける必要がある。
- espadrine: Ballmerが秘密の数字を変更できることを示唆していた可能性がある。
GN⁺のまとめ
- この記事は、二分探索アルゴリズムと期待値計算に関する興味深い事例を提供している。
- Ballmerのゲーム提案は、数学的分析を通じて期待値を計算する方法を示している。
- 二分探索アルゴリズムを理解し、適用するうえで役立つ可能性がある。
- 類似の機能を持つ別のプロジェクトとしては「HackerRank」や「LeetCode」がある。
1件のコメント
Hacker Newsの意見
複雑なドメイン(決済)におけるシニア職の面接経験
Ballmerの数字の選び方に関する議論
問題解決ツールとしての二分探索の有用性
Pythonスクリプトの共有
成功を自分の知能に帰属させる誤り
公正なゲームかどうかという問い
ナッシュ均衡解への好奇心
Ballmerの質問回避
面接質問の目的
プログラマーを探していたのに数学者を採用してしまう場合