求解夫妻过河问题

合集下载

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

数学建模:第二章 古典模型
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.如何尽快过河在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。

哈佛智商测试题_过河(3篇)

哈佛智商测试题_过河(3篇)

第1篇题目:过河假设你站在一座孤岛上,这座岛位于一条河流中央。

河流很宽,水流湍急,而且没有桥梁或船只。

岛上有一棵树,树上挂着一个篮子,篮子里有一把钥匙。

对岸有一间小屋,屋子里有一盏灯。

为了点亮灯,你需要找到这把钥匙。

现在,你只能带三样东西过河,请问你会带哪三样?解题思路:1. 分析问题:过河的目标是点亮对岸的灯,你需要找到钥匙。

而钥匙在篮子里,篮子在树上,所以你首先需要过河到树上取篮子。

2. 分析条件:你可以带三样东西过河,这意味着你需要考虑带哪些东西可以保证你在过河过程中既安全又能完成任务。

3. 解题步骤:(1)首先,你带篮子过河到树上取钥匙。

(2)然后,你回到孤岛上,将篮子放下,带灯过河。

(3)到达对岸后,点亮灯。

(4)再次返回孤岛,将灯放下,带钥匙过河。

(5)到达对岸后,用钥匙打开屋门,进入屋内。

(6)完成任务,过河成功。

答案:你会带篮子、灯和钥匙过河。

通过这样的方式,你可以确保在过河过程中既能完成任务,又能保证自身安全。

这个题目考察了你的逻辑思维和问题解决能力。

如果您需要更详细的解题过程,可以尝试按照上述思路进行拓展,将解题过程细化,这样可以使文章达到2500字以上。

第2篇在哈佛大学的智力挑战中,有一道被称为“过河挑战”的经典题目。

这道题目不仅考验逻辑思维,还考验团队协作和策略规划。

以下是这道题目的详细描述和解答步骤,让我们一起来挑战一下吧!题目描述:在一个孤岛上,有五个人分别来自不同的国家,他们的国籍分别是:美国、英国、法国、德国和意大利。

他们每个人的名字也各不相同,分别是:Tom、Jerry、Bob、Alice和Lily。

岛上的条件如下:1. 这五个人身上各有一盏不同颜色的灯,分别是红色、蓝色、绿色、黄色和紫色。

2. 他们身上还各有一根不同长度的绳子,分别是1米、2米、3米、4米和5米。

3. 岛上有一座独木桥,每次只能有一个人过桥,过桥的人必须携带一根绳子。

4. 如果过桥的人身上携带的绳子长度超过了桥的长度,那么这个人就会掉入水中,其他四个人也会因此死去。

夫妻过河问题1

夫妻过河问题1

题目:夫妻过河问题:有三对夫妻过河,船最多能载2人,条件是任一女子不能在其丈夫不在的情况下与其他男子在一起,如何安排三对夫妻过河?若船最多能载3人,5对夫妻能否过河?1.模型建立:如果记渡河过程中男子数为H(H=0,1,2,3),W表示女子数(W=0,1,2,3);于是两岸的状态可用向量表示(H,W)。

这样,对于两岸来说都有16种可能状态。

但是其中只有一些状态对女人是允许的:(3,W)表示女人全在此岸;(0,W)表示女人全在对岸;(H,W)(其中H=W=1,2)表示男子女子一样多且为夫妻对;即(3,0),(3,1),(3,2)(3,3)(0,0),(0,1),(0,2),(0,3),(1,1),(2,2)这些状态的集合称为允许状态集合,记为S={(0,i)|i=0,1,2,3;(3,i)|i=0,1,2,3;(i,i)|i=1,2}显然,允许决策集合D={(m,n)|1<=m+n<=2,m,n=0,1,2}由于小船从此案到彼岸或从彼岸到此案的每一次航行都造成状态的一次转移,用S1(m,n),S2(m,n),……Sk(m,n)……表示每一次航行的两岸的状态,dk(m,n)表示状态Sk(m,n)下的决策,即在状态Sk(m,n)下怎样安排渡河。

