求解夫妻过河问题

合集下载

数学建模:第二章 古典模型

数学建模:第二章 古典模型
26
(4)设有n个人参加一宴会,已知没有 人认识所有的人,问是否有两个人,他们 认识的人一样多?
27
二、椅子问题
问题:将4条腿长相同的方椅子 放在不平的地上,怎样才能放平?
28
假定椅子中心不动,每条腿的着地点视 为几何上的点,用A、B、C、D表示,把AC 和BD连线看作坐标系中的x轴和y轴,把转 动椅子看作坐标的旋转如图2-6所示:
7
思考题: 在一个边长为1的正三角形内, 1 若要彼此间距离大于 ,最多不超过 n 多少个点?
8
问题2:
能否在8×8的方格表ABCD各个空格中分别 填写1、2、3这三个数中的任一个,使得每行、 每列及对角线AC、BD上的各个数的和都不相同? 为什么?
A D
B 图 2-2
C
9
如图2-2,因为每行、每列及对角线上的 数都是8个,所以8个数的和最小值是1×8=8, 最大值是3×8=24,共有17个不同的和。而由 题意知,每行、每列及对角线AC、BD上各个 数的和应有8+8+2=18个,所以要想使每行、 每列及两对角线上18个和都不相同是办不到 的。
10
三、学会估算 问题:能否将一张纸对折100次?
对折100次共2 层
100
2 1024 1000 10
10
3
所以 2 10 30 10 层就有 若每层纸厚度为0.05毫米,
100 30
5 1022 千米
即五万亿亿千米,而从地球到太阳也不过1.5亿 千米。 对折100次就无法办到了。
Fn 2 1
2n
进行试算:
F0 3
F1 5 F2 17
F3 257 都是素数
F 费尔马断言:“对任意自然数n,n 都是 素数。”,这是著名的费尔马猜想。

求解夫妻过河问题

求解夫妻过河问题

曲靖师范学院本科生毕业论文论文题目: matlab求解夫妻过河问题作者、学号:郭彩虹2010111212学院、年级:数学与信息科学学院2010级学科、专业:数学数学与应用数学指导教师:郭昀完成日期:2013年12月27日曲靖师范学院教务处摘要渡河问题.[]1始于公元8 世纪,至今它仍是一个逻辑难题,许多数学建模教材上已经提到.这个问题指的是:有不同的对象或生物,他们其中一些相互不共存,逐步地让一小群体从河的一岸到另一岸,经过有限步后,该群体全部从一岸达到另一岸,并且要求没有任何损失.在渡河问题的夫妻过河问题中我们发现状态转移问题有时不一定有解,有时的解又不一定有规律,本文对于夫妻过河问题利用图解法和matlab编写程序求解5对、6对夫妻过河是否有解,并推广到n对夫妻与船的运载能力m对于能否安全渡河时它们之间的关系。

关键词:多步决策 matlab 数学模型渡河问题Problem of couples across the riverAbstract: the problem of crossing the river. In the 8th century, it still is a logical problem, many mathematical modeling teaching material has been mentioned. The question is: have different objects or creatures, they lack some mutual coexistence, gradually to a small group from one bank to another bank of the river, after finite steps, the group all from one side to the other shore, and requires no losses. In crossing the river problem of couples across the river, we found that state transition problem sometimes does not necessarily have a solution, sometimes the solution is not necessarily regular, in this paper, using the graphical method for the problem of couples across the river and the matlab program to solve the 5, 6 for couple across a river if there is a solution,And derived to n couple with the ability to run m to safe crossing the river when the relationship between them.Keywords: Multistep decision Matlab Mathematical model Problem of crossing the river目录1 引言 (1)2 文献综述 (1)2.1 国内外研究现状 (1)2.2 国内外研究现状评价 (2)2.3 问题提出 (2)3 模型假设 (2)4 符号说明 (2)5 重述3、4对夫妻过河问题的解 (3)5.1 3对夫妻过河的解 (3)5.2 4对夫妻过河的解 (3)6 五对夫妻过河模型 (4)6.1 模型构成 (4)6.2 模型建立 (4)6.3 模型求解 (4)6.31 Matlab编程求解 (4)6.32 图解法 (7)7 六对夫妻过河模型 (8)7.1 模型构成 (8)7.2 模型求解 (9)8 n对夫妻过河情况 (10)8.1 求解 (10)8.2 验证 (11)9 总结与展望 (12)9.1 总结 (12)9.2后续研究工作展望 (13)参考文献 (14)附录 (15)1 引言这是一个古老的阿拉伯数学问题。

