- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《高级人工智能》试卷答案(2008级)
简答题:
初始状态S0=(0,1,2,1,3,0),首先定义两个操作:分别把箱子A,箱子B推到目标状态。
首先机器人向左推3格得到状态S1=(0,1,2,1,0,0),机器人推箱子向上走两格得到状态S2=(0,3,2,1,0,2)
第二步,机器人返回去推箱子B,得状态S3=(0,3,2,1,3,1),机器人推箱子B向左走一格得状态S4=(0,3,1,1,2,1),机器人再向下走一格,再向左走格得状态S5=(0,3,1,3,3,0)
最后机器人推着箱子B向上走两眇到达目标状态S6=(0,3,1,3,3,0)
FOIL算法
生成训练子集合T(包括正例和负例),如果T包含正例,则继续,否则结束;
用目标谓词初始化1个新子句头P(V1,V2…..,Vk);
生成一个新的训练集合T1,T1-T;
如果T1中包含负例,则在背景知识中找到一个约束L,添加在子句P的右边,否则车到7)
生成新的空的训练集合T2,如果T1中的每个元素ti和基于约束L的每一个绑定(扩展)bi都满足L,则将bi加入到ti中,将ti加入到T2中。
T1-T2,转到4);
结束。
从结点S0开始搜索,S0不是目标结点G,则扩展S0,由f(n)=V(n)/10+D(n)得如下两式:
f(S1)=3/10+1
f(S2)=7/10+1
由于S1、S2不是目标结点G,则从S1、S2中选取代价最小的进行扩展,对S1进行扩展得如下两式:
f(S3)=5/10+2
f(S4)=10/10+2
由于S3、S4不是目标结点G,则从S3、S4、S2中选取代价最小的进行扩展,对S2进行扩展得如下两式:
f(G)=14/10+2
f(S5)=13/10+2
找到所求结点G,搜索停止。
4. 9个方格的一字棋博弈问题算法
具体实现(C++实现)
#includestdio.h
#includestring.h
#includeiostream.h
const int maxwin=32767;
const int minwin=-32767;
const int MAX=3;
int pai;
struct node
{
int value;
int father;
char pf[MAX][MAX];
int floor;
int son;
};
class chess
{
private:
int dep;
int p,q,ppp;
node queue[10000];
int sign[10000];
public:
void init();
void print(char temp[3][3]);
int equal(char a[MAX][MAX],char b[MAX][MAX]);
int GetAllMoves(node f,int p,int bit);
int che(char f[MAX][MAX],int x,char ch);
int check(char f[MAX][MAX]);
int fun(char f[MAX][MAX]);
int maxnum(int a,int b);
int minnum(int a,int b);
int max(int depth,node f,int vf_min);
int min(int depth,node f,int vf_max);
int work(char sump[3][3],int x,int y);
};
void chess::print(char temp[3][3])
{
int i,j;
printf(state is:\n);
printf(+-+-+-+\n);
for (i=0;iMAX;i++)
{
for (j=0;jMAX;j++)
{
if(temp[i][j]==c)printf(| );
else printf(|%c,temp[i][j]);
}
printf(|\n+-+-+-+\n);
}
//printf(Its value is %d,its floor is %d\n,f.value,f.floor);
return;
}
//打印结点的状态
int chess::che(char f[MAX][MAX],int x,char ch)
{
if (x==0)
if (f[0][0]==ch f[0][1]==ch f[0][2]==ch) return 1;
if (x==1)
if (f[1][0]==ch f[1][1]==ch f[1][2]==ch) re
您可能关注的文档
最近下载
- 有趣的心理学课件.ppt VIP
- LabVIEW软件在锂电池故障模拟检测系统的设计与开发.docx VIP
- 木结构建筑防火性能分析.pptx VIP
- 第8章 剥蚀厚度与埋藏史和埋藏史恢复方法.ppt
- 05J909:工程做法国标 行业图集.pdf VIP
- 浙江省杭州市临平区2024−2025学年七年级上学期分班考 数学试题(7月份)(含解析).docx VIP
- 2024-2025学年江苏省苏州市星海实验中学高一(上)期中考试物理试卷(含答案).docx VIP
- 右心衰竭患者麻醉指南.pptx
- 销售人员必备山东省滨州市惠民县医疗机构分布明细.pdf VIP
- 销售人员必备山东省滨州市阳信县医疗机构分布明细.pdf VIP
文档评论(0)