Bu tür oyunlarda işbirlikçiler duruma göre ihanetçilerle beraber yaşayabiliyor ve hatta bazı durumlarda daha üstün bile olabiliyorlar. Anladığım kadarıyla burada Oyuncular bir çizgenin (graph) köşeleri olacak şekilde tanımlanıyor. Bu durumda her köşe ya işbirlikçi ya da ihanetçi stratejilerine sahip oluyor. Sonra bir \(k \) tamsayısı ile her köşenin kaç kenara sahip olduğu tanımlanıyor. Yani her oyuncu bu kadar komşuya sahip oluyor. Her oyuncu sadece kendi komşularıyla oynuyor ve standard kazanç matrisine göre kazançlar hesaplanıyor. Bir oyuncu birden fazla komşuyla oynadığında kazançları da oyunlardaki kazançların toplamı oluyor.
Bu modelin evrimleşmesi de şu şekilde gerçekleşiyor. Herhangi bir adımda seçilen rastgele bir oyuncu ölüyor. Sonra bu ölen oyuncunun köşesini kapmak için o köşenin komşu oyuncularından birisi kazançlarına göre seçiliyor.
Her komşu iki oyuncu birbiriyle şu matrise göre oyun oynuyor:
\(M = \begin{bmatrix} R&&S \\T&&P \end{bmatrix} \)
Yukarıdaki kurallarla birleştirince matris şu biçime dönüşüyor:
\(M = \begin{bmatrix} R&&S + H\\T – H&&P \end{bmatrix} \)
\(H = \frac{(k+1)(R – P) – T + S}{(k+1)(k – 2)} \)
Aşağıdaki python programıyla bu oyunun simülasyonunu yapmaya çalıştım:
import numpy as np
import matplotlib.pyplot as plt
strategies = np.array([[1, 0], [0, 1]])
k = 3 #number of edges
R = 3
S = 5
T = 5
P = 1
H = ((k + 1) * (R - P) - T + S)/((k + 1)*(k - 2))
payoff = np.array([[R, S + H], [T - H, P]])
number_of_iterations = 100
increment = 0.01
steady_states = np.array([[0, 0]])
for s1 in np.arange(0, 1.0, increment):
s2 = 1 - s1
species = np.array([s1, s2])
for i in range(0, number_of_iterations):
difference = (payoff.dot(species) - species.dot(payoff).dot(species))*species
species = species + difference
species = np.clip(species, 0, 1)
steady_states = np.append(steady_states, np.array([[s1, species[0]]]), axis = 0)
plt.plot(steady_states[:, 0], steady_states[:, 1])
plt.ylabel("işbirlikçi türün sondaki oranı")
plt.xlabel("işbirlikçi türün başlangıçtaki oranı")
plt.show()
Bu simülasyonun sonucunda da aşağıdaki grafiği elde ettim.
Bu kazanç matrisi ve model için işbirlikçilik daha iyi bir stratejiymiş.