人工智能合一算法unify

人工智能合一算法unify

ID:1217361

大小:120.50 KB

页数:11页

时间:2017-11-08

人工智能合一算法unify_第1页
人工智能合一算法unify_第2页
人工智能合一算法unify_第3页
人工智能合一算法unify_第4页
人工智能合一算法unify_第5页
资源描述:

《人工智能合一算法unify》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第11页2021-6-10—算法实现一、作业目的:用某一种编程语言实现合一算法。二、首先把教材中的Unify算法表述如下:算法unify(E1,E2)1、ifE1或E2是一个原子(即一个谓词符号、函数符号、常量、否定符号或变量),交换E1和E2的位置(如果必要),使E1是一个原子do:第11页2021-6-102、begin3、ifE1与E2相同,returnNIL4、ifE1是变量do:5、Begin6、ifE1出现在E2中returnFAIL7、return{E2/E1}8、End9、ifE2是一个变量return{E1/E2}10、returnFAIL11、end12、

2、F1←E1的第一个元素,T1←E1的其余元素13、F2←E2的第一个元素,T2←E2的其余元素14、Z1←unify(F1,F2)15、ifZ1=FAILreturnFAIL16、G1←Z1作用到T1的结果17、G2←Z1作用到T2的结果18、Z2←unify(G1,G2)19、ifZ2=FAILreturnFAIL20、returnZ1和Z2的合成其中所需的一些知识概念从书摘抄如下:置换:用集合S={t1/v1,t2/v2,…tn/vn}表示任一置换其中:ti/vi为对vi的任何出现用ti代替置换要求:①某变量的每次出现均用同一个项来代替②变量不可用含有同一个变量的项代替(

3、如:f(x)/x))注意这也就是上面的合一算法中会失败的一种主要的情况!!!见结果截图的最后一种不能合一的情况!第11页2021-6-10用S对表达式E置换后的例记为:Es例:对P(x,f(y),B)用以下个置换作用后得到的置换例如下:置换置换例1.S1={z/x,w/y}Es1=P(z,f(w),B)2.S2={A/y}Es2=P(x,f(A),B)3.S3={g(z)/x,A/y}Es3=P(g(z),f(A),B)4.S4={C/x,A/y}Es4=P(C,f(A),B)合一者:如果存在一个置换S,使得表达式集{Ei}中的每个表达式经过S的置换后得到的置换例满足E1s=

4、E2s=…Eis,则称表达式集{Ei}是可以合一的,称置换S为{Ei}的合一者。例如:有子句集{P(x,f(y),B),P(x,f(B),B)}设:置换S={A/x,B/y},置换结果为{P(A,f(B),B)}∴该子句集是可以合一的,S为合一者。最一般合一者:表达形式最简单的合一者为最一般合一者,记:mgug本程序就是利用以上的Unify算法来求两个表达式的最一般合一者,并把它们输出显示!!!三、程序源码及说明#include#includeusingnamespacestd;classanswer{public:stringw1[50]

5、;stringw2[50];//用w1替换w2第11页2021-6-10intmark;//状态位,表示失败,-1表示空,表示有置换对intcount;answer(){mark=-1;count=0;}voidassign(string&s1,string&s2,intmark1){w1[count]=s1;w2[count]=s2;mark=mark1;count++;}};voidTransport(string&w1)//对w1串进行处理,使形如P(x)的串转换为算法要求的形如(Px)的串,同时把逗号也删除{inti;if(w1.length()==0){cout<<

6、"输入了一个空串!"<1)//等于时不需处理{for(i=1;i0&&e[0]=='('){for(inti=1;i

7、+)if(e[i]=='(')count++;第11页2021-6-10elseif(e[i]==')'){count--;if(!count){last=i;break;}}e.erase(0,1);e.erase(last-1,1);}}voidinput(string&w1,string&w2){cout<<"*****************************************************************************"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。