Iterované vězňovo dilema

Zápas

Protože se v zápasu účastní i náhodná strategie (RandomStrategy), výsledné zisky závisí na nastavení náhodného generátoru a při opakování zápasu se drobně liší. Zápas jsem tedy pustila 10x a výsledky zprůměrovala.

Zúčastnily se všechny vaše strategie + "známé" strategie. Zápasil "každý s každým", t.j. každá strategie hrála 21x (proti všem ostatním včetně sebe), hra měla 100 iterací. Zisk z jedné hry se tedy teoreticky pohyboval od 0 do 500 (v případě oboustrané spolupráce 300), tento zisk se průměruje přes všech 21 zápasů.

Druhého experimentu se zúčastnily pouze vaše strategie. Protože některé z nich obsahují náhodný prvek, hra se také opakovala 10x.

Před tímto finálovým zápasem jsem ještě provedla v kódu tyto změny:

  1. V kódu, který jsme používali na cvičení byla chyba: v případě, že strategie hrála sama proti sobě, používala se ta samá instance třídy - t.j. informace od tahu spoluhráče (ve funkci reward()) se pak navzájem přepisovaly. Za to se omlouvám, je to opraveno a nezpůsobilo to žádné závratné změny.
  2. Minimálně jedna z vašich strategií občas vrátila něco jiného než COOPERATE nebo DECEIVE (konkrétně nesmyslně velké číslo - neinicializová prom. int). To vedlo k tomu, že následná REWARD byla taky nesmyslná a některé jedince to mohlo "mást". Je to ošetřeno tak, že pokud strategie vrátí nepovolenou odpověď, zvolí se mezi spoluprácí a podvodem náhodně.

Kód, který jsem tedy ve finále použila, včetně vašich strategií: vdilema_turnaj.zip

Výstupy z jednotlivých běhů 1. experimentu: out1.txt , out2.txt , out3.txt , out4.txt , out5.txt , out6.txt , out7.txt , out8.txt , out9.txt , out10.txt
Výstupy z jednotlivých běhů 2. experimentu: 2out1.txt , 2out2.txt , 2out3.txt , 2out4.txt , 2out5.txt , 2out6.txt , 2out7.txt , 2out8.txt , 2out9.txt , 2out10.txt

Výsledky zápasu:

Experiment I
260 Strategie PP
259.9Spite
256.5Kucci
255.3Knight
252.8TFT (CopyPartner)
252.5Pavlov
249.9ProkopStrategy
247.6FQuick
239.9Ondrova Super Strategie;)
238.1DDC
232.5OndrovaStrategie
232 TF2T
229.8Alternate
226.8 KlarinaStrategie
226.4Tomikova strategie
225 RandomStrategy
218.5Pavel Nohejl
213.9CCD
208.4AlwaysDeceive
198.6kadlr3am Strategie
195.9AlwaysCooperate
Experiment II
254 Kucci
252 ProkopStrategy
250,8 Knight
250 Strategie PP
244,4 OndrovaStrategie
229,8 Ondrova Super Strategie;)
225,5 KlarinaStrategie
225,3 Tomikova strategie
210,3 Pavel Nohejl
183,4 kadlr3am Strategie