可以看出:当k为奇数时,决策dk表示从此案到彼岸;当k为偶数时,决策dk表示从彼岸到此案。

所以,状态转移应满足下列关系:Sk+1=Sk+(-1)的k次幂乘以dk。

于是问题转化为按上式由初始状态S1(3,3)经几步转移达到Sn(0,0),且n为奇数且越小越好。

2.编程:#include<stdio.h>main(){int i,j,k;int A[13][2]={(4,4),(4,3),(4,2),(4,1),(4,0),(3,3),(2,2),(1,1),(0,4),(0,3),(0,2),(0,1),(0,0)}; int B[5][2]={(0,1),(0,2),(1,1),(1,0),(2,0)},D[1][2],E[1][2],F[1][2];for (i=1;i<100;i++){D[0][0]=A[0][0];D[0][1]=A[0][1];for(j=0;j<5;j++){E[0][0]=B[j][0];E[0][1]=B[j][1];F[1][2]=func(i,D[1][2],E[1][2]);for(k=0;k<13;k++){if(A[k][0]==F[0][0]&&A[k][1]==F[0][1]) break;}if(k==13)continue;break;}if(j==5)i=100;if(F[0][0]==A[13][0]&&F[0][1]==A[13][1]) break;elseA[0][0]=F[0][0];A[0][1]=F[0][1];}if(i!=100)printf("%d\n",i);elseprintf("No way.\n");}func(int k,int D[1][2],int E[1][2]){int c1,c2,i,C[1][2];if(k%2==1)i=-1;elsei=1;c1=D[0][0]+i*E[0][0];c2=D[0][1]+i*E[0][1];C[1][2]={(c1,c2)};return(C[1][2]);}3.若船最多能载3人,5对夫妻一定能过河。

夫妻过河问题

夫妻过河问题

题目:夫妻过河三对夫妻要过河,河中只有一条小船,可容两人。

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

(1)如何过河?有多少种渡河次数最少的方法?(2)三对夫妻改为四对夫妻,其他条件不变,能过河吗?为什么?若船至多可容三人,能过河吗?怎么过?数学建模论文题目:夫妻过河问题摘要:主要运用状态转移的方法分析类似于夫妻过河等问题。

状态转移矩阵是俄国数学家马尔科夫提出的,他在20世纪初发现:一个系统的某些因素在转移中,第n次结果只受第n-1的结果影响,即只与当前所处状态有关,而与过去状态无关。

在马尔科夫分析中,引入状态转移这个概念。

所谓状态是指客观事物可能出现或存在的状态;状态转移是指客观事物由一种状态转移到另一种状态的概率。

关键词:状态转移,状态集合。

正文:1.建模我们把此岸有M个男人(丈夫),F个女人(妻子)的情形称为一种状态,用一对数组(M,F)表示,注意M、F的顺序不要变,其中M、F 均为不小于0且不大于3的整数.很显然,在我们的问题中,并非所有数组所表示的状态。

