第二十章 布爾運算

作者︰吾道長不孤投推薦票 章節目錄 加入書簽

「不對吧?」尤基皺著眉頭︰「師父,好像不是這樣的。在棋牌類游戲里面……還有,還有駕駛里面,電腦比生物腦厲害多了。」

向山點了點頭︰「沒錯,但是一個下棋厲害的計算機,也只能下棋。它永遠不會懂‘為什麼要下棋’這件事,甚至不一定知道自己在「下棋」。如果它的造物主不做出指示,那麼它一輩子也別想再去做第二件事。」

這應該是……是很久很久之前的事情了?向山覺得,這可能是自己出生之前就發生了的歷史。那個時候,有一位指揮家。他是一位21-三體綜合征患者——所謂的「先天愚型兒」。或許他僅僅是因為出生在音樂世家,所以將「模仿指揮動作」當成一種游戲,但他確實以「指揮者」的身份登上了舞台。那麼他的大腦之中是否存在「音樂」呢?

或許確實,這個可憐人心中確實知曉什麼是音樂的吧。

但在「音樂」之外的事情,他就不怎麼能夠理解了。

而計算機內孕育的智能,比這個更加極端。畢竟,即使是先天愚型兒,也知道餓了、渴了。身體不舒服會哭。但哪怕棋力足以碾壓棋聖的AI,也不會產生「我還需要電源」或者「我就是想要更多計算資源」的想法。

「實際上,計算機所能做的事情,從來沒有超出人腦的部分。紙筆運算……見鬼,你好像不知道什麼是‘紙’。」向山搖了搖頭,隨手抄起一根鐵,在地上寫出q and p。

兩個值,1或0,TRUE或者FALSE。

二生三,三生萬物。

計算機的一切都是從這里出來的。

「我現在要教你的東西,叫做‘布爾運算’。」向山如此說道︰「人類用一根鐵,就可以在地上完成布爾運算,從而模擬計算機的任何程序——不,這里應該反過來。計算機不過是代替了人的手,在地上寫布爾運算的式子。它們只不過是比人類手寫更快、更快。僅此而已。」

「這個運算的方式,誕生自偉大的喬治‧布爾。在喬治‧布爾之前,萊布尼茨和巴貝奇也在做同樣的事情——他們嘗試用機器進行計算。巴貝奇或許一度接近這個境界,但是終歸是沒有達到。而布爾和所有的前人都不一樣。就好像艾薩克‧牛頓試圖在時間與空間的維度中描述物質運動的軌跡一樣,布爾在嘗試描述精神運動的軌跡。這是開天闢地的成就。當然,布爾算法和真正的人類思維的差距,就好像牛頓力學和真實世界的差距一樣。但是,這已經是起步了。」

「在布爾之後,人們意識到,齒輪與杠桿可以執行計算、神經網絡可以執行計算、不斷開合的電路可以執行計算,就算是一堆化學設備,也一樣可以執行計算——布爾算法,就將人類思維的一角,拆解成了機器可以理解的東西。」

人類用電路模擬神經網絡、執行布爾計算的歷史,甚至比馮諾依曼架構更早——早在1943年,神經生物學家沃倫‧麥卡沃克和數學家沃爾特‧皮茨就制造了第一個可以執行布爾計算的人工神經網絡。

而在布爾的時代之前,還有一個發明家,叫做約瑟夫‧雅卡爾。他發明了一種全新的織布機。這種織布機可以用打孔的卡片操縱機器上的針線,編織經緯。相似的東西,歷史上獨立出現過很多次。這種「打孔卡片」甚至可以追溯到中國的東漢時期。

這就是圖靈機「打孔紙帶」的祖先,是只有若干個字節的、最原始的存儲器,是機器們最早的「記憶」。

而希爾伯特為了研究純粹數學而提出的計劃,催動了圖靈機的誕生。

最後,這些結果,最終匯聚到另一個叫做馮‧諾依曼的人手中。

于此,人類歷史上前所未有的工具誕生了。人類的社會、生活乃至政治、軍事都為之改變。

「但是,工具總歸是工具。」向山如此告誡自己的弟子︰「它的本質,仍舊是創造了幾千、幾萬條手臂,為你來執行布爾運算。計算機能夠做到的,你自己用布爾運算能夠做到的,只不過計算機更快——當然,這種‘快’已經達到了本質上的改變。」

「對于一般的使用者來說,你只需要將任務交給這‘若干的手臂’,就可以等待結果了。但這樣是練不成內功的。內功有成者,就等若是能最大限度發揮這無數臂膀的力量,甚至將意志傳遞到這些手之間。」

「所以,你必須從布爾運算開始學習。」

在內功的領域,數學是「道」,而布爾運算就是「一」。

道生一,一生二,二生三,三生萬物。

布爾算法本身不復雜,只是邏輯學的一些延伸。高中程度的數學差不多就夠學個入門了。

剩下的,就是大量練習了。

向山花了點時間,向尤基講述這些問題的精要所在,然後在腦子里直接編寫了一個習題冊,點對點傳輸到尤基的腦芯片里。

尤基離開房間的步伐非常沉重。

向山滿意的點了點頭。他心里有種感覺——這種事情他早就想做一次看看了。

不知道為什麼,可能是過去的經歷對他造成的影響?

反正他還蠻高興的。

………………………………………………………………………………

尤基終于做完了習題,回到了自己的房間。

然後他發現,房間里面的氣氛完全變了。