过河问题

过河问题

过河问题这种问题是比较恼人的题目,不过掌握了方法后还是知道如何应对的。

先看题目例4:有a,b,c,d四人在晚上都要从桥的左边到右边。

桥一次最多两人,只有一个手电,过桥必须手电。

四人过桥速度a2分钟,b 3分钟,c 8分钟,d 10分钟,走得快的要等走得慢的,问所有人过最短要()分钟A 22 B21 C20 D 19答案:B这类题目要按这种顺序来1、过河最短次最短先过2、已过的最短时间的人返回3、过河最长时间的和次最长的过4、已过次最短的人返回5、剩下过河时间最短和次最短的人过河,重复以上过程直至走完比较大小问题有三种方法作差、作商、找中间值,找中间值比较经典。

比如4/9,3/7,151/301,拿它们分别与1/2比较就可以看出大小了。

尾数计算问题对于此类问题要知道,和的尾数是一个加数的尾数加上另一个加数的尾数,差、积、商都有同样的道理例3:(05中央)173*173*173-162*162*162=()A.926183B.936185 C 926187 D 926189工程问题个人觉得这类题目还是比较简单的,可以把全工程看做1个单位,工作要N天完成其工作效率就是1/N,两人共同完成就是1/n1+1/n2,工程问题有许多变形,如水池灌水之类的,思路是一样的。

例2:(07中央)一篇文章,现有甲乙丙三人,如果由甲乙两人合作翻译,需要 10 小时完成,如果由乙丙两人合作翻译,需要12 小时完成。

现在先由甲丙两人合作翻译4 小时,剩下的再由乙单独去翻译,需要12 小时才能完成,则,这篇文章如果全部由乙单独翻译,要( ) 小时能够完成.A.15 B . 18 C . 20 D .25答案:A各自设为 1/X,1/Y,1/Z,列出方程即可求解基础板块:1、路程问题这类问题分为相遇问题、追及问题、流水问题相遇问题要把握的核心是“速度和”的问题,即A、B两者所走的路程和等于速度和*相遇时间;追及问题要把握的核心是“速度差”的问题,即A走的路程减去B走的路程等于速度差*追及时间;流水问题,为节省空间只需记住以下结论:船速=(顺水速度+逆水速度)/2,水速=(顺水速度—逆水速度)/2.当然题目不会单纯明显的考你相遇、追及、流水问题,存在许多变形。

夫妻过河问题

夫妻过河问题

