读人工智能全传01图灵的电子大脑

1. 人工智能

1.1. 人类对人工智能的梦想,可以追溯到很久很久以前

1.1.1. 从古希腊开始,铁匠之神赫菲斯托斯(Hephaestus)拥有赋予金属物品生命的能力

1.1.2. 从16世纪的布拉格开始,传说中伟大的拉比在那里用黏土制作了一个傀儡魔像,意图保护该城市的犹太人免遭迫害

1.1.3. 从18世纪苏格兰的詹姆斯·瓦特(James Watt)开始,他为正在建造的蒸汽机设计了一个巧妙的自动控制系统——调速器,从而为现代控制理论奠定了基础

1.1.4. 从19世纪初开始,年轻的玛丽·雪莱(Mary Shelley)被恶劣的天气困在瑞士的一栋别墅里,和她的丈夫——诗人珀西·比希·雪莱(Percy Bysshe Shelley),以及他们家的朋友拜伦(Byron)勋爵一起,玩了一场文字游戏,创作了《弗兰肯斯坦》

1.1.5. 从19世纪30年代开始,在彼时的伦敦,查尔斯·巴贝奇(Charles Babbage)发明了分析机,这激励着才华横溢的阿达探寻机器是否最终能够具备创造性

1.1.6. 从18世纪掀起的自动机器装置狂热开始

1.2. 人工智能故事的开头与计算机的开端应该是一致的

1.2.1. 艾伦·图灵(Alan Turing)

1.2.1.1. 图灵在诸多领域都有非凡成就,最非凡的是在偶然的机会下,他发明了计算机
1.2.1.2. 1935年,剑桥大学国王学院,一位才华横溢、不拘泥于传统的年轻学生
1.2.1.3. 1952年,他以“严重猥亵罪”被起诉和定罪,被迫服用某种旨在降低性欲的粗制滥造的药物来进行所谓的“化学阉割”
1.2.1.3.1. 图灵是同性恋,在当时的英国,同性恋是一种犯罪
1.2.1.4. 1954年,他亲手结束了自己的生命,年仅41岁
1.2.1.5. 图灵在第二次世界大战期间为英国政府效力,承担了一项非常重要的工作,而这项杰出工作的成果一直秘而不宣,直到20世纪70年代才公开
1.2.1.6. 在20世纪80年代,这个名字在数学和计算机领域以外压根不为人知

1.2.2. 人工智能研究人员和计算机科学家崇拜图灵,是出于完全不同的理由

1.2.2.1. 他是真正意义上的计算机发明者,不久,又成为人工智能领域的主要奠基人
1.2.2.2. 他发明了一种可以解决数学问题的机器,如今,为了纪念他,我们称之为图灵机

2. 判定问题

2.1. 由数学家大卫·希尔伯特(David Hilbert)于1928年提出

2.2. 判定问题是指,是否所有的数学描述都是“可判定的”,即是否存在一种方法,可以确认某个给定的数学描述是真是假

2.3. “某个数是否是一个质数”是可判定问题

2.3.1. 每当我们遇见“数n是否是一个质数”这样的问题时,只要给予足够的时间,就能找到答案:遵循相关步骤执行,最终就能得到明确的答案

2.4. 英国数学家安德鲁·威尔斯(Andrew Wiles)在20世纪90年代论证著名的费马大定理,数学界花费了好几年时间才消化了他那几百页的手稿,并确信他的论证是正确的

2.5. 是否所有的数学判定问题都是可判定的?

2.6. 是否存在某种数学问题,无论你投入多少时间,都无法寻找到相应的可供严格遵循来解决问题的方法?

2.7. 本质是数学问题是否都可以简化为寻找对应算法就可以解决的问题

2.7.1. 图灵在1935年给自己立下的艰巨挑战,而他以令人难以置信的惊人速度解答出来了

2.7.2. 图灵的证明短小精悍,而且很容易读懂(在确立了基本框架以后,真正的证明实际上只有几行)

2.8. 图灵机的作用是严格遵循既定的步骤执行运算

2.8.1. 如果所有的判定问题都是可以解决的,就意味着任何判定问题都可以通过设计一个专用的图灵机来解决

2.8.2. 为了解答希尔伯特的问题,你所要做的是,证明存在某种判定问题是任何图灵机都无法解决的

3. 停机问题

3.1. 给定一台图灵机和相关输入集,它最终是会停止,还是永无止境地运行下去?

3.1.1. 这就是一个判定问题了

