1 / 11
文档名称:

人工智能(A星算法).doc

格式:doc   大小:151KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

人工智能(A星算法).doc

上传人:mh900965 2018/1/3 文件大小:151 KB

下载得到文件列表

人工智能(A星算法).doc

文档介绍

文档介绍:A*算法实验报告
实验目的
、估价函数和算法过程
2. 学会利用A*算法求解N数码难题
3. 理解求解流程和搜索顺序
实验原理
A*算法是一种有序搜索算法,其特点在于对估价函数的定义上。对于一般的有序搜索,总是选择f值最小的节点作为扩展节点。因此,f是根据需要找到一条最小代价路径的观点来估算节点的,所以,可考虑每个节点n的估价函数值为两个分量:从起始节点到节点n的代价以及从节点n到达目标节点的代价。
实验条件
Window NT/xp/7及以上的操作系统
内存在512M以上
CPU在奔腾II以上
实验内容
分别以8数码和15数码为例实际求解A*算法
画出A*算法求解框图
分析估价函数对搜索算法的影响
分析A*算法的特点
实验分析
1. A*算法基本步骤
1)生成一个只包含开始节点n0的搜索图G,把n0放在一个叫OPEN的列表上。
2)生成一个列表CLOSED,它的初始值为空。
3)如果OPEN表为空,则失败退出。
4)选择OPEN上的第一个节点,把它从OPEN中移入CLPSED,称该节点为n。
5)如果n是目标节点,顺着G中,从n到n0的指针找到一条路径,获得解决方案,成功退出(该指针定义了一个搜索树,在第7步建立)。
6)扩展节点n,生成其后继结点集M,在G中,n的祖先不能在M中。在G中安置M的成员,使他们成为n的后继。
7)从M的每一个不在G中的成员建立一个指向n的指针(例如,既不在OPEN中,也不在CLOSED中)。把M1的这些成员加到OPEN中。对M的每一个已在OPEN中或CLOSED中的成员m,如果到目前为止找到的到达m的最好路径通过n,就把它的指针指向n。对已在CLOSED中的M的每一个成员,重定向它在G中的每一个后继,以使它们顺着到目前为止发现的最好路径指向它们的祖先。
8)按递增f*值,重排OPEN(相同最小f*值可根据搜索树中的最深节点来解决)。
9)返回第3步。
在第7步中,如果搜索过程发现一条路径到达一个节点的代价比现存的路径代价低,就要重定向指向该节点的指针。已经在CLOSED中的节点子孙的重定向保存了后面的搜索结果,但是可能需要指数级的计算代价。
实验步骤
算法流程图
开始
读入棋局初始状态
是否可解
否o
是o
初始状态加入open表
在open表中找到评价值最小的节点,作为当前结点
是目标节点
是o
否o
扩展新状态,把不重复的新状态加入open表中
当前结点从open表移除
结束
输出结果
程序代码
#include <iostream>
#include <ctime>
#include <vector>
using namespace std;
const int ROW = 3;//行数
const int COL = 3;//列数
const int MAXDISTANCE = 10000;//最多可以有的表的数目
const int MAXNUM = 10000;
typedef struct _Node{
int digit[ROW][COL];
int dist; //一个表和目的表的距离
int dep; // t深度
int index; //节点的位置
} Node;
Node src, dest;// 父节表目的表
vector<Node> node_v; //存储节点
bool isEmptyOfOPEN() //open表是否为空
{
for (int i = 0; i < (); i++) {
if (node_v[i].dist != MAXNUM)
return false;
}
return true;
}
bool isEqual(int index, int digit[][COL]) //判断这个最优的节点是否和目的节点一样
{
for (int i = 0; i < ROW; i++)
for (int j = 0; j < COL; j++) {
if (node_v[index].digit[i][j] != digit[i][j])
return false;
}
return true;
}
ostream& operator<<(ostream& os, Node& node)
{
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++)
os << [i][j] << ' ';
os << endl;

最近更新

关于加氢裂化装置压力容器的调查分析 2页

2025年消费者购物心理分析全解读 23页

关于内部网络信息安全防护措施的探讨 2页

关于依靠科技提高农业发展支撑能力的思考 2页

2025年核酸检测与核苷酸解析攻略 79页

关于企业人力资源的成本控制及优化研究 2页

《新办个体工商户》 39页

关于“自旋核Larmor 进动转向”问题的讨论 2页

2025年护理部门年终工作汇报模板大全 25页

2025年护理研究项目课题申请撰写与评审要点解.. 18页

关于GIS扩建新间隔后耐压试验的探讨 2页

2025年慢性骨髓炎症状与治疗全解析 40页

兰州商学院图书馆藏书结构现状分析及评价 2页

2025年急性腹痛的影像学诊断关键 105页

公路施工企业项目资金管理对策与研究 2页

公众参与地方立法问题研究的开题报告 2页

全面预算管理与ERP系统融合优势分析 2页

全线相继速动距离保护新原理及其分析 2页

全民所有制企业企业基金所有权归属的矛盾及其.. 2页

全国重力台站观测资料的质量分析 2页

全国第五次新型纺纱学术讨论会在福州召开 2页

全国砂矿钻探技术经验交流会在成都召开 2页

2025年大气污染与健康生活关联解析 131页

2025年多发性硬化症MS确诊指南 24页

全国四环类抗菌素生产技术经验交流会在济宁市.. 2页

2025年喉部肿瘤治疗攻略 44页

2025年呼吸道感染主要病菌一览 39页

光通信用红外晶体器件镀膜与物理特性研究 2页

光电催化技术在有机废水处理中的研究进展 2页

2025年安徽省初中学业水平考试名校联考(一)数.. 2页