先前筆者在介紹电脑臭蟲(Bug)的文章中,提到 Google 计算机服務也存在不少程式臭蟲。经過分析演算後,該臭蟲的存在可以具体定義为「333 333 333 333 335」。
所謂臭蟲指的是潛藏在电脑代码裡头的错误存在,定義是:「程式错误(英语:Bug),在程式设计中的术语,是指在软件运行中因为程式本身有错误而造成的功能不正常、死机、数据丟失、非正常中斷等现象。」。
筆者在 Google 搜尋頁面裡,藉由中值分析的逐一推算,將「333333333333335–333333333333333 = 2」 这组神奇数字給找出来。这组看似毫無異狀的算式,如果进一步演算,就会发现「333333333333335 - 333333333333334」这则簡单的数学运算,只要有眼睛的人一看,都能馬上知道正确答案会是 1,但是 Google 计算出的答案卻偏偏是 0。
如果改用微軟 Windows XP 內附的小算盤进行计算,就能得到正确解答为「1」。即便繼續將数值提高到小算盤的最大数值:「99999999999999999999999999999999 - 99999999999999999999999999999998」,依然可以计算出正确解答为「1」。
筆者私下歸納出一个結论:「Google 服务器的程式设计,比不上一个微軟小算盤」。(笑)
起碼筆者从这个臭蟲沒看見 Google 想要修正错误的決心,这个臭蟲似乎在 Google 服务器裡头一待就是数年之久。
接著,我们用大量数值代入计算,对 Google 计算机进行反应分析,看看最後是否能由关聯性中,尋找到臭蟲的一点蛛絲馬跡。
- 「399999999999995–399999999999994 = 0」
- 「1000000000000005–1000000000000002 = 0」
- 「1333333333333335–1333333333333334 = 0」
- 「2000000000000009–2000000000000003 = 0」
- 「3000000000000009–3000000000000001 = 0」
- 「9999999999999999999999999999999–9999999999999969799548763635712 = 0」
由上面所列各項数据列可以看出當计算数值越大,运算误差越大,顯見 Google 计算机发生运算错误的情況,並非只有单純的「333333333333335 - 333333333333335 = 0」,或是「N-(N-1)=0」(设 N 为大於「333333333333335」之数的代数符號)等情況。
同时,透過单一的減法运算,也说明了这隻臭蟲不是邏辑上的设计错误(例如先加減後乘除的順序問题),至於筆者认为的可能原因会在下面文章再做細節说明。
雖然 Google 的臭蟲看似只是个小問题,但是只要机率有存在性,依然可能引发極为嚴重,甚至牽扯到生命安全的事件,而且比起蝴蝶效应来得更加直接。
下面举幾个虛擬的情境实施例让大家看看,为何筆者会认为 Google 的这隻计算机臭蟲非常危险。

