超大网站制作素材,win优化大师怎么样,手机怎样设计网站建设,dede网站地图怎么做这里是实验代码仓库#xff1a;https://github.com/liaoyanqing666/Prisoner-s_Dilemma 当面对囚徒困境时#xff0c;为了获得个人最佳利益#xff0c;参与方会倾向于互相背叛这个纳什均衡点。
如果这个选择会重复几十次#xff0c;而且你面对的对手会观察你以前的行为https://github.com/liaoyanqing666/Prisoner-s_Dilemma 当面对囚徒困境时为了获得个人最佳利益参与方会倾向于互相背叛这个纳什均衡点。
如果这个选择会重复几十次而且你面对的对手会观察你以前的行为再决定如何回报你还会坚持原来的决定吗
这就是“重复的囚徒困境”Iterated Prisoner’s Dilemma——一个从社会科学、人工智能到现实生活都广泛存在的经典博弈问题。今天我们不只是谈论这个问题而是带你回顾一场历史性的实验并亲自复现它。 阿克塞尔罗德竞赛Axelrods Tournament
1980年政治学家罗伯特·阿克塞尔罗德Robert Axelrod发起了一场实验他邀请各领域的专家提交策略程序让它们在重复囚徒困境环境中互相对战从而观察哪些策略更能在长期互动中获胜。这场被称为 Axelrod’s Tournament 的竞赛后来成为博弈论史上最经典的实验之一。
结果出人意料地简洁Tit For Tat以牙还牙 这样朴素的策略脱颖而出成为了当时的总冠军。它的策略极为简单第一轮先合作以后就复制对方的上一轮选择——友善但不软弱宽容但有底线。
原始论文名称为《Effective Choice in the Prisoners Dilemma》可以在谷歌学术上找到。 所有策略两两对决得分情况 但是当细读这篇文章后我发现中间存在一些奇怪的点例如理论上完全合作的两方会得到600分但是表格中却存在很多600分左右的部分许多细节实现仍不清晰。因此我基于论文描述与开源库 Axelrod Python复现了几乎所有原始策略且增加了一些策略并构建了一个可以自定义策略组合与博弈规则的实验平台代码在这里可以访问到。 代码功能
在代码中除了上表中的(Name Withheld)方法阿克塞尔罗德竞赛中的所有方法都复现了。此外还新定义了部分方法。同时如果你有更多想法也可以根据README的“可扩展性”板块指引添加新的方法或者自由修改更多参数。
编号策略名称简要说明1TitForTat首轮合作之后模仿对方上一次的决策。2TidemanAndChieruzzi逐步加剧报复若己方得分领先则尝试重新合作。3Nydegger前几轮模仿之后根据加权历史计算是否合作。4Grofman若双方上轮一致则合作否则以小概率继续合作。5Shubik对背叛进行递增报复直到完成惩罚周期。6SteinAndRapoport先合作判断对手是否随机再选择应对策略。7Grudger一旦被背叛便永久背叛。8Davis前几轮无条件合作之后如被背叛则永久背叛。9Graaskamp初期防御强烈后期根据统计判断是否信任对方。10Downing根据对手对合作与背叛的反应来估算收益并决策。11Feld先模仿对方合作时合作概率随时间线性下降。12Joss模仿为主偶尔背叛以测试对手。13Tullock前 11 轮合作之后根据对手近 10 轮的合作频率调整合作概率。14Collaborator始终合作。15Betrayer始终背叛。16Random随机选择合作或背叛。17TwoTitsForTat若最近两轮有一次被背叛则报复。18TitForTwoTats连续两次被背叛才报复否则合作。 实验现象
在对这些策略进行对战后我观察到几个颇具启发性的结论 当参与者中好人占比较高时主动背叛/投机策略往往得分不高。 Tullock 方法以 前 10 步对手背叛概率 10% 的概率进行背叛表现不佳若不加 10%排名反而更高。虽然 Betrayer 面对 Collaborator 获得全场最高分但其总体排名并不高。 在参与者中全是恶人的环境下Betrayer 比 Collaborator 更具优势。 无论在何种组合下Random 基本都是表现最差的策略。
如果想更深入地分析欢迎自己定义更多方法或者自由选取参与者的集合。 你会如何选择
如果你是其中一位参赛者在一个充满善意与欺诈者混杂的世界中你会选择哪种策略应对
是始终信任谨慎报复测试对手还是永远背叛
欢迎自己定义一个方法并且运行这段代码观察不同策略如何对抗设计一个属于你自己的冠军策略。
现在就开始尝试吧 希望这个代码对你有帮助如果你遇到任何问题欢迎留言或通过 GitHub/邮件提交问题。如果你觉得这个项目有趣也别忘了给它一个 Star ⭐ 作者的其他有趣文章
保姆级教程完全从零搭建简单个人网站免费无需服务器无需域名个人博客网站个人简历网站模板-CSDN博客
Windows时间悬浮窗程序开源Windows程序功能介绍-CSDN博客
适合初学者的Transformer介绍通俗易懂含pytorch代码_transformer入门介绍-CSDN博客
一个基于PVT(Pyramid Vision Transformer)的视频插帧程序pytorch_pvt v2处理视频-CSDN博客