(M,F) M,F∈Z,0≤M,F≤3都是被允许的.例如在0<M<F≤3时,状态(M,F)就不允许,因为它表示必有女子在其丈夫不在场的情形下与其他男人在一起了.除去不允许状态后,剩下的就都称为允许状态.于是我们可以把本问题的允许状态集合S写出来:S={(0,0),(0,1),(0,2),(0,3),(1,1),(2,2),(3,3),(3,2),(3,1),(3,0),(2,1)}.有了允许状态集S,还需要知道这些允许状态之间是如何变化的,特别是如何从三对夫妻全在此岸是的状态(3,3)一步步地变为三对夫妻全在彼岸的状态(0,0)的.这就需要讨论所谓运算(或决策),它们也是由一对有序数组表示的.因为小船每次从河的一岸驶向另一岸都使状态发生变化,故我们把小船的一次运送称为一次运算(或决策).我们规定第n次运算dn由第n+1个状态Sn+1减去第n个状态Sn来确定,即dn=Sn+1-Sn.注意到小船由此岸驶向彼岸时,此岸人数由多变少,而船由彼岸驶回此岸时,此岸人数由少变多.又由于小船载乘人数不多于2人,故运算dn必然满足:dn=(-1)n(p,q),p,q≥0且1≤p+q≤2,n∈N,其中p,q分别表示小船离岸时船上男人与女人的数量.当Sn+1,Sn均为允许状态时,称dn为允许运算,我们把方程Sn+1=Sn+dn称为状态转移方程.至此,我们已经把问题完全抽象化了.2.解法我们下面的任务就是利用状态转移方程来求解.实际上是要一步一步地考虑由一个允许状态加上一个允许运算,得出另一个允许状态的过程,试图寻求一条由初始状态(3,3)转为期望状态(0,0)的路径(当然对有些问题这种路径不一定存在),也就是要确定一系列的允许运算dn(n=1,2,…,m),使得(3,3)+d1+d2+…+dm=(0,0).由于本问题涉及的变量不多,约束条件也不多,我们可以凭简单的演算来求解.当某些问题变量较多,约束条件也较复杂时,我们可以借助计算机,以避免十分繁琐的演算.下面是利用状态转移方程直接求解“夫妻过河”问题的一条路径:经过决策经过11次会完成。

过河问题

过河问题

规定一个状态向量与转移向量之间的运算。 规定一个状态向量与转移向量之间的运算。规定状态向量与 转移向量之和为一新的状态向量,其运算为对应分量相加, 转移向量之和为一新的状态向量,其运算为对应分量相加, 且规定0+0=0,1+0=0+1=1,1+1=0。 且规定0+0=0,1+0=0+1=1,1+1=0。 在具体转移时,只考虑由可取状态到可取状态的转移。 在具体转移时,只考虑由可取状态到可取状态的转移。问题 化为: 化为: 由初始状态( , , , )出发, 由初始状态(1,1,1,1)出发,经奇数次上述运算转化为 (0,0,0,0)的转移过程。 , , , )的转移过程。 我们可以如下进行分析 第一次渡河) (第一次渡河)

(1,1,0,0) (0,0,1,1) × (1,0,1,0) (0,1,0,1) + = (1,1,1,1) (1,0,1,1,1) ×
(不可取) 不可取) 可取) (可取) 不可取) (不可取) (不可取) 不可取)
在本问题中,可采取如下方法:一物在此岸时相应分量为 , 在本问题中,可采取如下方法:一物在此岸时相应分量为1, 而在彼岸时则取 为0,例如(1,0,1,0)表示人和鸡在此岸, ,例如( )表示人和鸡在此岸, 而狗和米则在对岸。 而狗和米则在对岸。
(i)可取状态:根据题意,并非所有状态都是允许的,例如 )可取状态:根据题意,并非所有状态都是允许的, (0,1,1,0)就是一个不可取的状态。本题中可取状态(即系 )就是一个不可取的状态。本题中可取状态( 统允许的状态)可以用穷举法列出来,它们是: 统允许的状态)可以用穷举法列出来,它们是: 人在此岸 人在对岸 (1,1,1,1) (0,0,0,0) , , , , , , (1,1,1,0) (0,0,0,1) , , , , , , (1,1,0,1) (0,0,1,0) , , , , , , (1,0,1,1) (0,1,0,0) , , , , , , (1,0,1,0) (0,1,0,1) , , , , , , 总共有十个可取状态,对一般情况, 总共有十个可取状态,对一般情况,应找出状态为可取的充 要条件。 要条件。 (ii)可取运算:状态转移需经状态运算来实现。在实际问题 )可取运算:状态转移需经状态运算来实现。 摆一次渡即可改变现有状态。 中,摆一次渡即可改变现有状态。为此也引入一个四维向量 转移向量),用它来反映摆渡情况。 ),用它来反映摆渡情况 (转移向量),用它来反映摆渡情况。例如 (1,1,0,0) , , , ) 表示人带狗摆渡过河。根据题意, 表示人带狗摆渡过河。根据题意,允许使用的转移向量只能 ,)、(1, , , )、( )、(1, , , )、 有(1,0,0,0,)、( ,1,0,0)、( ,0,1,0)、 , , , ,)、( (1,0,0,1)四个。 , , , )四个。

