<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Prisoners-Dilemma on TouchingFish.top</title><link>https://touchingfish.top/ja/tags/prisoners-dilemma/</link><description>Recent content in Prisoners-Dilemma on TouchingFish.top</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Mon, 19 Jun 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://touchingfish.top/ja/tags/prisoners-dilemma/index.xml" rel="self" type="application/rss+xml"/><item><title>ゲームのリズム</title><link>https://touchingfish.top/ja/2023/game-environment-feedback/</link><pubDate>Mon, 19 Jun 2023 00:00:00 +0000</pubDate><guid>https://touchingfish.top/ja/2023/game-environment-feedback/</guid><description>&lt;p&gt;以前、二つのABM（エージェント・ベース・モデル）を作った。格子状のエージェントたちがランダムにペアを組み、一回ゲームをプレイし、アクションを更新する。唯一の変数は「何を見るか」——このステップの利得か、それとも過去の全ゲームの累積利得か。微分方程式は私には解けない（平均場近似は文献の引き写しだ）。しかしODEの階数くらいは見分けがつく。一方は一階、もう一方は二階。速度と加速度。記憶なしと慣性あり。ミクロの設定は、ほんのわずかな違いでしかない。&lt;/p&gt;
&lt;p&gt;だが、この二つのモデルには暗黙の前提があった。利得行列は一枚岩だ、と。囚人のジレンマは常に囚人のジレンマ。タカ-ハト・ゲームは常にタカ-ハト・ゲーム。&lt;/p&gt;
&lt;p&gt;草は痛まない。&lt;/p&gt;
&lt;p&gt;Weitz et al.（2016）は草に命を吹き込んだ。戦略が環境を変え、環境が利得構造を書き換え、利得構造が戦略を再形成する。ループが閉じたとき、システムは呼吸を始める。&lt;/p&gt;
&lt;p&gt;私がやりたいのはもっと単純なことだ。環境に連続的なフィードバック経路を与えるのではなく、格子にリズムを与えるだけだ。&lt;/p&gt;
&lt;h2 id="格子にリズムを"&gt;格子にリズムを&lt;/h2&gt;
&lt;p&gt;もともとのABMに資源状態変数を追加する。初期値は $A$。各ステップ、エージェントたちは格子上でゲームを行い、1単位の資源を消費する。資源は $A$ から $0$ まで下がり、決まったステップ数の後にまた $A$ にリセットされる。&lt;/p&gt;
&lt;p&gt;$b=1$ とし、資源量 $a \in \{0, 1, 2, 3, 4\}$ とする。利得行列は：&lt;/p&gt;
$$
\begin{matrix}
 &amp; C &amp; D \\\\ \hline
