苏联的三进制电脑,为什么被二进制干掉了?

aafc339e975728f5513f83edf885d107.png

来源:差评  

当我们在电脑上打开一个软件,看一部电影,听一首歌的时候,我们很难想象,这些东西都是由 0 和 1 这样的二进制数字组成的。

但你有没有好奇过?为什么计算机要用二进制呢?难道是因为它效率最高吗?

但其实并非如此,理论上讲,三进制计算机的效率要比二进制更高,甚至苏联也曾花费重金研究过它。那我们为什么没有用上这种更高效的计算机呢?

今天跟大家聊聊三进制计算机的故事。

01 

二进制是最好的吗?

进制,是一种人类智慧衍生的计数方式。

我们天生有十根手指,所以人类天然选择了十进制。计票时常用的写 “ 正 ” 字,也类似于五进制。而计算机的二进制是由 0 和 1 组成的,也就是逢二进一,借一当二。

不知道大家有没有过疑问,为什么计算机没有用更常见的进制,而偏偏选择了二进制呢?毕竟计算机也是给人用的,非要转化成一串长长的 0 和 1 ,不是很反人类吗?

看过不少科普,大多都是用一句 “ 电脑只能看得懂 0 和 1 ” 就蒙混过关了,但其实最主要的原因是,计算机出生的年代,二进制是最容易实现的。

其实历史上也曾出现过非二进制的电脑,比如 1945 年诞生的世界上第一台通用计算机 ENIAC,就是一台十进制电脑。

但,计算机是由逻辑电路组成的,而电路中通常只有两个状态 —— 开和关,这两种状态正好可以用 “ 1 ” 和 “ 0 ” 表示。

而 “ 1 ” 和 “ 0 ” 又恰好与逻辑运算中的 “ 对 ”( true  ) 与 “ 错 ”( false )对应,这才有了著名的冯.诺依曼结构,也让二进制在计算机上大放异彩。

此后的几十年,二进制计算机越来越先进,各方面的硬件也逐渐完善。现在你用的手机,电脑的显卡,女神的照片,爆肝的游戏,靠的全是二进制。

但其实!二进制并不是效率最高的,理论上讲,e 进制才是最高效的。

e 的大名叫自然常数,也叫欧拉数,是个大约为 2.71828 的无限不循环小数。温馨提示:以上内容为高中数学知识点,不懂的同学把它当成和 π 一样的东西就行。

那为啥说它的效率最高呢?先说说什么是效率,我们简单理解就是,在表达相同信息量的前提下,谁消耗的元件更少,谁的效率也就越高。

举个例子,假如我们要用十进制表达从 0 到 999 的一千个数字,那就要用 0-9 的十个牌子,并且需要三组,一共也就是 30 个牌子。

如果用二进制来表示这 1000 个数字,那我们需要 10 组的 0 和 1,也就是 20 个牌子

如果是三进制的话,需要 7 组的 0 、 1 、 2 ,也就是 21 个牌子,

四进制的话,需要 5 组的 0 、 1 、 2 、 3 ,即 20 个牌子。

......

我们以此类推可以算出每种进制需要用到的牌子数量。

谁用的牌子越少,也就表示谁的效率越高。

然后会发现,在表示 0-999 的问题上,二进制和四进制的效率是最高的。

但是,在这个过程中,每种进制或多或少都出现了 “ 资源浪费 ”。

比如说 10 位的 2 进制,也就是 2 的 10 次方,一共能表达 1024 个数字,已经几乎用完了,但 7 位的 3 进制,一共能表达 2187 个数,也就是说在这个案例中,三进制比二进制能多表达 1163 个数。

我们在计算 “ 需要几位数 ” 的时候是这么考虑的:

log 以 2 为底 1000 的对数约等于 9.97,我们向上取整,所以是 10 位数, 10*2=20,所以二进制需要 20 个牌子。

