人狼羊草过河问题数学建模
更新时间:2024-05-27 16:41:01 阅读量: 综合文库 文档下载
数学建模——过河问题一(人狼羊草)
数 学 建 模
——题目:过河问题一(人狼羊草)
1 / 15
数学建模——过河问题一(人狼羊草)
摘要 ........................................................................................... 3 一、问题的提出 ............................................................................... 3 二、问题分析及假设 ........................................................................ 4 三、模型的参数及符号 .................................................................... 5 四、模型及解 ................................................................................... 5 五、计算机编程法(C语言) ....................................................... 10 六、参考文献 ................................................................................. 14
2 / 15
数学建模——过河问题一(人狼羊草)
摘要
在本次数学建模中,我们主要讨论的是人狼羊草问题:一位渔民带了狼、羊、草,准备过河。可是小船每次只能容下渔民和一件物品。渔民不在时,狼会吃羊、羊会吃草。要求我们设计一个方案,使农夫可以无损失的过河。此过河问题可以视为一个多步决策过程,确定每一步的决策,达到过河的目标。而且,我们假设人不在时,狼或羊在农夫不在时不会自己跑掉或被人牵走且农夫会划船。于是我们得到一下集中状态:狼羊草人/, /狼羊草人, 狼羊人/草, 草/狼羊人, 狼草人/羊, 羊/狼草人, 羊草人/狼, 狼/羊草人, 羊人/狼草, 狼草/羊人。题目要求找出“狼羊草人/”到“/狼羊草人”的路径,本论文根据题目要求而讨论了人、狼、羊、草怎样安全过河的模型。提出了算法和计算机编程法两种解决问题的方法,并且通过计算机编程法得出了一种方法。
一、问题的提出
人、狼、羊、草均需过河,船需要人划,最多载一物。人不在时,狼吃羊、羊吃草,问如何过河?
这个问题可以简单的解释为:一位渔民带了狼、羊、草,准备过河。可是小船每次只能容下渔民和一件物品。另有一条件为,渔民不在时,狼会吃羊、羊会吃草。也就是说,狼与羊、羊与草、或狼羊草不能单独在一起。现要求为过河人提出某种过河的方法,使人、狼、羊、草都安全度过河且方法最简单为宜
3 / 15
数学建模——过河问题一(人狼羊草)
二、问题分析及假设
过河问题相当于状态的转移。初状态是人,狼,羊,草均在此岸,目标终状态是人,狼,羊,草均在对岸。
(此岸)状态向量:用四维向量(人,狼,羊,草)表示人,狼,羊,草各自的状态,记“在此岸”时各分量为“1”,否则记为“0”。例如:(1,1,1,1)表示人,狼,羊,草均在此岸,(0,0,0,0)表示人,狼,羊,草均在对岸。
允许状态向量:满足系统限定条件的状态向量。穷举所有允许状态向量如下:(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,0,0,1),(0,0,1,0)(0,1,0,0),(0,0,0,0)。
运载状态向量:用四维向量(人,狼,羊,草)表示他们各自被运载的情况,记“被运载”时各分量为“1”,否则记为“0”。例如:(1,1,0,0)表示被运载的是人和狼,又如(1,0,1,0)表示被运载的是人和羊。
允许运载向量:满足系统限定条件下的运载向量。穷举所有允许运载向量如下:(1,0,0,0),(1,1,0,0),(1,0,1,0),(1,0,0,1)。
转移:一允许状态向量逻辑加以允许运载向量。 状态转移方程:原状态⊕运载=现状态 运算规则:1+1=0,1+0=1,0+1=1,0+0=0。
允许运载方式:若可取状态向量 + 可取运载向量 = 可取状态向量,
4 / 15
数学建模——过河问题一(人狼羊草)
则此运载为可取运载方式,其中“+”为按上述运算规则定义的运算符。
三、模型的参数及符号
(1)S:表示所有允许状态向量的集合
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,0,0,1),(0,0,1,0),(0,1,0,0),(0,0,0,0)}
(2)D:表示所有允许运载向量
D={(1,0,0,0),(1,1,0,0),(1,0,1,0),(1,0,0,
1)}
(3)Sk:表示第K步允许状态向量 (4)Dk:表示第K步允许运载向量 (5)k:表示第几步,k=1,2,3…n
四、模型及解
模型:在计算规则“1+1=0,1+0=1,0+1=1,0+0=0”下, 且满足Sk + Dk = Sk+1,问题:(1)求Dk属于D,使得Sk+1属于S;(2)求最优的n。其中:初始条件S=(1,1,1,1),最终状态Sn+1=(0,0,0,0)
解法(1):算法
5 / 15
数学建模——过河问题一(人狼羊草)
1. (1,1,1,1) + (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(0,0,1,1) × =(0,1,0,1) √ =(0,1,1,0) × =(0,1,1,1) ×
2. (0,1,0,1) + (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(1,0,0,1) × =(1,1,1,1) × =(1,1,0,0) × =(1,1,0,1) √
(1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(0,0,0,1) √ =(0,1,1,1) × =(0,1,0,0) √ =(0,1,0,1) √ 3. (1,1,0,1) +
4.1 (0,1,0,1)与上述第二步重复,必定不是最优解,故不用进行下去。
4.2 (0,0,0,1) + (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(1,1,0,1) √ =(1,0,1,1) √ =(1,0,0,0) × =(1,0,0,1) ×
4.2.1 ( 1,1,0,1 )与上述第3步重复,必定不是最优解,不用进行下去
6 / 15
数学建模——过河问题一(人狼羊草)
4.2.2 (1,0,1,1) + (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(0,1,1,1) × =(0,0,0,1) √ =(0,0,1,0) √ =(0,0,1,1) ×
4.2.2.1 (0,0,0,1)与上述4.2重复,必定不是最优解,不用进行下去
4.2.2.2 (0,0,1,0) + (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(1,1,1,0) √ =(1,0,0,0) × =(1,0,1,1) √ =(1,0,1,0) √
4.2.2.2.1 (1,0,1,1)与上述4.2.2重复,必定不是最优解,不用进行下去
4.2.2.2.1 (1,0,1,0) + (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(0,1,1,0) × =(0,0,0,0) √ =(0,0,1,1) × =(0,0,1,0) √
已得最终状态向量(0,0,0,0),过程无重复,此即为最优解。
(1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(1,0,0,0) × =(1,1,1,0) √ =(1,1,0,1) √ =(1,1,0,0) × 4.3 (0,1,0,0) +
7 / 15
数学建模——过河问题一(人狼羊草)
4.3.1 ( 1,1,0,1 )与上述第3步重复,必定不是最优解,不用进行下去
4.3.2 (1,1,1,0) + (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,0,0) =(0,0,1,0) √ =(0,1,0,0) √ =(0,1,1,1) × =(0,1,1,0) ×
4.3.2.1 (0,1,0,0)与上述4.3重复,必定不是最优解,不用进行下去
4.3.2.2 ( 0,0,1,0 )与按上述4.2.2.2步骤进行即可得相同的最优解 模型的解 最终结果:
解一: D1(1,1,1,1)→D2(0,1,0,1)→D3( 1,1,0,1 )→D4(0,1,0,0)→D5( 1,1,1,0 )→D6( 0,0,1,0 )→D7(1,0,1,0)→D8(0,0,0,0)
8 / 15
数学建模——过河问题一(人狼羊草)
解二: D1(1,1,1,1)→D2(0,1,0,1)→D3( 1,1,0,1 )→D4(0,0,0,1)→D5(1,0,1,1)→D6( 0,0,1,0 )→D7(1,0,1,0)→D8(0,0,0,0) n=7 解法(2):图解法
绘图要求:(1)连线两端必须是允许状态向量;
(2)相邻两点(通过一次运载得到的点)相连; (3)从(1,1,1,1)至(0,0,0,0)结束。 连线如下:
(1,1,1,1) (1,0,1,0) (0,0,0,0) (0,0,0,1) (1,1,0,1) (0,0,1,0) (1,0,1,1) (1,1,1,0) (0,1,0,0) (0,1,0,1)
最终结果:
9 / 15
数学建模——过河问题一(人狼羊草)
模型的解
解一: D1(1,1,1,1)→D2(0,1,0,1)→D3( 1,1,0,1 )→D4(0,1,0,0)→D5( 1,1,1,0 )→D6( 0,0,1,0 )→D7(1,0,1,0)→D8(0,0,0,0)
解二: D1(1,1,1,1)→D2(0,1,0,1)→D3( 1,1,0,1 )→D4(0,0,0,1)→D5(1,0,1,1)→D6( 0,0,1,0 )→D7(1,0,1,0)→D8(0,0,0,0) n=7
与解法(1)解相同
五、计算机编程法(C语言)
要解决这个问题就要使过河时载两个过河,返回时尽量只有一个回来。用一个字符串数组来存人,狼,羊,草;下标依次为0,1,2,3;但他们都有河这边和那边两种状态;为方便则定义一个结构,只含一个int型变量n;当在河这边时n设为0;在河那边时n设为1。由于每次过河与返回都要考虑狼能否吃羊或羊能否吃草;则需要一个函数来判断每次选择是否满足条件。 源代码:
10 / 15
数学建模——过河问题一(人狼羊草)
#include\typedef struct node {int n; }node;
int p(node *a)
int i,j=1; if(a->n==1) {for(i=1;i<3;i++)
if((a+i)->n==0&&(a+i+1)->n==0) {j=0;break;} }
if(a->n==0) {for(i=1;i<3;i++)
if((a+i)->n&&(a+i+1)->n) {j=0;break;} }
return j; }
int main() {
11 / 15
数学建模——过河问题一(人狼羊草)
int i,k=0,m=0,l,j=0,q;
char str[4][7]={\人\狼\羊\草\node a[4]; for(i=0;i<4;i++) (a+i)->n=0; while(1) {
a[0].n=1; for(l=1;l<4;l++) {
if(l==j) {j=0;continue;} if((a+l)->n==0) {
(a+l)->n=1; if(p(a)) break; else (a+l)->n=0; } }
printf(\过河; \
12 / 15
数学建模——过河问题一(人狼羊草)
for(q=0;q<4;q++) if((a+q)->n) m=1; else {m=0;break;} if(m) break; a->n=0; if(p(a)==0) { k=1;
for(j=1;j<4;j++) {
if(j==l) {l=0;continue;} if((a+j)->n==1) {
(a+j)->n=0; if(p(a)) break; else (a+j)->n=1; } } }
13 / 15
数学建模——过河问题一(人狼羊草)
if(k) {printf(\返回\\n\else printf(\返回\\n\}
printf(\return 0; }
图为计算机运行结果
六、参考文献
1、数学建模精讲精练,哈尔滨工程大学出版社,沈继红主编,2007 2、数学建模,哈尔滨工业大学出版社,白凤山等主编,2003
14 / 15
数学建模——过河问题一(人狼羊草)
3,数学模型,高等教育出版社,姜启源主编,1993 4、C语言程序设计教程,电子工业出版社,凌云主编,2008 5、数学建模,浙江大学出版社,杨启帆主编,1999 6、数学建模导论,北京邮电大学出版社,陈理荣主编,2000
15 / 15
正在阅读:
人狼羊草过河问题数学建模05-27
试析地方高校的高层次人才引进工作10-02
第一次上台演讲作文700字06-25
天正建筑TArch TS08-20
人们应不应该整容辩论赛05-05
万用表的设计与制作09-30
考研复习全城攻略06-07
护理安全管理制度08-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 羊草
- 数学建模
- 过河
- 问题
- 最新部编人教版一年级下册语文期末测试卷(附答案及出题意图)
- 人工智能项目建议书
- 2014年佛山市二模语文及答案
- 粒度测试的基本概念和基本知识
- 中国转型期的腐败和反腐败问题的新制度经济学分析
- 三年级语文校本课程教案
- 小车方向盘角度检测系统本科毕业论文设计
- 雨水管管径如何确定
- 信管管理与信息技术专业人才需求分析报告
- 2019中考地理地理模拟试题压轴卷(后附答案)
- 五年级上册复习题
- 北京课改版英语课本三年级下
- 建筑工程中消防安全设施的设计及管理
- 专题1.5以圆或隐圆为背景的填空题2018年高考数学备考优生百日闯
- 学术道德与学术规范继续教育 答案 全
- 关于转发《中国中铁股份有限公司隧道施工防坍卡控红线》的通知 -
- 九年级英语第二次适应性练习(二模)试题
- 云南省师范大学附属中学2018届高三高考适应性月考卷(三)数学(
- Patrol3.0软件安装及使用说明 - 图文
- %E5%95%86%E4%B8%9A%E4%BC%81%E4%B8%9A%E7%89%A9%E6%B5%81%E7%8E