最新要闻
- 资讯推荐:全球最强!传音发布260W有线、110无线快充:8分钟充满
- 世界观热点:美国科学家改变人类科技、终极能源即将实现?真相来了!
- 世界快讯:《原子之心》更新:添加FOV设置、删除种族主义动画
- 今亮点!霸道女总裁加盟《碟中谍8》
- 天天播报:00后男生每天下班后卖烤肠解压 50元投资日赚200元:厌恶刷视频、打游戏
- 环球微速讯:比进口价格便宜!海南三亚榴莲今年6月将大规模上市
- 当废物挺好?委员称年轻人想躺平更多是调侃 奋斗的是大多数
- 天天亮点!中国足彩网竞彩11日推荐:曼城取胜无悬念
- 当前播报:amusements
- 环球热议:6月上映!《变形金刚7》角色海报发布:擎天柱、猩猩队长亮相
- 【速看料】降价潮席卷全国 车企尽数参战是为何?乘联会解答:国六B要来了
- 环球今热点:真正油电同价!比亚迪投放“深水炸弹”:13.4万买宋Pro DM-i超级混动
- 环球通讯!立春来首场寒潮横扫我国大部:多地将遭遇滑梯式降温 最高降20℃
- 【新要闻】活久见!女生家中发现神奇圆柱形手机:登QQ、手电筒、拍照 功能多到炸
- 最便宜竖折叠继任者!摩托罗拉Razr 2023真机图出炉:首次拼色后壳
- 当前快报:汽车价格战新进展:南北大众同日入局 丰田买一辆送一辆
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
剪刀石头布的算法
作者: Daniel Lu原文: https://daniel.lawrence.lu/programming/rps/时间: 2011
1. 简介
剪刀石头布是一个关于预测对手的游戏。这是一个很难的问题。初次接触的人可能会问,"为什么不直接玩随机的呢?" 众所周知,稳定地击败随机玩家是不可能的。那为什么还要费心呢?事实证明,一个随机策略只能赢得50%的比赛。然而,一个好的预测算法可以利用不那么随机的对手(包括人类)的模式,更经常地击败他们。事实上,排行榜上一些最强的引擎的胜率超过了80%!
假设你有10个对手,其中9个随机下,1个总是下石头。如果你也是随机玩的,你会赢50%的时间。然而,如果你总是玩纸牌,你将赢得55%的时间,因为你总是能打败那个总是玩石头的家伙,而在面对随机玩家时,你的表现仍然是一样的。55%的胜率比50%的胜率要好。重要的是,只要池子里有哪怕一个非随机玩家,利用模式的算法总是会做得更好。
(相关资料图)
另外,正如《纽约时报》的一篇文章所报道的,人类在随机性方面相当糟糕。
为此,本页面是关于描述编写石头剪刀布算法的各种方法。在 "剪刀石头布 "编程竞赛中,我的参赛作品或其变体一直在排行榜上排名靠前。
2. 主要策略
有一些基本的策略,大致上是按实力从高到低排列的。
2.1 固定移动
最简单的策略是总是下同一步棋。一个例子是 Always Rock。不是很有趣...
2.2 频率统计
这种算法计算对手以前的动作,以确定对手是否喜欢下一种类型的棋而不是其他。从本质上讲,它为石头、纸和剪刀各保留一个 "分数"。在每一步棋之后,对手的棋的分数都会被增加。
这样的算法会很容易打败固定移动的算法。一个例子是 The Frequentist。
有可能对这一策略做出更复杂的变体。例如,波尔兹曼计数器的算法有一个衰减的分数。这使它更多地受到最近的结果而不是过去的结果的影响,并使它能够适应缓慢变化的对手。它还进一步减少了本来会输的那步棋的得分。因此,举例来说,如果对手下的是石头,纸的得分会增加,但剪刀的得分会减少。
2.3 旋转
在 "石头剪刀布 "中,旋转是一种模块化的加法。
MOVE | ROTATION BY 0 | ROTATION BY 1 | ROTATION BY 2 |
---|---|---|---|
R | R | P | S |
P | P | S | R |
S | S | R | P |
以0(或等同于以3、6或任何0模3的数字)旋转的棋步,只是棋步本身。以1旋转的棋步是击败它的棋步。以2旋转的棋步是输给它的棋步。
一个例子是 "最后输入"(Beat Last Input),它以1的旋转来回复对手的前一步棋。
2.4 抗旋转
这个算法假定对手使用的是三种可能的旋转之一。它计算从自己之前的棋中得到对手最后一步棋所需的旋转,并确定对手一定使用的旋转。然后,它对自己的最后一步棋进行旋转。例如,如果对手将最后一步棋旋转了1,这个算法将把自己的最后一步棋旋转2,只是为了超过对手。
一个例子是 Probably not very strong 3.3.
2.5 历史字符串匹配
这可以被认为是通过部分匹配进行预测的最简单案例。该算法记录了迄今为止所下的所有棋步,例如以一个字符串的形式。为了确定下一步棋,它使用子串匹配算法来找到最近一次下过的棋步序列的最新时间。然后,它下出与对手在该序列后最后一次下出的棋子相对应的棋子。在Python中,函数rfind对于进行这样的搜索很有用。例如,如果历史看起来像这样:
RPSRRPRSPRPSRPRSPSPSPRRPSRPR RPSRPR RPSRPR
为了清楚起见,我在第二行重复了上一序列的最新匹配。匹配后的字母是一个S,所以你可能会猜到对手接下来可能会下S。
rfind就是一个例子。存在许多变体,包括匹配自己的棋步、自己的棋步和对手的棋步的组合、寻找最早的而不是最新的匹配,或者寻找所有的匹配。
3. 元策略
前面讨论的每一种策略都有一个对策。要反击它们中的任何一个都很容易,因为它们的行为都是可以预测的。但即使是纯粹的反击,也可以通过再次旋转结果来进行反击。事实上,对于每个策略,有六种可能的使用方法。这样的元策略被用于丹-埃格诺(Dan Egnor)的Iocaine Powder程序中。
METASTRATEGY | DESCRIPTION |
---|---|
P0 | 天真地玩法. |
P’0: 战胜 P0 | 交换你和你的对手的位置。然后,在对手的位置上打出天真策略的输出 |
P1: 战胜 P’0 | 将P0旋转两圈,也就是下出输给P0的输出的那一步 |
P’1: 战胜 P1 | 将P"0旋转两圈,与上述相同 |
P2: 战胜 P’1 | 将P1旋转两圈 |
P’2: 战胜 P2 | 将P"1旋转两圈 |
请注意,P0击败了P"2,从而绕了一圈。
3.1 元策略的选择
如果每个策略都有六个可能的元策略,我们如何选择使用哪一个?如果我们一开始也有多个策略呢?方法是根据过去的表现来选择。如果一个策略一直很成功,我们就使用这个策略。如果一个策略总是亏损,我们就不使用它。这里有一些实现这一目标的方法。
天真的打分: 每个预测者都存储一个数字。每轮结束后,如果预测者成功预测了对手的棋,其分数就会增加1。如果预测输给了对手的行动,其分数就会减一。一个例子是Variable Turbine Geometry。
衰减计分: 这与天真的评分法一样,只是所有的分数在每一轮之后也要乘以一个0到1的数字(通常是0.9左右),这样它就会逐渐 "忘记 "很久以前每个预测器的表现。因此,如果对手偶尔切换策略,这应该能够应对。一个例子是DNA werfer 2。
丢弃开关: 就像天真的计分法一样,只是如果预测者哪怕输了一次,其分数就会被重置为零。这使得对有转换策略的对手的反应比衰减计分快得多,但如果对手增加了某种噪音(例如每十步走一步随机棋),就会很脆弱。一个例子是DNA werfer 5 M0。
随机掉线开关: 就像掉线开关一样,只是预测者的分数只被随机重置为零,概率为,比如说,0.5。一个例子是Random Drop-Switch。
当然,得分最高的预测器被选择使用。还有一些其他的选择器,比如只要预测器没有获胜(即即使是平局),就将分数重置为零。其他一些选择器的工作方式与天真评分或衰减评分类似,但也会在平局时将分数递减一个小值。值得注意的是,算频策略实际上只是一个固定棋步策略加上一个天真的得分选择器。
请注意,一些基本策略实际上是带有元策略的更简单的策略。例如,"频率计算 "只是带有天真的计分的 "固定动作 "策略:它在 "固定动作 "策略(总是玩石头,总是玩纸,或者总是玩剪刀)中选择哪一个最成功。
3.2 选择器选择
有这么多的策略选择方法可供选择,我们如何选择哪一个是最好的?因此,我们还有一个层次:选择器选择。
这些的实现方式与以前相同。例子是离心大黄蜂13和开关18。
4. 防御机制
一个众所周知的事实是,真正的随机策略不可能一直输下去。因此,一旦算法检测到它正在输掉,切换到一个随机策略是很有用的。做到这一点的一个方法是简单地将随机策略作为预测因素之一,与其他策略(如历史匹配)并列。那么,如果其他策略都开始输了,它们都会有相当负的分数,除了随机策略,它的分数大概会接近于零。在这种情况下,选择者会选择随机策略而不是其他策略,并希望能避免一场可怕的损失。
译者注
作者策略试玩, 很厉害: http://www.rpscontest.com/human/498002作者策略源码: http://www.rpscontest.com/entry/498002
关键词:
剪刀石头布的算法
资讯推荐:全球最强!传音发布260W有线、110无线快充:8分钟充满
世界观热点:美国科学家改变人类科技、终极能源即将实现?真相来了!
世界快讯:《原子之心》更新:添加FOV设置、删除种族主义动画
Shell命令-常用操作2
【质因数分解算法详解】C/Java/Go/Python/JS/Dart/Swift/Rust等不同语言实现
今亮点!霸道女总裁加盟《碟中谍8》
天天播报:00后男生每天下班后卖烤肠解压 50元投资日赚200元:厌恶刷视频、打游戏
【时快讯】网络安全(中职组)-B模块:Web安全渗透测试
环球新消息丨K8S 性能优化-K8S Node 参数调优
环球微速讯:比进口价格便宜!海南三亚榴莲今年6月将大规模上市
当废物挺好?委员称年轻人想躺平更多是调侃 奋斗的是大多数
天天亮点!中国足彩网竞彩11日推荐:曼城取胜无悬念
焦点短讯!使用SSM+Shiro+Layui框架,基于RBAC3模型开发的权限管理系统
snort入侵检测基础概述
当前播报:amusements
环球热议:6月上映!《变形金刚7》角色海报发布:擎天柱、猩猩队长亮相
【速看料】降价潮席卷全国 车企尽数参战是为何?乘联会解答:国六B要来了
观热点:01-C语言概述
环球今热点:真正油电同价!比亚迪投放“深水炸弹”:13.4万买宋Pro DM-i超级混动
环球通讯!立春来首场寒潮横扫我国大部:多地将遭遇滑梯式降温 最高降20℃
【新要闻】活久见!女生家中发现神奇圆柱形手机:登QQ、手电筒、拍照 功能多到炸
读Java性能权威指南(第2版)笔记13_堆内存下
最便宜竖折叠继任者!摩托罗拉Razr 2023真机图出炉:首次拼色后壳
当前快报:汽车价格战新进展:南北大众同日入局 丰田买一辆送一辆
世界速递!day05-功能实现04
Vue————Vue v2.7.14 入口文件【二】
【时快讯】《满江红》中国影史票房榜第6:力压《唐人街探案3》 票房突破45.23亿
环球即时:2023开门红!长四丙成功发射“一箭双星”
环球消息!第一批PCIe 5.0 SSD都是残血!14GB/s满血版还早呢
世界快资讯丨有了ChatGPT 动动嘴就能使唤Excel:我的童年梦想实现了
每日热门:8岁男孩单手打破汉诺塔世界纪录:4.305秒搞定4层
当前头条:海绵宝宝卡通图片线条图_海绵宝宝卡通图片
天生要完美电视剧28集完整版_天生要完美电视剧
对C++做爬虫的代码进行简单分析
世界热推荐:2.HelloSpring
孙海洋夫妇餐饮公司被列经营异常:本人回应
今日报丨香港男子深圳上班每天通勤4小时:月薪3万 每天通勤费用80元
【全球独家】63.C++类型转换
世界今亮点!python可变长参数
当前观察:大获成功!《最后生还者》成史上收视率最高的游戏改编剧
爆款椰子鞋停售后:阿迪在中国凉凉了
1.3kg下颜值、性能、屏幕全给你!华硕灵耀14 2023评测:续航惊人
观热点:长城汽车发布Hi4全新新能源技术:4驱享受 2驱能耗
全球关注:杠上比亚迪秦PLUS DM-i 新款日产轩逸上市:9.98万起
8GB、16GB显存的性能差多少?实测多达172%!
明解数据库------数据库存储演变史
AMD最强核显跑分上来了!但是还打不过GTX 1650 Ti
全球最新:买丰田bZ4X电动车 送一辆威驰轿车?4S店回应:活动属实
RTX 30公版显卡突然集体消失!刚刚降价40%
微头条丨公司规定不接董事长电话1次罚10000元 员工:试岗1天就走了
【全球快播报】校友承诺捐赠1100万元却不兑现被告 学校:他具备履约能力
紧跟微信步伐:支付宝掌纹支付设备外观专利获授权
【天天快播报】搅局中端市场!一加Ace2V评测:将16G满血内存进行到底
通讯!破壁机虚标功率后 疯狂小杨哥带货又翻车:面霜因虚假宣传被罚
《王者荣耀》出海“首战告捷”:登顶巴西免费游戏榜
环球报道:记录--vue3+setup+ts 知识总结
【世界速看料】程序员养发神器:拒绝加班熬夜,告别秃头!
【世界聚看点】【希尔排序ShellSort算法详解】Java/Go/Python/JS/C不同语言实现
环球微头条丨【分享贴】项目中为啥总是项目经理一人干着急?
使用PostgreSQL而不是MySQL存储中型数据有什么好处?
3000块多品牌SSD质量大PK:整体比机械硬盘可靠
玩家购入二手Switch主机:可是被卖家坑惨了
航班晚点1小时 机长提速提前20分钟到达帮助乘客换机?山航回应
每人1600元!北京发放首批“京彩·绿色”消费券:买手机PC都能用
当前热文:涉及121万辆!我国2022年新能源汽车召回量创历史新高:电池、电机缺陷多
环球最资讯丨暴风的恋人百度云_暴风的恋人
有监督学习——线性回归
禁用XXE处理漫谈
腾讯-广点通转化归因
来真的!贾跃亭:3月30日生产FF91 百万豪车来了
【天天新视野】30个汽车品牌降价 成都发放消费券:满40万可减8000元
【世界独家】华硕发布TUF Gaming M3 Gen II鼠标:仅重59g、IP56防尘防水
全球今亮点!过期1天的食物还能吃吗?
日系中的另类!国产马自达CX-50内饰发布:原汁原味引入海外版
加速资源整合,星纪魅族围绕手机、XR、前瞻技术拓展智能生态
Prompt-Engineering-Guide 学习摘要2
今日关注:电动汽车综合检测
观焦点:这几个群,程序员可千万不要进!
每日快讯!12万元买宝马“3系”?宝马中国回应降价传闻:指导价没变
当前快讯:玩家不满《魔戒:咕噜》新宣传片:他没有主角光环!
环球热讯:小米搞出“新花样”:可层叠摄像模组专利获授权
焦点快报!没有秘密了!AI或能够读取大脑重现梦境
今日快看!新老代表接力提建议将牡丹定为国花:100多个国家都有国花了
【天天报资讯】山西李家大院哪些人可以享受半价票优惠
环球新资讯:【机器学习】1. 广义线性模型
【世界新视野】密码学报如何正确Latex投稿?
环球今亮点!快 40 岁,刚被裁。。
金三银四每天一个.NET基础知识巩固(一)
今日要闻!从“13 天”到“0 天”延时,揭秘火山引擎 DataLeap SLA 保障最佳实践
世界热消息:谷歌报复性砸出5620亿参数大模型:比ChatGPT更恐怖 学术圈已刷屏
【环球播资讯】2月国产游戏出海成绩出炉:《原神》获收入和增长双料冠军
Nginx http 文件服务器 中文名称文件乱码以及不能访问下载问题 (解决全过程)
有关马的歇后语有哪些?有关马的古诗有哪些?
工科理科化现象亟待扭转!曹德旺等科学家企业喊话让学生去工厂一线真问题
【世界时快讯】委员喊话农村淘汰、封杀老头乐 网友吵翻:揭秘观点背后让人唏嘘?
隐婚男女的结局是什么?隐婚男女演员介绍
小学二年级班主任工作计划有哪些?小学二年级家长会发言稿
消防逃生的注意事项有哪些?消防逃生演练总结
旅游可持续发展的实质是什么?旅游可持续发展论文模板