11.数学建模-状态转移法.pptVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* §12. 常见的数学建模方法 ( 7 ) ---- 状态转移法 处理问题的类型: 状态转移问题, 属离散性模型问题. 问题的内容:讨论在一定的条件下,系统由一个状态转移到另一个 状态是否可能, 如果可能的话,应该如何具体实现。 基本方法及数学技巧: 用向量来模拟状态. 将状态的演变描述成向量 的运算, 以便于计算机程序处理. 问题 1. 人、狗、鸡、米过河问题 某人要带人、狗、鸡、米用渡船过河, 但渡船需要人划外, 最多只能载一物过河, 而且当人不在场时, 狗要咬鸡, 鸡要吃米. 问此人应如何安全渡河? 求解. 把此问题视为一个状态转移问题. 具体规定: 可取状态. 用一个四维向量来表示人、物在此岸与不在此岸的状 态. 这个四维向量中的第一至第四分量元素分别表示人、狗、鸡 、米, 它们的取值只能为 1 或 0 , 其中 1 表示在此岸, 0 表示不在 此岸. 例如: ( 1, 0, 1, 0 ) 表示人、鸡在此岸, 狗与米在对岸. 由题 意, 允许发生的状态向量集合为: S = { ( 1, 1, 1, 1 ) , ( 1, 1, 1, 0 ) , ( 1, 1, 0, 1 ) , ( 1, 0, 1, 1 ) , ( 1, 0, 1, 0 ) , ( 0, 1, 0, 1 ) , ( 0, 1, 0, 0 ) , ( 0, 0 , 1, 0 ) , ( 0, 0, 0, 1 ) , ( 0, 0, 0, 0 ) } . (2) 可取运算. 状态转移需经状态运算来实现. 在实际问题中, 摆一次 渡可改变现有的状态, 为此引进一个四维的状态运算向量, 用它来反 映摆渡操作情况. 根据题意, 状态运算向量集合为: D = { ( 1, 0, 1, 0 ) , ( 1, 1, 0, 0 ) , ( 1, 0, 0, 1 ) , ( 1, 0, 0, 0 ) } . 把每一次摆渡运作看成为一个可取状态向量和一个状态运算向量 的向量相加或相减 (去往对岸为相减,返回此岸为相加). 在以上所规定的意义下, 这个问题的状态转移模型可表示为: s i+1 = s i + (-1) i · d k , 其中 s i ? S , d k ? D ; 且对任意 j i , 都有 s j ≠ s i 令 s1 = ( 1, 1, 1, 1 ) , sn = ( 0, 0, 0, 0 ) , 利用计算机编程处理, 例如, 可以用 Math 软件编程求解这个摆渡操作方案 , 即求出 n 和 d1 , d2 , d3 , …… , dn 各是多少. 具体的结果为: ( 1,1,1,1 ) ( 0,1,0,1 ) ( 1,1,0,1 ) ( 0,0,0,1 ) ( 1,0,1,1 ) ( 0,0,1,0 ) ( 1,0,1,0 ) ( 0,0,0,0 ) 。 或者为: ( 1,1,1,1 ) ( 0,1,0,1 ) ( 1,1,0,1 ) ( 0,1,0,0 ) ( 1,1,1,0 ) ( 0,0,1,0 ) ( 1,0,1,0 ) ( 0,0,0,0 )。 问题 2 . 商人过河问题 三名商人各带一名仆人过河, 渡船最多载 2 人. 在任何一岸, 仆人数不允许大于商人数, 否则仆人就要杀人越货. 请制定一个安全渡河的操作方案. 求解. 用一个二维向量来表示此岸的商人数、仆人数的具体状态. 例如: ( 3, 3 ) 表示此岸有三个商人, 三个仆人 ; ( 0, 2 ) 表示此岸 无商人 , 两个仆人 ; 等等 . 状态运算向量集合 为: D = { ( 0, 1 ) , ( 0 , 2 ) , ( 1, 1 ) , ( 1, 0 ) , ( 2, 0 ) } . 把每一次摆渡运作看成为一个可取状态向量和一个状态运算向量 的向量相加或相减 (去往对岸为相减,返回此岸为相加). 允许状态向量集合 为: S = { ( 3, 3 ) , ( 3, 2 ) , ( 3, 1 ) , ( 3, 0 ) , ( 2, 2 ) , ( 1, 1 ) , ( 0, 3 ) ,( 0, 2 ) , ( 0, 1 ) , ( 0, 0 ) } 和上一问题一样, 可以用 Mathematica 软件编程求解

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档