湖南农业大学毕业论文设计.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:21 大小:131KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

湖南农业大学毕业论文设计.ppt

湖南农业大学毕业论文设计.ppt

预览

免费试读已结束,剩余 11 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

摘要移动十五概述系统设计与实现程序演示总结移动十五概述图1-1初态图1-2目标态设计要求从给定的状态找到达到给定的目标状态的最优解,并演示此最优解。系统设计与实现界面的实现算法的设计与实现算法步骤如此继续,直至找到一个解(即到达目标状态的一条路径),并保存。此时需回溯两步,改变移动方向以继续找更优解,因为回溯一步实际上没有意义。若不行,则再回溯一步,且更改移动方向,继续找。若找到一个更优解,则将此更优解替换先前的最优解。直到栈中没有结点,则此时的最优解即为所要求的最优解。算法具体步骤如下: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.判断infor->rule是否大于等于4。若是,表示当前状态已向各个方向进行过搜索,因此应回溯一步,即栈顶结点指针first减1,弹出一结点,同时栈顶结点的rule值加1。此时继续判断first是否为-1,若是,表明栈空,跳至15。否则返回5。7.继续判断当前结点深度是否大于预测深度或当前最优解深度,若大于则回溯一步,同时栈顶结点规则加一,返回5。(8.根据当前状态的空格‘0’位置,根据移动规则获得预移入空格的方格位置(x,y)。移动规则0,1,2,3分别对应‘0’的下,右,左,上四个相邻位置,移入规则是可根据需要自定义的。9.判断当前预移入方格的位置是否越界。若越界,则当前状态结点的移动规则infor->rule+1,返回5;否则继续。10.预先判断移动后的状态是否与栈中某一结点状态相同。若是,则当前结点移动规则加1,返回5。否则继续。11.交换方格(移入空格),当前结点状态infor为移后的状态,且infor->rule重置为0,infor->deep+1。12.infor入栈,若infor的状态与目标态不同返回5,否则转13。13.如果预测深度exp大于当前结点info的深度info->deep,去掉以前深度较大的结果,深度result[Rp].deep等于当前结点的深度info->deep14.保存结果,置有解标志,flag=1;转5;15.显示保存的结果,即最优解。16.结束。总结设计过程中的优缺点1.优点:界面的设计;整个设计过程工程化思想的运用;算法与界面的结合。2.缺点:对于无解这种情况采取了回避;程序代码仍显凌乱,且冗余度仍较大;对程序设计的整体规划仍有所欠缺;在文挡及演示稿的编写过程中,对所用到的办公软件不熟悉。多谢各位答辩老师指导2004.6.