• 大小: 7KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 语言: C/C++
  • 标签: 人工智能  

资源简介

重排九宫的广度优先算法 有代价函数实现局部优先 用哈希表来看是否已经在open表中

资源截图

代码片段和文件信息

#include 
#include 
#include 
using namespace std;

int tgt[9] = { 0 };
int hsTable[86419760] = { 0 };//搜索过为1

//节点类
class Node
{
public:
int state[9];

int father;//父结点编号
int difference;//与目标的差异
int depth;//深度
int eva;//代价
int loc;//在hsTable表位置
Node();
void show();
void setEva();
void setState(int a[9]);
void setLoc();
};
Node::Node()
{
father = -1;
difference = 9;
depth = 0;
eva = INT_MAX;
int i temp = 0;
for (i = 0;i < 9;i++)
state[i] = i;
for (i = 0;i < 8;i++)
{
temp = temp * 10 + state[i];
}
loc = temp - 1234567;
}
void Node::show()
{
for (int i = 0;i < 9;i++)
{
cout << state[i];
if (i == 2 || i == 5 || i == 8)
cout << endl;
else
cout << “ “;
}
}

void Node::setEva(

评论

共有 条评论