見出し画像

①[囚人のジレンマ]ゲーム理論をClaudeとMathematicaで勉強

ゴールは共同配送問題の答えを探すこと。

「囚人のジレンマ」

囚人のジレンマをMathematicaで表現します。
2人が自白すれば2人は8年の懲役
2人とも自白しなければ1年の懲役
片方だけが自白すれば、自白した者は3ヶ月 黙秘は10年の懲役
ナッシュ均衡を求めるコードを

Claudeに頼むプロンプト
(* 利得行列の定義 *)
payoffMatrix = {
   {{-8, -8}, {-0.25, -10}},
   {{-10, -0.25}, {-1, -1}}
};

(* プレイヤーの戦略 *)
strategies = {"自白", "黙秘"};

(* ナッシュ均衡を見つける関数 *)
findNashEquilibria[matrix_] := Module[
  {n = Length[matrix], equilibria = {}},
  For[i = 1, i <= n, i++,
   For[j = 1, j <= n, j++,
    If[
     And[
      matrix[[i, j, 1]] == Max[matrix[[All, j, 1]]],
      matrix[[i, j, 2]] == Max[matrix[[i, All, 2]]]
     ],
     AppendTo[equilibria, {i, j}]
    ]
   ]
  ];
  equilibria
];

(* ナッシュ均衡の計算 *)
nashEquilibria = findNashEquilibria[payoffMatrix];

(* 結果の表示 *)
Print["ナッシュ均衡:"];
For[k = 1, k <= Length[nashEquilibria], k++,
 Print[
  "プレイヤー1: ", strategies[[nashEquilibria[[k, 1]]]],
  ", プレイヤー2: ", strategies[[nashEquilibria[[k, 2]]]]
 ]
]

ナッシュ均衡:
プレイヤー1: 自白, プレイヤー2: 自白

Claude

Claudeは凄い。
Geminiにも頼んだけど、彼女は正しいコードが書けない。
(後で回避策が分かる。「Mathematicaの基本関数で」と頼めば良い)


解説を依頼。わかりやすい。生成AIを使ってコードを書いてもらって実行しながら教科書を読むのが私は一番わかり易いのでこうする。

はい、ナッシュ均衡に至るプロセスを日本語で説明いたします。

ナッシュ均衡に至るプロセスは、以下のような手順で進みます:

1. 初期状態の認識:
まず、ゲームに参加する全てのプレイヤーの戦略と、それぞれの戦略の組み合わせに対する利得(ペイオフ)を明確にします。囚人のジレンマの場合、各プレイヤーには「自白」と「黙秘」という2つの戦略があります。

2. 各プレイヤーの視点での分析:
各プレイヤーは、相手の戦略を固定したと仮定して、自分の最適な戦略(最大の利得を得られる戦略)を考えます。

3. 最適反応の探索:
各プレイヤーは、相手の取り得る全ての戦略に対して、自分の最適な反応(最大の利得を得られる戦略)を見つけます。

4. 戦略の調整:
プレイヤーたちは、お互いの戦略を観察しながら、自分の戦略を調整していきます。この過程で、各プレイヤーは自分の利得を最大化しようとします。

5. 安定状態の到達:
最終的に、どのプレイヤーも自分の戦略を一方的に変更しても利得が改善されない状態に達します。
この状態がナッシュ均衡です。

6. 均衡の確認:
全てのプレイヤーにとって他のプレイヤーの戦略が変わらない限り自分の戦略を変える動機がない状態であることを確認します。

囚人のジレンマの場合このプロセスは以下のように進行します:

1. 初期状態: 両プレイヤーが「自白」か「黙秘」を選択できる状況を認識します。

2. 各プレイヤーの分析:
- プレイヤー1が「自白」を選んだ場合、プレイヤー2は「自白」を選ぶと8年、「黙秘」を選ぶと10年の刑となります。
- プレイヤー1が「黙秘」を選んだ場合、プレイヤー2は「自白」を選ぶと3ヶ月、「黙秘」を選ぶと1年の刑となります。

3. 最適反応の探索:
両プレイヤーとも、相手がどちらの戦略を選んでも「自白」を選ぶ方が自分の刑期が短くなることに気づきます。

4. 戦略の調整:
両プレイヤーは「自白」を選ぶ方向に戦略を調整します。

5. 安定状態の到達:
両プレイヤーが「自白」を選んだ状態で安定します。この状態では、どちらのプレイヤーも一方的に戦略を変更しても利得は改善されません。

6. 均衡の確認:
(自白, 自白)の状態が、どちらのプレイヤーにとっても最適な反応となっていることを確認します。

この状態がナッシュ均衡です。両プレイヤーとも8年の刑を受けることになりますが、どちらか一方が戦略を変更しても、その人の刑期は8年から10年に延びるだけで、状況は改善しません。

このプロセスを通じて、個々のプレイヤーが自己の利益を最大化しようとする行動が、必ずしも全体にとって最適な結果(この場合は両者とも1年の刑)をもたらさないというジレンマが明らかになります。

Claude

いいなと思ったら応援しよう!