全球旧事资料 分类
目录引言2
1问题描述3基本要求3
21为农夫过河问题抽象数据模型体会数据模型在问题求解中的重要性;322设计一个算法求解农夫过河问题,并输出过河方案;3
3概要设计3
31数据结构的设计。3
311农夫过河问题的模型化3312算法的设计4
4、运行与测试65、总结与心得7附录7参考文献13
1
f引言
所谓农夫过河问题是指农夫带一只狼、一只羊和一棵白菜在河南岸需要安全运到北岸。一条小船只能容下他和一件物品只有农夫能撑船。问农夫怎么能安全过河当然狼吃羊羊吃白菜农夫不能将这两种或三种物品单独放在河的一侧因为没有农夫的照看狼就要吃羊而羊可能要吃白菜这类问题的实质是系统的状态问题要寻求的是从初始状态经一系列的安全状态到达系统的终止状态的一条路径。
2
f1问题描述
一个农夫带一只狼、一棵白菜和一只羊要从一条河的南岸过到北岸,农夫每次只能带一样东西过河,但是任意时刻如果农夫不在场时,狼要吃羊、羊要吃白菜,请为农夫设计过河方案。
基本要求
21为农夫过河问题抽象数据模型体会数据模型在问题求解中的重要性;22设计一个算法求解农夫过河问题,并输出过河方案;
3概要设计
31数据结构的设计。
311农夫过河问题的模型化分析这类问题会发现以下特征有一组状态如农夫和羊在南狼和白菜在北西在南从一个状态可合法地转到另外几个状态如农夫自己过河或农夫带着羊过河有些状态不安全如农夫在北其他东有一个初始状态都在南结束状态集这里只有一个都在北。问题表示需要表示问题中的状态农夫等位于南P北每个有两种可能。可以采用位向量4个二进制位的0P1情况表示状态显而易见共2416种可能状态。从高位到低位分别表示农夫、狼、白菜和羊。0000整数0表示都在南岸目标状态1111即整数15表示都到了北岸。有些状态001101010111000111001001是不允许出现的因为这些状态是不安全状态。根据上述条件可以画出系统的状态图如图1所示。
图1系统状态转换图
其中双向的箭头表示r
好听全球资料 返回顶部