向山閉著眼楮,如同冥想一般對著那台終端。終端的屏幕之上,無數的符號刷新一般出現又消失。更多的代碼覆蓋在代碼之上。

而與那終端相連的犬型義體,則在做著各種動作。

向山在參悟每一行代碼的意義,然後用自己的代碼替換原本的代碼。

他要嘗試掌握這種不曾見過的組件。

「尤基,習題已經做完了麼。」向山依舊保持原本的姿勢︰「你的腦部芯片是可以隨時取下的類型嗎?現在方不方便給我一片看看?」

尤基點了點頭︰「可以是可以……」

他低下頭,後側的顱骨打開。隨後,一塊備用芯片彈了出來。

義體的驅動芯片永遠都有兩塊或以上。當其中一塊出了BUG崩潰之後,另一塊就會瞬間接管身體,同時,出BUG的那一塊就會快速Watchdog,重新啟用。

和向山那種一體式的顱骨有所不同。尤基這種現代式的人工顱骨開啟本來就很方便。

尤基將自己的備用芯片遞給向山︰「師父,你這是干什麼?」

「很快就弄好了。弄好了再說給你听」向山搖了搖頭。最開始沒有注意到這一點,確實是他太大意了。這個時代,上位者對弱者的生殺予奪,比他想象中還有嚴重。他當初只是發現舒爾茨醫生請自己上網,所以就天真的斷定絕大多數賽博義體都沒有時刻連接網絡。

在收尤基為弟子的時候,他只想著避開了村里的監控路線。

但之前鎮長的話卻提醒了他。

不管社會是怎樣的,永遠不要小視暴政者對人的掠奪。

實際上,應該還存在一個普通人並不知道、或者根本無法使用的頻段。在這個非民用的頻段上,所有的義體都是連著網絡的——只是那些義體的使用者並不知道。

唯一值得慶幸的是,現在的那些「真正統治集團」,似乎人手不足,或者有其他客觀上的困難,沒有時時刻刻的監視著每一個人。

——嘖……過去應該還沒有這個嚴重。

——但是,這個極端狀態,我應該是設想過的。

「練武不練功,到頭一場空」。內功設計之初,就包含了對抗這種狀態的想法。

因此,在給自己恢復了些許內功之後,向山就給尤基搭建抵御外邪的力量,清除芯片之中的後門。

很快,向山就將芯片整個檢索了一遍。果然不出他所料,這個玩意里面,確實存在幾個他沒有見過的協議,指向了某些具備信號發射機能的端口。

這個端口是用短波通信,信號較為微弱,數據傳輸能力有限,估計也就只能上傳低質量的音頻或者圖像。

但這就意味著,統治者確實可以在任何時候,對任何個人進行窺探。

「很好,至少值得慶幸的是,這個時代並不存在軍隊和警察,領主自由裁量權太大……他們最多只能意識到,我可能是個俠客。」

向山很快就在尤基的芯片里面寫入了防火牆,使它拒絕那個特定端口的遠程訪問,並發送偽造的圖像。然後他抹去了另外幾個協議。

當然,在做這些事之前,他先做好了備份。

向山將芯片還給尤基,道︰「自己試一試,有什麼不對的地方跟我說。如果沒問題的話,等會再幫我一個忙。」

向山自己現在驅使義體,是靠鎮長贈送的那一枚廉價芯片。而那一枚驅動芯片里,同樣有可能存在後門。向山的人工顱骨不像尤基這樣可以自由開合。如果沒有特殊的工具,他就必須得靠別人幫忙,才能將插進去的芯片取出來。

這就相當于將自己的大腦暴露給其他人。向山必須有一個可以信任的助手,才敢做這種事。

另外,他也必須杜絕「進行到一半的時候,助手被人遠程腦控,手指一個哆嗦戳進自己腦子」的狀況。因此他才優先給尤基準備了「灌頂」。

尤基一面將自己的數學作業傳輸給向山檢查,一面按照向山的吩咐,跑跑跳跳,測試一下驅動芯片是否有BUG。

人類在很早的時候就學會了「不要追求沒有BUG的編程」這件事,只要程序能跑起來,存在BUG也無所謂。

高級語言按照「類型論」的分法,大致可以分為「類型不安全語言」「類型安全語言」與「強規範化語言」。強規範化語言倒是可以保證「不會出錯」,這類語言對于任何程序都能給出唯一結果並且停機,絕對不會陷入死循環。但也正因為強規範化語言舍棄了「循環」的概念,失去了圖靈完備,所以任何錯誤系統根本不予識別不準運行。

簡單來說,強規範化語言就是「程序跑起來就絕對不會出錯,里面但凡有一丟丟錯誤就跑不起來」的狀況。

而俠客們,則偏向于使用「類型不安全語言」。這種語言的使用者,日常就處于「我的寫的代碼不能跑了?這是為什麼?我寫的代碼能夠跑了?這是為什麼?」的疑惑當中。這種語言很容易就產生「無法預料的錯誤」——這種「無法預料」可以說是數學本身注定的,在程序跑起來之前,就連編寫者本身也無法預測。

當然,這種「難以理解」,對敵人來說也是一樣的。

向山寧可麻煩一點,在寫任何程序之前都做好幾次測試,也要選擇「類型不安全語言」。

但向山的水平似乎真的還可以。尤基的驅動芯片依舊可以正常的駕馭義體。

溫馨提示︰方向鍵左右(← →)前後翻頁,上下(↑ ↓)上下滾用, 回車鍵:返回列表

投推薦票 上一章章節目錄下一章 加入書簽