log 以 3 为底 1000 的对数约等于 6.29,取整数是 7,7*3=21,所以三进制需要 21 个牌子。

......

由此我们发现,这种算法会浪费很多资源,所以为了更准确的计算,我们假设需要的位数可以不是整数,也就不用向上取整。

于是,为了表示 M 个数,在 x 进制下,需要 x*logx^M 个牌子。

所以效率就可以表示成这样一个公式:

 E=M/x*logx^M=M/lnM*lnx/x  

我们简单求导一下就知道,f`( x ) = MlnM ( 1-lnx )

当 X = e 的时候,原函数取极大值!

如果用图像表示原函数,大概就是这样,这个点就是 e。

18be0334614e145d43e39eda770c0b20.png

也就是说当 x 等于 e 的时候,效率 E 是最大的。

3dfbbb6dfa268e4b6952ad1314d5b026.png

所以得出结论,理论上,e 进制的效率最高。

以上推导过程来自于知乎大佬 “ 白云龙 ”,我们想了很多个例子,可惜都没有大佬这个 “ 倒计时 ” 的例子直观。

ok,咱们前面也提过,e 大概是 2.71828,也就是说 “ 2.71828 进制 ” 是理论上最高效的进制。

9fbc5a21c5adae6b1c7c2971e3f2e84f.png 但是 2.71828 进制是个什么鬼?我数数手指还得掰个 0.71828 根?

那还得是个整数,不然工程上就没法实现了,而你看这个函数图就知道,相比 2,3 的效率是更接近 e。

由此我们能得出结论,数据表达上,效率最高的是三进制,其次才是二进制。

但为什么咱们现在没用上效率更高的三进制计算机呢?

这就不得不提到那个已经消失国家了。

02 

平衡三进制和 Setun 

苏联其实在五十多年前就发现了三进制在计算机上的优势。1958 年,莫斯科国立大学的计算机研究中心研制出了世界上第一台三进制电子计算机 —— Сетунь( setun )。

Сетунь 计算机用的不是一般那种逢三进一的三进制,而是平衡三进制,也叫对称三进制。

什么是平衡三进制呢,就是由 -1、0、1 构成的,对应的逻辑电路就是负电压、零电压和正电压。

618cd8dbb92734d0fcbfc289cab0f3b9.png 平衡三进制是一种很巧妙的设计,它所记录的数字可以表达出全部整数。而且由于 -1 的引入,对负数就不必使用额外的负号了,而二进制是无符号数,不能直接表示负数。

说回 Сетунь 这台计算机,虽然苏联早就看出了三进制的优秀,可一开始莫斯科大学并没有把这个项目当回事儿,只派了四个副博士和几个刚毕业的学生来开发。

349d6b1d5f07fa41c643e1b3ec399628.png 但没想到这台计算机在不同的室温下都表现出惊人的可靠性和稳定性。

虽然我觉得以当时苏联还在电子管上狂奔的情况来看,Сетунь 应该是比不上美国同时代的二进制计算机的,但是和同期其它苏联能生产的计算机比,Сетунь 还是优势很大的。

很快,苏联部长会议通过了批量生产Сетунь计算机的决议。不过工业部并不看好这台机器,他们觉得这个经济计划外的玩意儿就是个科幻产物。

与此同时,国内外的订单却像雪花般飞来,10 到 15 台的年产量远远不够应付市场需求。

奇怪的是工业部并没有随着订单数量的增加而增加产量,相反,他们严重限制了生产进度,拒绝订单,并在 1965 年完全停产。

是不是听起来不可思议,其实原因并不复杂,Сетунь 的电子元件良品率极高,而且非常耐造,同时价格还很低,它的售价只有 27.5 万卢布,创造了当时的最低记录,而同期的计算机售价基本都在它的两倍以上。

那台在莫大计算中心的样机整整运行了 17 年,除了在第一年更换了三个有缺陷的元器件之外,内部设备从来没维修过,直到它被摧毁前的一刻都还能正常使用。

而苏联官僚停产了 Сетунь 之后,取而代之的是一种相同性能的二进制计算机,但价格却贵出 2.5 倍。说白了,Сетунь 的生产让苏联官僚少了大笔的财政拨款。

b0b2f42529274d416ec0136fc1751806.png 断人财路如杀人父母,所以这台三进制计算机就 “ 理所应当 ” 的成为了政治牺牲品。

虽然 Сетунь 最终只生产了五十台,但从加里宁格勒到雅库茨克,从阿什哈巴德到新西伯利亚,全苏都能看到它的身影。

而且各地都对 Сетунь 的评价很高,大家认为它编程简单,很适合用于工程计算、工业控制、计算机教学等等。

Сетунь 的成功经验让莫大决定不放弃这台计算机,于是他们顶住压力在 1970 年推出了 Сетунь 70 型计算机,而且还对应着二进制的 byte 创建了三进制字节 tryte。每个 tryte 由 6 个 trit 构成,约等于 9.5 个二进制的 bit。

但这个项目长期得不到上级的支持,最后也不得不无限期停滞。Сетунь 70 就此成了莫斯科大学的绝唱。

再后来苏联解体,三进制计算机也跟着苏维埃混入了历史的尘埃,直到今天也没有其他国家能够复现它。

03 

为什么现在没有三进制计算机 ?

虽说Сетунь证明了三进制计算机的可行性,但它没能发展起来,政治原因并不是主要原因。

甚至可以说,三进制计算机的失败,是一种历史必然。

因为即使我们前面在数学上论证了三进制的效率,但也只停留在理论上,从理论到具体实现,经过的步骤太复杂了,因为比如说如果要做三进制计算机的话,就要用三种稳定状态的材料,起码二极管是用不了了。

而二进制只有 “ 0 ” 和 “ 1 ”,高低电压就很好区分,就算有些误差,计算机也可以识别出来,所以在稳定性上会远远高于三进制,在工程上也更容易实现。

所以三进制对效率的提升也许并没有想象的那么美好。

既然它不够稳定,又不能高效提升,工程上还难以实现。为了这么一点可能的红利再从头发展这种技术就显得没必要了。

反观二进制的发展速度,早就快的没影了。

这就好比你玩了好久的养成游戏,已经花了无数个 648,就算没抽出版本之子,也很少有人从零开始玩小号吧。更别说是在越来越离不开计算机的今天,抛弃已经发展完善的二进制体系。

说点看得见的,要是没了二进制,我们现有的硬件体系都要洗牌,大家的电脑手机等电子产品会直接变砖,这事儿听起来也不现实吧。

04 

它是历史还是未来?

不过到了今天,随着芯片的制程越来越小,马上会碰到量子这个玄学领域,量子隧穿这样的难题,我们可能要花非常多的精力,才可能提升一点点效率,就像开了等级上限的⽹游,二进制已经快满级了,也许要开始开辟其他的路了。

而三进制,现在就正在电子计算机以外的形态上复活。

比如,本身电子计算机因为只有开关两种基础状态,但是假如是光子计算机,就有光强、波长、相位、传播方向和偏振五种状态,上海大学的金翊教授团队就取了有无光态和偏振方向正交三个物理状态来尝试光子计算机。

再比如,在 2019 年,我国物理学家郭光灿和中国科技大学的同事就成功完成了三进制 qutrit 量子信号的传输,这也是科学家们在量子领域第一次成功的三进制研究。

近两年,韩国也成功开发出三进制半导体,让三进制计算机又往前迈了一步。

如今,二进制下庞大成熟的工业体系,已经渐渐显现出强弩之末的状态,但想用其他进制来取代它,仍然是不可能的事情。

但当我们看到三进制计算机在历史上的昙花一现的时候,有时候也会畅想,会不会在另一个平行时空,人类并没有选择电子计算机,而是发展出一套完全适配于三进制的系统。

而在那个时空中,会不会有一个视频的标题叫《 某国的二进制电脑,为什么被三进制干掉了? 》,也许那个时空的我们,会怀念二进制和电子计算机吧。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

edd7864dd4070ebd6226d1780be2a54e.png

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

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

相关文章

linux标准I/O——标准I/O介绍

文章目录1.文件的相关概念1.1 什么是文件1.2 文件类型2.标准I/O概念2.1 什么是标准I/O2.2 FILE和流2.3 流的缓冲类型2.4 stdin,stdout和stderr1.文件的相关概念 1.1 什么是文件 \qquad一组相关数据的有序集合 1.2 文件类型 文件类型表示举例常规文件r文本文件、二…

70页论文,图灵奖得主Yoshua Bengio一作:「生成流网络」拓展深度学习领域

来源:机器学习研究组订阅GFlowNet 会成为新的深度学习技术吗?近日,一篇名为《GFlowNet Foundations》的论文引发了人们的关注,这是一篇图灵奖得主 Yoshua Bengio 一作的新研究,论文长达 70 页。在 Geoffrey Hinton 的「…

linux标准I/O——流的打开和关闭

文章目录1.打开流2.mode参数3.fopen举例4.新建文件权限5.处理错误信息6.关闭流1.打开流 2.mode参数 3.fopen举例 #include<stdio.h> int main() {FILE *fp;fpfopen("a.txt","r");if(fpNULL){printf("fopen error\n");return -1;}return 0…

卷积神经网络数学原理解析

来源&#xff1a;海豚数据科学实验室作 者&#xff1a;Piotr Skalski翻 译&#xff1a;通夜&#xff08;中山大学&#xff09;、had_in&#xff08;电子科技大学&#xff09;编 辑&#xff1a;Pita 原标题&#xff1a;Gentle Dive into Math Behind Convolutional Neural N…

【大数据】分布式集群部署

1、集群规划部署 节点名称NN1NN2DN RMNMhadoop01NameNode DataNode NodeManagerhadoop02 SecondaryNameNodeDataNodeResourceManagerNodeManagerhadoop03 DataNode NodeManager2、参考单机部署&#xff0c;拷贝安装目录至相同目录&#xff0c;使用ln -s 建立软连接 3、修改配置…

linux标准I/O——按字符输入和输出

文章目录1.流的读写方式2.按字符输入3.举例3.1 从键盘读取一个字符&#xff0c;并打印到终端上3.2 读取一个文件&#xff0c;并打印文件中的字符数目3.3 自行输入要查看的文件&#xff0c;并打印文件中的字符数目4.按字符输出5.举例5.1 从键盘读入&#xff0c;并打印到终端5.2 …

周志华教授:关于深度学习的一点思考

来源&#xff1a;专知1 引言 深度学习已被广泛应用到涉及图像、视频、语音等的诸多任务中并取得巨大成功。如 果我们问“深度学习是什么&#xff1f;”很可能会得到这样的回答&#xff1a;“深度学习就是深度神经网 络”。至少在目前&#xff0c;当“深度学习”作为一个术语时几…

linux标准I/O——按行输入和输出

文章目录1.按行输入函数2.从键盘读入&#xff0c;并打印3.按行输出4.键盘输入字符串&#xff0c;写入文本5.将文本中的字符串按行读出到buf中&#xff0c;并打印buf1.按行输入函数 2.从键盘读入&#xff0c;并打印 #include<stdio.h> #include<string.h>#define N…

IEEE发布2022年科技趋势全球调研:人工智能和机器学习、云计算及5G将成为下一年最重要的技术...

来源&#xff1a;IEEE电气电子工程师近日&#xff0c;全球最大的专业技术组织IEEE&#xff08;电气电子工程师学会&#xff09;发布了《IEEE全球调研&#xff1a;科技在2022年及未来的影响》。根据本次调研结果显示&#xff0c;人工智能和机器学习、云计算及5G技术将成为影响20…

linux标准I/O——按对象输入和输出

文章目录1.按对象操作函数1.按对象操作函数

为了节省能量,人类演化出了“不合规律”的大脑神经元 | Nature

图片来源&#xff1a;Pixabay来源&#xff1a;麻省理工学院、科研圈神经元通过电脉冲相互交流&#xff0c;而电脉冲是由控制钾和钠等离子流动的离子通道产生的。在一项新研究中&#xff0c;美国麻省理工学院&#xff08;Massachusetts Institute of Technology&#xff09;的神…

linux标准I/O——流的相关操作

文章目录1.刷新流2.不断将键盘内容写入g.txt文件中3.定位流4.定位流的实例1.刷新流 2.不断将键盘内容写入g.txt文件中 #include<stdio.h>#define N 1024 int main() {FILE *fd;char buf[N];fdfopen("./g.txt","a");while(1){fgets(buf,N,stdin);fpu…

国外发明的10大仿生机械,这才是真正的黑科技!

来源&#xff1a;工信头条仿生机械就是模仿生物的形态、结构和控制原理设计制造出的功能更集中、效率更高并具有生物特征的机械。研究仿生机械的学科称为仿生机械学&#xff0c;它是20世纪60年代末期由生物学、生物力学、医学、机械工程、控制论和电子技术等学科相互渗透、结合…

linux标准I/O——格式化输出

文章目录1.格式化输出函数2.输出日期到文本文档和数组中3.练习3.1 题目3.2 提示3.3 实现1.格式化输出函数 2.输出日期到文本文档和数组中 #include<stdio.h>int main() {int year2021,month4,date8;FILE *fd;char buf[64];fdfopen("data.txt","a");…

如何让css与js分离

在 webpack 我们如何让 css 与 js 分离&#xff1b; 我们需要安装插件&#xff1a;extract-text-webpack-plugin 1. 用&#xff1a;npm 下载插件 npm install extract-text-webpack-plugin --save-dev 2.在官网上查看用法&#xff1a;https://www.npmjs.com/ less 的配置&#…

钱学森在30年前对虚拟现实和元宇宙的思考

以下文字是钱学森在1990年给汪成为院士的信中对虚拟现实技术的科学意义和未来发展给与的思考和建议&#xff0c;他也提出可以将虚拟现实技术成为灵境技术。

SpringBoot项目部署到独立的Tomcat上

1.修改启动类 1 SpringBootApplication2 MapperScan("com.wm.springboot.dao")3 public class SpringbootApplication extends SpringBootServletInitializer {4 5 Override6 protected SpringApplicationBuilder configure(SpringApplicationBuilder builde…

一图读懂:中国科学院“基础研究十条”

来源&#xff1a;中科院之声未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#xff08;城市&#xff09;大脑研究计划&#xff0c;构建互联网&#xff08;城市&#xff09;大脑技术和企业图…

linux文件IO——文件IO介绍

文章目录1.文件IO和标准IO区别2.什么是文件IO3.文件描述符4.open函数5.close函数1.文件IO和标准IO区别 \qquad标准IO遵从ANSIC&#xff0c;文件IO遵从POSIX&#xff1b; \qquad标准IO有缓冲机制&#xff0c;文件IO没有&#xff1b; \qquad标准IO通过流FILE来操作&#xff0c;文…

量化因果涌现表明:宏观可以战胜微观

来源&#xff1a;集智俱乐部作者&#xff1a;Erik P. Hoel, Larissa Albantakis, Giulio Tononi 译者&#xff1a;赵婷婷 审校&#xff1a;梁金 编辑&#xff1a;邓一雪 导语复杂系统内的因果关系可以从不同时空尺度来分析。通常认为&#xff0c;由于微观尺度包含了所有细节&am…