可取状态: 可取状态:
( 3,3 ) ( 3,2 ) ( 3,1) ( 3,0 ) ( 0,0 ) ( 0,1) ( 0,2 ) ( 0,3 ) (1,1) ( 2,2 )
分别表示1 分别表示1对和两对夫妻
可取运载: 可取运载:
(2,0) (0,2) (1,1) (1,0) (0,1)
( 1)
( 2 ,0 ) (1 ,3 ) ( 3 ,1 ) ( 0 ,2 ) ( 3 , 3 ) − ( 1 ,1 ) → ( 2 , 2 ) (1 ,0 ) ( 2 ,3 ) ( 3 ,2 ) ( 0 ,1 )
可取状态:
( 111 , 111 ) ( 111 , 110 ) ( 111 , 101 ) ( 111 , 011 ) ( 111 , 100 ) ( 111 , 010 ) ( 111 , 001 ) ( 111 , 000 )
( 000 , 000 ) ( 000 , 001 ) ( 000 , 010 ) ( 000 , 100 ) ( 000 , 011 ) ( 000 , 101 ) ( 000 , 110 ) ( 000 , 111 )
(3)可取运算:按普通向量加法运算,一 可取运算:按普通向量加法运算, 次过河就相当于一个可取状态向量与一 个可取运载向量相加。 个可取运载向量相加。
于是问题就转化为: 由初始状态 ( 3 , 3 ) 经 于是问题就转化为 : 由初始状态( 过多少次( 奇数) 过多少次 ( 奇数 ) 可取运算才能转化为状态 ( 0, 0) 。
Y N C N N C N N N Y
( 8)
( 9)
( 2 ,0 ) ( − 2 ,3 ) ( 0 ,1 ) ( 0 ,2 ) ( 0 , 3 ) − ( 1 ,1 ) → ( − 1 , 2 ) (1 ,0 ) ( − 1 ,3 ) ( 0 ,2 ) ( 0 ,1 )

浙江大学数学建模第四章基于线性代数与差分方程方法的模型

浙江大学数学建模第四章基于线性代数与差分方程方法的模型
(i,i)为可取状态,这是因为总可以适当安排而使他 们是 i对夫妻。 (ii)可取运算: 过河方式可以是一对夫妻、两个男人或两个女人, 这一问题的状态和运算与 当然也可以是一人过河。转移向量可取成 ((- 前一问题有所不同,根据 im,(-1)in),其中m、n可取0、1、2,但必须 1) 题意,状态应能反映出两 满足1≤m+n≤2。当j为奇数时表示过河。 当j为偶 岸的男女人数,过河也同 数时表示由对岸回来,运算规则同普通向量的加 样要反映出性别 法。
2.移位密码体制
移位密码采用移位法进行加密,明文中的字母重新排列,本 身不变,只是位置改变了。 另一种移位 法采用将字母表中的字母平移若干位的方法来构造 早在4000多年前,古希腊人就用一种名 叫“天书”的器械 密文字母表,传说这类方法是由古罗马皇帝凯撒最早使用的, 来加密消息。该密码器械是用一条窄长的草纸缠绕在一个 故这种密文字母表被称为凯撒字母表。例如,如用将字母表向 直径确定的圆筒上,明文逐行横写在纸带上,当取下纸带 右平移3位的方法来构造密文字母表,可 得: 时,字母的次序就被打乱了,消息得以隐蔽。收方阅读消 明文字母表: ABCDEFGHIJKLMNOPQRSTUVWXYZ 息时,要将纸带重新绕在直径与原来相同的圆筒上,才能 密文字母表: DEFGHIJKLMNOPQRTSUVWXYZABC 看到正确的消息。在这里圆筒的直径起到了密钥的作用。 “WKDQN BRX” 因此 “THANK YOU” 以上两种移位较易被人破译,为打破字母表中原有的顺序还可 采用所谓路线加密法,即把明文字母表按某种既定的顺序安排 在一个矩阵中,然后用另一种顺序选出矩阵中的字母来产生密 文表。
§4.2 密码的设计,解码与破译
密码的设计和使用至少可从追溯到四千多年前的埃及 ,巴 比伦、罗马和希腊,历史极为久远 。古代隐藏信息的方法 主要有两大类: 其一为隐藏信息载体,采用隐写术 等; 其二为变换信息载体,使之无法为一般人所理解 。

第五章 线性代数和状态转移

第五章 线性代数和状态转移

2.移位密码体制
移位密码采用移位法进行加密,明文中的字母重新排列,本 身不变,只是位置改变了。 另一种移位 法采用将字母表中的字母平移若干位的方法来构造 早在4000多年前,古希腊人就用一种名 叫“天书”的器械 密文字母表,传说这类方法是由古罗马皇帝凯撒最早使用的, 来加密消息。该密码器械是用一条窄长的草纸缠绕在一个 故这种密文字母表被称为凯撒字母表。例如,如用将字母表向 直径确定的圆筒上,明文逐行横写在纸带上,当取下纸带 右平移3位的方法来构造密文字母表,可 得: 时,字母的次序就被打乱了,消息得以隐蔽。收方阅读消 明文字母表: ABCDEFGHIJKLMNOPQRSTUVWXYZ 息时,要将纸带重新绕在直径与原来相同的圆筒上,才能 密文字母表: DEFGHIJKLMNOPQRTSUVWXYZABC 看到正确的消息。在这里圆筒的直径起到了密钥的作用。 “WKDQN BRX” 因此 “THANK YOU” 以上两种移位较易被人破译,为打破字母表中原有的顺序还可 采用所谓路线加密法,即把明文字母表按某种既定的顺序安排 在一个矩阵中,然后用另一种顺序选出矩阵中的字母来产生密 文表。
当明文超过规定矩阵的大小时,可以另加一矩阵。当需要 使用不同的顺序进行编写和选择,可以得到各种不同的路 加密的字母数小于矩阵大小时,可以在矩阵中留空位或以 线加密体制。对于同一明文消息矩阵,采用不同的抄写方 无用的字母来填满矩阵。 式,得到的密文也是不同的。
移位法也可和代替法结合使用,并使用约定的单词或短语作 密钥,以进一步加强保密性,这就 是钥控列序加密 法。
例如,用密钥单词 construct对明文MATHEMATICAL MODELING IS USEFUL加密: CONSTRUCT 1 4 3 675 9 28 MATHEMATI CALMODELI NGISUSEFU L 按混淆数的顺序选出各列,得到密文: MCNLTLFTLIAAGMDSHMSEOSIIUAEE 移位法的使用可重复多次,只进行一次移位加密的称为一 次移位法,经多次移位的则称 为多次移位法

农夫过河问题的算法与实现汇总

农夫过河问题的算法与实现汇总

农夫过河问题的算法与实现院(系)名称专业班级学号学生姓名指导教师年月日目录引言 (1)一.问题的描述 (2)二.需求分析 (3)三.概要设计 (4)3.1数据结构的设计 (4)3.2算法的设计 (5)3.3抽象数据类型的设计 (5)四.详细设计 (6)4.1算法的主要思想 (6)4.2主要功能函数设计 (7)4.3算法的实现 (7)五.代码实现 (10)六.测试与运行 (18)6.1测试工具 (18)6.2运行结果 (18)七.总结与体会 (19)八.参考文献 (20)农夫过河问题的算法与实现引言所谓农夫过河问题是指农夫带一只狼、一只羊和一棵白菜在河南岸, 需要安全运到北岸。

一条小船只能容下他和一件物品, 只有农夫能撑船。

问农夫怎么能安全过河, 当然狼吃羊, 羊吃白菜, 农夫不能将这两种或三种物品单独放在河的一侧, 因为没有农夫的照看, 狼就要吃羊, 而羊可能要吃白菜? 这类问题的实质是系统的状态问题, 要寻求的是从初始状态经一系列的安全状态到达系统的终止状态的一条路径.一.问题的描述任何的实际问题,都可以抽象成固定的数学模型,然后再根据模型解决问题。

这样就可以不考虑繁琐的实际过程,从而简化问题。

在我们的问题中,过河与没过河是两种不同的状态。

农夫、狼、羊和菜,分别处于这两种状态。

而,如果把他们看成一个系统,则农夫、狼、羊和菜的不同状态组合成系统的2的4次方种,即16种状态。

但在系统的16种状态中,有些不满足题给条件,应给予剔除。

剔除的判断条件:羊跟狼、菜状态相同,且不同于农夫的状态。

当我们挑选好一系列系统的合法状态后,我们的问题就清晰了很多。

我们不妨设,没过河状态为0,过河为1。

我们的问题就抽象为,系统从初始状态(0000),经过有限的合法状态,到达最终状态(1111)的过程。

系统不同的合法状态之间,可能,有的有路,有的则不能到达。

具体的判断条件是,农夫可以与一件物品同时边,或自己单独变。

根据这一个条件,我们可以抽象出一个图来:系统的每一种状态视为一个节点,满足条件的节点间有一条路。

各种形式的过河问题

各种形式的过河问题

各种形式的过河问题文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]各种形式的过河问题1.最古老的过河问题一个农民携带一只狼,一只羊和一棵白菜,要借助一条小船过河。