形形色色的过河问题

形形色色的过河问题

3、三人三鬼乘一船过河 现有三人三鬼乘一船过河,客观约束条件如下: (1)人或鬼都会驾船;(2)任何时候在一个地方(此岸、彼岸或 船上),人数不少于鬼数,否则鬼会吃掉人;(3)小船最多载两个 生物(人或鬼)。问:如何安排人鬼过河?
4、有一家五口人要在夜晚过一座独木桥。他们家里的老爷爷行动非常不便,过桥 需要12分钟;孩子们的父亲贪吃且不爱运动,体重严重超标,过河需要时间也较长, 8分钟;母亲则一直坚持劳作,动作还算敏捷,过桥要6分钟;两个孩子中姐姐需要 3分钟,弟弟只要1分钟。当时正是初一夜晚又是阴天,不要说月亮,连一点星光都 没有,真所谓伸手不见五指。所幸的是他们有一盏油灯,同时可以有两个人借助灯 光过桥。但要命的灯油将尽,这盏灯只能再维持30分钟了!他们焦急万分,该怎样 过桥呢?
形形色色的过河问题
1、最古老的过河问题 一个农夫携带一只狼,一只羊和一棵白菜,要借助一条 小船过河。小船,狼会吃羊,羊会吃白菜。农民如 何过河呢? 2、夫妻过河问题
(1)两对夫妻要过河,河中只有一条小船,可容两人。两个 丈夫都不愿让自己的妻子和另一个男人在一起,除非自己也 在场。如何过河? (2)三对夫妻要过河,河中只有一条小船,可容两人。每个 丈夫都不愿让自己的妻子和另一个男人在一起,除非自己也 在场。如何过河? (3)如果是四对夫妻,类似的情况,能够安排过河吗?
6、现有一条河,共有八个人要过河,分别是爸爸,妈妈,两个儿子,两个女儿, 一个警察,一个犯人.现有一条木伐,一次最多载两个人,在这八个人中,有妈妈, 爸爸,警察会开船,即这个船上必须有爸爸,妈妈,警察三个中的一个,船才会开 动.船过去无法自动回来.并且要避免以下三件事发生: 1,警察不在犯人会伤害一家六口.2,爸爸不在,妈妈会伤害儿子. 3,妈妈 不在,爸爸会伤害女儿. 应当如何过河?

高斯数学过河问题

高斯数学过河问题

高斯数学过河问题
高斯数学过河问题是一个经典的数学难题,也被称为高斯船夫过河问题。

问题的背景是,有一位船夫要将狼、羊和菜这三种东西从一个岸边运送到另一个岸边,但是船只只能携带船夫和其中的一样东西。

而问题的难点在于,如果船夫不在场时,狼和羊在一起,或者羊和菜在一起,就会发生危险。

为了解决这个问题,需要遵守一定的规则:
1. 船夫可以独自驾船,也可以携带一样东西过河。

2. 当船夫不在场时,狼和羊不能在一起。

3. 当船夫不在场时,羊和菜也不能在一起。

解题思路如下:
1. 首先,船夫带着羊(或狼)过河,然后船夫返回岸边,将羊放下。

2. 船夫再带着菜过河,但是这次船夫要将菜带到对岸后,将菜放下,然后船夫将羊(或狼)带回原岸。

3. 接下来,船夫带着狼(或羊)过河,并将狼(或羊)放下。

4. 最后一步,船夫返回原岸将羊(或狼)带到对岸。

