如果我告訴你,數(shù)學家早就證明了三進制比二進制更高效,而且前蘇聯(lián)真的造出過三進制計算機,還穩(wěn)定運行了十五年,你會不會懷疑,我們今天用的電腦,從一開始就選錯了路?
![]()
三進制在數(shù)學上,確實贏了
我們?nèi)粘S玫氖鞘M制,逢十進一,每一位有0到9十種狀態(tài)。計算機用的二進制,逢二進一,每一位只有0和1兩種狀態(tài)。三進制,顧名思義,逢三進一,每一位有0、1、2三種狀態(tài)。
![]()
舉個例子,十進制的數(shù)字"5",在二進制里寫成101(一個4加一個1),在三進制里寫成12(一個3加一個2)。位數(shù)越少,表示同一個數(shù)就越"省"。
在講為什么"三進制比二進制高效"之前,我們還得先理解一個概念,叫"基數(shù)經(jīng)濟性"。簡單來講就是,你用某種進制來表示數(shù)字,總共需要消耗多少"資源"。這個資源等于位數(shù)乘以每一位的狀態(tài)數(shù)。
![]()
打個比方,你開了一家奶茶店,想在門口掛塊電子牌顯示"今日已售出多少杯",最大需要顯示到999。如果用二進制,你需要10個燈位,因為2的10次方等于1024剛好夠用,每個燈位有2種狀態(tài),總資源就是10×2=20。
如果用三進制,你只需要7個燈位,因為3的7次方等于2187綽綽有余,每個燈位有3種狀態(tài),總資源是7×3=21。這樣看是不是差不多嘛?
![]()
但你再往大了算,這個差距它就出來了。數(shù)學家們通過計算證明,最高效的進制基數(shù)恰好是自然常數(shù)“e”,約等于2.718。三是離它最近的整數(shù),二排第二。具體量化下來,三進制的基數(shù)經(jīng)濟性比二進制優(yōu)大約6%。
![]()
6%是什么概念?放到芯片行業(yè),這意味著同樣的硬件資源可以多存6%的信息。全球半導體產(chǎn)業(yè)每年砸進去數(shù)千億美元追逐性能提升,有時候工藝迭代一代也就提升百分之十幾。6%的結構性優(yōu)勢,足夠讓任何一個工程師團隊認真考慮了。
但現(xiàn)實是,沒有一家主流廠商選了三進制。這就怪了。
為啥不選擇多6%的三進制呢?
一個晶體管(所有數(shù)字電路的基本單元),本質(zhì)上是一個電控開關。給它一個電壓,它要么導通,要么截止。這兩種狀態(tài)之間的區(qū)分非常清晰,就像一扇門,推開就是開,合上就是關。你要讓它表示0和1,簡直天造地設。
![]()
那三進制呢?你需要讓同一個元件區(qū)分三種狀態(tài),比如0伏代表"0",2.5伏代表"1",5伏代表"2"。理論上沒問題。但電路中有一種東西叫噪聲,不是你耳朵聽到的那種,是電壓的隨機波動。溫度起伏、電磁干擾、元件老化,都會讓電壓發(fā)生漂移。一根線上標稱5伏,實際可能在4.7到5.3伏之間來回晃悠。這很正常。
二進制的世界里,你只需要區(qū)分"高"和"低"兩個電壓。假設總工作電壓是5伏,低于2伏算0,高于3伏算1,中間整整留了1伏的緩沖帶。這叫噪聲容限。就好比你在一條公路上只畫兩條行車道,中間是一個寬寬的綠化隔離帶,車稍微偏一偏方向盤,也完全不會跑到對面去。容錯率極高。
![]()
換成三進制,同樣5伏的范圍硬塞進三個狀態(tài),安全緩沖帶被極限壓縮。這就好比同一條馬路硬擠出三條窄車道,拆了隔離帶。車速一快,稍微偏一下就刮蹭。落實到電路上,就是信號動不動就認錯。本來該讀出"1",電壓飄了一下,系統(tǒng)就認成了"2"。
想把錯誤率壓回去?可以。上更精密的元器件,配更穩(wěn)定的電源,加裝更復雜的糾錯電路。但這一切都要燒錢。
為了摳那6%的數(shù)學效率,搭進去巨額的制造成本,到底圖什么?
![]()
早在50年代,IBM就內(nèi)部算過這筆賬,結論就倆字:血虧。從那以后,整個半導體行業(yè)就看明白了一件事:與其死磕三進制,費力去修補那些亂飄的電壓,不如直接趁著摩爾定律的東風,在芯片上多塞一倍的二進制晶體管。后者不僅造價便宜,迭代速度還快得多。
工程師當然懂數(shù)學,但他們更懂算賬。在真金白銀的工程制造面前,數(shù)學上的完美一文不值。
前蘇聯(lián)造出了三進制計算機,結果怎樣?
1958年,莫斯科大學的數(shù)學家尼古拉·布魯森佐夫帶著一個小團隊,造出了世界上第一臺三進制計算機"Сетунь",中文通常音譯為"謝頓",也叫Setun。它用的不是普通三進制,而是"平衡三進制",每一位的值是-1、0和+1。
![]()
這個設計有一個很漂亮的特點,就是處理負數(shù)完全不需要額外操作。二進制計算機要表示負數(shù),通常得用一位專門做符號位,或者用"補碼"這種對初學者相當不友好的編碼方式。平衡三進制天然支持正負,因為-1本身就是系統(tǒng)的一部分。對寫程序的人來說,這意味著代碼邏輯更直覺,不容易犯隱蔽錯誤。
Setun的性能參數(shù)放到今天當然不值一提——每秒大約4500次運算,內(nèi)存只有162個"三進制字"。但在同時代的蘇聯(lián)計算機里,它的可靠性出奇的好,功耗也更低。布魯森佐夫后來回憶說,Setun幾乎不需要維護。在那個動不動就要換電子管的年代,這簡直是異類。
![]()
蘇聯(lián)前后生產(chǎn)了大約50臺Setun,部署在高校和科研機構,一直運行到1970年代中期。它不是實驗室里的擺設,是真正投入了日常使用的機器。
然后呢?就沒有然后了。
布魯森佐夫設計了改進版Setun-70,但始終沒有得到工業(yè)部門的支持,也未能進入批量生產(chǎn)。原因不是技術,是生態(tài)。全世界的半導體工廠、編程語言、操作系統(tǒng)、開發(fā)工具,全部圍繞二進制建起來了。一臺三進制計算機,哪怕性能再好,也沒有成熟的軟件可以跑,沒有現(xiàn)成的芯片可以買,沒有足夠多的工程師會用。
![]()
就好比你發(fā)明了一種輪距與所有現(xiàn)有公路都不兼容的新型汽車,它確實省油15%,但所有的高速公路、停車場、加油站、修車行,全是按老輪距建的。你能怎么辦?全砸了再從頭建一套么?
在絕對的生態(tài)壁壘面前,技術優(yōu)勢一文不值。后來者想要掀桌子,光靠“省點油”、“好一點”根本沒戲,除非你好出一個時代。顯然,三進制的優(yōu)勢,連這個門檻的邊都沒摸到。
你的大腦,其實比你以為的更"二進制"
關于進制,一直有個流傳極廣的說法:“三進制更貼近人類的大腦”。
乍一聽很有道理。人做判斷的時候,很少是非黑即白的,我們還有"也許""不確定""看情況"這些。三進制的-1、0、+1,似乎完美對應了"否""不知道""是"。
但這個類比,其實搞混了兩層東西。
![]()
我們大腦的單個神經(jīng)元的工作方式,是非常標準的二進制。一個神經(jīng)元在收到足夠強的信號后,要么發(fā)放一個動作電位(一個持續(xù)約1毫秒的標準化電脈沖),要么不發(fā)放。沒有"發(fā)放半個"的中間狀態(tài)。這叫"全或無定律",19世紀70年代由生理學家鮑迪奇在研究心肌時首次描述,后來被推廣到神經(jīng)細胞,然后經(jīng)過了上百年的實驗反復驗證。
![]()
那人腦怎么處理"也許"這種模糊概念的?靠的不是單個神經(jīng)元有多少種狀態(tài),而是大約860億個神經(jīng)元的協(xié)同合作。大腦的"灰度"來自群體編碼——多大比例的神經(jīng)元在同時發(fā)放、發(fā)放頻率是多少、在多長的時間窗口內(nèi)發(fā)放。
就像體育場里觀眾拼字的場面。每個人手上只有一塊色板,翻或不翻,僅此兩種狀態(tài)。但幾萬人一起行動,就能拼出文字、國旗甚至動態(tài)圖案。大腦玩的就是這套把戲,用極其簡單的底層開關,加上極其海量的群體協(xié)作。
![]()
所以"三進制更貼近人腦"這個說法,是把你的思維體驗當成了大腦的底層運行機制。你感覺自己在做一個猶豫不決的模糊判斷,但你的神經(jīng)元在底層干的,是數(shù)以億計的"開/關"操作。
聽著像什么對吧?沒錯,這就是最原始的二進制。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.