小船上除了农民只能再带狼、羊、白菜中的一样。

而农民不在时,狼会吃羊,羊会吃白菜。

农民如何过河呢?2.三个道士与三个和尚三个老道士与三个和尚分别在一条河的两岸,都要到河的对岸去。

河中只有一条小船,可容两人。

只有一个道士和一个和尚会划船。

而且无论在船上或在岸上,道士的数量都不能超过和尚的数量。

如何过河?3.夫妻过河(1)两对夫妻要过河,河中只有一条小船,可容两人。

两个丈夫都不愿让自己的妻子和另一个男人在一起,除非自己也在场。

如何过河?(2)三对夫妻要过河,河中只有一条小船,可容两人。

每个个丈夫都不愿让自己的妻子和另一个男人在一起,除非自己也在场。

如何过河?又,如果是四对夫妻,类似的情况,能够安排过河吗?4.一家人及警察与犯人现有一条河,共有八个人要过河,分别是爸爸,妈妈,两个儿子,两个女儿,一个警察,一个犯人.现有一条木伐,一次最多载两个人,在这八个人中,有妈妈,爸爸,警察会开船,即这个船上必须有爸爸,妈妈,警察三个中的一个,船才会开动.船过去无法自动回来.并且要避免以下三件事发生,a,警察不在犯人会伤害一家六口.b,爸爸不在,妈妈会伤害儿子.c,妈妈不在,爸爸会伤害女儿.应当如何过河?5.一家人过独木桥有一家五口人要在夜晚过一座独木桥。

