第三章-经典数学问题的建模巧用.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学建模与实验 第三章 经典数学问题的建模巧用 人狼羊菜渡河问题 状态转移问题 一个摆渡人希望用一条小船把一只狼、一头羊和一篮白菜从一条河的左岸渡到右岸去,而船小只能容纳人、狼、羊、菜中的两个,决不能在无人看守的情况下留下狼和羊在一起,也不允许羊和白菜在一起,应怎样渡河才能将狼、羊、白菜都运过河? 人狼羊菜渡河问题 问题分析 这是一个多步决策问题,我们采用状态变量表示此岸人、狼、羊、菜的状况,决策变量为每次运载的东西。问题转化为在状态允许的范围内,确定每一步的决策,达到安全渡河的目的。 模型建立与求解 我们用 作为状态变量,表示人、狼、羊、菜在此岸的状态。 表示在彼岸。 表示在此岸, 人狼羊菜渡河问题 ◆则所有的安全状态集合S为 ◆可供决策的变量集合D为 ◆定义S与D的运算为模2运算:如 (1,1,1,0)+(1,1,0,0)=(0,0,1,0) 状态变量 决策变量 新的状态变量 (1,0,0,0)=(0,1,1,0) × (1,1,0,0)=(0,0,1,0) (1,1,1,0) + (1,0,1,0)=(0,1,0,0) (1,0,0,1)=(0,1,1,1) × 人狼羊菜渡河问题 状态转移举例 状态 决策变量 状态 人狼羊菜渡河问题 ◆由此可得10个安全状态之间的转移关系图 标号 人在此岸 人在彼岸 标号 1 (1,1,1,1) (0,0 ,0,0) 6 2 (1,1,1,0) (0,0,0,1) 7 3 (1,1,0,1) (0,0,1,0) 8 4 (1,0,1,1) (0,1,0,0) 9 5 (1,0,1,0) (0,1,0,1) 10 用标号表示的连接图 人狼羊菜渡河问题 1 10 3 7 4 8 2 9 5 6 从连接图可看出,状态1到状态6的最短路线为 路线1:1-10-3-7-4-8-5-6 路线2:1-10-3-9-2-8-5-6 人狼羊菜渡河问题 课堂练习 商人过河问题 有3名商人各带一名仆人乘船渡河,小船只能容纳 两个人,由他们自己划船。仆人们约定,在河的一岸, 一旦仆人的人数比商人多,就杀人越货。但如何乘船 的大权掌握在商人们手里。问商人们怎样才能安全 渡河? 数学巧用 棋子颜色问题 任意拿出黑白两种颜色的棋子共n个,随机排成一圆圈。然后在两颜色相同的棋子中间放一颗黑色棋子,在两颗颜色不同的棋子中间放一颗白色棋子,放完后撤掉原来的棋子,再重复以上过程。问这样重复进行下去棋子的颜色会发生怎样的变化? 棋子颜色问题 模型分析 (-1)×(-1)=1,1 ×(-1)=-1, 运算结果与颜色相同的棋子中间放一颗黑色棋子,颜色不同的棋子中间放一颗白色棋子的规则正好相符。 如果用1表示黑色棋子,用-1表示白色棋子。因为 故可设棋子数为n, 为初始状态,其中 则状态变化过程如下 n=3 n=2 两步以后棋 子全为黑色 三步以后回 到前面状态 棋子颜色问题 n=4 棋子颜色问题 经过4步棋子全为黑子 n=5 棋子颜色问题 棋子既不循环也不全为黑子 当棋子数为 结论 棋子颜色问题 时,至多经 全变为黑子。当棋子数不为 次操作,就可以 时,一般不能全变为 黑子。 1.设棋子数为16,经过16步操作,看棋子是否全变为 黑色。 2.设棋子数为7,经过10步操作,看棋子颜色如何。 编程练习 棋子颜色问题 MATLAB程序 棋子颜色问题 clc clear all n=16;%棋子数 times=16;%迭代次数 x0=zeros(1,n);%产生1×n全零阵 x1=zeros(1,n); for i=1:n k=rand(1,1);%产生1个服从[0,1]上均匀分布的随机数 if(k>0.5) x0(i)=1; else x0(i)=-1; end end 棋子颜色问题 x0 %初始棋子颜色构造完毕 for i=1:times i %显示迭代次数 for k=1:n-1 x1(k)=x0(k)*x0(k+1); end x1(n)=x0(n)*x0(1); x1 %显示第i次迭代结果 x0=x1;%初始状态更新 end 铺瓷砖问题 要用40块方形

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档