平衡三进制系统

介绍

平衡三进制系统 (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

-

德·摩根定律

平衡三进制的四个基础逻辑门真值表是对称的,你可以通过如下图所示的对输入取反(垂直箭头)或对输出取反(水平箭头)来转换它们。 平衡三进制摩根定律
注释

  1. 你可以在任意基础逻辑门之间彼此转换,至多需要同时对输入及输出取反。

  2. 你可以通过对输出取反,在或门/或非门之间进行转换,这对与门/与非门同样成立。也可以通过对输入取反,在或非门/与门之间进行转换,这对或门/与非门同样成立。

  3. 对输出取反,会将真值表的每一位 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插件快速发布