【ガソリンスタンド最安値問題】秘書問題の罠!?平均支払額を最小化する最適解は「2軒見送り」だった

数学×日常の読み物

1.ドライブ中の悩みを数学で解く:「ガソリンスタンド最安値問題」

車で知らない道を走っているとき、こんな経験はありませんか?

「あ、ガソリンスタンド(GS)がある。でもちょっと高そうだな…もう少し先に行けば、もっと安い店があるかも!」

そう思って通り過ぎたものの、その先にあるGSはどれも最初のお店より高くて、結局一番最後の高いお店で給油する羽目になり大後悔——。

戻ることができない一本道に 10軒のガソリンスタンド が並んでいるとき、私たちは「何軒目まで見送って、何軒目から給油を決断すべきか?」。

今回はこの日常の悩みを確率論でガチ計算し、ネットでよく知られる「有名理論の罠」と「本当に得する買い物戦略」を解き明かします!

2.ネットで有名な「秘書問題(37%ルール)」の罠

この問題は、確率論やオペレーションズ・リサーチの世界では「秘書問題(最適停止問題)」として非常に有名です。

秘書問題のルール

  1. ガソリンスタンドは全10軒。後戻りはできない。
  2. 最初の $k$ 軒は「価格相場の下見」として絶対に通り過ぎ、暫定の最安値を調べる。
  3. $(k+1)$ 軒目以降で、それまでの暫定最安値より1円でも安い店が出たら即座に入る
  4. 9軒目までに更新できなければ、最後の10軒目で強制給油。

このルールで「全10軒の中で完璧な1番(真の最安値)を引き当てる確率 $P$」を計算すると、以下のようになります。

下見する軒数 (k)割合評価を始める店舗最安値(1位)を選べる確率
1軒10%2軒目から32.58%
2軒20%3軒目から36.58%
3軒30%4軒目から39.87% (最高確率)
4軒40%5軒目から39.83%
5軒50%6軒目から37.28%

数学の教科書での結論はこうです。

「全10軒のうち3軒(30%)を下見に使い、4軒目以降で過去最安値が出たら即決するのが最適解(成功率 約40%)」

※なお、全体の選択肢 $n$ が十分大きい場合、最適な下見の割合は $\displaystyle \frac{1}{e} \approx 36.8\%$ に収束するため、一般に「37%ルール」と呼ばれています。

💡 ここが秘書問題の罠!

一見完璧に見えるこの理論ですが、現実の買い物に当てはめると大きな穴があります。

なぜなら秘書問題は「1位(最安値)以外は、2位であっても3位であってもすべて『失敗(0点)』とみなす」という、極端なオール・オア・ナッシングのルールだからです。

しかし、現実の給油で重要なのは「1位当てギャンブル」ではなく、「支払うガソリン代の平均額(平均順位)をできる限り安く抑える(=大損を避ける)」ことのはずです!

3.ガチ証明:平均支払額(期待順位)を最小化する最適条件

では、「購入するガソリンの順位の期待値 $E$」 を最小化するには、何軒下見するのが数学的に正しいのでしょうか?

厳密に証明してみましょう。

確定モデルの導出

【前提設定】

$n$ 軒のGSの価格を安い順に順位 $1 \sim n$(1が最安値)とします。最初の $k$ 軒を観察してベンチマーク $M$($k$ 軒の中での最小順位)を記録し、$(k+1)$ 軒目以降で $M$ より安い店が出たら即入る戦略をとります。

【ステップ1:ベンチマーク $M$ の期待値】

$k$ 軒の中での最良順位 $M$ の期待値は、組み合わせ論より以下のようになります。

$$\displaystyle E[M] = \frac{n+1}{k+1}$$

また、$M=1$(最安値が既に下見の $k$ 軒の中に存在した)となる確率は $\displaystyle P(M=1) = \frac{k}{n}$ です。

【ステップ2:選択順位の条件付き期待値】

  • $M=1$ の場合: ベンチマークを超える店がもう現れないため、最終 $n$ 軒目で強制給油となります。$n$ 軒目の順位は $\{2, \dots, n\}$ 上で一様分布するため、$$\displaystyle E[\text{選択順位} \mid M=1] = \frac{n+2}{2}$$
  • $M=m \ge 2$ の場合: 順位 $1 \sim m-1$ の店舗がすべて $(k+1)$ 軒目以降に存在し、その中で最初に現れたお店を選びます。対称性より、選ばれる順位の期待値は、$$\displaystyle E[\text{選択順位} \mid M=m] = \frac{1 + 2 + \dots + (m-1)}{m-1} = \frac{m}{2}$$

【ステップ3:全体の期待順位の公式】

これらを掛け合わせて合計すると、全体の期待順位 $E[\text{順位} \mid k, n]$ は次のシンプルな公式に整理されます。

$$\displaystyle E[\text{順位} \mid k, n] = \frac{n+1}{2} \left( \frac{1}{k+1} + \frac{k}{n} \right)$$

【ステップ4:最適な下見軒数 $k^*$ の導出】

期待順位を最小化するために、$f(k) = \displaystyle \frac{1}{k+1} + \frac{k}{n}$ を $k$ で微分して 0 と置きます。

$$\displaystyle f'(k) = -\frac{1}{(k+1)^2} + \frac{1}{n} = 0 \implies (k+1)^2 = n$$

$$\displaystyle \therefore k^* = \sqrt{n} – 1$$

なんと、平均支払額を最小化する最適な下見軒数は $\sqrt{n} – 1$ という美しい極限式で与えられるのです!

4.計算結果:実は「2軒見送り(20%)」がコスパ最強!

求めた公式に $n = 10$ を代入してみましょう。

$$\displaystyle k^* = \sqrt{10} – 1 \approx 3.162 – 1 = 2.162$$

連続値での最適値は約 $2.16$ です。実際に $n=10$ における各 $k$ の期待順位を計算して比較してみます。

下見する軒数 (k)割合評価開始店舗期待順位(平均順位)
0軒0%1軒目から即決5.50 位
2軒20%3軒目から2.93 位 (★最小・最適解)
3軒30%4軒目から (37%ルール)3.03 位
5軒50%6軒目から3.67 位
9軒90%最後の1軒5.50 位

📊 驚きの結論

最安値1位だけを狙う「37%ルール($k=3$)」では平均 $3.03$ 位ですが、たった2軒(20%)見送って3軒目から決断する($k=2$)と、平均 $2.93$ 位となり最も良い買い物ができます!

「1位を当てる」ことだけに執着せず、「損をせず平均して安く買う」ことが目的であれば、下見に時間をかけすぎる必要はありません。わずか 20%(10軒なら2軒)下見するだけで十分な情報を得られ、早めに意思決定する方が平均支払額は圧倒的に安くなるのです。

5.まとめ:日常の買い物への応用

今回の「ガソリンスタンド最安値問題」から得られる、数学的に正しい行動パターンは以下の通りです。

  1. 「1番(最安値)」を一点突破で狙うなら:全体の 約 30〜37%(10軒なら3軒)を下見に使い、4軒目以降で過去最安値が出たら即決する。
  2. 「平均して一番得したい(大損を避ける)」なら:全体の 約 20%($k^ = \sqrt{n}-1$)*(10軒なら2軒)だけ下見して、3軒目以降で過去の最安値を下回ったら即決する!

「引っ越しの部屋探し」や「ネットショッピングの比較」など、後戻りできない選択肢で迷ったときは、「最初の2割で相場を掴み、すぐに決断へ動く」という20%ルールをぜひ活用してみてください!

コメント

タイトルとURLをコピーしました