diff --git a/axelrod/data/all_classifiers.yml b/axelrod/data/all_classifiers.yml index ea52f2351..c0608beea 100644 --- a/axelrod/data/all_classifiers.yml +++ b/axelrod/data/all_classifiers.yml @@ -1,2034 +1,2010 @@ -$\phi$: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -$\pi$: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -$e$: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -ALLCorALLD: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -AON2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -Adaptive: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Adaptive Pavlov 2006: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Adaptive Pavlov 2011: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Adaptive Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -AdaptorBrief: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -AdaptorLong: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Aggravater: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Alexei: - inspects_source: false - long_run_time: false - makes_use_of: !!set - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Alternator: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -Alternator Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Anti Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -AntiCycler: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Appeaser: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Arrogant QLearner: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Average Copier: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -BackStabber: - inspects_source: false - long_run_time: false - makes_use_of: !!set - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Better and Better: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Bully: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -Bush Mosteller: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Calculator: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Cautious QLearner: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -CollectiveStrategy: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Contrite Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: false -Cooperator: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 0 - stochastic: false -Cooperator Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Cycle Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Cycler CCCCCD: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: false -Cycler CCCD: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: false -Cycler CCCDCD: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: false -Cycler CCD: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -Cycler DC: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -Cycler DDC: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -DBS: - inspects_source: false - long_run_time: true - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Darwin: - inspects_source: true - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: true - memory_depth: .inf - stochastic: false -Defector: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 0 - stochastic: false -Defector Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Delayed AON1: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -Desperate: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Detective: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -DoubleCrosser: - inspects_source: false - long_run_time: false - makes_use_of: !!set - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -DoubleResurrection: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: false -Doubler: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Dynamic Two Tits For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -EasyGo: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -EugineNier: - inspects_source: false - long_run_time: false - makes_use_of: !!set - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Eventual Cycle Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Evolved ANN: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Evolved ANN 5: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Evolved ANN 5 Noise 05: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Evolved FSM 16: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Evolved FSM 16 Noise 05: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Evolved FSM 4: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Evolved HMM 5: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: true -EvolvedLookerUp1_1_1: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -EvolvedLookerUp2_2_2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Firm But Fair: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -First by Anonymous: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 0 - stochastic: true -First by Davis: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -First by Downing: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -First by Feld: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 200 - stochastic: true -First by Graaskamp: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -First by Grofman: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -First by Joss: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -First by Nydegger: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: false -First by Shubik: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -First by Stein and Rapoport: - inspects_source: false - long_run_time: false - makes_use_of: !!set - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -First by Tideman and Chieruzzi: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -First by Tullock: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Fool Me Once: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Forgetful Fool Me Once: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Forgetful Grudger: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 10 - stochastic: false -Forgiver: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Forgiving Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Fortress3: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -Fortress4: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: false -GTFT: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Geller: - inspects_source: true - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Geller Cooperator: - inspects_source: true - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Geller Defector: - inspects_source: true - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -General Soft Grudger: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Go By Majority: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Go By Majority 10: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 10 - stochastic: false -Go By Majority 20: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 20 - stochastic: false -Go By Majority 40: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 40 - stochastic: false -Go By Majority 5: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: false -Gradual: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Gradual Killer: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Grudger: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -GrudgerAlternator: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Grumpy: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Handshake: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Hard Go By Majority: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Hard Go By Majority 10: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 10 - stochastic: false -Hard Go By Majority 20: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 20 - stochastic: false -Hard Go By Majority 40: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 40 - stochastic: false -Hard Go By Majority 5: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: false -Hard Prober: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Hard Tit For 2 Tats: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: false -Hard Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: false -Hesitant QLearner: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Hopeless: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Inverse: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Inverse Punisher: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Knowledgeable Worse and Worse: - inspects_source: false - long_run_time: false - makes_use_of: !!set - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Level Punisher: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Limited Retaliate: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Limited Retaliate 2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Limited Retaliate 3: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -MEM2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Math Constant Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Memory Decay: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Meta Hunter Aggressive: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Meta Majority: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Majority Finite Memory: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Majority Long Memory: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Majority Memory One: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Minority: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Mixer: - inspects_source: false - long_run_time: true - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Winner: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Winner Deterministic: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Winner Ensemble: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Winner Finite Memory: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Winner Long Memory: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Winner Memory One: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Meta Winner Stochastic: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Michaelos: - inspects_source: false - long_run_time: false - makes_use_of: !!set - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Mind Bender: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: true - manipulates_state: false - memory_depth: -10 - stochastic: false -Mind Controller: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: true - manipulates_state: false - memory_depth: -10 - stochastic: false -Mind Reader: - inspects_source: true - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Mind Warper: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: true - manipulates_state: false - memory_depth: -10 - stochastic: false -Mirror Mind Reader: - inspects_source: true - long_run_time: false - makes_use_of: !!set {} - manipulates_source: true - manipulates_state: false - memory_depth: .inf - stochastic: false -N Tit(s) For M Tat(s): - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -NMWE Deterministic: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -NMWE Finite Memory: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -NMWE Long Memory: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -NMWE Memory One: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -NMWE Stochastic: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Naive Prober: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Negation: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Nice Average Copier: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Nice Meta Winner: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Nice Meta Winner Ensemble: - inspects_source: false - long_run_time: true - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Omega TFT: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Once Bitten: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 12 - stochastic: false -Opposite Grudger: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Original Gradual: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -PSO Gambler 1_1_1: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -PSO Gambler 2_2_2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -PSO Gambler 2_2_2 Noise 05: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -PSO Gambler Mem1: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Predator: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Prober: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Prober 2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Prober 3: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Prober 4: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Protected Mind Reader: - inspects_source: true - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: true - manipulates_state: false - memory_depth: .inf - stochastic: false -Pun1: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Punisher: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Raider: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Random: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 0 - stochastic: true -Random Hunter: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Random Tit for Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Remorseful Prober: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: true -Resurrection: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: false -Retaliate: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Retaliate 2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Retaliate 3: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Revised Downing: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Ripoff: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: false -Risky QLearner: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Appold: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Black: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 5 - stochastic: true -Second by Borufsen: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by Cave: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Champion: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Colbert: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 4 - stochastic: false -Second by Eatherley: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Getzler: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Gladstein: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by GraaskampKatzen: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by Grofman: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 8 - stochastic: false -Second by Harrington: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Kluepfel: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Leyvraz: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 3 - stochastic: true -Second by Mikkelson: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by RichardHufford: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by Rowsam: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by Tester: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by Tideman and Chieruzzi: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by Tranquilizer: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Weiner: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by White: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Second by WmAdams: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Second by Yamachi: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -SelfSteem: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -ShortMem: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Slow Tit For Two Tats 2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -Sneaky Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Soft Grudger: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 6 - stochastic: false -Soft Joss: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -SolutionB1: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -SolutionB5: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Spiteful Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Stalker: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - length: null - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Stochastic Cooperator: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Stochastic WSLS: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Suspicious Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -TF1: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -TF2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -TF3: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -ThueMorse: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -ThueMorseInverse: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Thumper: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Tit For 2 Tats: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -Tit For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -Tricky Cooperator: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 10 - stochastic: false -Tricky Defector: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Tricky Level Punisher: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Two Tits For Tat: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: false -UsuallyCooperates: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -UsuallyDefects: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -VeryBad: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Willing: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -Win-Shift Lose-Stay: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -Win-Stay Lose-Shift: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: false -Winner12: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Winner21: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: false -Worse and Worse: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Worse and Worse 2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -Worse and Worse 3: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: .inf - stochastic: true -ZD-Extort-2: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-Extort-2 v2: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-Extort-4: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-Extort3: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-Extortion: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-GEN-2: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-GTFT-2: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-Mem2: - inspects_source: false - long_run_time: false - makes_use_of: !!set {} - manipulates_source: false - manipulates_state: false - memory_depth: 2 - stochastic: true -ZD-Mischief: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true -ZD-SET-2: - inspects_source: false - long_run_time: false - makes_use_of: !!set - game: null - manipulates_source: false - manipulates_state: false - memory_depth: 1 - stochastic: true +"$\varepsilon$-greedy": + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +$\phi$: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +$\pi$: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +$e$: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +ALLCorALLD: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +AON2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +Adaptive: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Adaptive Pavlov 2006: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Adaptive Pavlov 2011: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Adaptive Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +AdaptorBrief: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +AdaptorLong: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Aggravater: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Alexei: + inspects_source: false + long_run_time: false + makes_use_of: !!set + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Alternator: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +Alternator Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Anti Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +AntiCycler: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Appeaser: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Arrogant QLearner: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Average Copier: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +BackStabber: + inspects_source: false + long_run_time: false + makes_use_of: !!set + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Better and Better: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Bully: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +Burn Both Ends: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Bush Mosteller: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +CAPRI: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +Calculator: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Cautious QLearner: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +CollectiveStrategy: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Contrite Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +Cooperator: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 0 + stochastic: false +Cooperator Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Cycle Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Cycler CCCCCD: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: false +Cycler CCCD: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +Cycler CCCDCD: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: false +Cycler CCD: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +Cycler DC: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +Cycler DDC: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +DBS: + inspects_source: false + long_run_time: true + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Darwin: + inspects_source: true + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: true + memory_depth: .inf + stochastic: false +Defector: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 0 + stochastic: false +Defector Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Delayed AON1: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +Desperate: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Detective: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +DoubleCrosser: + inspects_source: false + long_run_time: false + makes_use_of: !!set + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +DoubleResurrection: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: false +Doubler: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Dynamic Two Tits For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +EasyGo: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +EugineNier: + inspects_source: false + long_run_time: false + makes_use_of: !!set + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Eventual Cycle Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved ANN: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved ANN 5: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved ANN 5 Noise 05: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved FSM 16: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved FSM 16 Noise 05: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved FSM 4: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved FSM 6: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Evolved HMM 5: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: true +EvolvedLookerUp1_1_1: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +EvolvedLookerUp2_2_2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Firm But Fair: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +First by Anonymous: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 0 + stochastic: true +First by Davis: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +First by Downing: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +First by Feld: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 200 + stochastic: true +First by Graaskamp: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +First by Grofman: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +First by Joss: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +First by Nydegger: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +First by Shubik: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +First by Stein and Rapoport: + inspects_source: false + long_run_time: false + makes_use_of: !!set + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +First by Tideman and Chieruzzi: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +First by Tullock: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Fool Me Once: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Forgetful Fool Me Once: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Forgetful Grudger: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 10 + stochastic: false +Forgiver: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Forgiving Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Fortress3: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +Fortress4: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +GTFT: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +General Soft Grudger: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Go By Majority: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Go By Majority 10: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 10 + stochastic: false +Go By Majority 20: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 20 + stochastic: false +Go By Majority 40: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 40 + stochastic: false +Go By Majority 5: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: false +Gradual: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Gradual Killer: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Grudger: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +GrudgerAlternator: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Grumpy: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Handshake: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Hard Go By Majority: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Hard Go By Majority 10: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 10 + stochastic: false +Hard Go By Majority 20: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 20 + stochastic: false +Hard Go By Majority 40: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 40 + stochastic: false +Hard Go By Majority 5: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: false +Hard Prober: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Hard Tit For 2 Tats: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +Hard Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +Hesitant QLearner: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Hopeless: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Inverse: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Inverse Punisher: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Knowledgeable Worse and Worse: + inspects_source: false + long_run_time: false + makes_use_of: !!set + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Level Punisher: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Limited Retaliate: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Limited Retaliate 2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Limited Retaliate 3: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +MEM2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Math Constant Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Memory Decay: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Meta Hunter Aggressive: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Meta Majority: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Majority Finite Memory: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Majority Long Memory: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Majority Memory One: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Minority: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Mixer: + inspects_source: false + long_run_time: true + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Winner: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Winner Deterministic: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Winner Ensemble: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Winner Finite Memory: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Winner Long Memory: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Winner Memory One: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Meta Winner Stochastic: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Michaelos: + inspects_source: false + long_run_time: false + makes_use_of: !!set + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +N Tit(s) For M Tat(s): + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +NMWE Deterministic: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +NMWE Finite Memory: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +NMWE Long Memory: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +NMWE Memory One: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +NMWE Stochastic: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Naive Prober: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Negation: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Nice Average Copier: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Nice Meta Winner: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Nice Meta Winner Ensemble: + inspects_source: false + long_run_time: true + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Omega TFT: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Once Bitten: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 12 + stochastic: false +Opposite Grudger: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Original Gradual: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +PSO Gambler 1_1_1: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +PSO Gambler 2_2_2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +PSO Gambler 2_2_2 Noise 05: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +PSO Gambler Mem1: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Predator: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Prober: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Prober 2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Prober 3: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Prober 4: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Pun1: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Punisher: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Raider: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Random: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 0 + stochastic: true +Random Hunter: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Random Tit for Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Remorseful Prober: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: true +Resurrection: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: false +Retaliate: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Retaliate 2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Retaliate 3: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Revised Downing: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Ripoff: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: false +Risky QLearner: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Appold: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Black: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 5 + stochastic: true +Second by Borufsen: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by Cave: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Champion: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Colbert: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 4 + stochastic: false +Second by Eatherley: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Getzler: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Gladstein: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by GraaskampKatzen: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by Grofman: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 8 + stochastic: false +Second by Harrington: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Kluepfel: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Leyvraz: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 3 + stochastic: true +Second by Mikkelson: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by RichardHufford: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by Rowsam: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by Tester: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by Tideman and Chieruzzi: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by Tranquilizer: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Weiner: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by White: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Second by WmAdams: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Second by Yamachi: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +SelfSteem: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +ShortMem: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Slow Tit For Two Tats 2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +Sneaky Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Soft Grudger: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 6 + stochastic: false +Soft Joss: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +SolutionB1: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +SolutionB5: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Spiteful Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +SpitefulCC: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Stalker: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + length: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Stochastic Cooperator: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Stochastic WSLS: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Suspicious Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +TF1: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +TF2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +TF3: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +ThueMorse: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +ThueMorseInverse: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Thumper: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Tit For 2 Tats: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +Tit For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +Tricky Cooperator: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 10 + stochastic: false +Tricky Defector: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Tricky Level Punisher: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Two Tits For Tat: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: false +UsuallyCooperates: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +UsuallyDefects: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +VeryBad: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Willing: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +Win-Shift Lose-Stay: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +Win-Stay Lose-Shift: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: false +Winner12: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Winner21: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false +Worse and Worse: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Worse and Worse 2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +Worse and Worse 3: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: true +ZD-Extort-2: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-Extort-2 v2: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-Extort-4: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-Extort3: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-Extortion: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-GEN-2: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-GTFT-2: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-Mem2: + inspects_source: false + long_run_time: false + makes_use_of: !!set {} + manipulates_source: false + manipulates_state: false + memory_depth: 2 + stochastic: true +ZD-Mischief: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +ZD-SET-2: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: 1 + stochastic: true +greedy: + inspects_source: false + long_run_time: false + makes_use_of: !!set + game: null + manipulates_source: false + manipulates_state: false + memory_depth: .inf + stochastic: false diff --git a/axelrod/strategies/_strategies.py b/axelrod/strategies/_strategies.py index 92dafc523..2f2b6f84c 100644 --- a/axelrod/strategies/_strategies.py +++ b/axelrod/strategies/_strategies.py @@ -89,6 +89,7 @@ from .dbs import DBS from .defector import Defector, TrickyDefector from .doubler import Doubler +from .bandits import Greedy, EpsilonGreedy from .finite_state_machines import ( TF1, TF2, @@ -343,6 +344,7 @@ Doubler, DynamicTwoTitsForTat, EasyGo, + EpsilonGreedy, EugineNier, EventualCycleHunter, EvolvedANN, @@ -385,6 +387,7 @@ Golden, Gradual, GradualKiller, + Greedy, Grudger, GrudgerAlternator, Grumpy, diff --git a/axelrod/strategies/bandits.py b/axelrod/strategies/bandits.py new file mode 100644 index 000000000..a41b6480b --- /dev/null +++ b/axelrod/strategies/bandits.py @@ -0,0 +1,154 @@ +import numpy as np + +from axelrod.action import Action +from axelrod.player import Player + +C, D = Action.C, Action.D + + +class Greedy(Player): + """ + A player that always chooses the optimal action based on the average reward of each action from previous turns. + + If initial rewards for each action are equivalent (true by default), + then the optimal action for the first turn is cooperate. + + Names: + + - Greedy: [Sutton2018]_ + """ + + name = "greedy" + classifier = { + "memory_depth": float("inf"), + "stochastic": False, + "long_run_time": False, + "inspects_source": False, + "manipulates_source": False, + "manipulates_state": False, + } + + UNIFORM = -1.0 # constant that replaces weight when rewards aren't weighted + + def __init__( + self, + init_c_reward: float = 0.0, + init_d_reward: float = 0.0, + recency_weight: float = UNIFORM, + ) -> None: + """ + Parameters + ---------- + init_c_reward + Initial expected utility from action C; defaults to 0.0. + init_d_reward + Initial expected utility from action D; defaults to 0.0 + recency_weight + 0.0 <= recency_weight <= 1.0 + The exponential recency weight used in calculating the average reward. + If this argument is equal to -1 or is not provided, the player will not weigh rewards based on recency. + """ + super().__init__() + self._rewards = {C: init_c_reward, D: init_d_reward} + self.weight = recency_weight + + # limit parameter value range + if (self.weight != self.UNIFORM) and self.weight <= 0: + self.weight = 0.0 + if self.weight >= 1: + self.weight = 1.0 + + def update_rewards(self, opponent: Player): + """Updates the expected reward associated with the last action.""" + game = self.match_attributes["game"] + last_round = (self.history[-1], opponent.history[-1]) + last_play = self.history[-1] + last_score = game.score(last_round)[0] + + # if UNIFORM, use 1 / total number of times the updated action was taken previously + if self.weight == self.UNIFORM: + weight = 1 / ( + self.history.cooperations if last_play == C else self.history.defections + ) + else: + weight = self.weight + + self._rewards[last_play] = self._rewards[last_play] + weight * ( + last_score - self._rewards[last_play] + ) + + def strategy(self, opponent: Player) -> Action: + # if not the first turn + if len(self.history) != 0: + self.update_rewards(opponent) + + # select the optimal play + return max(self._rewards, key=self._rewards.get) + + +class EpsilonGreedy(Greedy): + """ + Has a 1 - epsilon probability of behaving like Greedy; otherwise, randomly choose to cooperate or defect. + + Names: + + - Epsilon-greedy: [Sutton2018]_ + """ + + name = "$\varepsilon$-greedy" + classifier = { + "memory_depth": float("inf"), + "stochastic": True, + "long_run_time": False, + "inspects_source": False, + "manipulates_source": False, + "manipulates_state": False, + } + + def __init__( + self, + epsilon: float = 0.1, + init_c_reward: float = 0.0, + init_d_reward: float = 0.0, + recency_weight: float = Greedy.UNIFORM, + ) -> None: + """ + Parameters + ---------- + epsilon + 0.0 <= epsilon <= 1.0 + the probability that the player will "explore" (act uniformly random); defaults to 0.1 + init_c_reward + initial expected utility from action C; defaults to 0.0. + init_d_reward + initial expected utility from action D; defaults to 0.0 + + Special cases + ---------- + When epsilon <= 0, this player behaves like Random(0.5) + When epsilon >= 1, this player behaves like Greedy() + """ + super().__init__(init_c_reward, init_d_reward, recency_weight) + self.epsilon = epsilon + + # treat out of range values as extremes + if epsilon <= 0: + self.epsilon = 0.0 + if epsilon >= 1: + self.epsilon = 1.0 + + def _post_init(self): + super()._post_init() + if self.epsilon == 0: + self.classifier["stochastic"] = False + + def strategy(self, opponent: Player) -> Action: + # this will also update the reward appropriately + greedy_action = super().strategy(opponent) + + # explore + if self.epsilon > 0 and self._random.uniform() <= self.epsilon: + return self._random.random_choice() + # exploit + else: + return greedy_action diff --git a/axelrod/tests/strategies/test_armed_bandits.py b/axelrod/tests/strategies/test_armed_bandits.py new file mode 100644 index 000000000..cd41425c8 --- /dev/null +++ b/axelrod/tests/strategies/test_armed_bandits.py @@ -0,0 +1,91 @@ +"""Tests for the armed bandits strategies.""" + +import axelrod as axl + +from .test_player import TestPlayer, TestMatch + +C, D = axl.Action.C, axl.Action.D + + +class TestEpsilonGreedy(TestPlayer): + + name = "$\varepsilon$-greedy: 0.1, 0.0, 0.0, -1.0" + player = axl.EpsilonGreedy + expected_classifier = { + "memory_depth": float("inf"), + "stochastic": True, + "makes_use_of": {"game"}, + "long_run_time": False, + "inspects_source": False, + "manipulates_source": False, + "manipulates_state": False, + } + + def test_deterministic(self): + # cases where epsilon = 0 + actions = [(C, C), (C, C), (C, C)] + self.versus_test( + axl.Cooperator(), + expected_actions=actions, + init_kwargs={"epsilon": 0, "init_c_reward": 0, "init_d_reward": -1}, + attrs={"_rewards": {C: 3, D: -1}}, + ) + + actions = [(D, D), (D, D), (D, D)] + self.versus_test( + axl.Defector(), + expected_actions=actions, + init_kwargs={"epsilon": 0, "init_c_reward": -1, "init_d_reward": 0}, + attrs={"_rewards": {C: -1, D: 1}}, + ) + + actions = [(D, C), (D, D), (C, D)] + self.versus_test( + axl.TitForTat(), + expected_actions=actions, + init_kwargs={"epsilon": 0, "init_c_reward": 3.2, "init_d_reward": 4.0}, + attrs={"_rewards": {C: 3.2, D: 3.0}}, + ) + + def test_random(self): + # cases where epsilon = 1 + opponent = axl.MockPlayer() + actions = [(C, C), (D, C), (D, C), (C, C)] + self.versus_test( + opponent, expected_actions=actions, init_kwargs={"epsilon": 1}, seed=5 + ) + + opponent = axl.MockPlayer(actions=[C, D, C]) + actions = [(D, C), (C, D), (C, C)] + self.versus_test( + opponent, expected_actions=actions, init_kwargs={"epsilon": 1.0}, seed=1 + ) + + def test_strategy(self): + # sometimes explores + actions = [(C, C), (D, C), (D, C)] + self.versus_test( + axl.Cooperator(), + expected_actions=actions, + init_kwargs={"epsilon": 0.5}, + attrs={"_rewards": {C: 3, D: 5}}, + seed=2, + ) + + # always explores + actions = [(D, D), (C, D), (C, D)] + self.versus_test( + axl.Defector(), + expected_actions=actions, + attrs={"_rewards": {C: 0, D: 1}}, + seed=13741, + ) + + # never explores/always exploits + actions = [(C, C), (C, C), (C, C)] + self.versus_test( + axl.TitForTat(), + expected_actions=actions, + attrs={"_rewards": {C: 3, D: 0}}, + seed=1, + ) diff --git a/docs/index.rst b/docs/index.rst index f7fe5e0b0..0fc7c8ff3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -53,7 +53,7 @@ Count the number of available players:: >>> import axelrod as axl >>> len(axl.strategies) - 240 + 242 Create matches between two players:: diff --git a/docs/reference/bibliography.rst b/docs/reference/bibliography.rst index c6f1a3a9b..4c7a56eb5 100644 --- a/docs/reference/bibliography.rst +++ b/docs/reference/bibliography.rst @@ -63,6 +63,7 @@ documentation. .. [Shakarian2013] Shakarian, P., Roos, P. & Moores, G. A Novel Analytical Method for Evolutionary Graph Theory Problems. .. [Slany2007] Slany W. and Kienreich W., On some winning strategies for the iterated prisoner’s dilemma, in Kendall G., Yao X. and Chong S. (eds.) The iterated prisoner’s dilemma: 20 years on. World Scientific, chapter 8, pp. 171-204, 2007. .. [Stewart2012] Stewart, a. J., & Plotkin, J. B. (2012). Extortion and cooperation in the Prisoner’s Dilemma. Proceedings of the National Academy of Sciences, 109(26), 10134–10135. http://doi.org/10.1073/pnas.1208087109 +.. [Sutton2018] Sutton, R. S., & Barto, A. G. (2018). Multi-armed Bandits. In Reinforcement Learning: An Introduction (2nd ed., pp. 25–45). MIT Press. http://incompleteideas.net/book/the-book-2nd.html .. [Szabo2007] Szabó, G., & Fáth, G. (2007). Evolutionary games on graphs. Physics Reports, 446(4-6), 97–216. http://doi.org/10.1016/j.physrep.2007.04.004 .. [Gaudesi2016] Gaudesi, Marco, et al. "Exploiting evolutionary modeling to prevail in iterated prisoner’s dilemma tournaments." IEEE Transactions on Computational Intelligence and AI in Games 8.3 (2016): 288-300. .. [Tzafestas2000] Tzafestas, E. (2000). Toward adaptive cooperative behavior. From Animals to Animals: Proceedings of the 6th International Conference on the Simulation of Adaptive Behavior {(SAB-2000)}, 2, 334–340. diff --git a/docs/reference/strategy_index.rst b/docs/reference/strategy_index.rst index 6732be88c..1eaf5d4ba 100644 --- a/docs/reference/strategy_index.rst +++ b/docs/reference/strategy_index.rst @@ -18,6 +18,8 @@ Here are the docstrings of all the strategies in the library. :members: .. automodule:: axelrod.strategies.appeaser :members: +.. automodule:: axelrod.strategies.bandits + :members: .. automodule:: axelrod.strategies.averagecopier :members: .. automodule:: axelrod.strategies.axelrod_first