本文为《人工智能实践教程》学习总结和感悟,先写书中内容,再写自己的思考     2017年10月20日,实验室

现在人工智能就是用计算机去模拟人类智能。为什么计算机可以模拟人类的智能?

这是因为人和计算机都是物理符号系统。能够实现输入符号、输出符号、存储符号、复制符号、通过找出符号间关系建立符号结构、条件性迁移就是一个完整的物理符号系统。假设物理符号系统的6种功能是智能的充分必要条件,那么就可以推出,人有智能,所以人是物理符号系统,计算机是物理符号系统所以计算机能有智能。当然现在,人类无论是获取、存储信息还是初级处理都与计算机大不相同,所以计算机和人相比智能水平有限。

人工智能有哪些学派?智能的起源究竟是什么?

人工智能主要有符号主义、连接主义和行为主义学派。符号主义学派。符号主义学派的观点是智能行为可以通过符号操作来实现,人工智能源于数理逻辑。以此依据,符号主义学派做出了定理证明系统。联结主义学派认为人的思维基元是神经元,智能是相互联结的神经元竞争与协作的结果。代表作品为人工神经网络。行为主义学派认为人工智能源于控制论,代表作品就是与环境可以交互的智能机器人。这三个学派各有所长,实际工程中可以融合使用,以解决问题为目的。

对于智能起源问题我的看法是低级智能是伴随生物的竞争和进化出现的,如从远古单细胞动物到草原中的狮子,生物对环境的感知和自身能动性越来越强。而高级智能的起源我认为是语言,语言构造的庞杂丰富的知识(如诗词歌赋)让人类具有了决策能力,想象力,好奇心等。在此只做简介,另一篇博文中《人工智能的思考》详细介绍。

人工智能有哪些领域?

1.智能感知   模式识别:首先通过传感器把各种物理量转化为数值或符号。再通过消除噪声,排除不相干的信号,特征计算等识别有效信息,然后通关特征选择和提取形成特征

空间,模式分类或匹配在特征空间基础上进行。可以类比人类的识字过程。

自然语言理解:让计算机理解人类语言不像人类查字典就可以理解,理解必须依赖于知识背景,习惯用法,具体情境。

计算机视觉:光学图像取样量化得到灰度值组成的二维阵列,提取边缘,周长,惯性矩等特征,匹配特征库中的已知物体,得出结果。可以想象计算机 怎么识别

猫。

2.智能推理    推理与逻辑相辅相成。

搜索技术:简单来讲就是在有限时间内或者有限空间里通过一定方法找出问题的解。

定理证明,专家系统;用程序推理,实现知识。

3.智能学习    学习方法:归纳学习、类比学习、分析学习、连接学习和遗传学习。

记忆与联想:传统方法的联想是指针、链表等,机器是按地址存取方式进行的,如“int a=1;”开辟一块内存区域放入1,计算机可以通过a或者内存区域的地址访 问。而人脑的联想按内容,说起西瓜就能想到椭圆,不必关心椭圆存在人脑的位置。

神经网络:利用大量简单计算单元,组成一个大网络,通过大规模并行计算来完成。很少利用先验知识,直接通过数据学习与训练,自动建立计算模型。比如:加

一操作,你不事先编辑程序,而是输入{(1,2),(2,3)……}让它学会加一。

进化计算和遗传算法:学习不仅可以通过单个生物体的适应实现,而且可以通过一个种群的多代进化适应发生。如吃豆子游戏,将生存表现好的豆子双性繁殖。

4.智能行动    依赖良好的感知、推理和学习。

智能控制:驱动智能机器自主实现其目标,注意力不在数学模型而在任务和世界模型的描述。比如:你让小孩去打酱油,你让他出门左拐走100米再右拐500米是

传统的做法,现在你告诉他红灯停,绿灯行,靠右行走,商店是尖顶红瓦,让他自己去规划路径并打回来酱油。

规划和机器人学:和智能控制类似,本质是以一种允许对不断变化的环境做出响应的方式来做出规划,比如上面的小孩在道路被封了以后选择·其他合理路径。

分布式人工智能:各智能体之间的合作和对话,具有全局概念·,如机器人足球比赛,无人驾驶。

数据挖掘与知识发现:综合运用统计学,粗糙集,模糊数学,机器学习从大量数据中提炼出抽象的知识。

人工生命和游戏。

S先生与P先生谜题
有大于等于2但小于等于99的两个数:m、n
S先生知道两数的和(m+n),P先生知道两数的积(mn)
二人进行了如下对话
S先生:我知道 你不知道m、n是什么,我也不知道
P先生:现在我知道m、n是什么了
S先生:现在我也知道m、n是什么了

对话导致知识的增加为推理提供了依据。

