- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 PAGE 10 页 DATE \@ yyyy-M-d 2009-7-10
—算法实现
一、作业目的:
用某一种编程语言实现合一算法。
二、首先把教材中的Unify算法表述如下:
算法 unify (E1, E2)
1 、if E1或E2是一个原子(即一个谓词符号、函数符号、常量、否定符号或变量),交换E1和E2的位置(如果必要),使E1是一个原子 do:
2、 begin
3、 if E1与E2相同,return NIL
4 、if E1是变量 do:
5、 Begin
6、 if E1出现在E2中 return FAIL
7 、return {E2 / E1}
8、 End
9 、if E2是一个变量 return {E1 / E2}
10、 return FAIL
11、 end
12、F1←E1的第一个元素,T1←E1的其余元素
13、 F2←E2的第一个元素,T2←E2的其余元素
14、 Z1←unify(F1, F2)
15、 if Z1=FAIL return FAIL
16、G1←Z1作用到T1的结果
17 、G2←Z1作用到T2的结果
18 、Z2←unify(G1, G2)
19、 if Z2=FAIL return FAIL
20、 return Z1和Z2的合成
其中所需的一些知识概念从书摘抄如下:
置换:用集合S={t1/v1, t2/v2, …tn/vn}表示任一置换
其中:ti/vi 为对vi的任何出现用ti代替
置换要求:①某变量的每次出现均用同一个项来代替
②变量不可用含有同一个变量的项代替(如:f(x)/x))
注意这也就是上面的合一算法中会失败的一种主要的情况!!!见结果截图的最后一种不能合一的情况!
用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=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为合一者。
最一般合一者:表达形式最简单的合一者为最一般合一者,记:mgu g
本程序就是利用以上的Unify算法来求两个表达式的最一般合一者,并把它们输出显示!!!
三、程序源码及说明
#includeiostream
#includestring
using namespace std;
class answer
{
public:
string w1[50];
string w2[50];//用w1替换w2
int mark;//状态位,表示失败,-1表示空,表示有置换对
int count;
answer(){mark=-1;count=0;}
void assign(string s1,string s2,int mark1)
{
w1[count]=s1;
w2[count]=s2;
mark=mark1;
count++;
}
};
void Transport(string w1)//对w1串进行处理,使形如P(x)的串转换为算法要求的形如(Px)的串,同时把逗号也删除
{
int i;
if(w1.length()==0)
{
cout输入了一个空串!endl;
exit(0);
}
else if(w1.length()1)//等于时不需处理
{
for(i=1;iw1.length();i++)
您可能关注的文档
- 人才梯队建设调查问卷-终.docx
- 人才信息采集表.doc
- 人才引进材料.doc
- 人参全面讲解.ppt
- 人参四国药典比较.doc
- 人称代词物主代词.doc
- 人大《统计学》第十章 相关与回归.ppt
- 人大代表工作站工作汇报.doc
- 人大代表视察发言稿.doc
- 人大代表提案关于优先发展城市公共交通,尽快缓解交通拥堵问题的建议.doc
- 2026年消防设施操作员之消防设备基础知识考试题库500道带答案(新).docx
- 销售岗前培训课件.ppt
- 2026年消防设备操作员考试题库500道(典型题).docx
- 2026年消防设施操作员之消防设备高级技能考试题库300道附答案(实用).docx
- 2026年消防设施操作员之消防设备高级技能考试题库300道标准卷.docx
- 2026年材料员之材料员基础知识考试题库300道附完整答案(全优).docx
- 2026年材料员之材料员基础知识考试题库300道带答案(培优a卷).docx
- 2026年机械员考试题库含答案(轻巧夺冠).docx
- 2026年材料员之材料员基础知识考试题库300道【夺分金卷】.docx
- 2026年期货从业资格之期货法律法规考试题库500道(考点精练).docx
最近下载
- 2025年四川省党政领导干部政治理论水平考试(理论测试)练习题及答案.docx VIP
- 中国少年儿童体操比赛规定动作及评分规则.PDF
- 2025年陕西生态学基础(专升本)真题及答案.docx VIP
- 5.2 珍惜师生情谊 课件-2025-2026学年统编版道德与法治七年级上册.pptx VIP
- 国开形成性考核01803《应用写作(汉语)》形考任务(1-6)试题及答案.pdf VIP
- SBA40E生物传感分析仪使用说明资料.pdf VIP
- 精品课件《以新发展理念推动经济高质量发展》1.pptx VIP
- 大学生心理健康教育之大学生人格塑造(获奖课件).pptx VIP
- 你的态度决定你的高度课件-高中上学期主题班会.pptx VIP
- 重庆市第八中学2022-2023学年部编版七年级上学期期中考试历史试题(含答案).docx VIP
文档评论(0)