人猫鸡米渡河问题地数学模型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文案 PAGE 文档 人猫鸡米渡河问题的数学模型 摘要:人带着猫、鸡、米过河,从左岸到右岸,船除了需要人划之外(船除了要载人外),只能载猫、鸡、米三者之一,而当人不在场时猫要吃鸡、鸡要吃米。本文将设计一个安全过河方案,使渡河次数尽量地少。模仿“商人过河”的模型设计出新的数学模型。 关键字:穷举法,Matlab运算求解。 一、问题的提出 课本P19.T5: 模仿“商人过河”模型,做下面游戏:人带着猫、鸡、米过河,船除需要人划之外,至多能载猫、鸡、米三者之一,而当人不在场时猫要吃鸡、鸡要吃米。设计一个过河方案,建立数学模型,并使渡河次数尽量地少。? 二、问题的分析 因为这是个简单问题,研究对象少,所以可以用穷举法,简单运算即可解题。 此问题是从状态向量A(1,1,1,1)经过奇数次运算向量B变为状态向量A(0,0,0,0)的状态。转移过程为什么是奇数次?我们注意到过河有两种,奇数次的为从左岸到右岸,而偶数的为右岸回到左岸,因此得到下述转移过程,所以最后应该是过河完成时状态转移数为奇数次。 三、问题的假设 1.1:假设船除了载人之外,至多只能载猫、鸡、米三者之一。 1.2:当人不在场时,猫一定会吃鸡、鸡一定会吃米。 四、定义符号说明: 我们将人,猫,鸡,米依次用四维向量中的分量表示,当一物在左岸时,相应的分量记为1,在右岸时记为0.如向量(1,0,1,0)表示人和鸡在左岸,猫和米在右岸,并将这些向量称为状态向量。例如(1,1,1,1)表示它们都在左岸,(0,1,1,0)表示猫,鸡在左岸,人,米在右岸;由于问题中的限制条件,有些状态是允许的,有些状态是不允许的。凡问题可以允许存在的状态称为可取状态。A向量定义为状态变量。比如是一个可取状态向量,但是一个不可取状态向量。此外,B向量定义为运载变量。把每运载一次也用一个四维向量来表示。如表示人和猫在船上,而鸡和米不在船上,这自然是可取的运载,因为船可载两物,而则是不可取运载,依此规律类推。 五、模型的建立 对于这个问题我们用穷举的方法来解决,首先将此问题化为状态转移问题来解决。对本问题来说: 可取状态向量共有10个,可以用穷举法列出来: 右边5个正好是左边5个的相反状态。 可取运载共有4个: 5.3、可取运算:规定与相加时对每一分量按二进制法则(异或运算)进行。这样,一次渡河就是一个可取状态向量与一个可取运载向量相加,可取状态经过加法运算仍是一个可取状态,这种运算称为可取运算。 在上述规定下,问题转化为:从初始状态至少经过多少次(奇数次)可取运算才能转化为状态。 六、模型的求解 如果一个状态是可取的就打,否则就打,虽然可取但已重复就打,于是问题可用穷举法解答如下: 1)(2) (3) (4) (4) (5) (5) (6) (7) 第7步已经出现了状态,说明经7次运载即可,其过程为: 因此,该问题的最优方案有2种: 1、人先带鸡过河,然后人再回来,把米带过河,然后把鸡运回河岸,人再把猫带过河,最后人回来把鸡带过去。 2、人先带鸡过河,然后人再回来,把猫带过河,然后把鸡运回河岸,人再把米带过河,最后人回来把鸡带过去。 七、模型的评价 7.1、优点: 本算法将研究对象用四维向量中的分量用0,1表示,运用穷举法找出所有可取状态向量再用一些基础可取运算方法将结果列出来再以图形表示出来。模型简单,切合实际,易于理解,整个过程易懂合理。 7.2、缺点: 由于问题的求解没有使用LINGO,LINDO或MATLAB软件,当状态和决策过多时,采用上述方法求解显得繁琐,容易出错,所以下面给出此问题的matlab求解过程。 7.3、推广: 正如课本上的商人们安全过河问题,当商人和随从人数增加或小船的容量加大时,靠逻辑思考就有些困难了,而适当地设置状态和决策,确定状态转移率,建立多步决策模型,仍可方便有效地求解此类型问题。 八、mathlab求解过程 模型假设与建立: 8.1.1、由上可知,可取状态向量共有10个,即: 可取运载B有4个 : (1,1,0,0)、 (1,0,1,0)、 (1,0,0,1)、 (1,0,0,0)。 8.2、算法设计: 8.2.1、规定A和B的每一分量相加时按二进制法则进行,这样一次渡河就是一个可取状态和一个可取运载相加,在判断和向量是否属于可取状态即可。 8.2.2、可以将可取状态及可取运载分别编成矩阵。共分为五个m文件,一个主文件xduhe.m数,四个子文件分别为: 8.2.2.1、duhe(L,B,M,s)函数: 用来实现渡河总思路。思路

您可能关注的文档

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档