谁能给个简单人工智能的源代码

谁能给个简单人工智能的源代码,第1张

//在gcc-4.7.2下编译通过。//命令行:g++-Wall-ansi-O2test.cpp-otest#include<iostream>usingnamespacestdvoidinput(int&oper,constboolmeth){//meth为true则只判断1,为false则判断1或0while(true){cin>>operif(meth&&oper==1)breakelseif(oper==0||oper==1)breakcout<<"输入错误,请重新输入。"<<endl//判断参数cin.sync()//避免极端输入导致死循环cin.clear()}}intmain(void){cout<<"1+1=2吗?那要看您怎么教我了,不要惊讶我会学习的"<<endlintladd,radd,aprs,rcnt(0),wcnt(0)//定义输入与结果,正确次数与错误次数cout<<"开始学习……"<<endlfor(inti(0)i!=10++i){cout<<"参数1(必须是1):"<<flush//提示输入参数input(ladd,true)cout<<"参数2(必须是1):"<<flushinput(radd,true)cout<<"结果:"<<(ladd+radd)<<endl//输出结果cout<<"您对这满意吗(满意输入1,不满意输入0):"<<flush//评价等级input(aprs,false)if(aprs)//判断用户评价++rcntelse++wcntcout<<"正确次数:"<<rcnt<<"错误次数:"<<wcnt<<endl//错误次数}if(rcnt>wcnt)//判断学习结果cout<<"主人告诉我1+1=2。"<<endlelseif(rcnt<wcnt)cout<<"主人告诉我1+1!=2。"<<endlelsecout<<"我不明白主人是什么意思。"<<endlintterm//退出部分cout<<"您对我的表现满意吗?满意请输入1不满意请输入0:"<<flushinput(term,false)if(term)cout<<"谢谢我会继续努力学习"<<endlelsecout<<"谢谢我会继续努力学习D"<<endl//cin>>term//在Windows上测试时启用return0}

程序将根据您的评价判断执行结果 "1+1=2"

实际上仅用了最简单的 if else for 语句

这就是一个机器学习的例子,通过环境影响来进行学习。

通过本例我们不难看出,在人工错误的引导下,机器会给出错误的答案 1+1不等于2。

所以此类学习方法,一定要在正确引导下实践,否则会得到最坏的结果。

学习完毕后,计算机会记录本次学习结果,存入数据库,下次执行相应任务时,再将结果调出执行。

基于Gabor特征提取和人工智能的人脸检测系统源代码Face Detection System

这是一个使用了Gabor特征提取和人工智能的人脸检测系统源代码关键内容

使用步骤:

1. 拷贝所有文件到MATLAB工作目录下(确认已经安装了图像处理工具箱和人工智能工具箱)

2. 找到"main.m"文件

3. 命令行中运行它

4. 点击"Train Network",等待程序训练好样本

5. 点击"Test on Photos",选择一个.jpg图片,识别。

6. 等待程序检测出人脸区域

createffnn.m, drawrec.m, gabor.m, im2vec.m, imscan.m, loadimages.m, main.m, template1.png, template2.png, trainnet.m

不仅是人工智能应用软件的源程序到底有多少行肯定是无法确定的,而且各类的其它的应用软件的源程序到底有多少行也是无法确定的。

因为编写各类应用软件,其源程序到底有少行,这个是和多个因素有关的。例如:对于编写某一个功能完全相同的应用软件,让不同的软件开发人员来进行编写,由于每个人的编程思路肯定是不一样的,因此编写出来的源程序的总行数肯定也是不一样的;再退一万步通俗一些说,即使是同一个人编写同一个应用软件(例如:开发语音识别软件),即使软件的核心算法代码完全一样(其行数不变),如果在源程序中多添加程序注释语句、或者是少添加程序注释,这不是也会使得源程序的总行数不一样吗?

所以说,我的多年编程亲身体会就是:无论在编写什么任何程序,程序的可读性、以及编程的总体结构一定要清晰(这里特别强调一点:千万不要使用 goto 语句,这样会使得程序的总体结构变得很混乱、使得程序的调试难度非常大、以及程序运行失去控制),这才是首位的、最重要的,千万不要为了减少源程序的总行数,而去掉源程序中必须要具备的注释语句、以及其它的必要程序设计语句,使得程序的可读性变差;或者是为了增加源程序的总行数,而刻意往里面添加不必要的、多余的程序设计语句。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10999123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存