为什么三进制计算机没有流行下来?如果现在是三进制会怎么样?

2014-05-25 15:08:41 +08:00
 lynnlee
在公开课看到一个问题觉得很牛比啊。
如下:
现今的计算机都使用“二进制”数字系统,尽管它的计算规则非常简单,但其实“二进制”逻辑并不能完美地表达人类的真实想法。相比之下,“三进制”逻辑更接近人类大脑的思维方式。因为在一般情况下,我们对问题的看法不是只有“真”和“假”两种答案,还有一种“不知道”。在三进制逻辑学中,符号“1”代表“真”;符号“-1”代表“假”;符号“0”代表“不知道”。显然,这种逻辑表达方式更符合计算机在人工智能方面的发展趋势。它为计算机的模糊运算和自主学习提供了可能。只可惜,电子工程师对这种非二进制的研究大都停留在表面或形式上,没有真正深入到实际应用中去。
不过,凡事都有一个例外,三进制计算机并非没有在人类计算机发展史上出现过。其实,早在上世纪50、60年代。一批莫斯科国立大学的研究员就设计了人类历史上第一批三进制计算机“Сетунь”和“Сетунь 70”(“Сетунь”是莫大附近一条流入莫斯科河的小河的名字)。
来源:百度百科:三进制

如上面的资料所示,三进制已经做出来过了,而且在当初的时候不管是从价格还是性能上面都要远优于当时的二进制计算机,而且拥有二进制计算机所没有的优点,但是当时的苏联官僚认为不符合当时的经济计划,结果这种三进制计算机计划被无限搁置。

我查了很长时间的资料,但是网上的资料不算多,最后也无法得出为什么没有流行的根本性原因,所以特意发来这里,看看有没有人能够解疑我多年的疑惑。

问题是:

1.如果现在是用三进制计算机的话会是怎么样的情况?

2.在现有的技术去做三进制计算机会不会拥有超过二进制计算机的性能和优点?
(不考虑制造二进制计算机所积累的经验,假设两种计算机的科技水平一致!)

3.为什么没有流利下来?有缺点?还是如QWERT键盘对比DVORAK键盘一样,典型的“劣势产品战胜优势产品”?
46903 次点击
所在节点    程序员
55 条回复
leosama
2014-05-25 17:50:46 +08:00
我个人觉得光纤可能没法三进?
nicai000
2014-05-25 18:06:39 +08:00
相信这种文摘的到底懂计算机原理么?
shoumu
2014-05-25 19:09:52 +08:00
晶体管上的电压不稳定吧,所以可能会产生很多错误。就如上面说的0电压表示0,这个是很难控制的
jiang42
2014-05-25 19:16:09 +08:00
十进制流行的原因是我们有十根手指

二进制流行的原因是电压高低表示自然、简单
Actrace
2014-05-25 21:21:51 +08:00
简单既智能。
yxz00
2014-05-25 21:29:26 +08:00
lz你看的是什么公开课?看看是哪个丢人现眼的学校老师。瞎掰人工智能也先读两本计算机书再来好吧。
yxz00
2014-05-25 21:30:05 +08:00
简直误人子弟
inee
2014-05-25 21:32:45 +08:00
编程语言和硬件的转化执行效率
rannnn
2014-05-25 22:00:17 +08:00
我怎么记得上学插板的时候的时候电压根本不稳,根本不可能有0电压嘛。都是给个reference值然后超过多少表示1,低于多少表示0 =。=
kawaiiushio
2014-05-25 22:31:29 +08:00
@jakwings 不明觉厉
Actrace
2014-05-25 22:44:17 +08:00
@rannnn 现代CPU都是半导体元件构建的,只有通和断。只要在正常工作电压下,即使有轻微波动,都不会影响计算准确性。
pfitseng
2014-05-25 22:44:44 +08:00
曼彻斯特编码
zhouzm
2014-05-25 22:54:13 +08:00
『相比之下,“三进制”逻辑更接近人类大脑的思维方式。因为在一般情况下,我们对问题的看法不是只有“真”和“假”两种答案,还有一种“不知道”』

只有文科生才会这么想当然的联想吧,什么时候二进制里的0和1表达的意思是答案的“是”和“否”了?还冒出个“不知道”,要不再增加个“我不知道”,“你小子也不知道”,更接近大脑思维。

计算机就是你给个算式(程序),它按你的要求算出个结果,这个结果就是一个数字,然后科学家和工程师们实践后,至少到目前为止二进制作为中间运算是最高效率的(包括制造工艺上)。

至于你想用什么进制去表达这个数字,那随便你啦。
sheldom
2014-05-25 22:57:08 +08:00
@akfish 的答案就已经很全面啦
三进制计算机关键是材料问题吧,在计算上三进制是最优定义。
而且你见过那种普通材料具有三个状态的,苏联的三进制严格来说应该算伪三进制。

//
e进制是信息表示的最优解先考虑最优的定义
假定总共有n位,每位m个状态,m*n=v

在v一定时,使得m^n最大

也就是k(n)=(v/n)^n最大



考虑一般情况下

ln(k(n))=(ln(v)-ln(n))*n=ln(v)*n - ln(n)*n



对n求导 ln(v) - (n*1/n + ln(n)) = ln(v) - 1 - ln(n)

解得ln(n)=ln(v)-1是k(n)唯一的极值点

易知是k(n)最大值点

所以n=v/e m=e=2.71828182846时,k(n)最大

显然3进制比二进制更接近e值
//
参考: http://www.zhihu.com/question/20194670
lalalakakaka
2014-05-26 08:17:25 +08:00
@sheldom
对这个计算过程的理解没问题。。
只是,V的意义是什么?为什么要以V=M*N为参考基准?
jakwings
2014-05-26 08:43:23 +08:00
@kawaiiushio 看你楼上说的。要电压高于或低于指定阈值时才算 1 或 0 ,因为电压不稳。
同样地,由于电压不稳,假如要用正电压、负电压、零电压来表示三种状态,除了要设定更多的阈值外,还要看有没有对应的低耗的状态监测工具。假如为了监测更多的状态而大大增大了电路的体积或电路材料的开销,那肯定是得不偿失的。量子电脑有先天优势,可以用量子来表示三种状态,可是量子电脑的造价,还不清楚,电脑能变得多小也不太清楚……
jakwings
2014-05-26 08:44:47 +08:00
@kawaiiushio 不知道 @ 的哪一楼真辛苦,我也暂搞不懂那个 Google 模拟器。
jakwings
2014-05-26 08:48:12 +08:00
@lalalakakaka 因为那是指具体有多少个电路单位。在同样的单位下,三进制理论上是最省材料的,可是以各种材料的体积和材料一样为基准的。
jakwings
2014-05-26 08:50:32 +08:00
@jakwings 打错字。「……可这是以各种单位的体积和性价比一样为基准的,只是电路单位提供的状态不同。」
jakwings
2014-05-26 08:56:45 +08:00
@lalalakakaka 请当我没说过,没看清楚那是总状态数。实际上应该考虑位的个数,还是状态的个数,应该要再看看具体运算时要怎么提高效率,所以我暂还是不太认同 @sheldom 的看法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/114165

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX