AI(人工智能)代码.doc_第1页
AI(人工智能)代码.doc_第2页
AI(人工智能)代码.doc_第3页
AI(人工智能)代码.doc_第4页
AI(人工智能)代码.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Badming代码下面是Badming写的一些关于AI的c+代码,badming认为当代码复杂到一定程度,程序给人类的反应,人类已经分不清是不是死的代码或是真的有意识产生了。下面的代码实际是简单脚本的处理代码。Badming认为,现代的脚本语言实际上是未来Ai的前身。#include#include#include#include #includeusing namespace std;/*信息结构*/typedef vector Msg;Msg MsgEmpty; / 空的 Msg MsgFalse; / 假 Msg MsgUnknown; /不知道 Msg MsgTrue; /真 Msg MsgAny; /任何值 typedef map Knowledge; /解决方案 struct FunTool /辅助工具 typedef Msg (*Way)(Msg );int id;Way pFun;string explain;FunTool() FunTool(int _id,Way _pFun,string _explain)id=_id;pFun=_pFun;explain=_explain;typedef vector FunTools; /*信息结构定义完毕*/ /可能需要的方法,人为提供的 Msg say(Msg msg)for(int i=0;imsg.size();i+)coutmsgit;coutendl;return MsgEmpty;Msg makeMsg(string str)Msg a;a.push_back(str);return a;Msg nextNumber(Msg msg)string str=msg0;if(str.empty()makeMsg(); int n=0;for(int i=0;istr.size();i+)if(stri=0)n=n*10+stri-0;else makeMsg();n+;char t100;itoa(n,t,10);return makeMsg(t); class PlusGirlpublic :PlusGirl()initMap();MsgEmpty.push_back(empty);MsgEmpty.push_back(msgState);MsgFalse.push_back(false);MsgFalse.push_back(msgState);MsgUnknown.push_back(unknow);MsgUnknown.push_back(msgState);MsgTrue.push_back(true);MsgTrue.push_back(msgState);MsgAny.push_back(any);MsgAny.push_back(msgState);int strToInt(string str)int n=0;int i=0;while(istr.size()&stri=0)n*=10;n+=stri-0;i+;return n; /*/ FunTools iFunTools;/定义函数工具集 void initMap()iFunTools.push_back(FunTool(iFunTools.size(),nextNumber,让一个数+1);iFunTools.push_back(FunTool(iFunTools.size(),say,说出msg中内容); Msg showHelp( Msg msg)coutPlusGirl可用的方法如下 :endl; cout编号t方法的使用说明endl; for(int i=0;iiFunTools.size();i+)coutiFunToolsi.idtiFunToolsi.explainendl; return MsgEmpty; /*/ /知识结构 ,校验格式与执行解决方案 vector iKnows; /解决方案集合 Msg analyse(const Msg &words) /通过各种情况分析,而解决问题 for(int i=0;iiKnows.size();i+)Msg msg=solveProblem(iKnowsi,words);if(msg.empty()|msg=MsgUnknown)continue ;return msg;return MsgEmpty;Msg solveProblem(Knowledge &know,const Msg problem) /使用一种解决方案,解决一个问题 Knowledge:iterator loop=know.begin();map data;/数据区域 data0=problem;map itemData;while(loop!=know.end()Msg & script=loop-second;if(0=script.size()return MsgUnknown;/define a msgif(script0=define)if(6script.size()return MsgUnknown;if(script3!=)return MsgUnknown; if(script1=msg)if(script4=msg)datastrToInt(script2)= datastrToInt(script5);elseif(script4=item) datastrToInt(script2).clear();for(int i=5;iscript.size();i+)datastrToInt(script2).push_back(itemDatastrToInt(scripti);elseif(script4=string)datastrToInt(script2).clear();for(int i=5;iscript.size()return MsgUnknown;Msg temp;if(script1=solve)temp=solveProblem(iKnowsstrToInt(script2),datastrToInt(script3);elseif(script1=fun)temp=iFunToolsstrToInt(script2).pFun(datastrToInt(script3);elseif(script1=msg)temp=datastrToInt(script2);else return MsgUnknown;if(temp.empty()return MsgUnknown;if(temp=MsgUnknown)return temp;if(script5=msgState)if(script4=&script6!=temp0)|(script4=!=&script6!=temp0)loop+;continue;if(script5=msg)if(script4=&datastrToInt(script6)!=temp)|(script4=!= &datastrToInt(script6)!=temp)loop+;continue;if(script7=end)return datastrToInt(script8);if(script7=goto)loop=know.find(strToInt(script8);continue; if(script0=use)if(6=script.size()return MsgUnknown;if(script4=solve)datastrToInt(script2)=solveProblem(iKnowsstrToInt(script5),datastrToInt(script7);if(script4=fun)datastrToInt(script2)=iFunToolsstrToInt(script5).pFun(datastrToInt(script7);loop+;continue ;if(script0=end)return datastrToInt(script1);if(script0=goto)loop=know.find(strToInt(scr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论