1 / 7
文档名称:

人工智能合一算法C.docx

格式:docx   大小:153KB   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

人工智能合一算法C.docx

上传人:phl805 2019/11/14 文件大小:153 KB

下载得到文件列表

人工智能合一算法C.docx

文档介绍

文档介绍:人工智能-合一算法(C++)————————————————————————————————作者:————————————————————————————————日期: 人工智能第1次作业一般合一算法(C++实现)姓名:佟学号:201224班级:12计本非师学院:信息学院简单程序如下#include<iostream>#include<string>#include<vector>usingnamespacestd;intiC=0;//标记公式集中括号匹配数classSyncretism{private:structTransform{//一个代换(差异集)stringt_f1;stringt_f2;};public:boolIssyn(stringf1,stringf2,vector<Transform>&t);//是否能合一Transformdifferent(conststringf1,conststringf2)//求差异集{inti=0;Transformt;while((i)==(i))i++;intj1=i;while(j1<()-1&&(j1)!=',')j1++;if(j1-i==0)returnt;=(i,j1-i);intj2=i;while(j2<()-1&&(j2)!=',')j2++;if(j2-i==0)returnt;=(i,j2-i);while([j1-i-1]==[j2-i-1]){(j1-1-i);(j2-i-1);j1--;j2--;}returnt;}boolsame(conststringf1,conststringf2);//判断两个公式是否相同stringchange(stringf,Transformt);//用代换q对公式f进行合一代换boollegal(Transform&t);//intvar(conststrings);//s中每个()内的子串是变量还是常量voidshow();//最终演示算法};boolSyncretism::Issyn(stringf1,stringf2,vector<Transform>&lan){while(!same(f1,f2)){Transformt=different(f1,f2);boolflag=legal(t);if(!flag)returnfalse;else{(t);//将t加入vectorlan中if(flag){f1=change(f1,());//用lan的最后一个元素代换f2=change(f2,());cout<<"变换后:"<<endl;cout<<"f1:"<<f1<<endl;cout<<"f2:"<<f2<<endl<<endl;}if(same(f1,f2))break;}}returntrue;}boolSyncretism::same(conststringf1,conststringf2){if(pare(f2)==0)returntrue;elsereturn