野人和传教士过河问题的实现1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 问题背景
有三个传教士(MISSIONARYS)和三个野人(CANNIBALS)一起来到河边准备 渡河,河边有一条空船,且传教士和野人都会划船,但每次最多可供两人 (BOATCAPACITY)乘渡。河的任何一岸以及船上一旦出现野人人数超过传教士人数, 野人就会把传教士吃掉。
1
武汉理工大学《计算机软件高级项目实践》课程设计说明书
野人和传教士过河问题的实现
1 课程设计内容与要求
1.1 设计目的
设计有效的数据结构和算法实现野人和传教士过河问题。
1.2 设计内容
1. 深入理解野人和传教士过河问题的实质,调研该问题实现的相关算法; 2. 设计有效的数据结构和算法实现该问题; 3. 根据算法完成程序的编写和调试,要求输出实现的结果; 4. 按课程设计要求撰写报告。
7.1 复杂度分析................................................................................................................................. 15 7.2 问题的演变................................................................................................................................. 15
目录
野人和传教士过河问题的实现 .................................................................................................................. 2 1 课程设计内容与要求 .......................................................................................................................... 2
7.2.1 求最快能过河的渡河方案 ................................................................................................. 15 7.2.2 求一种能过河的渡河方案 ................................................................................................. 16 8 总结 .................................................................................................................................................... 18 参考文献 .................................................................................................................................................... 19 附录 1 求一种能过河的渡河方案 ......................................................................................................... 19
பைடு நூலகம்
武汉理工大学《计算机软件高级项目实践》课程设计说明书 7 展望 .................................................................................................................................................... 15
1.1 设计目的....................................................................................................................................... 2 1.2 设计内容....................................................................................................................................... 2 2 问题背景 .............................................................................................................................................. 2 2.1 深度优先算法............................................................................................................................... 2 2.2 广度优先算法............................................................................................................................... 3 2.3 A*算法 .......................................................................................................................................... 3 3 数学模型 .............................................................................................................................................. 3 3.1 状态空间....................................................................................................................................... 3 3.2 安全状态空间............................................................................................................................... 4 3.3 渡河方案....................................................................................................................................... 4 3.4 安全渡河方案............................................................................................................................... 4 3.5 渡河决策....................................................................................................................................... 5 4 数据结构 .............................................................................................................................................. 5 4.1 状态State ...................................................................................................................................... 5 4.2 策略的头结点............................................................................................................................... 6 4.3 最小化内存空间结构................................................................................................................... 6 5 算法实现 .............................................................................................................................................. 7 5.1 判断是否为安全状态的函数....................................................................................................... 7 5.2 显示所有的安全状态函数........................................................................................................... 8 5.3 显示状态函数............................................................................................................................... 8 5.4 显示路径函数............................................................................................................................... 9 5.5 递归算法函数............................................................................................................................. 10 6 实验结果 ............................................................................................................................................ 13
有三个传教士(MISSIONARYS)和三个野人(CANNIBALS)一起来到河边准备 渡河,河边有一条空船,且传教士和野人都会划船,但每次最多可供两人 (BOATCAPACITY)乘渡。河的任何一岸以及船上一旦出现野人人数超过传教士人数, 野人就会把传教士吃掉。
1
武汉理工大学《计算机软件高级项目实践》课程设计说明书
野人和传教士过河问题的实现
1 课程设计内容与要求
1.1 设计目的
设计有效的数据结构和算法实现野人和传教士过河问题。
1.2 设计内容
1. 深入理解野人和传教士过河问题的实质,调研该问题实现的相关算法; 2. 设计有效的数据结构和算法实现该问题; 3. 根据算法完成程序的编写和调试,要求输出实现的结果; 4. 按课程设计要求撰写报告。
7.1 复杂度分析................................................................................................................................. 15 7.2 问题的演变................................................................................................................................. 15
目录
野人和传教士过河问题的实现 .................................................................................................................. 2 1 课程设计内容与要求 .......................................................................................................................... 2
7.2.1 求最快能过河的渡河方案 ................................................................................................. 15 7.2.2 求一种能过河的渡河方案 ................................................................................................. 16 8 总结 .................................................................................................................................................... 18 参考文献 .................................................................................................................................................... 19 附录 1 求一种能过河的渡河方案 ......................................................................................................... 19
பைடு நூலகம்
武汉理工大学《计算机软件高级项目实践》课程设计说明书 7 展望 .................................................................................................................................................... 15
1.1 设计目的....................................................................................................................................... 2 1.2 设计内容....................................................................................................................................... 2 2 问题背景 .............................................................................................................................................. 2 2.1 深度优先算法............................................................................................................................... 2 2.2 广度优先算法............................................................................................................................... 3 2.3 A*算法 .......................................................................................................................................... 3 3 数学模型 .............................................................................................................................................. 3 3.1 状态空间....................................................................................................................................... 3 3.2 安全状态空间............................................................................................................................... 4 3.3 渡河方案....................................................................................................................................... 4 3.4 安全渡河方案............................................................................................................................... 4 3.5 渡河决策....................................................................................................................................... 5 4 数据结构 .............................................................................................................................................. 5 4.1 状态State ...................................................................................................................................... 5 4.2 策略的头结点............................................................................................................................... 6 4.3 最小化内存空间结构................................................................................................................... 6 5 算法实现 .............................................................................................................................................. 7 5.1 判断是否为安全状态的函数....................................................................................................... 7 5.2 显示所有的安全状态函数........................................................................................................... 8 5.3 显示状态函数............................................................................................................................... 8 5.4 显示路径函数............................................................................................................................... 9 5.5 递归算法函数............................................................................................................................. 10 6 实验结果 ............................................................................................................................................ 13