一位正在某国尖端实验室进行研究的天才科学家,由於常用的工程计算机的电池恰巧耗盡,他的电脑又恰巧开著网络瀏览器,网络瀏览器的頁面恰巧是 Google 首頁,这位天才科学家恰巧用過 Google 计算机运算過一些数学式。
於是,这位天才科学家一时懶得去买电池,便順手用 Google 计算机进行一系列的长运算。
可是天才科学家不曉得筆者今天介紹的这隻 Google Bug,當运算完畢後,由最先的只差 1,到最後卻让核能电廠的臨界值被高估了一倍。而後面引用該数据的工程师恰巧又未加以反覆验证,便順手將核电廠蓋好。接著,脑殘的政府高層人士到了核电廠前开开心心的剪綵,風光一时,受到百姓爱戴。
只可惜,在核电廠剛啟用沒多久,便因为核反应超出臨界值,发生一场極为嚴重的爆炸,於是高層人士帶著妻小搭上专机尋求国外庇护,百姓们把碘片當糖果吞,开始一场好萊塢式的小人物末日狂想曲(好像有点偏激)。
第二个虛擬情境例。
雖然太平洋上北方的某一个小島国已经毀滅,让全世界新聞社瘋狂报导並且荷包賺飽飽,但是天才科学家還是沒发现是因为自己遇到 Google Bug 导致的计算错误造成的。
某一天,天才科学家(对,還是同一位)接到军隊方面的請託,设计一款 M2000GX 高能量长射程光束砲的路徑修正程式。这位科学家恰巧還沒去买工程计算机的电池,恰巧科学家的首頁设定自从安裝 Chrome 而被強迫设定後,一直都是 Google 搜尋頁面,而科学家恰巧又需要计算一个数学式,於是乎,科学家又用了 Google 计算机进行运算。
你知道电影都是如何演的,军方工程师在这时候一定又恰巧沒有进行验证,便順利的將 M2000GX 高能量长射程光束砲进行生产製造。不過这次沒有高層人士想承认自己的国家做了这根砲管,所以沒有安排剪綵活动。
自从該根经由天才科学家加持的光束砲孵出来後,一直安穩的躺在某个沙漠秘密基地裡,据傳聞旁邊還有幾座魔山,常常有学生或军隊在山裡神秘失蹤。
在又某一天,U 国終於对 A 国政府的邪惡暴行無法再加以忍受(其实是 A 国反抗军已经沒钱再跟 U 国买武器)。於是 U 国決定是时候啟动光速炮完全殲滅該地区,以維护該全球的和平,实现世界警察的正義。

只可惜,當光束炮发射出去後不久,便因为瞄准目标用的路徑修正程式的计算错误(对,恰巧就是天才科学家加持過的路徑修正),由最初的只差 1,到最後导致原本該往南修正的高能光速,卻朝相反方向前进,並恰巧在 R 国本土掉了下来,轟隆一声。
受到 U 国武力攻擊的 R 国也不是吃素的,理所當然不能就这样吞下这口气,於是 R 国當局決定立刻予以反擊,不僅將原本收了钱,已运往 A 国的武器全部強制招回外,還啟动境內全部武器,朝 ApU 国本土一齊发射,冀求迅速用最強大武力,一次完全毀滅 U 国的反擊能力。
但是 U 国的空中预警系统早就秘密的佈局全球,R 国當然不曉得,於是在全球鵰的偵测下,U 国已经发现 R 国的反擊行动,於是 U 国亦決定同步实施全武器反擊。
接著,下一幕就是所有原始目标被完美的擊中,而在国際太空站的太空人们在宇宙中,親眼目睹地球上最美麗的一刻。
就在天才科学家還在納悶,为何光束炮会射徧的同时,天才科学家已经与地球一同就被炸成兩半,全人类宣告滅亡。(好像更偏激了)。
Google 计算机的臭蟲問题,反映出即便是身为 Google 的程式设计團隊,擁有全球最高学历与最高智商的菁英聚合体,依舊無法跳脫最基本人性错误的一个事实:「只要是人为设计,必定存在缺陷。」这也难怪魔鬼阿諾的老大「天网」能夠毀滅人类(喂)。

好了,既然地球已经都被那位天才科学家毀滅了(兩次),我们再来談談 Google 为何至今仍不解決这隻臭蟲問题。
筆者个人认为(先声明,我不会寫程式,也沒有进行任何調查研究,純粹憑邏辑推测)其中的原因之一或在於,Google 设计的資料庫系统及其中收錄以天文数字计的数据資料,採用一種特殊格式加以儲存,而搜尋框用来擷取字串也是使用相同的格式,这样的对等式设计可以達到高处理效率的优点,但是最初的程式设计师卻忽略「333333333333335」或「N」等数值在被擷取並轉換後,会造成格式上的溢位或是不足等問题,进而形成计算上的错误結果;也因此,Google 之所以不修正错误,便是因为这將是牽动到整个資料庫轉換的超大工程,所以他们寧可無視这隻只有在附加功能上出现的臭蟲。
又或者,Google 覺得这样很有趣(請看前揭情境一或二)。
以实际行动支持独立观点,与我们一同走得更远
每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。
维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。
由 Google 安全处理付款 · 可随时在 Google 账户管理或取消




留言板