1 / 10
文档名称:

人工智能a星算法.doc

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

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

分享

预览

人工智能a星算法.doc

上传人:tswng35 2022/6/19 文件大小:55 KB

下载得到文件列表

人工智能a星算法.doc

相关文档

文档介绍

文档介绍:-
. z.
A*算法实验报告
实验目的
1.熟悉和掌握启发式搜索的定义、估价函数和算法过程
2. 学会利用A*算法求解N数码难题
3. 理解求解流程和搜索顺序
实验原理
<<(ostream& os, Node& node)
{
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++)
os << [i][j] << ' ';
os << endl;
}
-
. z.
return os;
}
void PrintSteps(int inde*, vector<Node>& rstep_v)//输出每一个遍历的节点 深度遍历
{
(node_v[inde*]);
inde* = node_v[inde*].inde*;
while (inde* != 0)
{
(node_v[inde*]);
inde* = node_v[inde*].inde*;
}
for (int i = () - 1; i >= 0; i--)//输出每一步的探索过程
cout << "Step " << () - i
<< endl << rstep_v[i] << endl;
}
void Swap(int& a, int& b)
{
int t;
t = a;
a = b;
b = t;
}
void Assign(Node& node, int inde*)
{
for (int i = 0; i < ROW; i++)
for (int j = 0; j < COL; j++)
[i][j] = node_v[inde*].digit[i][j];
}
int GetMinNode() //找到最小的节点的位置 即最优节点
{
int dist = MA*NUM;
int loc; // the location of minimize node
for (int i = 0; i < (); i++)
{
if (node_v[i].dist == MA*NUM)
continue;
-
. z.
else if ((node_v[i].dist + node_v[i].dep) < dist) {
loc = i;
dist = node_v[i].dist + node_v[i].dep;
}
}
return loc;
}
bool isE*pandable(Node& node)
{
for (int i = 0; i < (); i++) {
if (isEqual(i,