首页 > 其他分享 >12.5活用记忆功能以达到更接近人类的判断

12.5活用记忆功能以达到更接近人类的判断

时间:2023-02-08 09:35:58浏览次数:39  
标签:12 猜拳 计算机 石头 记忆 12.5 活用 出拳

人类的日常判断通常是根据直觉和经验做出的。直觉并不仅仅是简单的任意思考,通常还带有一些个人的思维习惯。在前面的介绍中我们已经提到,通过借助随机数,思考习惯等也是可以表示的。而如果在此基础上再加上经验(记忆)元素的话,想必就可以作成更接近人类思考的程序了。

请大家考虑一下猜拳游戏中是如何用到经验的。经过多次猜拳后我们可能就会得到类似于“小 B 同学在出石头后出剪刀的概率比较高这样的经验。基于这一经验,我们就可以应用以下策略,即“刚才小 B同学出了一个石头,接下来应该会出剪刀,因此计算机出石头的话就赢了”。代码清单 12-3 是实现该策略的程序示例。在该程序中,通过键盘输人 0、1、2来决定出拳。当键盘输入 0、1、2以外的数值时,结束游戏。

 

 

 

 

 

在该程序中,猜拳结果被保存在了计算机内部的内存中。而对手的出拳信息也通过 2 维数组 ”记录了下来。例如 player[0][]这个数组元素记录的就是对手出石头后再出石头的次数。数组的索引 0、1、2 分别表示石头、剪刀、布。由于猜拳游戏刚开始时,数据记录还不够充足,因此这里使用了变量 counter 来记录猜拳的次数,当不满 10次时,由随机数来决定出拳。变量 prev 记录的是对手先前的出拳信息。

 

 

运行代码清单 12-3 的程序后,就会发现计算机变强了(图 12-4 )表 12-4 表示的是对手连续出了 15 次石头时计算机的出拳信息。借助记忆功能,在猜拳游戏进行了 10 次以后,计算机出的都是布,全胜。这是因为计算机基于“对手出石头后还会出石头”这一记忆,做出了出布的判断。

 

标签:12,猜拳,计算机,石头,记忆,12.5,活用,出拳
From: https://www.cnblogs.com/z1218/p/17100527.html

相关文章