欢迎来到天天文库
浏览记录
ID:11169552
大小:1.85 MB
页数:105页
时间:2018-07-10
《人工智能课后习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.18,语义网络2.72.12解:首先建立棋盘变换的产生式规则。如果把棋盘的每一种布局看做是一个状态矩阵,本题就变成了从初始状态矩阵到目标状态矩阵的一种变化。所谓棋盘状态的变化就是希望棋盘上空格周围的棋子能走进空格,这也可以理解为移动空格,只要实现空格的上、下、左、右四种移动即可。可通过建立四个条件一操作型的产生式规则,来实现这四种移动。设Sij为状态矩阵中的第i行和第j列的数码,i0、j0表示空格所在的行和列,如果在状态矩阵中用0来表示空格的话,则建立如下四条产生式规则:R1:if(jo–1≥1)thenbeginSiojo:
2、=Sio(jo-1);Sio(jo-1):=0end空格左移R2:if(io–1≥1)thenbeginSiojo:=S(io-l)jo;S(io-l)jo:=0end空格上移R3:if(Jo+1≤3)thenbeginSiojo:=Sio(jo+1);Sio(jo+1):=0end空格右移R4:if(io+1≤3)thenbeginSiojo:=S(io+l)jo;S(io+l)jo:=0end空格下移然后,建立综合数据库。将棋盘的布局表示为状态距阵的形式存入综合数据库,例如,可以将本题的初始布局和目标布局以矩阵形式表示为:综合
3、数据库中,存放着初始状态矩阵和目标状态矩阵以及变换过程中的中间矩阵。在建立了规则集和综合数据库后,就可以按照产生式规则进行状态变换,实现推理求解。在进行推理时,可能会有多条产生式规则的条件部分和综合数据库中的已有事实相符,这样就有可能激活多条规则。究竟采用哪一条规则作为启用规则,这就是冲突解决策略问题。解决冲突的策略有专一性排序、规则顺序等多种,也可以使用一些启发性的信息,根据具体问题选择。在本题中,我们采用一个启发式函数h(x),它表示节点x所对应的棋盘中与目标节点对应的棋盘中棋子位置不同的个数。这里,综合数据库中的初始状态矩阵
4、,能满足规则R1、R2、R4的条件,所以有三条匹配规则。利用启发式函数决定哪一条规则为启用规则。因为规则R4的启发式函数值h(x)=5,规则R1的h(x)=6,规则R2的h(x)=7,也就是说,规则R4所得到的新状态与目标状态差距最小,所以启用规则R4,依此类推,可以得到到达目标状态的规则执行序列如下:R4,R1,R2,R2,R1,R4,R3其执行过程如图2.19所示。2.26解:用状态空间法进行表示。根据状态空间表示问题的步骤,问题求解如下:第一步,定义问题状态的描述形式。设Sk=(Nx,Ny,C)表示修道士和野人在河的左岸的状
5、态。其中,Nx表示修道士在左岸的实际人数,Ny表示野人在左岸的实际人数,C用来指示船是否在左岸(C=1表示在左岸,C=0表示不在左岸)。第二步,用所定义的状态描述形式把问题的所有可能状态都表示出来,并确定出问题的初始状态集和目标状态集。对于状态Sk=(Nx,Ny,C)来说,由于Nx、Ny的取值有0、1、2、3四种可能,C的取值有0和1两种可能,所以,本问题所有可能的状态共有4*4*2=32种。各状态的形式描述如下:So=(3,3,1),S1=(3,2,1),S2=(3,1,1),S3=(3,0,1),S4=(3,3,0),S5=(
6、3,2,0),S6=(3,1,0),S7=(3,0,0),S8=(2,3,1),S9=(2,2,1),S10=(2,1,1),S11=(2,0,1),S12=(2,3,0),S13=(2,2,0),S14=(2,1,0),S15=(2,0,0)S16=(1,3,1),S17=(1,2,1),S18=(1,1,1),S19=(1,0,1),S20=(1,3,0),S21=(1,2,0),S22=(1,1,0),S23=(1,0,0),S24=(0,3,1),S25=(0,2,1),S26=(0,1,1),S27=(0,0,1),S2
7、8=(0,3,0),S29=(0,2,0),S30=(0,1,0),S3l=(0,0,0)。在这些状态中,由于有安全约束条件——任何岸边野人的数量都不得超过传教士的数量(即Nx≥Ny),所以只有20个状态是合法的,像(1,2,1)、(1,3,1)和(2,3,1)等都是不合法的状态。而由于这些不合法状态的存在,又会导致某些合法状态是不可到达的。这样,此问题总共只有16种可到达的合法状态,以下划线表示。问题的初始状态集为:S={S0}={(3,3,1)},目标状态集为:G={S31}={(0,0,0)}第三步,定义一组用于状态变换的算
8、符F。定义算符L(i,j)表示划船将i个传教士和j个野人送到右岸的操作;算符R(i,j)表示划船从右岸将i个传教士和j个野人带回左岸的操作。由于过河的船每次最多载两个人,所以,i十j≤2,这样定义的算符组F中只可能有如下10个算符:F:L(1,0)
此文档下载收益归作者所有