启发式搜索算法的面向对象设计实现
本文关键词:基于启发式搜索的灵活规划的算法研究,由笔耕文化传播整理发布。
当前位置:文库下载 > 所有分类 > IT/计算机 > 启发式搜索算法的面向对象设计实现
启发式搜索算法的面向对象设计实现
搜索算法
的所有程序P在所有对象o1都换成o2时,程序P的行为没有变化,那么类型T2是T1的子类型[5]。当StatusNode接口的实现遵循以上原则时,该类就可插入到启发式搜索这个系统中去。
在如图1所示的设计模型中,可以看到其完全符合“开-闭”原则。一旦设计完善,HeuristicSearch类和Sta2
tusNode接口无需再改变,即对修改关闭。同时可插入新
下面是运行八数码问题的主程序片断。
StatusNodeinitBashumaNode=newBashumaStatusNode();initBashumaNode.setNum8(num8);//设置初始结点
……
StatusNodegoalBashumaNode=newBashumaStatusNode();goalBashumaNode.setNum8(num8);//设置目的结点
……
HeuristicSearchhSearch=newHeuristicSearch(initBashumaN2ode,goalBashumaNode);
if(hSearch.search())//调用search()方法进行搜索。如果搜
的领域的具体实现,如图1中“具体状态节点1”和“具体状态节点2”所示,即对扩展开放。
索成功,则打印结果
3 抽象启发式搜索算法与具体问题的应用实例
下面将上述对启发式搜索算法实现应用于八数码问题。主要遵循StatusNode接口实现BashumaStatusNode类,如图2
所示。
{
; System.out.println(“Theresultis: hSearch.PrintResult();4面向对象技术强调从问题域的概念到软件程序和界面的直接映射。心理学的研究也表明,把客观世界看成是许多对象更接近人类的自然思维方式,对象比函数更为稳定。软件需求的变动往往是功能相关的变动,而其功能的执行者———对象通常不会有大的变动。另外,面向对象的开发也支持、鼓励软件工程实践中的信息隐藏、数据抽象和封装。在一个对象内部的修改被局部
图2 八数码问题的实现类图
隔离。面向对象开发的软件易于修改、
扩充和维护。总之,面向对象的技术是以前的软件开发技术自然演进的成果,对许多应用领域的软件开发都极具前途。
参考文献:
[1] 樊 莉,孙继银,王 勇.人工智能中的A3算法应用及编
在BashumaStatusNode类中,主要定义和实现了下列一些成员变量和方法:
(1)二维数组num8[][]表示八个数字和空格的格局。(2)hv:本节点x到目标节点的最优路径的估计代价;gv:初始节点到本节点x已经实际付出的代价;fv:hv与gv
之和。
(3)getExpanded(),由八数码问题的当前格局,获得当
程[J].微机发展,2003,13(5):33-35.
[2] 方贤进.建立状态图启发式搜索的面向对象模型[J].沈阳
前格局的所有子节点;
(4)comparaTo(),由fv的值比较两个BashumaSta2tusNode对象;
(5)equals(),当两个BashumaStatusNode对象的格局
工业大学学报,2003,25(4):334-337.
[3] 王永庆.人工智能原理与方法[M].西安:西安交通大学出
版社,2001.
[4] 丽奇E.人工智能引论[M].广州:广东科技出版社,1988.[5] 阎 闳.Java与模式[M].北京:电子工业出版社,2002.
完全相等时,返回true。
(上接第10页)
AppliedMathematics,Oslo,2001.
[37] BertramM,TricocheX,HagenH1AdaptiveSmoothScat2
tered-dataApproximationforLarge-scaleTerrainVisual2ization[Z].Switzerland:EurographicsAssociationAire-la-Ville,2003.
[38] HaberJ,ZeilfelderF,DavydovO,etal.SmoothApproxima2
tionandRenderingofLargeScatteredDataSets[A].InProc.IEEEVisualization2001[C].Washington,DC,USA:IEEEComputerSociety,2001.341-347.
[39] ScheibV,HaberyJ,LinMC,etal.EfficientFittingandRen2
deringofLargeScatteredDataSetsUsingSubdivisionSur2faces[J].ComputerGraphicsForum,2002,21(3):353-362.
上一页第3页
Word文档免费下载:启发式搜索算法的面向对象设计实现(下载1-3页,共3页)
我要评论
相关主题
相关文档
课表编排系统的算法研究与实现
验的排课 专家总结 的经验规则, 采用深度优先有界启发式算法, 搜索出课表问题...4 系统的测试本系统用面向对象的程序设计实现, 可以处理各种课程情况, 每周上...
基于启发式搜索策略的主题网络爬虫算法的设计与实现
基于启发式搜索策略的主题网络爬虫算法的设计与实现 ...据赛迪网调查, 有六成的网民认为面向某一领域的...按字典顺序将此 String 对象表示的字 符序列与参数...
启发式搜索A星算法的八数码实现报告
启发式搜索A星算法的八数码实现报告_计算机软件及应用_IT/计算机_专业资料。A星...要求:1、给出编码方式和生成初始群体,精确到小数 点后 1 位; 2、 设计适应...
第九章 面向对象设计方法
第九章 面向对象设计 ?9· OOD准则 1 ?9· 启发式规则 2 ?9· 软件重用 ...二、实现方法⑴ 算法设计:要求做到易修改,并且复杂度低(即 效率高) 易理解,...
面向对象技术及应用复习
使得对象可以根据 自身的特点进行功能实现,提高了程序设计的灵活性: ⑤ 易维护...推理算法和搜索手段进行匹配、演算的过程,有利于 启发式; 第三, 面向对象的...
基于启发式搜索的灵活规划的算法研究与系统实现
游戏角色设计 、 系统建模等方面 ,带来的成果有目共...基于启发式搜索的灵活规划的算法研究与系统实现 3 )...面向对象的系统分析 [ M ] . 清华大学出版社 、...
第6章 面向对象设计
第6章 面向对象设计_计算机软件及应用_IT/计算机_专业...特殊类中显式定义的信息离出来,作为部分对象,以原来...看语言是否对其直接支持,否则要在算法上考虑如何实现...
信息技术信息技术(选修1)算法与程序设计
递归算法解决的问题经典例子 4.6 综合活动:问题求解第五章 面向对象程序设计 5....其本搜索方法 4.3 启发式搜索 4.4 求解博弈问题 4.5 浅谈机器证明*(选学内容)...
面向对象设计_蚁群算法示例
启发式搜索算法的面向对... 3页 免费 面向对象设计方法 34页 2下载券 面向对象...试利用面向对象方法学建立“ 试利用面向对象方法学建立“蚁群算法求解最短路 的...
面向对象的并行算法设计
但是在应用PCAM方法设计并行算法时会遇到如何调节数据与算法之间的矛盾 的问题,针对这一问题可以使用面向对象的并行算法设计的方法,即OOPCAM方法。在PCAM方法的基 础...
软件工程面向对象设计
启发式规则 1、设计结果清晰易懂,应做到: ① 用词一致 —— 按习惯用法命名...§5. 设计类中的服务 2、设计实现方法 ⑴ 算法设计:要求做到易修改,并且复杂...
他们刚刚阅读过:
2016-2017年最新审定人教版数学三年级上册教案全集(名校教案)
五年(5)班“庆六一 红领巾心向党”主持稿
权力的游戏英文简介
设计心理学
石英砂除铁方案
MATLAB作业7参考答案
教师资格证体检表
Teach girls to be brave-TED演讲
2014年安徽公务员考试行测:快速排除阅读题干扰项
辛置小学杨玉香教学中的互联网搜索教案
室内装修风水-经典篇
01 沁园春·长沙
安徽重点项目-广德年产8000万包汽车制动器修理包项目可行性研究报告
山东省泰安新泰市2013-2014学年七年级历史下学期期末考试试题
网球协会招新策划书
2016年执业药师继续教育 身边的营养学答案
专题研究:企业改制过程中的税收问题
煎药室煎药机标准化操作程序
英语中考复习-重点句型、短语大盘点
逃出惊悚房间通关攻略 第六关
APIO2008官方解题报告
MCS-51指令的英文全称
本文关键词:基于启发式搜索的灵活规划的算法研究,由笔耕文化传播整理发布。
,本文编号:116168
本文链接:https://www.wllwen.com/kejilunwen/rengongzhinen/116168.html