人工智能——电脑模拟人类学习
2016-03-12 19:57
483 查看
本文转至:http://blog.csdn.net/cnyali/article/details/50864942
众周所知,最近韩国世界围棋冠军李世石与谷歌公司开发的机器人AlphaGo已经进行了四次围棋比赛(截止3月13日),李世石直到第四局才扳回一局。
其实AlphaGo机器人就是传说中的人工智能,什么是人工智能呢?大家看下下面的这个程序就知道了:
PS:这个程序其实就是让人工智能学习并认识怎么判断一个0~9的数是奇数还是偶数,最简单的人工智能程序
众周所知,最近韩国世界围棋冠军李世石与谷歌公司开发的机器人AlphaGo已经进行了四次围棋比赛(截止3月13日),李世石直到第四局才扳回一局。
其实AlphaGo机器人就是传说中的人工智能,什么是人工智能呢?大家看下下面的这个程序就知道了:
PS:这个程序其实就是让人工智能学习并认识怎么判断一个0~9的数是奇数还是偶数,最简单的人工智能程序
// 感知器判断数字奇偶性 #include<stdlib.h> #include<stdio.h> #include<time.h> int M[10];//权值 int X[10]={1,2,3,4,5,6,7,8,9,10};//输入向量 int Y[10]={1,0,1,0,1,0,1,0,1,0};//理想输出向量,0,奇数,1,偶数 int O[10];//保存输出向量 int ST=52;//阈值 void initM(){//初始化权值 srand((unsigned int)time(0)); for(int x=0;x<10;++x) M[x]=rand()%100; } int active(int m,int x){// 跃迁型激活函数 int o=m*x; if(o>ST)return 1; else return 0; } void calcY(){//计算输出向量 for(int x=0;x<10;++x) O[x]=active(M[x],X[x]); } //根据实际输出向量和理想输出向量调整权向量, //返回实际输出和理想输出不匹配的数目 int adjustM(){ int err=0; for(int x=0;x<10;++x) if(O[x]!=Y[x]){ err++; if(0==O[x]) M[x]+=X[x]; else M[x]-=X[x]; } return err; } void printM(){//打印权向量 for(int x=0;x<10;++x) printf("M[%i]=%i\n",x,M[x]); } void test(int input){ printf("[%i][%i]",M[input],X[input]); if(active(M[input],X[input])) printf("%d 是偶数\n",input); else printf("%d 是奇数\n",input); } int main(){ int n=0; initM(); while(1){// 一直训练直到能够100%正确为止 n++; calcY(); int err=adjustM(); if(0>=err)break;//能够 100 %正确地回答问题了,结束训练 printf("错误数%d\n",err); } printM(); printf("阈值%d 训练次数%d\n",ST,n); while(1){ int a=0; scanf("%i",&a); if(0>a || 9<a)break; test(a); } return 0; }
相关文章推荐
- Codeforces 29C Mail Stamps 【离散化 + DFS】
- RAID基础知识
- 在浏览器中输入www.baidu.com后执行的全部过程
- AIO
- 人工智能 第一次作业 13计本班 刘晨 130702010029
- aiomysql inserting operation failed !
- RAID的使用详解
- RAID 的常用模式 及mdadm 命令的应用
- Mac开发Group Containers前缀问题
- 人工智能的可怕与不可怕
- HDU 1021 Fibonacci Again
- Leetcode 219 Contains Duplicate II STL
- Lightning----HDU_4305----生成树的计数----矩阵树定理 http://www.chinabaike.com/t/37396/2014/0624/2552976.html
- 生成树的计数Matrix-Tree定理 http://blog.csdn.net/longshuai0821/article/details/7764267
- Train and Test LeNet on your own dataset
- winmail.dat
- Raising Modulo Numbers
- python aiohttp
- Codeforces 651B Beautiful Paintings【贪心】
- Codeforces 651B Beautiful Paintings【贪心】