通过以上步骤,船夫可以将狼、羊和菜都安全地运送到另一岸,满足题目要求,而不会出现危险情况。

需要注意的是,在实际操作中,可能会存在其他限制和条件,这里以最基本的规则进行讨论。

此外,该问题也可以通过编程等方式进行求解和验证。

小学趣味数学之过河问题【优质】

小学趣味数学之过河问题【优质】

小学趣味数学之过河问题【优质】小学趣味数学之过河问题有一条河,河岸边有猎人,狼,还有一个男人,带两个小孩,还有一个女人,带两个小孩,如果猎人离开,狼就把所有的人全部吃掉,如果男人离开,女人就把她自己的两个小孩掐死,如果女人离开同上,河里有一条船,船上只能做两个人(附加条件:只有猎人,男人,女人会划船)。

问:这八个人如何过河(都在河一边,每个小孩是一个,狼也算一个)答案:1.猎人+狼,猎人回2.猎人+男人的小孩,猎人+狼回;3.女人+男人的小孩,女人回;4.男人+女人,男人回;5.猎人+狼,女人回;6.男人+女人,男人回;7.男人+女人的小孩,猎人+狼回;8.猎人+女人的小孩,猎人回;9.猎人+狼。

小学趣味数学之免费鱼翅席10个同事来到海鲜楼聚餐,为如何就座争论不休。

有的人说,按年龄大小就座,有的人说,按资历长短就座,甚至还有人要求按个子高矮就座。

餐厅老板对他们说:"我的好顾客们,你们最好停止争论,任意就座。

"这10个人随便坐了下来,老板继续说逍:"请记下现在就座人的次序;明天来这里进餐时,再按别的次序就座;后天再按新的次序就坐,反正每次进餐入座时都按新的次序,直到每个人把所有的位子鄱坐过为止。

如哪--大正好每个人都坐在现在所安排的位子上,我将用本店最昂贵的鱼翅席免贽招待你们。

"请你算算看,海鲜楼的老板隔多少日子才会送出鱼翅席呢,答案:实际上是办不到的。

因为安排座位的数字太大了。

它是362800,这个数字的天数相当于10000年。

小学趣味数学之昨天火腿今天猪排阿德里安、布福德和卡特三人去餐馆吃饭,他们每人要的不是火腿就是猪排。

(1)如果阿德里安要的是火腿,那么布福德要的就是猪排。

(2)阿德里安或卡特要的是火腿,但是不会两人都要火腿。

(3)布福德和卡特不会两人都要猪排。

谁昨天要的是火腿,今天要的是猪排,(提示:判定哪些人要的菜不会变化) 答案: 根据(1)和(2),如果阿德里安要的是火腿,那么布福德要的就是猪排,卡特要的也是猪排。

小学过河题还能这么坑?学霸震撼! 小学数学 数学思维 知识分享

小学过河题还能这么坑?学霸震撼! 小学数学 数学思维 知识分享

小学过河题还能这么坑?学霸震撼!小学数学数学思维知识分享作为小学生,最重要的学科当然是数学,尤其是数学思维。

有了正确的数学思维,就能解决问题,解开疑难谜团,学霸们甚至能从最简单的过河题中找到令人惊叹的答案。

最近,一道过河题火爆网络:一家3口,徒弟与老师“痒掉”,仅一次过河,4人如何安全过去?很多小伙伴以为这道题不可能做出答案,但是学霸只用了10秒,便有了答案:老师、徒弟二人先过河,老师将船返回岸边,再由另一岸返回老师与徒弟,徒弟可以和老师一起乘坐船,同时三人可以返回原岸取一口,最后4人可以一起安全过河。

当这道题一出,很多小伙伴不禁感叹:小学过河题还能这么坑?的确,学霸们的数学思维能力令人惊叹,特别是在这道题上,学霸们利用数学思维,简单明了地解决了这道题,让普通人无论怎么想都不可能想出来。

其实,学霸们的数学思维能力不仅仅体现在这道题上,而是在日常学习中都有体现。

