@@ -127,10 +127,10 @@ def test_decay(self):
127
127
self .assertEqual (player ._cooperation_probability (), player ._end_coop_prob )
128
128
129
129
def test_strategy (self ):
130
- actions = [(C , C )] * 41 + [(D , C )]
130
+ actions = [(C , C )] * 13 + [(D , C )]
131
131
self .versus_test (axl .Cooperator (), expected_actions = actions , seed = 1 )
132
132
133
- actions = [(C , C )] * 16 + [(D , C )]
133
+ actions = [(C , C )] * 11 + [(D , C )]
134
134
self .versus_test (axl .Cooperator (), expected_actions = actions , seed = 2 )
135
135
136
136
actions = [(C , D )] + [(D , D )] * 20
@@ -163,19 +163,19 @@ def test_strategy(self):
163
163
actions += [(D , C )] # 51 turns
164
164
actions += [(C , D ), (D , C )] * 2 + [(C , D )] # 56 turns
165
165
self .versus_test (
166
- axl .Alternator (), expected_actions = actions , attrs = expected_attrs
166
+ axl .Alternator (), expected_actions = actions , attrs = expected_attrs , seed = 0
167
167
)
168
168
169
169
# Against defector
170
170
actions = [(C , D )] + [(D , D )] * 55 # 56 turns
171
171
self .versus_test (
172
- axl .Defector (), expected_actions = actions , attrs = expected_attrs
172
+ axl .Defector (), expected_actions = actions , attrs = expected_attrs , seed = 0
173
173
)
174
174
175
175
# Against cooperator
176
176
actions = [(C , C )] * 50 + [(D , C )] + [(C , C )] * 5
177
177
self .versus_test (
178
- axl .Cooperator (), expected_actions = actions , attrs = expected_attrs
178
+ axl .Cooperator (), expected_actions = actions , attrs = expected_attrs , seed = 0
179
179
)
180
180
181
181
# Test recognition of random player
@@ -185,12 +185,12 @@ def test_strategy(self):
185
185
}
186
186
actions = [(C , C )] * 50 + [(D , C )] + [(C , C )] * 5 # 56 turns
187
187
self .versus_test (
188
- axl .Cooperator (), expected_actions = actions , attrs = expected_attrs
188
+ axl .Cooperator (), expected_actions = actions , attrs = expected_attrs , seed = 1
189
189
)
190
- expected_attrs = {"opponent_is_random" : False , "next_random_defection_turn" : 68 }
190
+ expected_attrs = {"opponent_is_random" : False , "next_random_defection_turn" : 63 }
191
191
actions += [(C , C )] # 57 turns
192
192
self .versus_test (
193
- axl .Cooperator (), expected_actions = actions , attrs = expected_attrs
193
+ axl .Cooperator (), expected_actions = actions , attrs = expected_attrs , seed = 8
194
194
)
195
195
196
196
expected_attrs = {
@@ -202,11 +202,11 @@ def test_strategy(self):
202
202
actions += [(C , D ), (D , C )] * 3 # 57 turns
203
203
actions += [(D , D )]
204
204
self .versus_test (
205
- axl .Alternator (), expected_actions = actions , attrs = expected_attrs
205
+ axl .Alternator (), expected_actions = actions , attrs = expected_attrs , seed = 3
206
206
)
207
207
actions += [(D , C ), (D , D )] * 5
208
208
self .versus_test (
209
- axl .Alternator (), expected_actions = actions , attrs = expected_attrs
209
+ axl .Alternator (), expected_actions = actions , attrs = expected_attrs , seed = 4
210
210
)
211
211
212
212
# Test versus TfT
@@ -222,16 +222,16 @@ def test_strategy(self):
222
222
)
223
223
224
224
# Test random defections
225
- expected_attrs = {"opponent_is_random" : False , "next_random_defection_turn" : 78 }
226
- actions = [(C , C )] * 50 + [(D , C )] + [(C , C )] * 16 + [(D , C )] + [(C , C )]
225
+ expected_attrs = {"opponent_is_random" : False , "next_random_defection_turn" : 76 }
226
+ actions = [(C , C )] * 50 + [(D , C )] + [(C , C )] * 15 + [(D , C )] + [(C , C )]
227
227
self .versus_test (
228
228
axl .Cooperator (), expected_actions = actions , seed = 0 , attrs = expected_attrs
229
229
)
230
230
231
- expected_attrs = {"opponent_is_random" : False , "next_random_defection_turn" : 77 }
232
- actions = [(C , C )] * 50 + [(D , C )] + [(C , C )] * 12 + [(D , C )] + [(C , C )]
231
+ expected_attrs = {"opponent_is_random" : False , "next_random_defection_turn" : 79 }
232
+ actions = [(C , C )] * 50 + [(D , C )] + [(C , C )] * 14 + [(D , C )] + [(C , C )]
233
233
self .versus_test (
234
- axl .Cooperator (), expected_actions = actions , seed = 1 , attrs = expected_attrs
234
+ axl .Cooperator (), expected_actions = actions , seed = 5 , attrs = expected_attrs
235
235
)
236
236
237
237
@@ -251,17 +251,17 @@ class TestFirstByGrofman(TestPlayer):
251
251
252
252
def test_strategy (self ):
253
253
actions = [(C , C )] * 7
254
- self .versus_test (axl .Cooperator (), expected_actions = actions )
254
+ self .versus_test (axl .Cooperator (), expected_actions = actions , seed = 0 )
255
255
256
256
actions = [(C , C ), (C , D ), (D , C )]
257
- self .versus_test (axl .Alternator (), expected_actions = actions )
257
+ self .versus_test (axl .Alternator (), expected_actions = actions , seed = 0 )
258
258
259
259
opponent = axl .MockPlayer (actions = [D ] * 8 )
260
- actions = [(C , D ), (C , D ), (D , D ), (C , D ), (D , D ), (C , D ), (C , D ), (D , D )]
260
+ actions = [(C , D ), (C , D ), (D , D ), (C , D ), (D , D ), (C , D ), (D , D ), (C , D )]
261
261
self .versus_test (opponent , expected_actions = actions , seed = 1 )
262
262
263
263
opponent = axl .MockPlayer (actions = [D ] * 8 )
264
- actions = [(C , D ), (D , D ), (C , D ), (D , D ), (C , D ), (C , D ), (C , D ), (D , D )]
264
+ actions = [(C , D ), (D , D ), (C , D ), (D , D ), (C , D ), (D , D ), (C , D ), (C , D )]
265
265
self .versus_test (opponent , expected_actions = actions , seed = 2 )
266
266
267
267
@@ -284,10 +284,10 @@ def test_four_vector(self):
284
284
test_four_vector (self , expected_dictionary )
285
285
286
286
def test_strategy (self ):
287
- actions = [(C , C ), (C , C ), (C , C ), (C , C )]
287
+ actions = [(C , C ), (C , C ), (C , C ), (D , C )]
288
288
self .versus_test (axl .Cooperator (), expected_actions = actions , seed = 1 )
289
289
290
- actions = [(C , C ), (D , C ), (D , C ), (C , C )]
290
+ actions = [(C , C ), (C , C ), (C , C ), (C , C )]
291
291
self .versus_test (axl .Cooperator (), expected_actions = actions , seed = 2 )
292
292
293
293
actions = [(C , D ), (D , D ), (D , D ), (D , D )]
@@ -424,22 +424,10 @@ def test_strategy(self):
424
424
self .versus_test (opponent , expected_actions = actions )
425
425
426
426
# Test beyond 10 rounds
427
- opponent = axl .MockPlayer (actions = [D ] * 5 + [C ] * 6 )
428
- actions = [(C , D )] * 5 + [(C , C )] * 6 + [(D , D )] * 4
427
+ opponent = axl .MockPlayer (actions = [D ] * 5 + [C ] * 5 + [ C , D ] * 5 )
428
+ actions = [(C , D )] * 5 + [(C , C )] * 6 + [(D , D )] + [( D , C ), ( C , D ), ( C , C )]
429
429
self .versus_test (opponent , expected_actions = actions , seed = 20 )
430
430
431
- opponent = axl .MockPlayer (actions = [D ] * 5 + [C ] * 6 )
432
- actions = [(C , D )] * 5 + [(C , C )] * 6 + [(C , D ), (D , D ), (D , D ), (C , D )]
433
- self .versus_test (opponent , expected_actions = actions , seed = 1 )
434
-
435
- opponent = axl .MockPlayer (actions = [C ] * 9 + [D ] * 2 )
436
- actions = [(C , C )] * 9 + [(C , D )] * 2 + [(C , C ), (D , C ), (D , C ), (C , C )]
437
- self .versus_test (opponent , expected_actions = actions , seed = 1 )
438
-
439
- opponent = axl .MockPlayer (actions = [C ] * 9 + [D ] * 2 )
440
- actions = [(C , C )] * 9 + [(C , D )] * 2 + [(D , C ), (D , C ), (C , C ), (C , C )]
441
- self .versus_test (opponent , expected_actions = actions , seed = 2 )
442
-
443
431
444
432
class TestFirstByAnonymous (TestPlayer ):
445
433
@@ -456,10 +444,10 @@ class TestFirstByAnonymous(TestPlayer):
456
444
}
457
445
458
446
def test_strategy (self ):
459
- actions = [(D , C ), (C , C ), (C , C ), (D , C ), (C , C ), (C , C )]
447
+ actions = [(D , C ), (C , C ), (C , C ), (C , C ), (D , C ), (C , C )]
460
448
self .versus_test (axl .Cooperator (), expected_actions = actions , seed = 1 )
461
449
462
- actions = [(C , C ), (C , C ), (D , C ), (C , C ), (C , C ), (D , C )]
450
+ actions = [(D , C ), (D , C ), (D , C ), (C , C ), (D , C ), (D , C )]
463
451
self .versus_test (axl .Cooperator (), expected_actions = actions , seed = 10 )
464
452
465
453
0 commit comments