2024年人工智能实验报告.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

八数码以及拾五数码問題

基于人工智能的状态空间搜索方略研究

——八数码問題求解

一、试验問題

八数码問題求解

二、试验软件

VC6.0编程語言或其他编程語言

三、试验目的

1.熟悉人工智能系统中的問題求解過程;

2.熟悉状态空间的盲目搜索和启发式搜索算法的应用;

3.熟悉對八数码問題的建模、求解及编程語言的应用。

四、试验数据及环节

(一、)试验内容

八数码問題:在3×3的方格棋盘上,摆放著1到8這八個数码,有1個方格是空的,其初始状态如图1所示,规定對空格执行空格左移、空格右移、空格上移和空格下移這四個操作使得棋盘從初始状态到目的状态。

283123

1484

765765

(a)初始状态(b)目的状态

图1八数码問題示意图

(二、)基本数据构造分析和实現

1.結點状态

我采用了structNode数据类型

typedefstruct_Node{

intdigit[ROW][COL];

intdist;//distancebetweenonestateandthedestination一种表和目的表的距离

intdep;//thedepthofnode深度

//Sothecommentfunction=dist+dep.估价函数值

intindex;//pointtothelocationofparent父节點的位置

}Node;2.发生器函数

定义的发生器函数由如下的四种操作构成:

(1)将目前状态的空格上移

Nodenode_up;

Assign(node_up,index);//向上扩展的节點

intdist_up=MAXDISTANCE;

(2)将目前状态的空格下移

Nodenode_down;

Assign(node_down,index);//向下扩展的节點

intdist_down=MAXDISTANCE;

(3)将目前状态的空格左移

Nodenode_left;

Assign(node_left,index);//向左扩展的节點

intdist_left=MAXDISTANCE;

(4)将目前状态的空格右移

Nodenode_right;

Assign(node_right,index);//向右扩展的节點

intdist_right=MAXDISTANCE;

通過定义結點状态和发生器函数,就处理了8数码問題的隐式图的生成問題。接下来就是搜索了。

3.图的搜索方略

通過度析,8数码問題中可采用的搜速方略共有:1.广度优先搜索、2.深度优先搜索、2.有界深度优先搜索、4.最佳优先搜索、5.局部择优搜索,一共五种。其中,广度优先搜索法是可采纳的,有界深度优先搜索法是不完备的,最佳优先和局部择优搜索法是启发式搜索法。

试验時,采用了广度(宽度)优先搜索来实現。

(三、)广度(宽度)优先搜索原理

1.状态空间盲目搜索——宽度优先搜索

其基本思想是,從初始节點開始,向下逐层對节點進形依次扩展,并考察它与否為目的节點,再對下层节點進行扩展(或搜索)之前,必须完毕對當层的所有节點的扩展。再搜索過程中,未扩展节點表OPEN中的节點排序准则是:先進入的节點排在前面,後進入的节點排在背面。其搜索過程如图(1)所示。

S

S

A

A

B

B

CFD

C

F

D

E

E

GHI

G

H

I

J

J

图2、宽度优先搜索示意图

2.宽度优先算法如下:

步1把初始結點S0放入OPEN表中

步2若OPEN表為空,则搜索失败,問題無解

步3取OPEN表中最前面的結點N放在CLOSE表中,并冠以次序编号n

步4若目的結點Sg=N

文档评论(0)

173****6081 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档