3.1.2. 图灵指出,这个假设会引起悖论

3.1.3. 没有办法检测出图灵机是否停止。那么,“图灵机是否停止”是一个不可判定问题

3.1.4. 存在某些判定问题不能简单地按照确定的步骤来解决

3.1.4.1. 数学并不能被简化为遵循方法解决问题

3.2. 如果存在图灵机A,对它输入任意图灵机,都能够判定其运行结果是“停机”或者“不停机”

3.3. 那么可以构造图灵机B,调用图灵机A但输出永远与之相反,即B的输入经A判定“停机”,则B“不停机”

3.4. 如果B的输入经A判定“不停机”,则B“停机”

3.5. 那么,图灵机B的输入为图灵机B本身时,则出现矛盾

3.5.1. B只有在“停机”的时候才能“不停机”

4. 冯·诺依曼架构

4.1. 匈牙利裔数学家约翰·冯·诺依曼(John von Neuman)对ENIAC进行了相关调整,使ENIAC具备现代计算机的基本架构

4.2. 世界上第一台商用计算机“费兰蒂一号”的出现

4.3. 随着时代的发展,计算机变得越来越小巧,越来越便宜

5. 电子大脑的实际功能

5.1. 用计算机处理海量的复杂算术问题,其速度和精确程度远远超乎人类想象

5.2. 电子大脑确实能承担许多对人类而言烦琐、复杂且困难的计算,但它们并没有智能可言

5.3. 图灵机,以及它的物理表现形式计算机,它们只是遵循各种指令的机器而已

5.4. 我们给予图灵机的指令,现在被称为算法或者程序

5.4.1. 高级语言的作用是向程序员隐藏机器语言中某些烦琐到可怕的细节,让编程变得容易一些

5.4.2. 所有的计算机程序都能归结为类似的指令列表

5.4.2.1. 不管是Microsoft Word还是PowerPoint,不管是《使命召唤》还是《我的世界》,不管是脸书、谷歌还是淘宝,不管是浏览器还是手机App,抑或是支付宝、微信、QQ

5.5. 如果我们要制造智能机器,它的智能最终必须缩减到遵从这些简单的、明确的指令上

5.6. 计算机的运算速度非常快,非常、非常、非常快

5.6.1. 一台普通的台式机以全速运行,每秒可以处理1000亿条指令

5.6.2. 1000亿大概是银河系所有恒星的数量

5.6.3. 你大概每10秒执行一条指令

5.6.3.1. 你得做到不吃不喝、不眠不休(全年365天,全天24小时,每小时60分钟,每分钟60秒),那么大概需要31710年,你才能完成计算机1秒钟就能搞定的工作

5.7. 相比人类,计算机的错误率极低

5.7.1. 程序崩溃是常见的,但那几乎全是程序员编写程序时出的错,而不是计算机本身的问题

5.7.2. 现代计算机的处理器可靠性非常高,它们的平均无故障运行时间高达50 000小时,每秒钟都能忠实地执行数百亿条指令

5.8. 计算机可以做决策,只是我们必须给出它做决策所需要的精准指令

5.8.1. 计算机随后可以自行调整这些指令,只要我们指导它在何种情况下应该如何做

5.8.2. 意味着,计算机可以随着时间推移改变其行为

5.8.2.1. 它能够学习

6. 人工智能的产生为何如此艰难

6.1. 需要了解一下到底哪些问题是容易用编程来解决的,而哪些问题则很难用编程解决,以及为什么

6.2. 计算

6.2.1. 让计算机做计算是最简单不过的,因为所有的基础运算(加、减、乘、除)都可以用非常简单的步骤来运行

6.3. 排序,是指把一系列随机的数字按照升序排列,或者一系列姓名按照字母顺序排列

6.3.1. 传统的笨办法慢得令人发指

6.3.2. 一直到1959年,快速排序法才被发明出来,排序这个老大难问题才算得到了一个有效率的解决方法

6.3.3. 快速排序法诞生后50年内,都没出现比它更优秀的排序算法

6.4. 下棋就是重大挑战之一,它也是人工智能故事中非常重要的一环

6.4.1. 事实上,有一种简单粗暴的方式可以玩好棋类游戏,基于一种名为搜索的技术

6.4.2. 问题在于,尽管基于搜索进行编程是最简单不过的事情,但它除了能适应一些简单的游戏以外毫无用处,因为它需要占用太多内存,消耗太多时间

6.4.3. 哪怕我们把整个宇宙的每一个原子都用来建造计算机,它也承担不起用“简单粗暴”的搜索方式来下一盘围棋或者象棋

