扑克牌洗牌模型

扑克牌洗牌模型

ID:32870032

大小:87.00 KB

页数:14页

时间:2019-02-16

扑克牌洗牌模型_第1页
扑克牌洗牌模型_第2页
扑克牌洗牌模型_第3页
扑克牌洗牌模型_第4页
扑克牌洗牌模型_第5页
资源描述:

《扑克牌洗牌模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数学模型》课程结业论文扑克牌洗牌模型9/14任务书[要求]1、将所给的问题翻译成汉语;2、给论文起个题目(名字或标题)3、根据任务来完成数学模型论文;4、论文书写格式要求按给定要求书写;5、态度要认真,要独立思考,独立完成任务;6、论文上交时间:6月1日前(要求交纸质论文和电子文档)。7、严禁抄袭行为,若发现抄袭,则成绩记为“不及格”。[任务]一天,魔术师表演了这样一个节目:将一副看起来杂乱无章扑克牌(去掉2个王,52张)排成一列展示给观众,然后将牌合起来(背面朝上),左手将牌上半部分(26张)拿起,右手

2、拿下半部分,把两部分牌相隔一张进行交叉洗牌(背面朝上),第一张是左手拿的。这样反复洗牌4次,最后将牌展示给观众,牌的排列结果是:♡A,♠A,♦A,♣A,♡2,♠2,♦2,♣2,…,♡K,♠K,♦K,♣K。试问原来牌的排列的花色和序号是什么?试用数学方法建立最终的排列结果与最初排列结果之间的关系。成绩评定单评语:成绩任课教师签字年月日9/14摘要把52张扑克牌看成一维数组,用逆推法推出原来的排列。设数组a=[1,2,3,4,…,52],对数组进行从新排列。1,2,3,4分别对应红A,黑A,方A,梅A,依次类推

3、。设加权函数,数组b和数组c,得到的非零数组c表示右手拿的部分,等零的部分放在数组b中表示左手拿的部分,重新合为一维新数组,然后重复四次过程,最后得到原来的排列,依次相对应即可推出原来扑克牌的花色和序号。9/14关键词:排列;逆推;加权函数;9/14目录论文正文:11.1问题重述11.2符号说明及模型假设11.2.1符号说明11.2.2模型假设11.3问题分析及模型建立21.3.1问题分析21.3.2模型建立21.4模型求解31.5结果31.6优缺点及改进51.6.1优缺点51.6.2改进方法5参考文献6附

4、录79/14论文正文:扑克牌洗牌模型1.1问题重述将一副扑克牌(52张)均分成两部分,左手拿上半部分,右手拿下部分,把两部分牌相隔一张进行交叉洗牌(背面朝上),第一张是左手拿的。这样反复洗牌4次,最后将牌展示给观众,牌的排列结果是:♡A,♠A,♦A,♣A,♡2,♠2,♦2,♣2,…,♡K,♠K,♦K,♣K。用数学方法建立最终的排列结果与最初排列结果之间的关系。这是一个从新排列的问题,把一副扑克牌抽象成一组数,用数学方法,对结果进行分析,然后建立模型求出洗牌前的排列。1.2符号说明及模型假设1.2.1符号说明

5、1.2.2模型假设为了简化问题,我们可以先忽略花色和排列,就把52张扑克牌看成一维数组,简化成数组之后,我们就可以用数学方法对数组进行计算了。可以用逆推法推出原来的排列。设数组a=[1,2,3,4,…,52],用逆推法对数组进行从新排列。1,2,3,4分别对应红A,黑A,方A,梅A,依次类推。设加权函数,数组b和数组c,得到的非零数组c表示右手拿的部分,等零的部分放在数组b中表示左手拿的部分,重新合为一维新数组,然后重复四次过程,最后得到原来的排列,依次相对应即可推出原来扑克牌的花色和序号。9/141.1问

6、题分析及模型建立1.1.1问题分析已知经过四次洗牌后得到的结果为♡A,♠A,♦A,♣A,♡2,♠2,♦2,♣2,…,♡K,♠K,♦K,♣K。要想得到洗牌前排的排列和花色,很显然要用逆推的方法。按照洗牌规则,逆推出洗牌前的排列和花色。洗牌规则是:左手将牌上半部分(26张)拿起,右手拿下半部分,把两部分牌相隔一张进行交叉洗牌(背面朝上),第一张是左手拿的。我们只要想办法交叉的牌分开,就能逆推出原来的排列和花色。1.1.2模型建立我们把52张扑克牌看成一个一维数组,1,2,3,4分别对应红A,黑A,方A,梅A,依

7、次类推。这样我们就可以用数学方法建立洗牌前后的关系了。设数组a=[1,2,3,4,…,52],加权函数f(n)=((-1)^n+1)/2。如果a*f(n)==0,我们就把这些数拿出来放到数组b中;如果a*f(n)!=0,我们就把这些数拿出来放到数组c中;然后把数组b和c重新组成一组新的排列,b中的数在前,c中的数在后;重复上述过程4次,就可得到最初的排列;最后按照假设的对应法则还原成扑克牌的排列和花色。按照上述方法我们就可以编程把洗完后交叉的牌分离开分别放到数组b和c中,然后在组成一个新的一维数组。在mat

8、lab中编程:k=0;i=26;c=[];b=[];forn=1:52a(n)=n;ifa(n)*(((-1)^n+1)/2)==0k=k+1;b(k)=a(n);elsei=i+1;c(i)=a(n);end9/14endk=26;fori=27:52k=k+1;b(k)=c(i)end根据以上程序就可以推出第四次洗牌前的排列和花色,重复四次就可得到想要的结果。1.1模型求解我们假设52张扑克成一组数列,并且1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。