首頁 科幻

賽博英雄傳

第二十章 布爾運(yùn)算

賽博英雄傳 吾道長(zhǎng)不孤 3634 2020-02-20 11:47:37

  “不對(duì)吧?”尤基皺著眉頭:“師父,好像不是這樣的。在棋牌類游戲里面……還有,還有駕駛里面,電腦比生物腦厲害多了?!?p>  向山點(diǎn)了點(diǎn)頭:“沒錯(cuò),但是一個(gè)下棋厲害的計(jì)算機(jī),也只能下棋。它永遠(yuǎn)不會(huì)懂‘為什么要下棋’這件事,甚至不一定知道自己在“下棋”。如果它的造物主不做出指示,那么它一輩子也別想再去做第二件事?!?p>  這應(yīng)該是……是很久很久之前的事情了?向山覺得,這可能是自己出生之前就發(fā)生了的歷史。那個(gè)時(shí)候,有一位指揮家。他是一位21-三體綜合征患者——所謂的“先天愚型兒”?;蛟S他僅僅是因?yàn)槌錾谝魳肥兰?,所以將“模仿指揮動(dòng)作”當(dāng)成一種游戲,但他確實(shí)以“指揮者”的身份登上了舞臺(tái)。那么他的大腦之中是否存在“音樂”呢?

  或許確實(shí),這個(gè)可憐人心中確實(shí)知曉什么是音樂的吧。

  但在“音樂”之外的事情,他就不怎么能夠理解了。

  而計(jì)算機(jī)內(nèi)孕育的智能,比這個(gè)更加極端。畢竟,即使是先天愚型兒,也知道餓了、渴了。身體不舒服會(huì)哭。但哪怕棋力足以碾壓棋圣的AI,也不會(huì)產(chǎn)生“我還需要電源”或者“我就是想要更多計(jì)算資源”的想法。

  “實(shí)際上,計(jì)算機(jī)所能做的事情,從來沒有超出人腦的部分。紙筆運(yùn)算……見鬼,你好像不知道什么是‘紙’?!毕蛏綋u了搖頭,隨手抄起一根鐵杄,在地上寫出q and p。

  兩個(gè)值,1或0,TRUE或者FALSE。

  二生三,三生萬物。

  計(jì)算機(jī)的一切都是從這里出來的。

  “我現(xiàn)在要教你的東西,叫做‘布爾運(yùn)算’?!毕蛏饺绱苏f道:“人類用一根鐵杄,就可以在地上完成布爾運(yùn)算,從而模擬計(jì)算機(jī)的任何程序——不,這里應(yīng)該反過來。計(jì)算機(jī)不過是代替了人的手,在地上寫布爾運(yùn)算的式子。它們只不過是比人類手寫更快、更快。僅此而已?!?p>  “這個(gè)運(yùn)算的方式,誕生自偉大的喬治·布爾。在喬治·布爾之前,萊布尼茨和巴貝奇也在做同樣的事情——他們嘗試用機(jī)器進(jìn)行計(jì)算。巴貝奇或許一度接近這個(gè)境界,但是終歸是沒有達(dá)到。而布爾和所有的前人都不一樣。就好像艾薩克·牛頓試圖在時(shí)間與空間的維度中描述物質(zhì)運(yùn)動(dòng)的軌跡一樣,布爾在嘗試描述精神運(yùn)動(dòng)的軌跡。這是開天辟地的成就。當(dāng)然,布爾算法和真正的人類思維的差距,就好像牛頓力學(xué)和真實(shí)世界的差距一樣。但是,這已經(jīng)是起步了?!?p>  “在布爾之后,人們意識(shí)到,齒輪與杠桿可以執(zhí)行計(jì)算、神經(jīng)網(wǎng)絡(luò)可以執(zhí)行計(jì)算、不斷開合的電路可以執(zhí)行計(jì)算,就算是一堆化學(xué)設(shè)備,也一樣可以執(zhí)行計(jì)算——布爾算法,就將人類思維的一角,拆解成了機(jī)器可以理解的東西。”

  人類用電路模擬神經(jīng)網(wǎng)絡(luò)、執(zhí)行布爾計(jì)算的歷史,甚至比馮諾依曼架構(gòu)更早——早在1943年,神經(jīng)生物學(xué)家沃倫·麥卡沃克和數(shù)學(xué)家沃爾特·皮茨就制造了第一個(gè)可以執(zhí)行布爾計(jì)算的人工神經(jīng)網(wǎng)絡(luò)。

  而在布爾的時(shí)代之前,還有一個(gè)發(fā)明家,叫做約瑟夫·雅卡爾。他發(fā)明了一種全新的織布機(jī)。這種織布機(jī)可以用打孔的卡片操縱機(jī)器上的針線,編織經(jīng)緯。相似的東西,歷史上獨(dú)立出現(xiàn)過很多次。這種“打孔卡片”甚至可以追溯到中國(guó)的東漢時(shí)期。

  這就是圖靈機(jī)“打孔紙帶”的祖先,是只有若干個(gè)字節(jié)的、最原始的存儲(chǔ)器,是機(jī)器們最早的“記憶”。

  而希爾伯特為了研究純粹數(shù)學(xué)而提出的計(jì)劃,催動(dòng)了圖靈機(jī)的誕生。

  最后,這些結(jié)果,最終匯聚到另一個(gè)叫做馮·諾依曼的人手中。

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

  “但是,工具總歸是工具?!毕蛏饺绱烁嬲]自己的弟子:“它的本質(zhì),仍舊是創(chuàng)造了幾千、幾萬條手臂,為你來執(zhí)行布爾運(yùn)算。計(jì)算機(jī)能夠做到的,你自己用布爾運(yùn)算能夠做到的,只不過計(jì)算機(jī)更快——當(dāng)然,這種‘快’已經(jīng)達(dá)到了本質(zhì)上的改變?!?p>  “對(duì)于一般的使用者來說,你只需要將任務(wù)交給這‘若干的手臂’,就可以等待結(jié)果了。但這樣是練不成內(nèi)功的。內(nèi)功有成者,就等若是能最大限度發(fā)揮這無數(shù)臂膀的力量,甚至將意志傳遞到這些手之間?!?p>  “所以,你必須從布爾運(yùn)算開始學(xué)習(xí)?!?p>  在內(nèi)功的領(lǐng)域,數(shù)學(xué)是“道”,而布爾運(yùn)算就是“一”。

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

  布爾算法本身不復(fù)雜,只是邏輯學(xué)的一些延伸。高中程度的數(shù)學(xué)差不多就夠?qū)W個(gè)入門了。

  剩下的,就是大量練習(xí)了。

  向山花了點(diǎn)時(shí)間,向尤基講述這些問題的精要所在,然后在腦子里直接編寫了一個(gè)習(xí)題冊(cè),點(diǎn)對(duì)點(diǎn)傳輸?shù)接然哪X芯片里。

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

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

  不知道為什么,可能是過去的經(jīng)歷對(duì)他造成的影響?

  反正他還蠻高興的。

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

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

  然后他發(fā)現(xiàn),房間里面的氣氛完全變了。

  向山閉著眼睛,如同冥想一般對(duì)著那臺(tái)終端。終端的屏幕之上,無數(shù)的符號(hào)刷新一般出現(xiàn)又消失。更多的代碼覆蓋在代碼之上。

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

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

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

  “尤基,習(xí)題已經(jīng)做完了么?!毕蛏揭琅f保持原本的姿勢(shì):“你的腦部芯片是可以隨時(shí)取下的類型嗎?現(xiàn)在方不方便給我一片看看?”

  尤基點(diǎn)了點(diǎn)頭:“可以是可以……”

  他低下頭,后側(cè)的顱骨打開。隨后,一塊備用芯片彈了出來。

  義體的驅(qū)動(dòng)芯片永遠(yuǎn)都有兩塊或以上。當(dāng)其中一塊出了BUG崩潰之后,另一塊就會(huì)瞬間接管身體,同時(shí),出BUG的那一塊就會(huì)快速Watchdog,重新啟用。

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

  尤基將自己的備用芯片遞給向山:“師父,你這是干什么?”

  “很快就弄好了。弄好了再說給你聽”向山搖了搖頭。最開始沒有注意到這一點(diǎn),確實(shí)是他太大意了。這個(gè)時(shí)代,上位者對(duì)弱者的生殺予奪,比他想象中還有嚴(yán)重。他當(dāng)初只是發(fā)現(xiàn)舒爾茨醫(yī)生請(qǐng)自己上網(wǎng),所以就天真的斷定絕大多數(shù)賽博義體都沒有時(shí)刻連接網(wǎng)絡(luò)。

  在收尤基為弟子的時(shí)候,他只想著避開了村里的監(jiān)控路線。

  但之前鎮(zhèn)長(zhǎng)的話卻提醒了他。

  不管社會(huì)是怎樣的,永遠(yuǎn)不要小視暴政者對(duì)人的掠奪。

  實(shí)際上,應(yīng)該還存在一個(gè)普通人并不知道、或者根本無法使用的頻段。在這個(gè)非民用的頻段上,所有的義體都是連著網(wǎng)絡(luò)的——只是那些義體的使用者并不知道。

  唯一值得慶幸的是,現(xiàn)在的那些“真正統(tǒng)治集團(tuán)”,似乎人手不足,或者有其他客觀上的困難,沒有時(shí)時(shí)刻刻的監(jiān)視著每一個(gè)人。

  ——嘖……過去應(yīng)該還沒有這個(gè)嚴(yán)重。

  ——但是,這個(gè)極端狀態(tài),我應(yīng)該是設(shè)想過的。

  “練武不練功,到頭一場(chǎng)空”。內(nèi)功設(shè)計(jì)之初,就包含了對(duì)抗這種狀態(tài)的想法。

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

  很快,向山就將芯片整個(gè)檢索了一遍。果然不出他所料,這個(gè)玩意里面,確實(shí)存在幾個(gè)他沒有見過的協(xié)議,指向了某些具備信號(hào)發(fā)射機(jī)能的端口。

  這個(gè)端口是用短波通信,信號(hào)較為微弱,數(shù)據(jù)傳輸能力有限,估計(jì)也就只能上傳低質(zhì)量的音頻或者圖像。

  但這就意味著,統(tǒng)治者確實(shí)可以在任何時(shí)候,對(duì)任何個(gè)人進(jìn)行窺探。

  “很好,至少值得慶幸的是,這個(gè)時(shí)代并不存在軍隊(duì)和警察,領(lǐng)主自由裁量權(quán)太大……他們最多只能意識(shí)到,我可能是個(gè)俠客?!?p>  向山很快就在尤基的芯片里面寫入了防火墻,使它拒絕那個(gè)特定端口的遠(yuǎn)程訪問,并發(fā)送偽造的圖像。然后他抹去了另外幾個(gè)協(xié)議。

  當(dāng)然,在做這些事之前,他先做好了備份。

  向山將芯片還給尤基,道:“自己試一試,有什么不對(duì)的地方跟我說。如果沒問題的話,等會(huì)再幫我一個(gè)忙?!?p>  向山自己現(xiàn)在驅(qū)使義體,是靠鎮(zhèn)長(zhǎng)贈(zèng)送的那一枚廉價(jià)芯片。而那一枚驅(qū)動(dòng)芯片里,同樣有可能存在后門。向山的人工顱骨不像尤基這樣可以自由開合。如果沒有特殊的工具,他就必須得靠別人幫忙,才能將插進(jìn)去的芯片取出來。

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

  另外,他也必須杜絕“進(jìn)行到一半的時(shí)候,助手被人遠(yuǎn)程腦控,手指一個(gè)哆嗦戳進(jìn)自己腦子”的狀況。因此他才優(yōu)先給尤基準(zhǔn)備了“灌頂”。

  尤基一面將自己的數(shù)學(xué)作業(yè)傳輸給向山檢查,一面按照向山的吩咐,跑跑跳跳,測(cè)試一下驅(qū)動(dòng)芯片是否有BUG。

  人類在很早的時(shí)候就學(xué)會(huì)了“不要追求沒有BUG的編程”這件事,只要程序能跑起來,存在BUG也無所謂。

  高級(jí)語言按照“類型論”的分法,大致可以分為“類型不安全語言”“類型安全語言”與“強(qiáng)規(guī)范化語言”。強(qiáng)規(guī)范化語言倒是可以保證“不會(huì)出錯(cuò)”,這類語言對(duì)于任何程序都能給出唯一結(jié)果并且停機(jī),絕對(duì)不會(huì)陷入死循環(huán)。但也正因?yàn)閺?qiáng)規(guī)范化語言舍棄了“循環(huán)”的概念,失去了圖靈完備,所以任何錯(cuò)誤系統(tǒng)根本不予識(shí)別不準(zhǔn)運(yùn)行。

  簡(jiǎn)單來說,強(qiáng)規(guī)范化語言就是“程序跑起來就絕對(duì)不會(huì)出錯(cuò),里面但凡有一丟丟錯(cuò)誤就跑不起來”的狀況。

  而俠客們,則偏向于使用“類型不安全語言”。這種語言的使用者,日常就處于“我寫的代碼不能跑了?這是為什么?我寫的代碼能夠跑了?這是為什么?”的疑惑當(dāng)中。這種語言很容易就產(chǎn)生“無法預(yù)料的錯(cuò)誤”——這種“無法預(yù)料”可以說是數(shù)學(xué)本身注定的,在程序跑起來之前,就連編寫者本身也無法預(yù)測(cè)。

  當(dāng)然,這種“難以理解”,對(duì)敵人來說也是一樣的。

  向山寧可麻煩一點(diǎn),在寫任何程序之前都做好幾次測(cè)試,也要選擇“類型不安全語言”。

  但向山的水平似乎真的還可以。尤基的驅(qū)動(dòng)芯片依舊可以正常的駕馭義體。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南