ゲーム理論とナッシュ均衡の数学
ノーベル賞数学モデル — 囚人のジレンマ・価格競争・チキンゲームの最適意思決定
- 1
- 相手がどの戦略を選ぼうと、自分にとって『これ以上戦略を変える動機がない』状態の組み合わせがナッシュ均衡
- 2
- 個人がそれぞれ自分にとって一番トクな選択(利己的最適化)をすると、全体としては最悪の結果に陥る(囚人のジレンマ)
- 3
- ジョン・ナッシュは、角谷の不動点定理を用いて『すべての有限ゲームに少なくとも1つの(混合戦略)ナッシュ均衡が存在する』ことを証明した
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
映画『ビューティフル・マインド』のモデルとなった天才数学者ジョン・ナッシュが1950年にわずか21歳で証明した理論。冷戦期の核抑止力から、企業間の熾烈な値下げ競争、電波オークションまで、人間社会の相互作用を解き明かす最強のフレームワークです。
身につく武器・思考力
戦略的思考(Strategic Thinking)の体得、相手の出手を先読みした意思決定センス、社会の非効率メカニズムの看破
実社会・ITでの活躍現場
- •総務省やFCC(米連邦通信委員会)の5G電波周波数オークション設計
- •ガソリンスタンドや航空会社の価格競争・ダイナミックプライシング戦略
- •国際気候変動交渉(COP)における温室効果ガス削減目標のゲーム理論分析
- •サイバーセキュリティにおける攻撃者と防御者の防壁投資シミュレーション
Layer 1 — 直感・シミュレーター
プレイヤーAとプレイヤーBの利得表(ペイオフマトリクス)を設定し、支配戦略とナッシュ均衡(☆印)を可視化しましょう。囚人のジレンマ、チキンゲーム、逢瀬のゲーム(協調ゲーム)のプリセットを切り替えて、なぜお互いに裏切り合ってしまうのかを体感できます。
ナッシュ均衡:互いに「相手がその手なら自分もこれ以外に変えられない」安定点
映画『ビューティフル・マインド』のジョン・ナッシュが証明した不動点定理。 各ゲームをクリックして利得表の構造とナッシュ均衡(★印)を確認してみましょう。
囚人のジレンマ(Prisoner's Dilemma)
利己的な最適選択(裏切り)が、全体として最悪な結果を生み出す古典的パラドックス。
| プレイヤー B | |||
|---|---|---|---|
| 黙秘(協調) | 自白(裏切り) | ||
| プレイヤー A | 黙秘(協調) | 3,3 パレート最適 | 0,5 |
| 自白(裏切り) | 5,0 | 1,1 ★ ナッシュ均衡 | |
囚人のジレンマにおいて、両者が共に「黙秘(協調)」を選べば懲役1年ですむのに、なぜ両者とも「自白(裏切り)」を選んで懲役5年になってしまうのか?
Layer 2 — 定義・受験・証明
定義
プレイヤー集合 、各プレイヤーの戦略集合 、利得関数 からなる戦略形ゲームにおいて、戦略プロファイル が**ナッシュ均衡(Nash Equilibrium)**であるとは、すべてのプレイヤー について以下が成り立つ状態である:
公式・数理モデル
証明・導出
**ナッシュの存在定理(1950年)と角谷の不動点定理** 有限個のプレイヤーと有限個の純粋戦略を持つ任意のゲームにおいて、確率的な戦略選択(混合戦略 )を許容するとき、少なくとも1つのナッシュ均衡が存在する。
**証明の概要(ベストレスポンス対応の不動点)** 各プレイヤー に対し、相手の戦略プロファイル に対する最適反応(ベストレスポンス)集合を とする。 全プレイヤーの最適反応対応 を定義すると、 は混合戦略空間 から への多価写像(点対集合写像)となる。
1. はコンパクトかつ凸集合である。 2. 各プレイヤーの期待利得関数は線形(したがって準凹)であるため、 の各像は非空な凸集合である。 3. 最大値の定理より、 は上半連続である。
したがって、**角谷の不動点定理(Kakutani's Fixed Point Theorem)**の条件がすべて満たされ、 を満たす不動点 が必ず存在する。この不動点 こそが、全員が互いに相手への最適反応を取り合っているナッシュ均衡である(Q.E.D.)。
押さえておきたいポイント
- ナッシュ均衡は『パレート最適(全員にとって最も幸福な状態)』とは限らない(むしろ乖離することが多い)
- 支配戦略(Dominant Strategy):相手が何をしてこようと自分にとって常に最善となる戦略
- 混合戦略ナッシュ均衡では、相手に自分の行動を読まれないようサイコロを振るように確率で手を選ぶ
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
Nashpyによる2人ゲームのナッシュ均衡の自動計算
利得行列から純粋・混合戦略ナッシュ均衡を求めるPythonコードです。
1import nashpy as nash2import numpy as np34# 囚人のジレンマの利得行列5# 協調(C), 裏切り(D)6# Aの利得 (黙秘, 自白)7A = np.array([8 [ 3, 0], # 協調9 [ 5, 1] # 裏切り10])11# Bの利得12B = np.array([13 [ 3, 5],14 [ 0, 1]15])1617game = nash.Game(A, B)1819# ナッシュ均衡の計算(サポート列挙法)20equilibria = list(game.support_enumeration())21for eq in equilibria:22 print(f"プレイヤーAの戦略確率: {eq[0]}")23 print(f"プレイヤーBの戦略確率: {eq[1]}")24# 出力: A=[0, 1] (裏切り), B=[0, 1] (裏切り) -> 唯一の純粋ナッシュ均衡
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元