見出し画像

⑧[税関検査]ゲーム理論をClaudeとMathematicaで勉強

今回はClaudeもかなり苦労した。3回ほどコードを修正。
混合戦略の理想値を計算してもらう。
税関の利得が難しかったので、何も指定しないとどうなるのかやってみたが流石に数値を指定しないと答えが出ない。前の湖とかは適当な数値を入れてくれたのだが。
今回はGeminiではどうしても動いてくれなかった。
その後も試したが、この利得行列は難しいらしい。。。

ゲーム理論をMathematicaの基本関数で書きます。
ある国で旅行者は洋酒を輸入すると3000円の利益を得る。 旅行者の選択肢は3本を合法輸入するか、違法で5本輸入するか。
違法で捕まると5万円の罰金となる。
税関の目的は不法行為を阻止したいが、検査の費用を安くしたいので全旅行者を検査することはできない。
利得行列は縦軸を税関、横軸を旅行者とした場合に
 (-1,-35) (0,9)
 (-10,15) (10,9)
この場合のナッシュ均衡を計算して欲しい。

プロンプト

はい、ご提供いただいた新しい情報に基づいて、ゲーム理論の問題を解き直しましょう。Mathematicaの基本関数を使用して、この状況のナッシュ均衡を計算します。

このコードは、提供された新しい利得行列を使用してナッシュ均衡を計算し、結果を解釈します。主な変更点は以下の通りです:

1. 新しい利得行列を使用しています。
2. 税関と旅行者の戦略の順序を利得行列に合わせて調整しました。
3. 各プレイヤーの期待利得を計算する部分を追加しました。

このコードを実行すると、以下の情報が得られます:

1. ナッシュ均衡における各プレイヤーの混合戦略(確率)
2. 税関が検査を実施する確率と実施しない確率
3. 旅行者が合法輸入と違法輸入を選択する確率
4. 税関の最適な検査頻度(何人に1回の頻度で検査すべきか)
5. 各プレイヤーの期待利得

具体的な数値を得るにはこのコードをMathematicaで実行する必要がありますが、結果の一般的な解釈は次のようになります:

1. ナッシュ均衡では、両プレイヤーが特定の確率で各戦略を選択します。
2. 税関の検査頻度は、不法行為を抑制しつつコストを最小限に抑えるバランスを取ります。
3. 旅行者は、違法輸入のリスクと潜在的な利益のバランスを取ります。
4. 期待利得は、各プレイヤーがこの均衡戦略を取った場合に平均的に得られる利得を示します。

この均衡状態では、どちらのプレイヤーも一方的に戦略を変更することで自分の利得を改善することはできません。つまり、これが両者にとって最適な行動となります。

実際の数値が必要な場合は、このコードをMathematicaで実行する必要があります。具体的な数値結果が必要でしたら、お知らせください。

回答
(* 利得行列を定義 *)
payoffMatrix = {
  {{-1, 0}, {-35, 9}},    (* 税関が検査する場合の利得 *)
  {{-10, 10}, {15, 9}}    (* 税関が検査しない場合の利得 *)
};

(* 混合戦略ナッシュ均衡を手動で計算 *)
calculateEquilibrium[matrix_] := Module[{p, q},
  (* 旅行者の無差別条件 *)
  eq1 = 0*p + 9*p == 10*(1-p) + 9*(1-p);
  (* 税関の無差別条件 *)
  eq2 = -1*q + (-35)*(1-q) == -10*q + 15*(1-q);
  
  (* 連立方程式を解く *)
  sol = Solve[{eq1, eq2}, {p, q}];
  
  (* 結果を返す *)
  {q, p} /. sol[[1]]
]

(* ナッシュ均衡を計算 *)
equilibrium = calculateEquilibrium[payoffMatrix];

(* 結果の表示 *)
Print["ナッシュ均衡: ", equilibrium];

(* 均衡戦略の解釈 *)
{inspectProb, legalProb} = N[equilibrium];
notInspectProb = 1 - inspectProb;
illegalProb = 1 - legalProb;

(* 結果を分かりやすく表示 *)
Print["税関が検査を実施する確率: ", Round[inspectProb * 100, 0.01], "%"];
Print["税関が検査を実施しない確率: ", Round[notInspectProb * 100, 0.01], "%"];
Print["旅行者が合法輸入を選択する確率: ", Round[legalProb * 100, 0.01], "%"];
Print["旅行者が違法輸入を選択する確率: ", Round[illegalProb * 100, 0.01], "%"];

