2012年认证杯SPSSPRO杯数学建模D题(第二阶段)人机游戏中的数学模型全过程文档及程序

2012年认证杯SPSSPRO杯数学建模

D题 人机游戏中的数学模型

原题再现:

  计算机游戏在社会和生活中享有特殊地位。游戏设计者主要考虑易学性、趣味性和界面友好性。趣味性是本质吸引力,使玩游戏者百玩不厌。网络游戏一般考虑如何搭建安全可靠、丰富多彩的交互平台。人机游戏主要是考虑如何设计模型和算法,使其难度、趣味性达到恰当的平衡,玩家感觉既有难度,又有解决的信心。设计者既要像导演,规划玩家的行为,又要加入一定随机因素,使玩家觉得不是简单重复。所以在游戏创意和模型确定下来后,参数选择和优化变得非常关键。
  现在考虑“植物大战僵尸”游戏中的一些简单模型(参赛者不必更深入地了解该游戏)。现在只有三种角色:向日葵、豌豆荚和一种僵尸。向日葵产生阳光,用鼠标点击阳光才能将其收集存储,过一定时间不点击阳光就会消失。种植向日葵和豌豆荚需要花费阳光;豌豆荚当其所在格或右侧有僵尸存在时一粒一粒地发射豌豆,每个豌豆荚内的豌豆数量无限;豌豆向右飞行,打击飞行路线上的僵尸,豌豆不受向日葵和豌豆荚的阻挡,但不能射穿僵尸;僵尸只从屏幕最右边产生,沿着直线从右向左行进,它要吃掉沿途遇到的向日葵和豌豆荚,但会被豌豆打死立即消失。僵尸走到屏幕最左边,则计算机获胜,游戏结束。屏幕上的游戏场地是横平竖直、大小相等的网格,一个格内只能种植一株豌豆荚或向日葵,但可以有任意多个僵尸。
  第二阶段问题
  问题一: 现在场地有从左至右的 10 个格。请修改第一阶段问题的假设,并重做问题 4。希望玩家更忙碌,但人机输赢的机会不变。
  问题二: 构造或查找一个具体的经济问题,解决方法与第一阶段的问题类似,并给出解答。

整体求解过程概述(摘要)

在这里插入图片描述

