资源简介
今天进行程序的测试,发现运算速度相当缓慢,当使用876,543,210这个矩阵变换,运算了130k+步骤,耗时有半个小时多。经过简单
计算,九个格子放入九个数,就有A99种排列组合,结果是360K+,所以当程序运行到100K+的时候,我还是在耐心等待,不过帮我测试的同学可没
有我的耐心,早早得都关了。-_-|| 所以在昨天晚上抱着尝试的心态,写了A*算法。该算法就是有序搜索,与盲目搜索的不同之处就是多了一个跟
据一定的策略,从open表中找一个最容易产生结果的结点进行扩展。在这个程序中,该策略就是找到与目标状态数字的排列最接近的结点进行扩展。
结果再输入 876,543,210 只有经过700+,改进速度提升了几个数量级,结果还是另人满意的。

代码片段和文件信息
//this is main.cpp
// 九宫格 数字移动就是 将一个九个格子中初始填充1~8 然后经过移动 使之变成目标状态
/*
初始状态 1 2 3 1 2 3
4 5 -> 4 5 6
7 8 6 7 8
*/
//~
//#include“data.h“
#include“search.h“
void main()
{
cout << “********************************************************************************“ << endl;
cout << “this program is about the movement of number. In details the matrix‘length is 3“ << endl;
cout << “and the width is 3.Now input 8 numbers from 1 to 8 (0 means blank). The program“ << endl;
cout << “will move these 8 numbers from initial state to final state automatically “ << endl << endl;
cout << “For example:“ << endl;
cout << “1 2 3 1 2 3 “ << endl;
cout << “4 0 5 -> 4 5 6 “ << endl;
cout << “7 8 6 7 8 0 “ << endl;
cout << “Now please the 8 numbers (0~8) and blank (the blank is zero) “ << endl;
initial(head);
int i j;
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
{
cout << “(“ << i + 1 << ““ << j + 1 << “) =: “;
cin >> head.grid[i][j];
}
findzore(head);
findweight(head);
pnode p = &head;
pnode r = search(p);
if( r != NULL)
{
cout << “^_^ found!!“ << endl;
output(r);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6706 2008-11-26 22:35 data.h
文件 1360 2008-11-26 22:38 main.cpp
文件 1874 2008-11-25 11:05 readme.txt
文件 5067 2008-11-26 22:34 search.h
----------- --------- ---------- ----- ----
15007 4
相关资源
- 北航人工智能原理课大作业源代码,
- A*算法的2D演示(带源码)
- 利用启发式搜索解决八数码难题程序
- Python版的A*寻路算法
- A Pathfinding Project Pro v4.2.2.rar
- unity寻路插件:A*Pathfinding
- A*DijkstraBFS路径搜寻算法演示程序
- 简单A*算法罗马尼亚度假问题
- UNITY自动寻路插件 A* Pathfinding Project
- A*算法和基于深度优先的八数码问题
- ARA* AD*室内机器人导航算法研究
- 基于稀疏A*航迹规划算法
- A星算法实现路径规划
- A*算法解决旅行商问题
- a* 算法 人工智能 拼图游戏
- 十进制加法器课程设计常规型微程序
- 搜索算法演示程序
- 模拟红蓝军对战程序
- A*算法旅行商问题实验报告和代码
- A*算法的具体思想我见过的写的最好的
- 一种基于A* 算法的动态多路径规划算
- 西工大人工智能八数码实验报告
- A星算法伪代码
- 老外牛逼A*寻路算法
- 基于A*算法的路径规划
- 八数码 + 迭代深搜 +A*
- AStar寻路算法有图形界面
- 传教士和野人问题(MC问题)的A*算法
- A*全局路径规划器ros
- 通过alpha-belta剪枝的极大极小值算法实
评论
共有 条评论