1. 如果S是以下数的话,根据2≤X≤Y≤99,S先生可直接知道X和Y
S = 4时,X = 2,Y = 2 
S = 5时,X = 2,Y = 3 
S = 197时,X = 98,Y = 99 
S = 198时,X = 99,Y = 99
由S先生的第一句话的后半部分知,S不可能是以上4个数中的任何一个数.
2. 如果X和Y均为素数的话,则P先生在得知P的情况下,可以轻松算出X和Y,如P = 481 = 13×37.所以由S先生的第一句话的前半部分得知,S不可能被表示为两个素数的和,即X和Y不可能都是素数.举个例子:如果S = 84的话,则可能有X = 5,Y = 79,则这时P可能是P = 5 × 79 = 395,P先生可以轻松得出X和Y.所以,如果S是84的话,S先生是不能肯定P先生不知道X和Y的,所以
S是不能被表示为两个素数的和的数 (a)
先别忙算,还可以缩小S的取值范围.
3. 如果X或Y中,仅有一个是素数,且该数大于50,则P先生还是能在仅知道P的情况下解出X和Y的.设P可以分解为以下几个素数的积:
P = p0p1p2...pn
其中pn是大于50的素数,因为
pn > 50
故对任何素数p,均有
pnp> 100
故X和Y中必有一数等于pn,而另一数等于p0p1p2...pn-1.大于50的最小素数为53,故如果
53 + 2 ≤S ≤ 53 + 99
即当
55 ≤S ≤ 152
时,S先生是不能肯定P先生不能算出X和Y的.小于99的最大素数为97,故当
97 + 2 ≤S ≤ 97 + 99
即当
99 ≤S ≤ 196
时,S先生也不能肯定P先生不能算出X和Y的.
故根据S先生的第一句话,S取值范围为:
6 ≤S ≤ 54 (b)
4.根据哥德巴赫猜想的验证,可以轻松确定,区间[6, 54]中的所有偶数均能被表示为两个素数的和(如果不怕麻烦,也可以自己验证一下嘛),故S是区间[7, 53]中的某个奇数.因为2是素数,故也有一些奇数也可以表示为两个素数的和,找出[3, 53]中的素数,与2相加,再进一步剔除区间[6, 54]中能被表示为两个素数之和的奇数:
7 = 2 + 5
9 = 2 + 7
13 = 2 + 11
15 = 2 + 13
19 = 2 + 17
21 = 2 + 19
25 = 2 + 23
31 = 2 + 29;
33 = 2 + 31
39 = 2 + 37
43 = 2 + 41
45 = 2 + 43
49 = 2 + 47
故根据S先生的第一句话,可以确定S的值只可能是以下几个数之一:
11, 17, 23, 27, 29, 35, 37, 41, 47, 51, 53
设集合A={11,17,23,27,29,35,37,41,47,51,53},则
S∈A (c)
5.由P先生的那句话,得知P先生根据S先生的第一句话,得出了结论c,在已知P的情况下算出了X和Y.
设P的素数分解为:
P = p0p1p2... pi...pn (n>2)
则存在唯一的
X = p0p1p2... pi
Y = pi+1...pn
满足
X + Y = S∈A
将这个结论(条件)命为d,满足这个条件的P组成集合B.
举例说明,设P=130,对P进行素数分解有:
P = 2×5×13
这时X和Y的解可能为(2,65)、(5,26)或(10,13),但仅有(10,13)这组解满足:
10+13=23∈A
于是当P=130时,根据结论c,P先生可解出X和Y.但当P=18,24,28,……时,P先生也可以求出X和Y来.
6.S先生根据P先生的那句话,也解出了X和Y来,也即是对于S先生所知的S根据条件d,解出了X和Y.即在S的和表达式
S = X0 + Y0
S = X1 + Y1
S = X2 + Y2
……
S = Xn + Yn 
中仅有一组(Xi,Yi)的积P满足条件d,即满足
P = Xi×Yi
P ∈ B
这样S先生才能解出X和Y.
现对集合A中的元素逐一验证:
当S=11时,有
S = 2 + 9,P = 2×9 = 18∈B
S = 3 + 8,P = 3×8 = 24∈B
S = 4 + 7,P = 4×7 = 28∈B
当S=17时,仅有
S = 4 + 13,P = 4×13 = 52∈B
当S=23时,有
S = 4 + 19,P = 4×19 = 76∈B
S = 7 + 16,P = 7×16 = 112∈B
S = 10 + 13,P = 10×13 = 130∈B
……
总之,只有当S=17时,才存在唯一的一组(4,13)满足
S = 4 + 13 = 17∈A
P = 4×13 = 52∈B
解得X=4,Y=13