6.4.3.1. 它们需要的计算资源太过庞大

6.4.4. 已经通过一种名为机器学习的方式得到了解决

6.5. 无人驾驶汽车

6.5.1. 驾驶对人类而言是一件很简单的事情,开车并不是一项需要高智商的技能

6.5.2. 事实证明,让电脑来控制汽车简直困难重重

6.5.3. 主要的问题在于,汽车需要知道它所处的位置以及周围环境

6.5.3.1. 要弄清你的周围发生了什么,即将发生什么
6.5.3.2. 确认你的位置,周围有哪些车辆,它们的位置,它们会朝哪个方向行驶,行人的位置,行人的移动轨迹
6.5.3.3. 如果充分掌握了所有信息,那么你决定接下来该怎么做就非常容易了

6.6. 任务难以完成的原因通常有两种

6.6.1. 第一种是我们虽然知道理论上有某种可以解决问题的方法,但实际上却行不通,因为它需要太过漫长的运算时间,占用太高的内存,像象棋和围棋这样的棋类游戏就属于这一类

6.6.2. 第二种是我们不知道解决问题的方法是什么(例如人脸识别),要解决这类问题,我们需要一些全新的东西(例如机器学习)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/766264.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用patch-package自动修改node_modules中的内容/打补丁

背景 在使用VuePress搭建个人博客的过程中,我需要使用到一个用来复制代码块的插件uepress-plugin-nuggets-style-copy。 问题:插件可以正常安装,但是启动会报错。通过查看错误信息,定位是插件中的copy.vue文件出现错误&#xff0c…

【实战场景】记一次UAT jvm故障排查经历

【实战场景】记一次UAT jvm故障排查经历 开篇词:干货篇:1.查看系统资源使用情况2.将十进制进程号转成十六进制3.使用jstack工具监视进程的垃圾回收情况4.输出指定线程的堆内存信息5.观察日志6.本地环境复现 总结篇:我是杰叔叔,一名…

仿论坛项目--初识Spring Boot

1. 技术准备 技术架构 • Spring Boot • Spring、Spring MVC、MyBatis • Redis、Kafka、Elasticsearch • Spring Security、Spring Actuator 开发环境 • 构建工具:Apache Maven • 集成开发工具:IntelliJ IDEA • 数据库:MySQL、Redi…

Docker拉取失败,利用 Git将 Docker镜像重新打 Tag 推送到阿里云等其他公有云镜像仓库里

目录 一、开通阿里云容器镜像服务 二、Git配置 三、去DockerHub找镜像 四、编写images.txt文件 ​五、演示 六、其他注意事项 最近一段时间 Docker 镜像一直是 Pull 不下来的状态,想直连 DockerHub 是几乎不可能的。更糟糕的是,很多原本可靠的国内…

Vue+ElementUi实现录音播放上传及处理getUserMedia报错问题

1.Vue安装插件 npm install --registryhttps://registry.npmmirror.com 2.Vue页面使用 <template><div class"app-container"><!-- header --><el-header class"procedureHeader" style"height: 20px;"><el-divid…

密码学及其应用 —— 密码学的经典问题

1. 古典密码学问题 1.1 问题1&#xff1a;破解凯撒密码 1.1.1 问题 凯撒密码是最简单的单字母替换加密方案。这是一种通过将字母表中的字母固定向右移动几位来实现的加密方法。解密下面的文本&#xff0c;该文本通过对一个去除了空格的法语文本应用凯撒密码获得&#xff1a; …

layui-按钮

1.用法 使用 用button标签 type"button" class"layui-button" 效果&#xff1a; 2.主题设置 前面都要加上layui-bin 3.尺寸设置 可以叠加使用&#xff01; 4.圆角设置 加一个layui-bin-radius 5.按钮图标设置 里面加一个i标签 加class"layui-…

借教室(题解)

P1083 [NOIP2012 提高组] 借教室 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a;二分前缀和 我们将和质检员那题差不多&#xff0c;只需要将候选人二分即可 #include<bits/stdc.h> using namespace std; #define int long long int n,m; int r[100000…

【操作与配置】VSCode配置Python

Python环境配置 可以参见&#xff1a;【操作与配置】Python&#xff1a;CondaPycharm_pycharmconda-CSDN博客 官网下载Python&#xff1a;http://www.python.org/download/官网下载Conda&#xff1a;Miniconda — Anaconda documentation VSCode插件安装 插件安装后需重启V…