通过数学思维,学霸们可以更快速,更有效率地解决问题,而且更容易记住,再也不学习做“重复记忆”,让学习变得有趣、更有效率、更有成就感,让学习者受益匪浅。

针对学霸们的数学思维,不妨给出一些建议,一是可以采用分步骤的方式解决问题,从整体到局部,用适当的方法“分解”每一步,细细挖掘;二是要把问题简单化,一个复杂的问题,可以把它拆分成一系列简单的小问题,这样可以更容易地解决。

三是要观察问题,从不同角度去探索、思考问题,可以帮助我们把握问题的关键。

最后,注意总结抽象,把一个题目通过抽象成其它类似的问题,可以更深入地理解,从而更好地解答。

从这道过河题,我们可以看到小学时代学霸们的数学思维水平之高,数学思维的重要性也是可见一斑。

在这里,我们鼓励和敦促大家多思考,以更好地发掘数学思维的强大。

只有去认真学习,发掘自身的潜力,才能更好地掌握数学思维,开启一场学习之旅。

同时,也要积极关注网络上的有趣题目,多多分享,用数学思维解开疑难谜团,以共享的精神促进学霸们的数学思维发展,让更多的小伙伴从他们身上汲取智慧,实现自我价值。

渡河问题20160430讲解

渡河问题20160430讲解

一、渡河问题1、问题描述有一个人带着一只狼、一只羊和一筐菜来到河边(假设狼不吃人),河边有一小船,每次只允许他带走一样东西;另外,如果他不在的时候,狼要吃羊,羊要吃菜。

他应该采取什么样的方案,才能把狼、羊、菜都安全地带到河对岸?2、规模分析问题中共有5个事物:人、狼、羊、菜、船。

但由于只有人能够划船,故船的位置必然和人相同,状态独立的事物只有4个。

每个事物有两种独立的状态:在此岸或在彼岸。

所有可能出现的状态共计24=16种。

3、不安全状态分析将每个事物在此岸(未过河)的状态标记为0,在彼岸(已过河)的状态标记为1,则不安全的状态有两类:(1)人≠狼且狼=羊(2)人≠羊且羊=菜4、状态转换(不安全状态不予考虑)能够从某个状态转直接换到另外一个状态的判据是同时满足以下所有条件:(1)人的位置发生改变;(2)最多两者发生位置改变且改变方向都与人相同。

若满足状态转换条件,则在状态转换图中相应的两个结点之间添加一条边。

根据以上条件,可以列出状态转换图为图中红色底色为不安全状态。

两个状态之间有线相连表示这两个状态之间可以一次转换到位。

图中粗线条表示必经之路。

5、问题求解渡河问题的求解即是在状态转换图中寻找从起始结点(0,0,0,0)到终止结点(1,1,1,1)之间的最短路径。

该最短路径可能不止一条,每条最短路径都是该问题的最佳可行解。

该问题的全部的两个最佳可行解为:人狼羊菜0 0 0 01 0 1 00 0 1 01 1 1 00 1 0 01 1 0 10 1 0 11 1 1 1人狼羊菜0 0 0 01 0 1 00 0 1 01 0 1 10 0 0 11 1 0 10 1 0 11 1 1 1整个过程至少需要7步(划船7次,3.5个来回)才能完成。

具体过程可以有两种:(1)将羊带过河,自己返回;将狼带过河,将羊带回;将菜带过河,自己返回;将羊带过河。

(2)将羊带过河,自己返回;将菜带过河,将羊带回;将狼带过河,自己返回;将羊带过河。

人教A版高中数学必修3:1.1.1算法的概念(平行班)

