a算法演示系统设计大学本科毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
本次课程设计的题目是“A星算法的演示系统”,A*算法在人工智能中是一种典型的启发式搜索算法,这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或在线游戏的BOT的移动计算上。本次课程设计要求能够演示出整个算法的执行过程,能够进行单步演示,动态演示,把算法的执行过程的精髓演示出来。
在对算法充分了解的基础上,演示算法的执行过程,就要涉及到图像的绘制,而对于图像的编程,显然高级语言有其开发效率高的特点,java强大的运算和图形展示功能,使图像编程变得更加的简单和直观。本课题基于eclipse的java集成开发环境,设计并实现了A星算法的演示系统,展示A星算法如何进行启发式搜索和寻路的过程。实现了设置起点、设置终点、设置障碍、清除障碍、直接寻路、单步寻路、动态寻路、重新寻路、添加默认障碍这些功能的操作。使用者能够通过自己的要求进行A星算法的演示和使用,本软件充分展示A星算法的执行过程。
关键字:A*算法,启发式搜索,java
Abstract
The topic of the course design is"A star algorithm demo software", A * algorithm in artificial intelligence is A kind of typical heuristic search algorithm, this is A graphics in the plane ,have more than one node path, the algorithm of minimum through cost.it often be used in the game of mobile computing of NPC, or online games on mobile computing of BOT.The course design requirs to demonstrate the implementation process of the whole algorithm, can be single step demo, dynamic demonstration, the essence of the execution process of algorithm demo.
on the basis of full understanding of the algorithm, Demonstrateing the algorithm implementation process will involve the Graph drawing, and the programming on image, obviously a high-level language has the characteristics of its development of high efficiency, Java powerful computing and graphics display function, make the image programming more simple and intuitive.This project is based on eclipse's Java integrated development environment, A star algorithm demo software was designed and implemented, showing how A star algorithm of heuristic search and pathfinding.Implements set the starting point and end point, barriers, clear obstacles, directly pathfinding, single step pathfinding, dynamic pathfinding, pathfinding again, add default barrier function of these operations.the user can use the software according to their requirments, the software fully shows the execution of A star algorithm.
Keywords:AStar arithmetic ,heuristic search,java
目录
摘要 0
Abstract (1)
目录 (2)
1 需求分析 (3)
1.1 编写目的 (3)
1.2 背景 (3)
1.2.1 A*搜索算法介绍 (3)
1.2.2 Dijkstra算法 (4)
1.2.3 java语言介绍 (5)
1.2.4 java图形化编程的知识 (7)
1.3 任务概述 (7)
1.4 运行环境规定 (8)
1.5 其他A星软件的优劣 (8)
(1)软件一 (8)
(2)软件二 (9)
2 概要设计 (10)
2.1 界面设计 (10)
2.1.1 软件的进入界面设计 (10)
2.1.2 软件的进入界面的分析 (10)
2.1.3 软件主题界面的设计 (11)
2.1.4 软件主体界面的分析 (11)
2.2 程序需要实现的功能 (12)
3 详细设计 (13)
3.1 类图的设计 (13)
3.2 类之间的关系说明 (13)
3.3 类图的分析 (14)
3.4 程序的实现 (15)
3.4.1 程序逻辑的设计 (15)
3.3.2 找到link中结点的F值最小的结点 (19)
3.4.3 响应绘制方块paint的参数与getGraphics( ) (22)
3.4.4 程序主体界面MyPanel中paint函数做的工作 (23)
3.4.5 主体界面类做的工作 (23)
3.3.6 鼠标监听mouseClicked OR mousePressed (24)
3.3.7 动态寻路的演示 (24)
3.3.8 设置起点的工作 (24)
3.3.9 设置终点的工作 (24)
3.3.10 找不到路径的提示 (25)
4 总结 (26)
5 致谢 (27)
6 参考资料 (28)