人工智能系列:机器的进化(下)

news2025/1/19 11:03:17

大家好,接着上文的图灵机,继续介绍机器的进化。

1. 第一台计算机

世界上第一台电子计算机是ENIAC(埃尼阿克),这是课本上所写的。但计算机学界对于究竟哪台是第一台电子计算机其实存在着争议,除了 ENIAC 以外,Z3 计算机、ABC 都是“世界上第一台计算机”的有力竞选者。

Z3计算机

1936年,德国工程师楚泽制造了一台计算机 Z1,采用了二进制,并使用巴贝奇在分析机中提到的“穿孔带”结构来输入程序,是世界上第一台电子-机械式二进制可编程(Electro-Mechanical Binary Programmable)计算机。

在制造 Z1 时(见图4),楚泽并没有得到政府的支持,只得到几个朋友提供的少量资助,他只能自掏腰包来维持研究,因此 Z1 的性能较差,严格上来说只能算是一个模型。

图片

图4 Z1计算机

然而楚泽并没有放弃。1937年,楚泽在朋友的帮助下得到一些废弃的继电器,他利用这些废弃物独自组装电磁式计算机 Z2。虽然这些电子元件比较旧,但依旧发挥了巨大的功效。在这些电子元件的帮助下,Z2 的计算性能突飞猛进,并成功引起了德国飞机研究所的关注。

德国飞机研究所愿意资助楚泽研究性能更好的Z3计算机,并希望将Z3计算机应用于飞机制造。楚泽不负所托,于1941年完成了Z3计算机的研究。Z3 计算机具有优异的数学运算性能,除了能够为制造飞机提供计算方面的帮助外,楚泽还为它编写了一个国际象棋的程序。

遗憾的是,由于战争,Z3 在1944年的一次空袭中被炸得粉碎。1945年,楚泽又制造出一台 Z4 计算机,甚至为其开发了一套编程语言。由于战争原因,楚泽和他的计算机研究一直是国家机密,不为外人所知。直到1958年, 计算机学界才知道他的成果。

不过这时,全世界都已经普遍认为1945年建成的 ENIAC 是第一台电子计算机,因此很少有人知道楚泽其实才是第一位电子计算机的发明者。

ABC计算机

ABC 的全称是“阿塔纳索夫-贝瑞计算机”(Atanasoff-Berry Computer),其构造如图5所示。其中阿塔纳索夫(Atanasoff)和贝瑞(Berry)是它的两位发明者的姓氏。

图片

图5 ABC

阿塔那索夫是一位物理学教授,他在教授课程的过程中,就常常试着用电子技术来帮助学生解决复杂的计算问题,这为后来的 ABC 埋下了伏笔。

阿塔那索夫在设计计算机的过程中做出了4 个重要决定 :采用电子管元件 ;采用二进制代替十进制 ;采用电容器作为存储器 ;采用逻辑运算代替数字运算。这4项决定在当时看来是极具创新性的,明确了ABC计算机的建造思路。

1939年,阿塔纳索夫和他的学生贝瑞完成了ABC样机的建造。不过当年美国发生了严重的经济危机,资源极度匮乏,学校认为把重要的二极管元件浪费在这种毫无意义的发明上是浪费资源,因此没有同意阿塔纳索夫的申请,并且拆除了ABC 样机,后来看到的 ABC 计算机是1997年建造的复制品。

ENIAC

第二次世界大战时,美国对于各种弹道表的计算和制作效率低下,迫切需要一台能够快速运算且保证运算结果准确的计算机。1943年,研制ENIAC的绝密计划——莫克利-埃克特计划应运而生。

最初军方想要的计算机是专门用来进行弹道计算的机器,但研发者的想法并非如此,他们希望能够建造一种通用型的计算机,可以根据不同的程序来处理各种各样的问题。所以在要求军方的资助时,研发者们巧妙地将 ENIAC 描述成为“一台能够解决多种弹道计算问题的多功能计算机”。

在最初的计划中,ENIAC将消耗大约5000个电子管,经费预算150000美元;而建造完成时,ENIAC用掉了18000多个电子管,消耗经费400000美元,几乎达到原计划的3倍。

1943年6月开始研制的 ENIAC,由于研制过程花费了太多时间,并没有来得及在第二次世界大战中展示自己的身手。由于ENIAC在战场上没有任何立功机会,军方决定将这个耗费巨资搭建的计算机拆除,将计算机的零件用在更有用的地方。