他们家里的老爷爷行动非常不便,过桥需要12分钟;孩子们的父亲贪吃且不爱运动,体重严重超标,过河需要时间也较长,8分钟;母亲则一直坚持劳作,动作还算敏捷,过桥要6分钟;两个孩子中姐姐需要3分钟,弟弟只要1分钟。

当时正是初一夜晚又是阴天,不要说月亮,连一点星光都没有,真所谓伸手不见五指。

所幸的是他们有一盏油灯,同时可以有两个人借助灯光过桥。

但要命的灯油将尽,这盏灯只能再维持30分钟了!他们焦急万分,该怎样过桥呢?6.如何尽快过河在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

求解夫妻过河问题曲靖师范学院本科生毕业论文论文题目: matlab求解夫妻过河问题作者、学号:郭彩虹2010111212学院、年级:数学与信息科学学院2010级学科、专业:数学数学与应用数学指导教师:郭昀完成日期:2013年12月27日曲靖师范学院教务处摘要渡河问题.[]1始于公元8 世纪,至今它仍是一个逻辑难题,许多数学建模教材上已经提到.这个问题指的是:有不同的对象或生物,他们其中一些相互不共存,逐步地让一小群体从河的一岸到另一岸,经过有限步后,该群体全部从一岸达到另一岸,并且要求没有任何损失.在渡河问题的夫妻过河问题中我们发现状态转移问题有时不一定有解,有时的解又不一定有规律,本文对于夫妻过河问题利用图解法和matlab编写程序求解5对、6对夫妻过河是否有解,并推广到n对夫妻与船的运载能力m对于能否安全渡河时它们之间的关系。