人教A版高中数学必修3:1.1.1算法的概念(平行班)
孩划船回来; S8 两个小孩再同时划船渡过河去。
算法的概念:
由基本运算及规定的运算顺序所构成的完整 的解题步骤,或者是按照要求设计好的有限 的计算序列,并且这样的步骤或序列能解决 一类问题。
算法的五个重要特征:
(1)有穷性: (2)确切性:算法的每一步必须有确切的定义;
(3)可行性:算法原则上能够精确地运行,而且人 们用笔和纸做有限次即可完成; (4)输入:一个算法有0个或多个输入,以刻划运算对 象的初始条件。所谓0个输入是指算法本身定出了初始条件。
(5)输出:一个算法有1个或多个输出,以反映对输 入数据加工后的结果。没有输出的算法是毫无意义的。
鸡兔同笼问题
例1 一群小兔一群鸡,两群合到一群里,要 数腿共48,要数脑袋整17,多少只小兔多少 只鸡?
算法1:
S1 首先计算没有小兔时,小鸡的数为:17 只,腿的总数为34条。
S2 再确定每多一只小兔、减少一只小鸡增 加的腿数2条。
巧渡河:
两个大人和两个小孩一起渡河,渡口只有一 条小船,每次只能渡1 个大人或两个小孩, 他们四人都会划船,但都不会游泳。试问他 们怎样渡过河去?请写出一个渡河方案。
渡河方案:
S1 两个小孩同船过河去; S2 一个小孩划船回来; S3 一个大人划船过河去; S4 对岸的小孩划船回来; S5 两个小孩同船渡过河去; S6 一个小孩划船回来; S7 余下的一个大人独自划船渡过河去;对岸的小
第一步:输入a的值. 第二步:________________________. 第三步:________________________. 第四步:输出圆的面积的值.
小结
算法的概念: 算法的五个重要特征:
作业
1.设计一个算法,求1+2+3+4+5的值。

智商测试题

智商测试题

智商测试题1、跨国名企偏爱的面试题现在小明一家过一座桥,过桥时候是黑夜,所以必须有灯。

现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。

每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。

问小明一家如何过桥?2、让你一个头两个大的算术题四对夫妇坐在一起闲聊,四位妇女中小丽吃3个梨,小玉吃2个,小芳吃4个,小莲吃1个。

四个男子中,国强吃的梨和他的妻子一样多,向阳吃的是他的妻子的2倍,仲民吃的是他妻子的3倍,文佳吃的是他的妻子的4倍,他们一共吃了32个梨。

你知道仲民的妻子是谁?说明理由不许瞎蒙哦。

3、古印度的有趣数学题古代印度也像古代中国一样有着灿烂的文化。

下面是古代印度手稿里的一道有趣的数学题。

有一群蜜蜂,其中五分之一落在杜鹃花上,三分之一落在栀子花上,这两者的差的三倍飞向月季花,最后剩下一只小蜜蜂在芳香的茉莉花和玉兰花之间飞来飞去,共有几只蜜蜂?4、苹果智商测试有十筐苹果,每筐里有十个,共100个,每筐里苹果的重量都是一样,其中有九筐每个苹果的重量都是1斤,另一筐中每个苹果的重量都是0.9斤,但是外表完全一样,用眼看或用手摸无法分辨。

现在要你用一台普通的大秤一次把这筐重量轻的找出来。

你可以办到么?5、小学奥数初级挑战把框编号,之后在第一框苹果里拿出一个,第二框里拿两个,第三框拿三个,以此类推,把所有拿出的苹果一起称,少0.1就是第一框的苹果轻,少0.2就是第二框轻,少0.3就是第三框轻,以此类推。

6、绕晕你的怪城难题有一个怪城,城里一边住着好人,一边住着坏人,城门左右各有一个人站岗,其中一个是好人,一个是骗子,好人总说实话,骗子总说假话。

有个人到了这个城门后,忘记了哪边是好人,如果问错了人,就会走到骗子住的地方,吃亏上当。

他该怎么办呢?7、你不一定会的生活小事给你两个桶。

容量分别为3升和5升,同时还有大量的水。

你怎么才能准确量出4升的水?8、你能赶上农夫的智商么农夫的村子里面有50个人,每个人家里都有一只家禽。

  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 )。

相关文档
最新文档