再现阿克塞尔罗德重复囚徒困境锦标赛
Axelrod的Python项目详细描述
轴杆
目标
具有以下原则和目标的python库:
- 再生产以往重复的囚徒困境研究 尽可能容易。
- 为未来的重复囚徒困境创造事实上的工具 研究。
- 为任何人提供尽可能简单的定义和贡献的方法 新的和原创的重复囚徒困境策略。
- 强调可读性以及开放和欢迎的社区 为各种技能水平的开发人员和研究人员提供便利。
功能
使用Axelrod,您:
可以访问to over 200 strategies,包括原版和经典,如tit 以牙还牙,以德报怨。这些都可以通过参数化来扩展。 以及一组战略变形金刚。
可以在策略对之间创建head to head matches。
可以在多个策略上创建tournaments。
可以通过Moran processes和infinite population model来研究种群动态。
可以分析详细的results of tournaments和匹配项。
可以参加锦标赛。
可以复制许多当代研究主题,如 策略和morality metrics。
这个库有100%的测试覆盖率,并且有大量的文档记录。见 所有功能的详细信息和示例的文档: http://axelrod.readthedocs.org/
An open reproducible framework for the study of the iterated prisoner’s dilemma: 一篇介绍图书馆的同行评议论文(22位作者)。
安装
库需要Python3.5或更高版本。
最简单的安装方法是:
$ pip install axelrod
从源安装:
$ git clone https://github.com/Axelrod-Python/Axelrod.git $ cd Axelrod $ python setup.py install
快速启动
以下是基本比赛:
>>> import axelrod as axl >>> axl.seed(0) # Set a seed >>> players = [s() for s in axl.demo_strategies] # Create players >>> tournament = axl.Tournament(players) # Create a tournament >>> results = tournament.play() # Play the tournament >>> results.ranked_names ['Defector', 'Grudger', 'Tit For Tat', 'Cooperator', 'Random: 0.5']
示例
- https://github.com/Axelrod-Python/tournament是一个所有 存储库中的相互攻击策略。这些结果很容易 在http://axelrod-tournament.readthedocs.org查看。
- https://github.com/Axelrod-Python/Axelrod-notebooks包含一组示例 Jupyter笔记本。
- https://github.com/Axelrod-Python/Axelrod-fingerprint包含指纹 (数据和图表)图书馆的所有策略。
出版物
您可以找到使用或引用该库的出版物列表 在citations页上。