(* 税関の最適な検査頻度を計算 *)
inspectionFrequency = 1 / inspectProb;
Print["税関は平均して ", Round[inspectionFrequency, 0.1], " 人に1回の頻度で検査をすべきです。"];

(* 期待利得の計算 *)
customsExpectedPayoff = inspectProb * (legalProb * -1 + illegalProb * -35) + 
                        notInspectProb * (legalProb * -10 + illegalProb * 15);
travellerExpectedPayoff = legalProb * (inspectProb * 0 + notInspectProb * 10) + 
                          illegalProb * (inspectProb * 9 + notInspectProb * 9);

Print["税関の期待利得: ", Round[customsExpectedPayoff, 0.01]];
Print["旅行者の期待利得: ", Round[travellerExpectedPayoff, 0.01]];

ナッシュ均衡: {50/59,19/28}

税関が検査を実施する確率: 84.75%

税関が検査を実施しない確率: 15.25%

旅行者が合法輸入を選択する確率: 67.86%

旅行者が違法輸入を選択する確率: 32.14%

税関は平均して 1.2 人に1回の頻度で検査をすべきです。

税関の期待利得: -10.41

旅行者の期待利得: 3.93

Mathematicaの回答

教科書の答えと違うんで、後で要検証。


思い直して、Mathematicaでなくても計算できるんじゃないかと思う。

ゲーム理論です。 利得行列は縦軸を税関、横軸を旅行者とした場合に (-1,-35) (0,9) (-10,15) (10,9)この場合のナッシュ均衡を計算して欲しい。 混合戦略にて。

プロンプト

え” 計算できるじゃん… すげーな。

はい、混合戦略でのナッシュ均衡を計算しましょう。まず、利得行列を整理してみます。

税関 (縦軸) \ 旅行者 (横軸)
   戦略1  戦略2
戦略1 -1,-35  0, 9
戦略2 -10, 15  10, 9

ここで、税関がp、旅行者がqの確率で戦略1を選択するとします。
税関の期待利得を等しくする:
-p + 0(1-p) = -10p + 10(1-p) -p = -20p + 10 19p = 10 p = 10/19 ≈ 0.5263
旅行者の期待利得を等しくする:
-35q + 15(1-q) = 9q + 9(1-q) -35q + 15 - 15q = 9 -50q = -6 q = 6/50 = 3/25 = 0.12

したがって、混合戦略でのナッシュ均衡は以下のようになります:
税関: 約52.63%の確率で戦略1、約47.37%の確率で戦略2を選択
旅行者: 12%の確率で戦略1、88%の確率で戦略2を選択

この均衡では、両プレイヤーは自分の戦略を変更しても利得を増やすことができません。

回答

あれ?教科書と答えが合わない。こういう場合は指摘する。
やっぱりMathematica使った方が安心か。

教科書の答えは税関は3/25、 旅行者は10/19です。

プロンプト

ありがとうございます。私の計算に誤りがあったようです。教科書の答えを元に、正しい計算過程を確認してみましょう。

では、正しい計算過程を示します:

1. 税関の混合戦略を p、旅行者の混合戦略を q とします。

2. 旅行者の期待利得を等しくする:
(-35)p + 9(1-p) = 15p + 9(1-p)
-35p + 9 - 9p = 15p + 9 - 9p
-35p - 9p = 15p + 9p
-44p = 24p
-68p = 0
p = 0

これは矛盾するので、旅行者は純粋戦略を取らないことがわかります。

3. 税関の期待利得を等しくする:
(-1)q + 0(1-q) = (-10)q + 10(1-q)
-q = -10q + 10 - 10q
-q = -20q + 10
19q = 10
q = 10/19

4. 旅行者の期待利得を等しくするための税関の確率 p を求める:
(-35)p + 15(1-p) = 9p + 9(1-p)
-35p + 15 - 15p = 9p + 9 - 9p
-50p + 15 = 9
-50p = -6
p = 6/50 = 3/25

したがって、正しい混合戦略でのナッシュ均衡は:

- 税関: 3/25 (12%) の確率で戦略1、22/25 (88%) の確率で戦略2を選択
- 旅行者: 10/19 (約52.63%) の確率で戦略1、9/19 (約47.37%) の確率で戦略2を選択

申し訳ありません。最初の回答で計算を間違えてしまいました。この修正された解答が教科書の答えと一致しています。ご指摘いただき、ありがとうございました。

回答


この記事が気に入ったらサポートをしてみませんか?