关键词:多步决策 matlab 数学模型渡河问题Problem of couples across the riverAbstract: the problem of crossing the river. In the 8th century, it still is a logical problem, many mathematical modeling teaching material has been mentioned. The question is: have different objects or creatures, they lack some mutual coexistence, gradually to a small group from one bank to another bank of the river, after finite steps, the group all from one side to the other shore, and requires no losses. In crossing the river problem of couples across the river, we found that state transition problem sometimes does not necessarily have a solution, sometimes the solution is not necessarily regular, in this paper, using the graphical method for the problem of couples across the river and the matlab program to solve the 5, 6 for couple across a river if there is a solution,And derived to n couple with the ability to run m to safe crossing the river when the relationship between them.Keywords: Multistep decision Matlab Mathematical model Problem of crossing the river目录1 引言 (1)2 文献综述 (1)2.1 国内外研究现状 (1)2.2 国内外研究现状评价 (2)2.3 问题提出 (2)3 模型假设 (2)4 符号说明 (2)5 重述3、4对夫妻过河问题的解 (3)5.1 3对夫妻过河的解 (3)5.2 4对夫妻过河的解 (3)6 五对夫妻过河模型 (4)6.1 模型构成 (4)6.2 模型建立 (4)6.3 模型求解 (4)6.31 Matlab编程求解 (4)6.32 图解法 (7)7 六对夫妻过河模型 (8)7.1 模型构成 (8)7.2 模型求解 (9)8 n对夫妻过河情况 (10)8.1 求解 (10)8.2 验证 (11)9 总结与展望 (12)9.1 总结 (12)9.2后续研究工作展望 (13)参考文献 (14)附录 (15)1 引言这是一个古老的阿拉伯数学问题。

有3对夫妻要过河,船最多可载2人,约束条件是根据阿拉伯法律,任一女子不得在其丈夫不在场的情况下与其他男子在一起,问此时这3对夫妻能否过河?如果是4对夫妻过河,其他条件不变的情况下,夫妻能否过河?就这一问题我们发现状态转移问题有时不一定有解,有时的解又不一定有规律(当4对夫妻过河,其他条件不变的情况下,夫妻能否过河?我们发现此问题是无解的),但是当我们改变条件船最多可载3人时有解.就其数学建模思想来说, 一般采用将该问题转化为一个多步决策模型, 模型求解的方法大多为图解法然而一旦问题的条件(例如丈夫、妻子或者小船上每次渡河人数等) 发生变化, 图解法求解犹如大海捞针!很难奏效. 因此计算机编程求解模型的方法就显得非常重要了.该题求解编程的难点在于允许状态与决策这两个方面的处理与实现[]2.此问题中利用的多目标决策方法是从20世纪70年代中期发展起来的一种决策分析方法.决策分析是在系统规划、设计和制造等阶段为解决当前或未来可能发生的问题,在若干可选的方案中选择和决定最佳方案的一种分析过程.在社会经济系统的研究控制过程中我们所面临的系统决策问题常常是多目标的,例如我们在研究生产过程的组织决策时,既要考虑生产系统的产量最大,又要使产品质量高,生产成本低等。