就在军方计划对ENIAC 撤资时,冯·诺依曼给ENIAC布置了一项新任务:为氢弹的研制提供计算帮助。ENIAC这才终于有了用武之地。到退役为止,ENIAC 共运行了 8 万多个小时,为氢弹的研制、天气预测、风洞开发都做出了卓越的贡献。

2. 冯·诺依曼与ENIAC

冯·诺依曼在ENIAC的建造过程中曾提出中肯的设计建议。在最初设计时,ENIAC 与现代计算机其实有着较大差异。

ENIAC的程序与计算部件是分离的,在进行计算时,需要人工进行程序替换,之后再启动计算功能,这对于计算机的运行效率有着非常大的阻碍。

针对这一点,冯·诺依曼曾写过一项著名的“101页报告”,提出要设计出能够将程序储存在内部的计算机,冯·诺依曼称之为 EDVAC(离散变量自动计算机)。EDVAC 不用进行人工切换,由计算机自动依次执行程序,后来这种计算机也被称为“冯·诺依曼机”。

不过,由于 ENIAC 计算机研发小组发生了分裂,EDVAC一直到1951年才被研制出来。尽管如此,其结构对现代计算机也还是产生了巨大影响。今天所使用的计算机也大多属于“冯·诺依曼机”的改进型。

Z3 计算机、ABC 和 ENIAC 都是计算机发展史上最闪亮的明星,科学家们为此做出很大的努力。

正是这些不断开拓的科学家们经过努力研究,开辟出一片改变人类生活的信息产业的新天地,大家才能够享受今天的技术便利。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现SPI控制OLED屏幕

上一篇: [嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…

【Vue2 + ElementUI】更改el-select的自带的下拉图标为倒三角,并设置相关文字颜色和大小

效果图 实现 <template><div class"search_resources"><div class"search-content"><el-select class"search-select" v-model"query.channel" placeholder"请选择" change"handleResource&q…

【贪吃蛇:C语言实现】

文章目录 前言1.了解Win32API相关知识1.1什么是Win32API1.2设置控制台的大小、名称1.3控制台上的光标1.4 GetStdHandle&#xff08;获得控制台信息&#xff09;1.5 SetConsoleCursorPosition&#xff08;设置光标位置&#xff09;1.6 GetConsoleCursorInfo&#xff08;获得光标…

TikTok直播对网络环境的要求是怎么样的

TikTok直播作为一种互动性强、实时性要求高的社交媒体形式&#xff0c;对网络环境有着一系列特定的需求。了解并满足这些需求&#xff0c;对于确保用户体验、提高直播质量至关重要。本文将深入探讨TikTok直播对网络环境的要求以及如何优化网络设置以满足这些要求。 TikTok直播的…

Django学习之小试牛刀

六、Django学习之小试牛刀 其他关于Python Web开发笔记&#xff1a;&#xff08;如果遇到问题可以一起交流~&#xff09; 一、Flask学习之HTML-CSDN博客 二、Flask学习之CSS-CSDN博客 【接上篇】二、Flask学习之CSS&#xff08;下篇&#xff09;-CSDN博客 三、Flask学习之B…

读取一个batch的图像并且显示出来

1读取一个batch用于训练 我们在训练模型的时候&#xff0c;除了观察图像的标签和尺寸&#xff0c;最好能读取一个batch的图像显示出来&#xff0c;观察原始图像和grountruth是否对应&#xff0c;如果正确才能正式开始后续的训练。 下面以一个皮肤病分割的数据集加以演示。 2…

漏洞原理SQL注入 手工注入漏洞

漏洞原理SQL注入 手工注入漏洞 SQL 注入的前置知识 information_schema库information_schema 是mysql5.0以上版本中自带的一个数据库。tables表information_schema库中的tables表中table_schema列&#xff08;存储数据库名&#xff09;和table_name列&#xff08;存储表名&…

【第六天】蓝桥杯备战

题 1、明明的随机数2、特殊日期 1、明明的随机数 https://www.lanqiao.cn/problems/539/learning/ 解法&#xff1a;暴力 import java.util.Scanner; import java.util.Arrays; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main…

node学习过程中的终端命令

冷的哥们手真tm冷&#xff0c;打字都是僵的&#xff0c;屮 目录 一、在学习nodejs过程中用到的终端命令总结 一、在学习nodejs过程中用到的终端命令 node -v nvm install 20.11.0 nvm list nvm list available nvm on nvm -v nvm use 20.11.0 node加要运行的js文件路径 ps&a…

手指伸不直,锤状指不可忽视!

在日常生活和工作中&#xff0c;手指很容易戳伤&#xff0c;损伤后有时出现末节手指伸不直&#xff0c;影响手指屈伸活动障碍而就诊&#xff0c;医生会说手指损伤形成锤状指。那么什么是锤状指&#xff1f; 01 什么是“锤状指畸形”&#xff1f; 锤状指是指伸肌腱止点断裂后的…

确知信号的类型:能量信号与功率信号

通信原理第17页第一段&#xff1a; 例如&#xff0c; s ( t ) 8 s i n ( 5 t 1 ) , − ∞ < t < ∞ s(t)8sin(5t1),-\infty<t<\infty s(t)8sin(5t1),−∞<t<∞&#xff0c;就属于周期信号&#xff0c;其周期 T 0 2 π / 5 T_02\pi/5 T0​2π/5 三角函数很…

Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)

Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入) 反转(转移)控制(IOC Inverse of Control) 控制&#xff1a;对于成员变量赋值的控制权 反转控制&#xff1a;把对于成员变量赋值的控制权&#xff0c;从代码中反转(转移)到Spring⼯⼚和配置⽂件中完成好处&#xff1a;…

