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

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

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

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

问题是:

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

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

3.为什么没有流利下来?有缺点?还是如QWERT键盘对比DVORAK键盘一样,典型的“劣势产品战胜优势产品”?
46903 次点击
所在节点    程序员
55 条回复
WildCat
2014-05-25 15:09:35 +08:00
三进制如何用电路表达?
Xs0ul
2014-05-25 15:15:32 +08:00
对于现在的计算机和程序,“不知道”这个应该很难用到吧?用1/3的可能结果来专门表示一个几乎用不到的结果,太浪费了。
要用三进制表示“不知道”来开发模糊运算、人工智能,完全可以用两个二进制位来做,改用三进制并不会有质变。
另外现在二进制计算机的技术,基本上没法用在三进制计算机上,完全得从头做起。
hooluupog
2014-05-25 15:30:33 +08:00
我感觉这个问题非常像:为什么早就有lisp理论上这么先进的东西存在了,但在现实世界中流行起来的却是"丑陋"的类c系列语言。Ternary computer现在还在不断研究,比如ibm一直在研究,和量子计算机也产生了关联,但这些还都在理论层面paper上,就像现在各种FP语言又热了起来,但实际生产环境中还是类c语言大行其道。
zjgood
2014-05-25 15:31:33 +08:00
二进制符合阴阳理论。嗯,就是这样~
Mutoo
2014-05-25 15:36:40 +08:00
根据我了解过的资料,我大概只记得下面这两点

1)三进制计算机是美苏冷战的产物
2)三进制电子管不稳定
akfish
2014-05-25 15:39:49 +08:00
首先,把“接近人类的思维方式”作为评价计算机好坏的标准,是一种自大不切实际的标准。
实际上,人类科学能走到今天这一步,很大程度上依赖于各种”反人类、反直觉“的理论。

三进制为什么没能流行的原因,很大程度上是由底层硬件原理决定的。
数字电路只能有效的表达开/关两种状态,所以原生二进制。
DNA计算机是四进制,因为有ATCG四种碱基。
量子计算机视最终能获得的量子叠加态数量,可能是更高进制的。

如果计算机真是三进制的,用来老老实实编码,必然比增加一个“不知道”的位更经济、更高效。
32位二进制bit能编码最大2^32-1的无符号数,而32位三进制bit能编码到3^32-1。
假如CPU主频一致,同是32位长寄存器,3进制计算机的运算能力更强。

真正要模糊计算的话,现在的做法是用fuzzy logic,给输出量同时赋予一个概率,这比起多一个非黑即白的“不知道”位,更加“接近人类思维方式”。
palmers
2014-05-25 15:41:43 +08:00
在计算机世界里 知道和不知道的中间值 要么知道 只是多少 真 要么不知道 得不到值 假 不会存在 你所说的模糊情况 人的思维的圆滑 不能直接运用在计算机上 为什么就经常有人说 程序 代码是不会骗人的 它不能也不会对我们说不知道 对和错 非常的鲜明 所以从这个角度来说 三进制取代二进制 没有讨论的必要性 他可以以 类似 八进制 十六进制形式存在
wdlth
2014-05-25 15:47:00 +08:00
在电子上三进制不好进行表达,不过量子可以有多种状态,估计量子计算机可能使用三进制吧。
akfish
2014-05-25 15:57:29 +08:00
查了些英文的文档,百度百科的词条很多说法不靠谱。

百度百科词条明显把三值逻辑运算和三进制编码给搞混了,三进制计算机底层编码采用的是平衡三进制(http://en.wikipedia.org/wiki/Balanced_ternary),优点是表达正负数同样容易,不存在有无符号的蛋疼。

三进制计算机目前复活的可能性是光计算机(http://www.iop.org/EJ/abstract/1402-4896/2005/T118/025/)或者量子计算机(http://nextbigfuture.com/2009/08/qudits-multilevel-versions-of-qubits.html),可以很容易原生表示三进制。光计算机可以用无光表示0,两种正交极化方向的光表示+1或-1;量子计算机量子叠加态多到用不完,自然不用多说。

这里有个三进制计算机的模拟器: http://tunguska.sourceforge.net/about.html

总之,要学到靠谱的知识,远离百度百科。
niseter
2014-05-25 16:05:26 +08:00
@WildCat 断,通(AtoB的电流),通(BtoA的电流)我想应该是可以的
andyhu
2014-05-25 16:18:16 +08:00
现代科技里半导体电子电路的基础就是通和断,这就是二进制的,电路里没法做出不知道通断。再比如说以前最老式的打孔计算机,一个纸带的同一位置上只会是有孔或者无孔,没有说不知道有没有孔这个概念
世间万物也都有阴阳的属性,看似中性只不过是阴阳属性均等罢了。二是变化的最基本单元,所谓一生二 二生三 三生万物。
sujin190
2014-05-25 16:24:41 +08:00
@niseter 明显的,你这是人的逻辑,用在电路中,你会蛋疼死的
akfish
2014-05-25 16:26:59 +08:00
三进制在电子计算机中的实现方式是:
正电压 +1
零电压 0
负电压 -1
等于是有两种不同的“开”状态。这会大幅度的增加系统的复杂度。
所以也就只有早期晶体管数少的时候能造出来,随着规模的增加,按当时的科技水平,可能很快就会遇到瓶颈。
如果当初整个行业真点了三进制的科技树,可能计算机运算能力的提升速度会严重变慢,摩尔定律不会出现,人类整体科技发展速度都会放缓。

这个话题还是比较有意思的,至少成功的就要混到晚饭时间了。
caiych
2014-05-25 16:28:16 +08:00
@akfish 赞『首先,把“接近人类的思维方式”作为评价计算机好坏的标准,是一种自大不切实际的标准。』

我们AI课老师当时说过一句话 不要一直说把自己当个机器觉得很鄙视机器一样,实际你要真能把自己当一个机器是把你的层次提高了
lynnlee
2014-05-25 16:28:52 +08:00
@WildCat 百科上的
随着技术的进步,真空管和晶体管等传统的计算机元器件逐渐被淘汰,取而代之的是速度更快、可靠性更好的铁氧体磁芯和半导体二极管。这些电子元器件组成了一个很好的可控电流变压器,这为三进制逻辑电路的实现提供了可能,因为电压存在着三种状态:正电压(“1”)、零电压(“0”)和负电压(“-1”)。三进制逻辑电路非但比二进制逻辑电路速度更快、可靠性更高,而且需要的设备和电能也更少。这些原因促成了三进制计算机“Сетунь”的诞生。
lynnlee
2014-05-25 16:31:58 +08:00
@akfish 谢谢...远离百度百科
robertlyc
2014-05-25 16:36:24 +08:00
百度一下 你就上当
cassyfar
2014-05-25 16:52:59 +08:00
@lynnlee 二进制有一个状态叫dont care,用x表示,就是说当前取值1或0对结果都没有影响,比如一个OR gate,如果一个input是1,那么另外一个input就是x了。感觉和你所说的不知道比较像。但是实在无法联想到和机器学习还有人工智能有什么直接的联系。
百科上那个随着科技的进步XXXXX,然后出现了正负和0电压。我感觉BJT和mosfet都没有这种状态。不知道前瞻到什么科技时代去了...... 其实二进制是目前最好的传统电路实现因为现在vlsi的mosfet特性就是这样的,可以去看看一个mosfet级的nor gate怎么实现的就能了解为什么二进制很不错了。
jakwings
2014-05-25 16:56:53 +08:00
还是认为 1 楼一早就提到了瓶颈。电压通常不是说正负平的,而是高低与否。能否准确且低耗地实现三种状态才是第一重要的。
jakwings
2014-05-25 17:15:20 +08:00
@wdlth 可以试一下 Google 的这个模拟器,听说最近的 D-Wave 量子电脑可以进行将运算过程逆过来进行:
http://qcplayground.withgoogle.com

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

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

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

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

© 2021 V2EX