Skip to content

Commit 114c0c1

Browse files
committed
Add bibliographic references for fsm strategies.
This helps towards #225
1 parent b898304 commit 114c0c1

File tree

2 files changed

+68
-11
lines changed

2 files changed

+68
-11
lines changed

axelrod/strategies/finite_state_machines.py

Lines changed: 65 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,16 @@ def reset(self) -> None:
100100

101101

102102
class Fortress3(FSMPlayer):
103-
"""Finite state machine player specified in DOI:10.1109/CEC.2006.1688322.
103+
"""Finite state machine player specified in http://DOI.org/10.1109/CEC.2006.1688322.
104+
104105
Note that the description in http://www.graham-kendall.com/papers/lhk2011.pdf
105-
is not correct."""
106+
is not correct.
107+
108+
109+
Names:
110+
111+
- Fortress 3: [Ashlock2006b]_
112+
"""
106113

107114
name = 'Fortress3'
108115
classifier = {
@@ -129,9 +136,17 @@ def __init__(self) -> None:
129136

130137

131138
class Fortress4(FSMPlayer):
132-
"""Finite state machine player specified in DOI:10.1109/CEC.2006.1688322.
133-
Note that the description in http://www.graham-kendall.com/papers/lhk2011.pdf
134-
is not correct."""
139+
"""
140+
Finite state machine player specified in
141+
http://DOI.org/10.1109/CEC.2006.1688322.
142+
143+
Note that the description in
144+
http://www.graham-kendall.com/papers/lhk2011.pdf is not correct.
145+
146+
Names:
147+
148+
- Fortress 4: [Ashlock2006b]_
149+
"""
135150

136151
name = 'Fortress4'
137152
classifier = {
@@ -160,7 +175,14 @@ def __init__(self) -> None:
160175

161176

162177
class Predator(FSMPlayer):
163-
"""Finite state machine player specified in DOI:10.1109/CEC.2006.1688322."""
178+
"""
179+
Finite state machine player specified in
180+
http://DOI.org/10.1109/CEC.2006.1688322
181+
182+
Names:
183+
184+
- Predator: [Ashlock2006b]_
185+
"""
164186

165187
name = 'Predator'
166188
classifier = {
@@ -228,7 +250,14 @@ def __init__(self) -> None:
228250

229251

230252
class Raider(FSMPlayer):
231-
"""FSM player described in DOI:10.1109/FOCI.2014.7007818"""
253+
"""
254+
FSM player described in http://DOI.org/10.1109/FOCI.2014.7007818
255+
256+
257+
Names
258+
259+
- Raider: [Ashlock2014]_
260+
"""
232261

233262
name = 'Raider'
234263
classifier = {
@@ -257,7 +286,13 @@ def __init__(self) -> None:
257286

258287

259288
class Ripoff(FSMPlayer):
260-
"""FSM player described in DOI:10.1109/TEVC.2008.920675."""
289+
"""
290+
FSM player described in http://DOI.org/10.1109/TEVC.2008.920675.
291+
292+
Names
293+
294+
- Ripoff: [Ashlock2008]_
295+
"""
261296

262297
name = 'Ripoff'
263298
classifier = {
@@ -284,7 +319,13 @@ def __init__(self) -> None:
284319

285320

286321
class SolutionB1(FSMPlayer):
287-
"""FSM player described in DOI:10.1109/TCIAIG.2014.2326012."""
322+
"""
323+
FSM player described in http://DOI.org/10.1109/TCIAIG.2014.2326012.
324+
325+
Names
326+
327+
- Solution B1: [Ashlock2015]_
328+
"""
288329

289330
name = 'SolutionB1'
290331
classifier = {
@@ -311,7 +352,14 @@ def __init__(self) -> None:
311352

312353

313354
class SolutionB5(FSMPlayer):
314-
"""FSM player described in DOI:10.1109/TCIAIG.2014.2326012."""
355+
"""
356+
357+
FSM player described in http://DOI.org/10.1109/TCIAIG.2014.2326012.
358+
359+
Names
360+
361+
- Solution B5: [Ashlock2015]_
362+
"""
315363

316364
name = 'SolutionB5'
317365
classifier = {
@@ -344,7 +392,13 @@ def __init__(self) -> None:
344392

345393

346394
class Thumper(FSMPlayer):
347-
"""FSM player described in DOI:10.1109/TEVC.2008.920675."""
395+
"""
396+
FSM player described in http://DOI.org/10.1109/TEVC.2008.920675.
397+
398+
Names
399+
400+
- Thumper: [Ashlock2008]_
401+
"""
348402

349403
name = 'Thumper'
350404
classifier = {

docs/reference/bibliography.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ documentation.
88

99
.. [Andre2013] Andre L. C., Honovan P., Felipe T. and Frederico G. (2013). Iterated Prisoner’s Dilemma - An extended analysis, http://abricom.org.br/wp-content/uploads/2016/03/bricsccicbic2013_submission_202.pdf
1010
.. [Ashlock2006] Ashlock, D., & Kim E. Y, & Leahy, N. (2006). Understanding Representational Sensitivity in the Iterated Prisoner’s Dilemma with Fingerprints. IEEE Transactions On Systems, Man, And Cybernetics, Part C: Applications And Reviews, 36 (4)
11+
.. [Ashlock2006b] Ashlock, W. & Ashlock, D. (2006). Changes in Prisoner's Dilemma Strategies Over Evolutionary Time With Different Population Sizes 2006 IEEE International Conference on Evolutionary Computation. http://DOI.org/10.1109/CEC.2006.1688322
1112
.. [Ashlock2008] Ashlock, D., & Kim, E. Y. (2008). Fingerprinting: Visualization and automatic analysis of prisoner’s dilemma strategies. IEEE Transactions on Evolutionary Computation, 12(5), 647–659. http://doi.org/10.1109/TEVC.2008.920675
1213
.. [Ashlock2009] Ashlock, D., Kim, E. Y., & Ashlock, W. (2009) Fingerprint analysis of the noisy prisoner’s dilemma using a finite-state representation. IEEE Transactions on Computational Intelligence and AI in Games. 1(2), 154-167 http://doi.org/10.1109/TCIAIG.2009.2018704
14+
.. [Ashlock2014] Ashlock, W., Tsang, J. & Ashlock, D. (2014) The evolution of exploitation. 2014 IEEE Symposium on Foundations of Computational Intelligence (FOCI) http://DOI.org/10.1109/FOCI.2014.7007818
15+
.. [Ashlock2015] Ashlock, D., Brown, J.A., & Hingston P. (2015). Multiple Opponent Optimization of Prisoner’s Dilemma Playing Agents. Multiple Opponent Optimization of Prisoner’s Dilemma Playing Agents http://DOI.org/10.1109/TCIAIG.2014.2326012
1316
.. [Axelrod1980] Axelrod, R. (1980). Effective Choice in the Prisoner’s Dilemma. Journal of Conflict Resolution, 24(1), 3–25.
1417
.. [Axelrod1980b] Axelrod, R. (1980). More Effective Choice in the Prisoner’s Dilemma. Journal of Conflict Resolution, 24(3), 379-403.
1518
.. [Axelrod1984] The Evolution of Cooperation. Basic Books. ISBN 0-465-02121-2.

0 commit comments

Comments
 (0)