问题分析:

  问题一的分析
  对问题一进行分析,已知在第一阶段问题的基础上场地从 9 个网格增加到 10 个网格。要求对第一阶段问题的假设进行修改,并重做问题 4。假设游戏开始时有m 朵阳光,每次产生 1 个僵尸,其它假设不变。设置出最佳的种植方案和僵尸产生方案,使玩家更忙碌,并且计算机永远不赢。
  通过对第一阶段问题的求解可知,要解决这个问题,首先,求出在场地从左至右 10个网格的情况下,在场地最左边的若干格内种植豌豆荚,没有向日葵和阳光,等间隔产生 1 个僵尸的情况下,最少种植几棵豌豆荚,使产生的僵尸间隔最小,且计算机不会赢。同样采用第一阶段的求解方法,还是假设植物被僵尸吃的时间可以累计,用逆向归纳法推算出僵尸被豌豆打死所用的最短时间(即为出现僵尸的最短间隔时间) 。其次,通过已知条件找出向日葵数量、豌豆荚数量和游戏开始时阳光数量这三者之间的关系,从而求出游戏开始时在不同数量的阳光下,如何种植向日葵和豌豆荚的方案。最后,由向日葵数量、豌豆荚数量和游戏开始时阳光数量三者之间的关系式,找出向日葵与阳光、豌豆荚与阳光之间的关系并画出图形,从而选出合理的方案,设置出最佳的种植方案和僵尸产生方案,再从合理的方案中找出最合理的方案使玩家更忙碌,并且计算机永远不赢。
  问题二的分析
  对问题二进行分析,然后查找资料得到保险产品的设计方案的解决方法与第一阶段的问题类似,最后对保险方案中的问题进行分析和求解。

  本题的重点是使得保险公司不盈不亏,而保险公司的资金来源有:投保人的投保资金以及将其放在银行产生的利息,即本息和。本题中,以月利率为基准进行计算,月利率c不变,而投保资金是不断改变的,即每月放入银行的本金在不断改变(后一个月的本金为本月缴纳的费用加上上月得到的本息和) 。复利计息是将第一期的利息与本金之和作为第二期的本金,然后反复计算,从而得到不同时间可得到的本息和。该计算方式与本题有异曲同工之处,只不过复利计息是在计算中初始本金不会发生变化,而本题是每月都会注入投保人缴纳的费用。因此我们也可以将复利计息稍加改进,然后用来解决该问题。保险公司可得到的资金收入可分为两个阶段进行计算:一、投保人在n 年缴费内本息和的变化;二、投保人费用缴纳完后返还投保人的同时,剩余的资金产生的本息和的变化情况。最终要使得保险公司不盈不亏,则 ( ) 0 12 = B n m - × 。

  在上述前提下,给出一定的数据,求出投保人每月可领取的金额。可以运用 MATLAB 编程将数据代入模型 1 进行求解。然后可根据得出的结论,分析投保带来的利与弊。

  综上所述,需得出投保人缴纳金额、保险公司退还投保人金额以及 银行月利率,进而求m 、n 的关系。但是 m 、n 的关系又可分为:m 关于n 的关系、n 关于 m 的关系式。我们可以分别将其求出,并绘出关系图进行分析。同时,可以运用 Excel 绘制关系表,以进一步分析投保人缴费年限与投保人死亡年龄之间的关联度。最终得出 m 、n 之间的关系。

  为保险公司产品的最终设计需要的数据进行分析, 站在保险公司的角度,获得更大的利益是最终目的。根据上述三问得出的结果,我们可以分为三个阶段进行分析,讨论投保人在不同年龄阶段死亡给保险公司造成的影响,并求出不同阶段保险公司可获得的利润值。
  由于题中有多个因素是未知的,为了更好的计算,使得方案更加全面,可以将未知的因素具体化,用一些字母先代替,以求出保险公司在此产品中的总支出以及纯收入。进而分析该方案的可实施性。我们可以通过网上资源查找人口死亡等的普查情况,然后运用真实数据分析设计方案。最后,探讨数据来源以及数据加工方法,进一步将模型与实际相联系。

模型假设:

  1 植物被僵尸吃的次数累计
  2 僵尸被豌豆打中时的时间不计
  3 投保人在月初缴纳费用
  4 缴纳费用n 为整数
  5 投保人在月初领取工资
  6 假设银行的月利率为c固定不变
  7 假设保险公司及时将投保人的缴费存入银行,不进行其他投资
  8 假设保险公司一直运行正常,不需要其他任何营运费用

论文缩略图:

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

function y=mm 
for m=6:36 
for m1=1:9 
for m2=1:9 
if m==4*m1+2*m2&m1+m2<=9&m1+m2>=2 
fprintf('%d,%d,%d',m,m1,m2) 
fprintf('\n') 
end 
end 
end 
end
m=1:40; 
subplot(2,2,1) 
x=1;m2=(m-2*x)/4;m1=(m-4*x)/2; 
plot(m,m2,'-r',m,m1,'-b') 
subplot(2,2,2) 
x=2;m2=(m-2*x)/4;m1=(m-4*x)/2; 
plot(m,m2,'-r',m,m1,'-b') 
subplot(2,2,3) 
x=3;m2=(m-2*x)/4;m1=(m-4*x)/2; 
plot(m,m2,'-r',m,m1,'-b') 
subplot(2,2,4) 
x=4;m2=(m-2*x)/4;m1=(m-4*x)/2; 
plot(m,m2,'-r',m,m1,'-b')
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/593900.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红黑树路径长度分析:证明与实现

红黑树路径长度分析&#xff1a;证明与实现 一、红黑树的基本性质二、证明&#xff1a;最长路径至多是最短路径的2倍2.1 证明思路2.2 证明过程 三、伪代码实现四、 C语言代码实现5、 结论 红黑树作为一种高效的自平衡二叉搜索树&#xff0c;在计算机科学领域中被广泛应用于各种…

活动回顾丨掘金海外,探寻泛娱乐社交APP出海新风口

