下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能第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(f1.at(i)==f2.at(i))i++;intj1=i;while(j1<f1.length()-1&&f1.at(j1)!=',')j1++;if(j1-i==0)returnt;t.t_f1=f1.substr(i,j1-i);intj2=i;while(j2<f2.length()-1&&f2.at(j2)!=',')j2++;if(j2-i==0)returnt;t.t_f2=f2.substr(i,j2-i);while(t.t_f1[j1-i-1]==t.t_f2[j2-i-1]){t.t_f1.erase(j1-1-i);t.t_f2.erase(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{lan.push_back(t);//将t加入vectorlan中if(flag){f1=change(f1,lan.back());//用lan的最后一个元素代换f2=change(f2,lan.back());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;elsereturnfalse;}stringSyncretism::change(stringf,Transformt){inti=f.find(t.t_f2);while(i<f.length())三、程序的实现Transform中的t_f1,t_f2分别表示差异集中的两个字符串。Vector变量lan存放合一的集合。函数功能Issyn()判断两个公式是否相同。different()求差异集。change()用代换对公式进行合一代换。legal()对t_f1,t_f2判断然后对换并判断是否为合一字符串same()判断两个公式是否相同。var()字符串每个()内的子串是变量还是常量。show()最终演示算法函数。四、具体程序执行程序执行时先输入公式集中的公式然后调用Issyn函数判断是否能合一如果不能则退出,如果能判断公式是否相同相同则合一是ε。不是则进一步判断。调用different函数找出差异集放在vector变量lan中再调用legal函数和var函数判断合一时到底哪个是变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国混凝土机械行业发展分析及前景趋势与投资战略研究报告
- 2024-2030年中国淘气堡市场经营前景分析及投资商机盈利性研究报告版
- 2024-2030年中国消防车行业竞争优势与未来经营趋势展望研究报告
- 外汇交易中的资金管理技巧考核试卷
- 2024-2030年中国海洋工程配套设备制造行业应用动态及盈利前景预测报告
- 2024-2030年中国海带行业竞争动态及消费趋势预测报告
- 2024-2030年中国浴露行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国浓缩酸市场需求潜力及未来占有率调查研究报告
- 2024-2030年中国流感药物和疫苗行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国活性炭布行业营销态势与竞争前景预测报告
- 智慧旅游景区项目资金申请报告-超长期特别国债投资专项
- 13 乌鸦喝水 教学设计-2023-2024学年语文一年级上册(统编版)
- 教务处规章制度汇编
- 闽教版(2020版)六年级上册信息技术全册教学课件
- 2024年全国统一考试高考新课标Ⅱ卷数学试题(真题+答案)
- 2024年山东省青岛市局属公办普通高中化学自招真题
- 2024年广东东莞市麻涌镇机关事业单位招聘聘员18人历年(高频重点提升专题训练)共500题附带答案详解
- 宁夏闽宁镇:昔日干沙滩-今日金沙滩+课件-高教版(2023)中职语文职业模块
- 2024年人力资源和社会保障部部分所属事业单位公开招聘历年(高频重点提升专题训练)共500题附带答案详解
- 医院对社区卫生服务站的业务指导计划
- 班组施工保险保证合同范本
评论
0/150
提交评论