平衡三进制系统 (Balanced Ternary System) 是一种独特的计数系统,由 -1,0,1 构成的,它的基数是 3(有三个可能的值)。由于将 -1 写成数字不方便,下面将使用字母 来代替 -1,同时在本文中也用“+0-”符号,其三值布尔逻辑为:上(+1为TRUE)、下(-1为FALSE)、偶(0为BOTH),它与现代计算机中使用的二进制系统在数字编码原理上是相通的,都属于位权计数法。
特征 | 二进制 (Binary) | 平衡三进制 (Balanced Ternary) |
|---|---|---|
基数 (Base) | 2 | 3 |
位值 (Digit/Trit) | "{0,1} (比特/bit)" | "{−1,0,1} (特征/trit)" |
位权重 (Weight) |
二进制编码
平衡三进制 | 二进制编码 |
|---|---|
- | 10 |
0 | 00 |
+ | 01 |
我们可以计算一个 位三进制数(-trit number)的值,其方法类似于计算一个 位二进制数(-bit number)的值。其中N表示十进制数,其中n-1的n为平衡三进制的数字个数,也就是说, blockformula_editorN = \sum_{i=0}^{n-1} \alpha_i 3^i = \alpha_{n-1} 3^{n-1} + \alpha_{n-2} 3^{n-2} + \alpha_{i} 3^{i} +... + \alpha_1 3^1 + \alpha_0 其中 是第 个位置上的位值。
下面,以13, 237结合上述公式,举个例子: 111(平衡三进制)=1 + 1 + 1=9+3+1=13(十进制) 100T10(平衡三进制)=1+0+0+(-1)+1+0=243+0+0-9+3+0=237(十进制)
平衡三进制逻辑门,在运算中起着至关重要的作用,使用非门从数值上,可正数变负数,负数也可变为正数;从逻辑上,假命题变成真命题,真命题变成假命题,两者则保持不变;基于此特性,减法可转成加其相反数,乘除法又是加减法的扩展,一切运算皆是加法运算,而对其逻辑门输入或输出取反操作符合德摩根定律。
非门(0不变、1与T互取)
TNEG | |
|---|---|
- | + |
0 | 0 |
+ | - |
或门(有1出1、双T出T、其余为0)
TOR | - | 0 | + |
|---|---|---|---|
- | - | 0 | + |
0 | 0 | 0 | + |
+ | + | + | + |
与门(有T出T、双1出1、其余为0)
TAND | - | 0 | + |
|---|---|---|---|
- | - | - | - |
0 | - | 0 | 0 |
+ | - | 0 | + |
或非门(有1出T、双T出1、其余为0)
TOR | - | 0 | + |
|---|---|---|---|
- | + | 0 | - |
0 | 0 | 0 | - |
+ | - | - | - |
与非门(有T出1、双1出T、其余为0)
TAND | - | 0 | + |
|---|---|---|---|
- | + | + | + |
0 | + | 0 | 0 |
+ | + | 0 | - |
德·摩根定律
平衡三进制的四个基础逻辑门真值表是对称的,你可以通过如下图所示的对输入取反(垂直箭头)或对输出取反(水平箭头)来转换它们。 
注释
你可以在任意基础逻辑门之间彼此转换,至多需要同时对输入及输出取反。
你可以通过对输出取反,在或门/或非门之间进行转换,这对与门/与非门同样成立。也可以通过对输入取反,在或非门/与门之间进行转换,这对或门/与非门同样成立。
对输出取反,会将真值表的每一位 T与1 对换。对输入取反,真值表会镜像翻转。
加法
Add | - | 0 | + |
|---|---|---|---|
- | -+ | 0- | 00 |
0 | 0- | 00 | 0+ |
+ | 00 | 0+ | +- |
加法逻辑门
它基于三种核心逻辑门:加和门 TSUM、半加器进位门 TCONS、全加器进位门 TANY。其中,1个加和门与1个共识门组成半加器,而2个半加器与1个调和门组全加器,此结构类似于传统的二进制全加器,在前苏联的三进制计算机Сетунь有可能应用,在Douglas W. Jones的文章中也有提及,而减法则是被减数使用反相器,获得相反数后相加,统一为加法运算,真值表如下所示。
加和门(当TT/01/10时出1、当11/0T/T0时出T、其余为0)
TSUM | - | 0 | + |
|---|---|---|---|
- | + | - | 0 |
0 | - | 0 | + |
+ | 0 | + | - |
共识门(双T出T、双1出1、其余为0)
TCONS | - | 0 | + |
|---|---|---|---|
- | - | 0 | 0 |
0 | 0 | 0 | 0 |
+ | 0 | 0 | + |
调和门(当0T/T0时出T、当01/10时出1、其余为0)
TANY | - | 0 | + |
|---|---|---|---|
- | 空 | - | 0 |
0 | - | 0 | + |
+ | 0 | + | 空 |
减法
Sub | - | 0 | + |
|---|---|---|---|
- | 00 | 0- | -+ |
0 | 0+ | 00 | 0- |
+ | +- | 0+ | 00 |
在平衡三进制中,可使用非门得其相反数,而减法相当于加上取反的被减数,这样就实现的加减法的统一运算,即减法器可用全加器与反相器组成。
乘法
Mul | - | 0 | + |
|---|---|---|---|
- | + | 0 | - |
0 | 0 | 0 | 0 |
+ | - | 0 | + |
乘法逻辑门
对异或门输出取反操作,得同或门在乘法运算中有用到,以下真值表。
异或门(双T 及 双1出T、1T 及 T1出1、其余为0)
TXOR | - | 0 | + |
|---|---|---|---|
- | - | 0 | + |
0 | 0 | 0 | 0 |
+ | + | 0 | - |
同或门(双T 及 双1 出1、1T 及 T1出T、其余为0)
TXNOR | - | 0 | + |
|---|---|---|---|
- | + | 0 | - |
0 | 0 | 0 | 0 |
+ | - | 0 | + |
平衡三进制 digit∈{T,0,1} 的乘法遵循严格对称性,其一位乘法完全无进位,三条核心规则即可覆盖所有情况:
吸收律,任意数0乘都得0
恒等律,任意数乘1等于它本身
取反律,任意数乘T(-1)等于相反数
其运算闭合集仅为 {T,0,1} 偏积表本身,如:T1T * 1110T,将被乘数形成[0,1110T,TTT01]偏积表,用乘数当成下标来调用偏积表,然后移位后相加就可以得到最终乘积。
除法(二重试商法)
Div | - | 0 | + |
|---|---|---|---|
- | + | - | |
0 | 0 | NaN | 0 |
+ | - | + |
此方法由中国学者改进Donald Knuth的试商法而来,它有着极其简单的运算规则:用每轮除法余数最高位是否为0的条件,来判断这一轮除法是否结束,无需对比每轮余数大小,核心逻辑是将被除数拆分为两个向量(p和s),其中 p 的位数最多与除数 q 相同,s 则是剩余位数的向量;然后根据规则(双正或双负得正商,一正一负得负商,其它为0)上商,每轮除法至多一次或两次相减,若相减一次后,余数 p 最高位仍不为0,则需再相减一次,得余数 p 最高位为0本轮除法结束,该位是二重商取双倍值,并把结果给到寄存器 r;然后余数 p 左移一位,丢弃上一轮除数的最高位(已为0),拉取一位 s 进行补充,得到新余数 p 转入下一轮,结果 r (3倍放大)右移一位补0,则当s 用尽时,结果 r 和被除数 p 构成最终的商和余数。
以下部分示例:
+
++0- ++
-------- ------
+0- )+0++0+ +- )+0+
-0+ -+
-------- ------
0+-+ 0++
-0+ -+
-------- ------
00-0 +-
000 -+
--------- ------
-0+ 0
+0-
--------- 0+与++相加,商得+--
0
平衡三进制计算的发展,可以说是意义的,但也可以说是没有意义的,它是一种先进的进制,但它确实难以实现,可按照前人的路走下去,用逆直流T/交流0/正直流1的三种逻辑门,然后用不同的电阻来存储信息,即ReRAM和忆阻器,大体上是可以实现它的底层,从而真正的弄出一台计算机出来。
其实,平衡三进制的特性更有着对抗的性质,就像两股力量的交锋,势均力敌是平衡,一方或另一方占上风则是T或1,就像天平的称有且三种结果:左倾(小于)、平衡(等于)、右倾(大于),以下神经信号为例:
静息状态是神经元的默认和准备状态,兴奋是神经元被激活并传递信息的动作,抑制是神经元被阻止或被阻碍传递信息的动作。
静息电位是一种蓄能状态,它就像拉满的弓,一旦接收到足够的刺激(达到阈值),神经元就能迅速爆发产生动作电位(Action Potential),将信息向下传递。
当神经元接收到兴奋性突触后电位 (EPSP),导致其膜电位去极化(变得更正,如从 升到 ),如果去极化达到阈值(Threshold),神经元会爆发性地产生一个动作电位(Action Potential)。这时,大量 通道打开, 大量涌入细胞,导致膜电位瞬间变为正值(约 )。兴奋信号沿轴突迅速传导,将信息传递给下一个神经元。
当神经元接收到抑制性突触后电位 (IPSP),导致其膜电位超极化(变得更负,如从 降到 ), 通常是 (氯离子)流入细胞,或者 流出增加,使得膜内负电性增强,使得膜电位离兴奋阈值更远,神经元更难被兴奋,相当于** “给刹车”或“静音” **,阻止或调节信息的传递。
用汽车来类比神经元的状态:静息(准备发车)、兴奋(油门)、抑制(刹车),一次动作信号的是否产生,车已发动未松离合,离合强度达到阈值油门踩死瞬间爆发,汽车一次冲刺(兴奋/动作电位)后,迅速松开油门并踩下刹车,最后重新挂回到停车档(静息)。也可以类比于一个充电的电容,在一定空间与时间下积累足够的阈值能量,有两种小人,一种会输入电荷,另一种会窃取电荷,一旦能量达到阈值瞬间爆发,发射一次强度固定的信号,显现出“全或无” (All-or-None) 的定律,给下一个神经传递信号。
以肌肉运动为指标,以“放松”(T)、“收缩”(1)、“维持”(0)的变化。
以股票收入为指标,以“买入”(T)、“卖出”(1)、“持有”(0)的变化。
以神经信号为指标,以准备(静息0)、激活(兴奋1)和平息(抑制T)的变化。
其中平衡的状态是短暂,但太多数都会自发的回到平衡状态0,然后根据输入切换状态,从而达到相应的效果。
参考资料:
平衡三进制 平衡三进制除法 A polar place value number system Hackaday 10th Anniversary: Non-Binary Computing
本文章使用limfx的vscode插件快速发布