docker 部署xxl-job

docker 部署xxl-job XXL-JOB github地址 https://github.com/xuxueli/xxl-job XXL-JOB 文档地址 https://www.xuxueli.com/xxl-job/ XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品…

Ubuntu apt update提示:GPG 缺少公钥解决方法

Ubuntu 运行: sudo apt update #or sudo apt-get update提示&#xff1a;GPG 缺少公钥以及404 Not Found&#xff0c;如下面所示&#xff0c;有mirror.bwbot.org 和ppa.launchpadcontent.net两个源出现问题。 好多网友用后面的方法解决 真正解决&#xff1a;gpg --verify sig:…

数据库ER图相关概念及其画法

ER图基本概念 ER图&#xff08;Entity-Relationship Diagram&#xff09;是一种用于描述现实世界概念模型的图形化表示方法&#xff0c;通过使用图形符号和元素来表示实体、属性和它们之间的关系。在ER图中&#xff0c;实体、属性和关系分别使用不同的图形元素来表示&#xff0…

【前端web入门第二天】01 html语法实现列表与表格_合并单元格

html语法实现列表与表格 文章目录: 1.列表 1.1 无序列表1.2 有序列表1.3 定义列表 2.表格 2.1 表格基本结构2.2 表格结构标签2.3 合并单元格 写在最前,第二天学习目标: 列表 表格 表单 元素为嵌套关系 1.列表 作用:布局内容排列整齐的区域。 列表分类:无序列表、有序列表…

Redis中BigKey的分析与优化

Redis中BigKey的分析与优化 Redis以其出色的性能和易用性&#xff0c;在互联网技术栈中占据了重要的地位。 但是&#xff0c;高效的工具使用不当也会成为性能瓶颈。在Redis中&#xff0c;BigKey是常见的性能杀手之一&#xff0c;它们会消耗过多的内存&#xff0c;导致网络拥塞…

专有钉钉开发记录,及问题总结

先放几个专有钉钉开发文档 专有钉钉官网的开发指南 服务端(后端)api文档 前端api文档 前端开发工具下载地址 小程序配置文件下载地址 后端SDK包下载地址 专有钉钉域名是openplatform.dg-work.cn 开发记录 开发专有钉钉时有时会遇到要使用钉钉的api&#xff1b;通过 my 的方…

【leetcode题解C++】101.对称二叉树 and 111.二叉树的最小深度 and 222.完全二叉树的节点个数 and 110.平衡二叉树

101. 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 思路&#xff1a…

Pandas.Series.mode() 众数 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本&#xff1a; 本文基于 pandas2.2.0 编写。 关于本文内容更新&#xff1a; 随着pandas的stable版本更迭&#xff0c;本文持续更新&#xff0c;不断完善补充。 传送门&#xff1a; Pandas API参考目录 传送门&#xff1a; Pandas 版本更新及新特性 传送门&…