disql使用

进入bin目录&#xff1a;cd /opt/dmdbms/bin 启动disql&#xff1a;./disql&#xff0c;然后输入用户名、密码 sh文件直接使用disql&#xff1a; 临时添加路径到PATH环境变量&#xff1a;在当前会话中临时使用disql命令而无需每次都写完整路径&#xff0c;可以在执行脚本之前…

Eclipse + GDB + J-Link 的单片机程序调试实践

Eclipse GDB J-Link 的调试实践 本文介绍如何创建Eclipse的调试配置&#xff0c;如何控制调试过程&#xff0c;如何查看修改各种变量。 对 Eclipse 的要求 所用 Eclipse 应当安装了 Eclipse Embedded CDT 插件。从 https://www.eclipse.org/downloads/packages/ 下载 Ecli…

20240628模拟赛总结

cf好了 让我们开始 T1 Two Regular Polygons 判断能不能构造出题中要求的正多边形 关键是n%m0 Two Regular Polygons #include<bits/stdc.h> using namespace std; int t; int n,m; int main() {cin>>t;for(int i1;i<t;i){cin>>n>>m;if(n%m0)co…

MySQL 代理层:ProxySQL

文章目录 说明安装部署1.1 yum 安装1.2 启停管理1.3 查询版本1.4 Admin 管理接口 入门体验功能介绍3.1 多层次配置系统 读写分离将实例接入到代理服务定义主机组之间的复制关系配置路由规则事务读的配置延迟阈值和请求转发 ProxySQL 核心表mysql_usersmysql_serversmysql_repli…

【C++】相机标定源码笔记- 标定工具库测试

标定工具库测试 一、计算相机内参&#xff1a;对两个相机进行内参标定&#xff0c;并将标定结果保存到指定的文件中 采集图像&#xff1a;相机1-16张 相机2-17张 定义保存相机1/2内参的文件(.yml)路径。 定义相机1/2采集的图片文件夹路径。定义相机1/2存储文件名的向量获取文件…

作为图形渲染API,OpenGL和Direct3D的全方位对比。

当你在网页看到很多美轮美奂的图形效果&#xff0c;3D交互效果&#xff0c;你知道是如何实现的吗&#xff1f;当然是借助图形渲染API了&#xff0c;说起这个不就不得说两大阵营&#xff0c;OpenGL和Direct3D&#xff0c;贝格前端工场在本文对二者做个详细对比。 一、什么是图形…

26.5 Django模板层

1. 模版介绍 在Django中, 模板(Templates)主要用于动态地生成HTML页面. 当需要基于某些数据(如用户信息, 数据库查询结果等)来动态地渲染HTML页面时, 就会使用到模板.以下是模板在Django中使用的几个关键场景: * 1. 动态内容生成: 当需要根据数据库中的数据或其他动态数据来生…

推动能源绿色低碳发展,风机巡检进入国产超高清+AI时代

全球绿色低碳能源数字转型发展正在进入一个重要窗口期。风电作为一种清洁能源&#xff0c;在碳中和过程中扮演重要角色&#xff0c;但风电场运维却是一件十足的“苦差事”。 传统的风机叶片人工巡检方式主要依靠巡检人员利用高倍望远镜检查、高空绕行下降目测检查(蜘蛛人)、叶…

校园水质信息化监管系统——水质监管物联网系统

随着物联网技术的发展越来越成熟&#xff0c;它不断地与人们的日常生活和工作深入融合&#xff0c;推动着社会的进步。其中物联网系统集成在高校实践课程中可以应用到许多项目&#xff0c;如环境气象检测、花卉种植信息化监管、水质信息化监管、校园设施物联网信息化改造、停车…

Qt6 qcustomplot在图表上画一条直线

完整代码如下: 主要注意的是Qt中的QHBoxLayout等Qt类对象在被引用的情况下是可以使用局部变量的,典型的如setLayout这类型的函数接口,都可以使用局部变量,而不是new对象。 另外一点就是qcustomplot中的replot就相当于Qt中的update,由于qcustomplot是属于绘图类的接口库,…

如何用Python向PPT中批量插入图片

办公自动化办公中&#xff0c;Python最大的优势是可以批量操作&#xff0c;省去了用户粘贴、复制、插入等繁琐的操作。经常做PPT的朋友都知道&#xff0c;把图片插入到PPT当中的固定位置是一个非常繁琐的操作&#xff0c;往往调整图片时耗费大量的时间和精力。如何能省时省力插…