资源描述:
《a算法演示系统设计大学本科毕业论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、摘要本次课程设计的题目是“A星算法的演示系统”,A*算法在人工智能中是一种典型的启发式搜索算法,这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或在线游戏的BOT的移动计算上。本次课程设计要求能够演示出整个算法的执行过程,能够进行单步演示,动态演示,把算法的执行过程的精髓演示出来。在对算法充分了解的基础上,演示算法的执行过程,就要涉及到图像的绘制,而对于图像的编程,显然高级语言有其开发效率高的特点,java强大的运算和图形展示功能,使图像编程变得更加的简单和直观
2、。本课题基于eclipse的java集成开发环境,设计并实现了A星算法的演示系统,展示A星算法如何进行启发式搜索和寻路的过程。实现了设置起点、设置终点、设置障碍、清除障碍、直接寻路、单步寻路、动态寻路、重新寻路、添加默认障碍这些功能的操作。使用者能够通过自己的要求进行A星算法的演示和使用,本软件充分展示A星算法的执行过程。关键字:A*算法,启发式搜索,javaAbstractThetopicofthecoursedesignis"Astaralgorithmdemosoftware",A*algorithmi
3、nartificialintelligenceisAkindoftypicalheuristicsearchalgorithm,thisisAgraphicsintheplane,havemorethanonenodepath,thealgorithmofminimumthroughcost.itoftenbeusedinthegameofmobilecomputingofNPC,oronlinegamesonmobilecomputingofBOT.Thecoursedesignrequirstodemon
4、stratetheimplementationprocessofthewholealgorithm,canbesinglestepdemo,dynamicdemonstration,theessenceoftheexecutionprocessofalgorithmdemo.onthebasisoffullunderstandingofthealgorithm,DemonstrateingthealgorithmimplementationprocesswillinvolvetheGraphdrawing,a
5、ndtheprogrammingonimage,obviouslyahigh-levellanguagehasthecharacteristicsofitsdevelopmentofhighefficiency,Javapowerfulcomputingandgraphicsdisplayfunction,maketheimageprogrammingmoresimpleandintuitive.Thisprojectisbasedoneclipse'sJavaintegrateddevelopmentenv
6、ironment,Astaralgorithmdemosoftwarewasdesignedandimplemented,showinghowAstaralgorithmofheuristicsearchandpathfinding.Implementssetthestartingpointandendpoint,barriers,clearobstacles,directlypathfinding,singlesteppathfinding,dynamicpathfinding,pathfindingaga
7、in,adddefaultbarrierfunctionoftheseoperations.theusercanusethesoftwareaccordingtotheirrequirments,thesoftwarefullyshowstheexecutionofAstaralgorithm.Keywords:AStararithmetic,heuristicsearch,java目录摘要1Abstract2目录31需求分析41.1编写目的41.2背景41.2.1A*搜索算法介绍41.2.2Dijkstra
8、算法51.2.3java语言介绍61.2.4java图形化编程的知识81.3任务概述81.4运行环境规定91.5其他A星软件的优劣9(1)软件一9(2)软件二102概要设计112.1界面设计112.1.1软件的进入界面设计112.1.2软件的进入界面的分析112.1.3软件主题界面的设计122.1.4软件主体界面的分析122.2程序需要实现的功能133详细设计143.1类图的设计143.2类之间的关