C &amp; a/2 &amp; 0 \\\\
D &amp; a &amp; (a-1)/2
\end{matrix}
$$&lt;p&gt;最初は $a=4 \implies \begin{pmatrix} 2 &amp; 0 \\ 4 &amp; 1.5 \end{pmatrix}$&lt;/p&gt;
&lt;p&gt;純粋な囚人のジレンマだ。$D$ が $C$ を厳密に支配する——相手が何を選ぼうと、裏切りは協力より儲かる。レプリケーターダイナミクスが告げる——さあ、裏切り者を放て。全マスが陥落する。&lt;/p&gt;
&lt;p&gt;$a=2 \implies \begin{pmatrix} 1 &amp; 0 \\ 2 &amp; 0.5 \end{pmatrix}$&lt;/p&gt;</description></item><item><title>酵母細胞から</title><link>https://touchingfish.top/ja/2022/yeast-prisoners-dilemma/</link><pubDate>Tue, 15 Nov 2022 00:00:00 +0000</pubDate><guid>https://touchingfish.top/ja/2022/yeast-prisoners-dilemma/</guid><description>&lt;p&gt;酵母はインベルターゼを細胞外に分泌し、スクロースを消化する。消化された糖は誰でも利用できる——ここが面白い。ある細胞は「ただ乗り」を選べる。隣の細胞が分泌した酵素を盗み使い、自分では分泌しないのだ。研究者たちは、機能的な SUC2 遺伝子を持つ酵母を「協力者」、SUC2 遺伝子を欠失させた酵母を「裏切り者」と呼び、両者を競合させた。&lt;/p&gt;
&lt;p&gt;結果は直感に反するものだった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;まばらな集団（低い社会的密度）では、裏切り者の適応度はわずか 0.87——協力者より劣る&lt;/li&gt;
&lt;li&gt;密な集団（高い社会的密度）では、裏切り者の適応度はなんと 1.19——協力者を上回る&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なぜか。社会的密度が高いほど、協力者は他の協力者と出会いやすい。皆が酵素を分泌すれば共有資源のプールは大きくなり、各個体の利益も増す。そこに裏切り者が紛れ込めば、一方的に共有の成果を享受しながらコストを払わないため、利益は爆発的に跳ね上がる。&lt;/p&gt;
&lt;p&gt;密度が極めて高くなると、裏切り者はほぼ常に搾取対象を見つけられ、自分で分泌する以上の量を盗み取る。協力者はむしろ足を引っ張られる。&lt;/p&gt;
&lt;p&gt;これは私の直感に完璧に合致する。だが、自分でもう一度やってみたかった——論文の結論を検証するためではなく、この過程を自らの手で「見る」ために。方程式を格子に書き込み、数字が走り出すのを眺めたかったのだ。&lt;/p&gt;
&lt;h2 id="モデル設定"&gt;モデル設定&lt;/h2&gt;
&lt;p&gt;$n \times n$ の格子。個体群密度（population density）が各セルにエージェントを配置する確率を制御する。エージェントは二つの戦略をとる：C（協力、酵素を分泌する）と D（裏切り、分泌しない）。&lt;/p&gt;
&lt;p&gt;二者が出会うたびに標準的な囚人のジレンマをプレイする。利得行列は：&lt;/p&gt;
$$
\begin{pmatrix}
R=3 &amp; S=0 \\
T=5 &amp; P=1
\end{pmatrix}
$$&lt;p&gt;R は協力-協力の報酬、T は裏切りの誘惑、S は裏切られた側の利得、P は相互裏切りの罰。古典的な設定に従い、$T &gt; R &gt; P &gt; S$、かつ $2R &gt; T + S$（互恵的協力は繰り返される裏切りより優れている）。&lt;/p&gt;
&lt;p&gt;各ステップ：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;エージェントはフォン・ノイマン近傍（上下左右の四セル）で隣人を探す&lt;/li&gt;
&lt;li&gt;二人で一回のゲームを行う&lt;/li&gt;
&lt;li&gt;このステップの利得 $\pi$ を比較する&lt;/li&gt;
&lt;li&gt;利得差に比例する確率で隣人の戦略を模倣する&lt;/li&gt;
&lt;li&gt;ランダムな方向に一格子単位で移動する&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;見るのは&lt;strong&gt;当期利得&lt;/strong&gt;のみ。履歴はなく、計画もない。&lt;/p&gt;
&lt;h2 id="理論的予測"&gt;理論的予測&lt;/h2&gt;
&lt;p&gt;レプリケータダイナミクス（Replicator Dynamics）は平均場における以下の方程式を与える：&lt;/p&gt;
$$\frac{dx}{dt} = x(1-x)[\pi_C - \pi_D]$$&lt;p&gt;$x$ は協力者の割合、$\pi_C$ と $\pi_D$ は各戦略の期待される単ステップ利得である。&lt;/p&gt;
&lt;p&gt;利得は出会いの確率に依存する。平均場近似では、協力者が協力者に出会う確率は $x$、裏切り者に出会う確率は $1-x$。裏切り者についてはその逆：&lt;/p&gt;
$$\pi_C = x \cdot R + (1-x) \cdot S$$&lt;p&gt;
&lt;/p&gt;</description></item></channel></rss>