湖南农业大学毕业论文(设计)【通用】.ppt

湖南农业大学毕业论文(设计)【通用】.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多谢各位辩论教师 指导 2004.6. .. * 精选文档 湖南农业大学 毕业论文〔设计〕 课 题 “移动十五〞的实现 院 〔系〕 计算机与信息工程学院 年级专业 2000级 计算机科学与技术 学生姓名 黎 陟 指导教师 彭 佳 红 .. * 精选文档 摘要 拼图游戏是一类曾一度广受欢送的益智类游戏。数字拼图就是其中的一种。拼图游戏的根本规那么就是将原来杂乱无章的图片碎快或数字通过移动交换位置而拼成具有一定形状的图形或有序的数字序列。 本次设计的目的就是通过“移动十五的实现〞来模拟这一拼图过程,找出其最优解,并试图由这些最优解找出其中潜在的某些规律性。 .. * 精选文档 “移动十五〞就是在一个4*4方阵中填入0-15这16个数〔其中0代表空格〕,只有在0上下左右四个方位的数字才可与0交换〔移入空格〕。在如此规那么之下移动方阵中的数字,以到达一定的目标状态 本设计采用回溯法来实现找最优解 .. * 精选文档 移动十五概述 系统设计与实现 程序演示 总结 .. * 精选文档 移动十五概述 “移动十五〞就是在一个4*4方阵中填入0-15这16个数〔其中0代表空格〕,只有在0上下左右四个方位的数字才可与0交换〔移入空格〕。在如此规那么之下移动方阵中的数字,以到达一定的目标状态。下面图1—1和图1—2分别表示一个初始状态和一个目标状态。 .. * 精选文档 图1-1 初态 .. * 精选文档 图1-2 目标态 .. * 精选文档 设计要求从给定的状态找到到达给定的目标状态的最优解,并演示此最优解。 .. * 精选文档 系统设计与实现 1.设计思路 本程序从界面设计入手,结合界面来调用相关模块以实现各相应功能。 然后重点进展算法的实现。 首先构思出算法的主要思想,根据此思想给出算法的根本步骤。然后设计适宜的数据构造,写出算法的自然语言形式的代码。最后结合程序将算法用动态效果表达出来。 .. * 精选文档 最后进展系统的完善,包括界面的完 善,以及算法正确性的验证。 .. * 精选文档 界面的实现 程序首先设置一主窗口,通过下拉菜单来进展各项功能选择: PLAY:用户进入数字拼图游戏,将一随机产生的初始状态通过移动变为从小到大排列的数字序列的终状态。 SHOW:给出一初始状态,演示其到达目的状态最优路径的过程。 CHOOSE:进展难度选择〔即选择9格或16格〕。 EXIT:退出程序。 .. * 精选文档 然后进展每个模块的界面设计,主要是数字方格的动态演示过程的实现。 其中数字方格及移动操作都设计为单个模块,以便更方便地与算法所用的数据构造结合。 最后是添加各种效果,如提示文字、按钮效果等。 .. * 精选文档 算法的设计与实现 本设计核心算法采用回溯法,以回溯来穷搜举所有可能由初始态到达目标状态的路径〔规定了最大路径长度,即最大解深度〕。 .. * 精选文档 算法步骤 首先根据设定的规那么进展移动,利用一个栈Stack将每一次移动后的状态以栈顶结点形式保存。每次移动前都判断移动后的状态是否与栈中各结点状态一样,假设一样,那么改变方向〔即更改规那么〕进展移动。假设此状态下移动规那么用完,那么从栈中弹出顶点结点,即回溯一步。 .. * 精选文档 如此继续,直至找到一个解〔即到达目标状态的一条路径〕,并保存。此时需回溯两步,改变移动方向以继续找更优解,因为回溯一步实际上没有意义。假设不行,那么再回溯一步,且更改移动方向,继续找。假设找到一个更优解,那么将此更优解替换先前的最优解。直到栈中没有结点,那么此时的最优解即为所要求的最优解。 .. * 精选文档 算法具体步骤如下: 1. 读取初始状态start和目标状态goal,判断输入的状态是否合法,不合法退出。〔合法性主要是指是否有重复的或是否越界〕; 2.初始状态start是否与目标状态goal完全一样以及初始状态start是可到达目标状态goal,完全一样或不能到达 就退出; 3.置初始解数为0,解深度为0; .. * 精选文档 4.初始状态start作为当前结点infor的状态infor-state,同时作为栈顶界点的状态。置深度infor-deep=0;移动规那么infor-rule=0; 5.将栈顶结点赋给infor. 6

文档评论(0)

liuxuxuan + 关注
实名认证
内容提供者

不擅风华,唯精志心

1亿VIP精品文档

相关文档