3月中旬,Flat Ads携手声网、XMP在广州成功举办“泛娱乐社交APP出海新风口——广州站”的主题线下沙龙活动。 多位大咖与泛娱乐社交APP赛道的行业伙伴汇聚一堂。本次活动邀请到Flat Ads 市场VP 王若策、声网娱乐视频产品负责人 陈际陶、XMP资深产品运营专家 屈俊星等多位行业大…

深度学习理论基础(三)封装数据集及手写数字识别

目录 前期准备一、制作数据集1. excel表格数据2. 代码 二、手写数字识别1. 下载数据集2. 搭建模型3. 训练网络4. 测试网络5. 保存训练模型6. 导入已经训练好的模型文件7. 完整代码 前期准备 必须使用 3 个 PyTorch 内置的实用工具&#xff08;utils&#xff09;&#xff1a; ⚫…

Acwing.1388 游戏(区间DP对抗思想)

题目 玩家一和玩家二共同玩一个小游戏。 给定一个包含 N个正整数的序列。 由玩家一开始&#xff0c;双方交替行动。 每次行动可以在数列的两端之中任选一个数字将其取走&#xff0c;并给自己增加相应数字的分数。&#xff08;双初始分都是 0分&#xff09; 当所有数字都被…

【QT入门】 Qt代码创建布局综合运用:仿写腾讯会议登陆界面

往期回顾&#xff1a; 【QT入门】 Qt代码创建布局之水平布局、竖直布局详解-CSDN博客 【QT入门】 Qt代码创建布局之栅格布局详解-CSDN博客 【QT入门】 Qt代码创建布局之分裂器布局详解-CSDN博客 【QT入门】 Qt代码创建布局综合运用&#xff1a;仿写腾讯会议登陆界面 一、界面分…

算法 - 符号表-下

&#x1f600;前言 推荐从上看到下 算法 - 符号表-上 &#x1f3e0;个人主页&#xff1a;尘觉主页 文章目录 算法 - 符号表查找树1. 插入操作2. 性质 红黑树1. 左旋转2. 右旋转3. 颜色转换4. 插入5. 分析 散列表1. 散列函数2. 拉链法3. 线性探测法3.1 查找3.2 插入3.3 删除3.5 …

InternLM2-lesson2笔记

书生浦语大模型趣味 Demo 视频连接&#xff1a;https://www.bilibili.com/video/BV1AH4y1H78d/?vd_source902e3124d4683c41b103f1d1322401fa 目录 书生浦语大模型趣味 Demo课程总览SIG项目Demo部署的一般流程存在的问题总结 课程总览 InternLM2-chat-1.8B部署八戒-chat-1.8B…

Solidity入门1: 3. 函数类型

Solidity中的函数 solidity官方文档里把函数归到数值类型 函数结构 function <function name>(<parameter types>) {internal|external|public|private} [pure|view|payable] [returns (<return types>)] 看着些复杂&#xff0c;咱们从前往后一个一个看&…

进程的控制

进程的创建 frok函数添加进程 进程内核的相关管理数据结构&#xff08;task_struct mm_struct页表&#xff09;代码数据 特性&#xff1a; 分配新的内存块和内核数据结构给子进程将父进程部分数据结构内容拷贝至子进程添加子进程到系统进程列表当中fork返回&#xff0c;开始调…

grep无法使用完整的正则表达式

问题描述 grep无法使用完整的正则表达式&#xff0c;比如前置断言、后置断言、\d和\t、\n等 问题原因 使用了扩展正则&#xff0c;而不是perl正则。规则和perl正则不同 从文档上讲得很清楚&#xff1a; -E PATTERN is an extended regular expression 他是扩展表达式&#…

文字超出收起展开功能的实现(vue2)

1.编写展开收起组件 <template><div class"text-clamp"><div class"text" :style"{height}"><span v-if"isVisible" class"btn" click"toggle">{{isExpand ? 收起 : ... 展开}}</spa…

2024/4/5 AT24C02 总线(I²C总线)

存储器的介绍&#xff1a; 一、易失性存储器RAM&#xff1a;存储速度快&#xff0c;掉电丢失 SRAM&#xff08;静态RAM&#xff09;&#xff1a;极快DRAM&#xff08;动态RAM&#xff09;&#xff1a;需要配一个扫描电路&#xff0c;进行“补电”&#xff08;动态刷新&#x…