第471章 猫抓老鼠模型(2/2)
请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
这道题倒是不难,但是许念想到一个更有趣的玩法。
因为可以用上随机矩阵和概率学玩上一场猫抓老鼠游戏。
而前阵子正好提到了随机矩阵,随机矩阵是马尔科夫链计算随机移动的专用数学工具。
每行和为1的矩阵是最常用的,用在那道题的猫鼠模型中,被称为行随机矩阵。
每列和为1则为列随机,行、列全部和为1即为双随机。
那么就可以运用概率学以及马尔科夫链设置成一个小游戏,所以用的就有随机矩阵和转移矩阵。
转移矩阵的作用是:矩阵每一行表示当前处于某个状态时,转移到下一状态的概率,且所有概率之和为1。
用作猫鼠游戏来看:矩阵固定写死猫咪留在原地、换房间的概率,相当于把移动规则数字化。
而把猫在0、1的概率写成概率行向量,再与转移矩阵相乘。
乘1次,可以知道下一回合各位置的概率,这属于短期预测;乘n次,即是预测n回合的概率分布,换通俗易懂的话就是预测未来。
转移矩阵M:存死「跳转规则」(固定不变)
概率向量P:记录「现在实况概率」(每一轮会变)
相乘P*M:批量换算出下一时刻实况(新向量)
总结下来就是:转移矩阵储存状态跳转概率,概率向量与转移矩阵相乘,用来预测未来各状态发生的概率。
按照这个理论,就有了猫抓老鼠的游戏。
想到这,许念拍了拍身边的宋子琛,“琛哥,玩游戏吗?”
正在做题的宋子琛有点蒙,但还是下意识点头。
紧接着就是许念讲解猫和老鼠游戏时刻,说完,许念看向宋子琛,“怎么样,还有哪里不明白?”
如果学过这些,应该就没有问题。
宋子琛在脑袋里面过了一遍,随后点点头,“都懂了,但不设置逃跑数值吗?”
没有数值规范,如果双方计算能力都过关,不知道要玩多少次才能抓到老鼠。
许念经过这么一提醒意识到忘了设数值了,随后拿过草稿纸在上面写了10。
“次数十次,我当猫你当老鼠。”
许念搓了搓手,因为是自己弄出来的游戏,她还不知道有哪里不足,只能玩过之后自己感受,或者问对方的意见。
“可以。”
宋子琛其实也来了兴趣,毕竟概率学、随机矩阵能放在一个地方,听起来就很有趣。
等到自己开始的时候,宋子琛被里面的计算量惊到了,原本他以为只用计算一次,结果每次概率不同,且向量会因移动而变化。
所以每一次新的移动都代表着一次新的运算。
第一局,许念的猫在第四步抓到宋子琛的老鼠。
看这圆圈里面的叉,许念心情大好,朝着宋子琛挑挑眉,“怎么样琛哥,要不你来当猫?”
宋子琛摇摇头,胜负欲在这一刻被激了起来。
其实熟悉了集训营的学习强度后,很多人的刷题速度更快了,以往一上午做不完的题,现在半个小时一张。
第二局,许念在第六步抓到老鼠。
第三局,宋子琛选猫,十局之内没有抓到许念。
PS(猫和老鼠原题/内容有改动):