这些目标之间相互作用和矛盾,使决策过程相当复杂使决策者常常很难轻易作出决策.这类具有多个目标的决策总是就是多目标决策. 多目标决策方法现已广泛地应用于工艺过程、工艺设计、配方配比、水资源利用、能源、环境、人口、教育、经济管理等领域.2 文献综述2.1国内外研究现状渡河问题有不同的版本,从目前参阅的文献资料中了解的信息来看文献[1]、[5]、[6]的商人和随从渡河问题利用通过遍历状态空间树来搜索可行的渡河方案、建立多步决策模型、计算机编程等方法解决,文献[3]、[4]的传教士和食人族难题[]3仿照整数( 二元) 规划的图示方法、用矩阵表示与迭代算法[]4等方法解决,文献[5]军官渡河问题和人与机器渡河问题[]5利用Dijkstra算法,文献[13]的人、猫、鸡、米过河问题利用计算机C语言编程求解,文献[6]、[15]的人、狼、羊、菜过河问题利用多为向量的方法解决[]6.但是解决方法是类似的,都是要找到允许状态和允许决策[]7.2.2国内外研究现状评价综上所述,渡河问题至今仍是一个逻辑难题.国内外对于过河问题的研究很多,但是不是很全面,由于渡河问题的种类很多,尽管研究方法大体相同,但是他的解却是有很多种,或者有的问题根本无解,就夫妻过河问题而言当4对夫妻过河,船只能载2人时问题无解.本文在夫妻过河问题的基础上从3对、4对夫妻研究至5对、6对,并推至n对夫妻过河情况,利用图解法和matlab编程解决.2.3 问题提出问题1:若船最多能载3人,5对夫妻能否过河?六对夫妻呢?如果不可以那么船最多能载几人才可以?问题2:n对夫妻要过河,船最多能载m人,n和m有怎样的关系?任务:用matlab编写程序求问题1的解,并用已有程序验证问题2.3 模型假设1.不考虑过河环境因素的影响情况;2.夫妻过河只能依靠小船;3.每个男人和女人都会划船;4 符号说明i表示渡河的夫妻对数F表示第k次渡河前此岸丈夫的人数kQ表示第k次渡河前此岸妻子的人数kx表示第k次过渡船上丈夫的人数ky表示第k次过渡船上妻子的人数kk表示第几次渡河n表示渡河的次数S表示允许状态集合D表示允许决策集合k s 表示状态 k d 表示决策5 重述3、4对夫妻过河问题的解有3对夫妻要过河,船最多可载2人,约束条件是根据阿拉伯法律,任一女子不得在其丈夫不在场的情况下与其他男子在一起,问此时这3对夫妻能否过河?如果是4对夫妻过河,其他条件不变的情况下,夫妻能否过河?记k 次过河前此岸丈夫的人数为k F ,妻子的人数为k Q .记k s 表示状态,k s =(FQ ),记k d 表示决策,k d =(xy )。

5.1 3对夫妻过河的解5.2 4对夫妻过河的解可看出问题无法再解下去(3,3) 去二(3,2) 去(3,1) 回(3,0) 回(3,1) 去二(1,1) 回一男(2,2) 去(0,2) 去(0,3)去(0,1)回(0,2)去(0,0)(4,4)去二(4,2)回一(4,3)去二(4,1)回一(4,2)(4,0)去两女去两男(4,0)6 五对夫妻过河模型6.1模型构成记第k 次过河前此岸丈夫的人数为k F ,妻子的人数为k Q ,k =1,2,3……由已知条件知可取状态为(0,1)(0,2)(0,3)(0,4)(0,5)(0,0)(5,5)(5,4)(5,3)(5,2)(5,1)(5,0)(1,1)(2,2)(3,3)(4,4)共16种,用S 表示可取状态集合,成为允许状态集合,不难验证,S 对此岸和彼岸都是可行的.记第k 次过渡船上的丈夫的人数为k x ,妻子的人数为k y ,由已知条件知可取状态为(0,1)(0,2)(0,3)(1,0)(2,0)(3,0)(1,1)(2,1),其中(1,1)表示1对夫妻,共五种,用D 表示可取状态集合,成为允许决策集合[]8.6.2模型建立我们发现当k 为奇数时船从此岸驶向彼岸,当k 为偶数时船从此岸驶向彼岸,记k s 表示状态,k s =(FQ ),记k d 表示决策,k d =(xy )。

