🎓 レベル:標準 | 重要度:B(推奨)
📎 前提:マクシミン・マクシマックス基準 | 関連:完全情報の価値(EVPI)(機会損失)・ラプラス基準・基準の比較
要点(BLUF)
- リグレット(後悔・機会損失) は、「その状態で最良だった利得」と「自分が実際に選んだ行動の利得」の差。。
- ミニマックスリグレット基準は、各行動の最大リグレットを最小化します。「どの状態が来ても、後悔を一定以下に抑える」守りの基準。
- 利得の絶対額でなく取り逃した差に注目する点が特徴で、完全情報の価値(EVPI)の機会損失と同じ発想に立ちます。
1. リグレット(機会損失)とは
意思決定の後、状態が判明したとき、「あのときこっちを選んでいれば…」という後悔が生まれます。これを定量化したのがリグレットです。状態 が起きたとき、行動 のリグレットは
「その状態でありえた最良の利得」から「実際に選んだ行動の利得」を引いたもの。最良を選べていればリグレットは0、外していればその差だけ後悔します。リグレットは必ず です。
2. リグレット表を作って最大後悔を最小化
手順は2段階です。①各状態で最良利得を求め、利得表との差を取ってリグレット表を作る。②各行動の最大リグレット(どの状態で最も後悔するか)を求め、それが最小の行動を選ぶ。
import numpy as np
actions = ["拡張", "維持", "縮小"]
states = ["好況", "普通", "不況"]
payoff = np.array([[100, 40, -40], [60, 50, 10], [20, 25, 30]])
col_max = payoff.max(axis=0) # 各状態での最良利得
regret = col_max - payoff # リグレット表(機会損失)
print("各状態の最良利得:", col_max)
print("リグレット表:")
for a, r in zip(actions, regret):
print(f" {a}: {r} 最大リグレット = {r.max()}")
max_regret = regret.max(axis=1)
best = actions[int(np.argmin(max_regret))]
print(f"ミニマックスリグレット -> {best}(最大後悔を最小化 {max_regret.min()})")
出力:
各状態の最良利得: [100 50 30]
リグレット表:
拡張: [ 0 10 70] 最大リグレット = 70
維持: [40 0 20] 最大リグレット = 40
縮小: [80 25 0] 最大リグレット = 80
ミニマックスリグレット -> 維持(最大後悔を最小化 40)
出力の意味:各状態の最良は好況100・普通50・不況30。拡張は好況なら後悔0(最良)ですが、不況だと最良30に対し−40で後悔70。縮小は不況なら後悔0ですが、好況だと最良100に対し20で後悔80。維持はどの状態でもそこそこで、最大の後悔が40に収まります。3行動の最大後悔(70・40・80)で最小なのが維持。「どんな状態が来ても、後悔を40以内に抑えられる」のが維持——大勝ちは狙わないが大後悔もしない、バランス型の選択です。
3. なぜマクシミンと違う結論になるか
同じ利得表でも、マクシミン・マクシマックス基準のマクシミンは縮小、ミニマックスリグレットは維持を選びました。両者の違いは「何を最小化するか」です。
- マクシミン:最悪の利得(絶対額) を最良化 → 「最悪でも+20」の縮小。最悪の絶対水準を守る。
- ミニマックスリグレット:最悪の後悔(相対損失) を最小化 → 「最大後悔40」の維持。取り逃しを抑える。
縮小は最悪利得は高い(不況で30)が、好況のとき100を取り逃して後悔80と大きい。リグレット基準はこの「機会損失」を嫌い、絶対額は中庸でも後悔の小さい維持を選びます。リグレット基準は「事後に後悔したくない」という心理を捉えており、現実の意思決定者の感覚に近いとされます。
数式の直観的意味:EVPIの機会損失と同じもの
リグレット は、完全情報の価値(EVPI)で見た機会損失とまったく同じ式です。EVPIは「機会損失の期待値」(確率で平均)でしたが、ここは確率がないので「機会損失の最悪値」(最大を取る)を使う。
同じリグレット表に、確率があれば期待値、なければ最悪値を適用する——リスク下と不確実性下で「機会損失をどう集約するか」が違うだけ。リグレットという共通の言語で、第3章(情報の価値)と第6章(不確実性下の基準)が繋がります。なお、ミニマックスリグレットは新たな行動を追加すると既存のリグレット(各状態の最良が変わる)が変化し、順位が逆転しうる——AHPの階層分析法(AHP)と同じ無関係な選択肢からの独立性の破れを抱えます。
⚠️ よくある誤解
- 「リグレットは利得表をそのまま使う」ではない:必ず各状態の最良利得との差に変換してから最大・最小を取ります。利得の絶対額で min/max するとマクシミンになってしまいます。
- 「ミニマックスリグレットは最悪利得を守る」ではない:守るのは最悪の後悔であって、最悪の利得ではありません。だからマクシミンと結論が違います。
- 「後悔最小なら常に良い」ではない:行動を1つ追加すると各状態の最良が変わり、既存行動のリグレットと順位が変わりうる(無関係選択肢からの独立性の破れ)。選択肢集合に敏感です。
- 「リグレット表は対称」ではない:状態ごとに最良が違うので、行・列で構造が異なります。各列(状態)ごとに最良を引く点を忘れずに。
対応シミュレーション
本文のコードで、行動を1つ追加するとリグレット表の各列の最良が変わり、既存行動の最大リグレットと順位が動く——無関係な選択肢からの独立性の破れを実験できます。
関連ノート
- 第6章 不確実性下の決定基準 目次
- マクシミン・マクシマックス基準 — 前提:絶対額を守る基準との対比
- 完全情報の価値(EVPI) — 機会損失(リグレット)の期待値版
- ラプラス基準・基準の比較 — 次のトピック:全基準の総合比較
- 意思決定分析・リスク分析 全体目次