人工智能实践教程(一)相关推荐

  1. python人工智能编程教程-清华大学出版社-图书详情-《人工智能基础教程:Python篇(青少版)》...

    2017 年国务院印发了<关于印发新一代人工智能发展规划的通知>,提出要围绕教育. 医疗.养老等迫切民生需求,加快人工智能创新应用.要发展智能教育,利用智能技术加 快推动人才培养模式.教学 ...

  2. 零知识证明实践教程,第三部分

    本文是零知识证明简单实践教程的第三部分, 第一部分见:零知识证明第一部分, 第二部分见:零知识证明第二部分. 下面这个图片是我们在第二部分所使用的merkle树来构造prover的承诺.同时我们也提出 ...

  3. 零知识证明实践教程,第二部分

    本文是零知识证明简单实践教程的第二部分, 第一部分见:零知识证明第一部分 第三部分见:零知识证明第三部分 现在一个问题是,prover(证明者)可能撒谎,比如原本它应该向verifier(验证者)揭露 ...

  4. 零知识证明实践教程,第一部分

    本文和其他博客文章的区别: 现今存在很多讲解零知识证明的文章,但是它们都是只涉及到很浅层的概念理解和直观感受上面,没有深入到零知识证明的细节,导致读者只知道什么是零知识证明,而不清楚怎么构造一个零知识 ...

  5. 网络工程原理与实践教程实验安排

    <网络工程原理与实践教程(第3版)>胜在超凡实验指导书和教材合为一体,"易学,易教,内容新"  第10章 实    验.... 235 实验1 水晶头的制作... 23 ...

  6. 人工智能实践:TensorFlow笔记学习(八)—— 卷积神经网络实践

    大纲 7.1  复现已有的卷积神经网络 7.2  用vgg16实现图片识别 目标 掌握复现已有网络,用vgg16实现图片识别 7.1  复现已有的卷积神经网络 VGGNet是Karen simonya ...

  7. 人工智能实践:TensorFlow笔记学习(六)—— 全连接网络实践

    输入手写数字输出识别结果 大纲 6.1 输入手写数字图片输出识别结果 6.2 制作数据集 目标 1.实现断点续训 2.输入真实图片,输出预测结果 3.制作数据集,实现特定应用 6.1  输入手写数字图 ...

  8. 人工智能实践:TensorFlow笔记学习(五)—— 全连接网络基础

    MNIST数据集输出手写数字识别准确率 大纲 5.1 MNIST数据集 5.2 模块化搭建神经网络 5.3 手写数字识别准确率输出 目标 利用MNIST数据集巩固模块化搭建神经网路的八股,实践前向传播 ...

  9. 人工智能实践:TensorFlow笔记学习(四)—— 神经网络优化

    神经网络优化  大纲 4.1 损失函数 4.2 学习率 4.3 滑动平均 4.4 正则化 4.5 神经网络搭建八股 目标 掌握神经网络优化方法 4.1 损失函数 神经元模型:用数学公式表示为:,f为激 ...

最新文章

  1. 初识Tcl(一):Tcl 命令
  2. ubuntu mysql5.6 编译安装_Ubuntu14.04编译安装mysql5.6.26
  3. 【数学建模】层次分析法AHP(评价与决策)
  4. Java 设计模式之模板方法模式
  5. MyGeneration学习笔记(5) :在Web Service中使用dOOdad(中)
  6. Java加密与解密的艺术~数字签名~模型分析
  7. nginx配置多个二级子域名
  8. vmware的vmnet-概念的解说
  9. HBuilderX是什么
  10. Bailian4004 数字组合【递归+DP】
  11. 网络封包编辑器mysql_WapCn网络封包编辑器
  12. 面向对象继承 C#编程记录
  13. C# GDI winfrom 图像转换椭圆形
  14. 新库上线 | CnOpenData中国各地区方言信息数据
  15. Android框架之ButterKnife(黄油刀)
  16. 关于 TRTC (实时音视频通话模式)在我司的实践
  17. Centos7-Linux
  18. 普通u盘linux不识别,Linux识别不了u盘怎么办
  19. Java工程师修炼之道! | 送10本书籍
  20. 【python+ROS+路径规划】一、前置准备

热门文章

  1. oracle nvl和nvl2的区别
  2. 荷露叮咚wp建站系列视频课程.3WordPress功能菜单介绍
  3. LocalDate,LocalDateTime获取每周,每月,每年的第一天和最后一天,获取一周七天的日期,获取每月的所有日期
  4. 决战Python之巅(一)
  5. 让进程在后台可靠运行的几种方法
  6. C++编译时出现未定义的引用问题解决
  7. 微服务扩展之AKF拆分原则
  8. python读取txt文件写入失败-Python write 函数写文件失败
  9. 基于java Web停车场管理系统源码和论文
  10. matlab进行mppt控制仿真,基于matlab光伏发电系统的MPPT控制与仿真.pdf