所以状态k s 随k d 的变化规律为:()k kk 1k d 1s s -+=+称为状态转移律求决策k d ∈D (k =1,2,3……n )使状态k s ∈S 按照状态转移律,由初始状态1s =(1,1)有限步n 到达状态1n s +=(0,0)6.3模型求解6.31 Matlab 编程求解对于这个问题通常用“穷举求解” 的方法, 即从初始状态(5, 5)开始, 从允许决策集合D 中选择一个决策, 产生一个新状态.若新状态可行, 则保存该状态, 并从这个状态开始继续进行决策寻找下一可行状态; 否则, 从允许决策集合 D 中重新选择一个新决策以产生下一状态.如果某个状态的所有可选决策产生的下一状态均不可行, 则返回到上一个可行状态, 从该可行状态开始寻找除了状态的其它状态, 直到找到一个可行的下一状态.这个决策过程反复进行, 直到到达最终状态(0, 0),即可以安全渡河[]9.其中,判断状态是否可行包括两个方面:(1)该状态是否在允许状态集合S 中.(2)在由决策所确定产生的一系列状态中,船由此岸驶向彼岸前的所有状态不允许重复,船由彼岸驶向此岸前的所有状态亦不允许重复[]10.可以应用人工智能原理中的状态空间搜索法解决.首先定义一个安全渡河问题的状态空间,规定出该空间的初始状态和目标状态,建立相应的渡河规则和控制策略,而后推理搜索,直至找出由初始状态到目标状态的某条路径或一组路径,即安全渡河的操作序列[]10.用matlab[]11编写一段程序求解,程序编写思路如下图[]12开始变量初始赋值化可行状态奇数次移动偶数次移动选择一种可行方案继续移动且下一次移动重新开始结束程序运行[]15,14结果(程序见附录):ans =Columns 1 through 115 5 5 5 5 5 5 2 3 0 0 5 2 3 0 1 0 2 2 3 3 4Columns 12 through 220 0 0 -1 -1 -1 -1 -1 -1 -1 -11 2 0 -1 -1 -1 -1 -1 -1 -1 -1Columns 23 through 33-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1Columns 34 through 44-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1Columns 45 through 50-1 -1 -1 -1 -1 -1-1 -1 -1 -1 -1 -1从运行结果来看通过13次可以安全渡河,但是这个解不是最优解(即渡河次数最少).从(5,5)—(0,0)我们可看到中间每一次的运行步骤都符合我们的可取状态集合S ={(0,1)(0,2)(0,3)(0,4)(0,5)(0,0)(5,5)(5,4)(5,3)(5,2)(5,1)(5,0)(1,1)(2,2)(3,3)(4,4)},我们也可验证每一步渡船上的人数也符合允许决策集合D ={(0,1)(0,2)(0,3)(1,0)(2,0)(3,0)(1,1)(2,1)},因此程序可行.6.32 图解法[]16当所讨论问题变量不很多时,我们也常常利用作图的方法来解决状态转移问题.对于“夫妻过河”问题求解,也就是要确定一系列的允许运算d k (k=1,2,…,m),使得)0,0()5,5(m 21=+⋯⋯+++d d d我们可以在x -y 平面上标出允许状态集S 中的点,而将允许运算看作是沿方格移动1格或2格,为了区别小船的往返,我们用实线表示小船由此岸至彼岸,用虚线表示小船由彼岸至此岸.于是我们给出一个“夫妻过河”问题的最优解法.(5,5) 去三女 (5,2) 回一女 (5,3) 去两女 (5,1) 回一女 (5,2) 去三男 (2,2) 回一男一女 (3,3) 去三男 (0,3) 回一女 (0,4) (0,1) 去三女 回一女 (0,2) 去两女 (0,0)图解过程如下图所示:7 六对夫妻过河模型7.1模型构成记第k 次过河前此岸丈夫的人数为k F ,妻子的人数为k Q ,k =1,2,3……由已知条件知可取状态为(0,1)(0,2)(0,3)(0,4)(0,5)(0,6)(0,0)(6,6)(5,5)(5,4)(5,3)(5,2)(5,1)(5,0)(1,1)(2,2)(3,3)(4,4)(5,5)共19种,用S 表示可取状态集合,成为允许状态集合,不难验证,S 对此岸和彼岸都是可行的. 记第k 次过渡船上的丈夫的人数为k x ,妻子的人数为k y ,由已知条件知可取状态为(0,1)(0,2)(0,3)(1,0)(2,0)(3,0)(1,1)(2,1),其中(1,1)表示1对夫妻,共五种,用D 表示可取状态集合,成为允许决策集合.模型建立:我们发现当k 为奇数时船从此岸驶向彼岸,当k 为偶数时船从此岸驶向彼岸,记k s 表示状态,k s =(FQ ),记k d 表示决策,k d =(xy )。

相关文档
最新文档