註冊 | 登入 | RSS Feeds
ZDNet | Taiwan.CNET.com |

廣告:
Google計算機會算錯答案
友善列印 | 轉寄朋友 | 加入HEMiDEMi網路書籤 | 加入funP | 加入Google書籤 | 加入Yahoo!奇摩分享書籤 | 8則回應
    
ZDNet新聞專區:Stephen Shankland 2008/08/26 13:16:02

Google的計算機在處理大數字時竟然會算錯。這個問題在電腦界並非前所未聞,但對於一家以巨大無比的數字為名,且宅人群聚的公司而言,連算數都會錯實在很糗。

錯誤通常是發生在非常大的數字,如2,999,999,999,999,999減2,999,999,999,999,998應該等於1,但Google計算機卻顯示答案為0。

算錯的狀況並非一致。1,999,999,999,999,999減1,999,999,999,999,995,答案是錯誤的0,但1,999,999,999,999,999減1,999,999,999,999,993可正確得出6。而400,000,000,000,002減400,000,000,000,001又得出錯誤的0,但400,000,000,000,002減400,000,000,000,000卻是正確答案2。

幸災樂禍者最覺得好笑的地方,是用Google這個名稱的加減算數,得到的結果也是錯的。英文字googol的原意代表1後面加上100個零。一個googol加1再減一個googol,正確答案是1,Google計算機的解答是錯誤的0。

事實上,大數字的算術的確很難,當中涉及特別的數字加密方法,才能得到絕對準確的答案。所幸,一般的計算機製造商不會碰到這些問題,因為如此大的計算通常只用在天文學計算星體的距離;太過細微的結果,在現實世界中其實沒什麼意義。

大數字的表現方式通常是兩段的小數點格式,部分小數字(假數)乘以10的若干次方(指數)。舉例來說,Google第二季的營收為12.5億美元,或1,250,000,000美元,或1.25美元乘以10的9次方,或$1.25 x 10^9。小數點算術很適用於非常大的數字,但通常假數部分只保留一定數位,其他部分則忽略。

電腦的數學是二進位,只有0或1,人腦則是十進位,數字從0到9。當電腦將數字轉換成二進位計算,再把結果轉回人們習慣的十進位,準確度的確可能出問題。事實上,即使運算技術已經發展數十年,在最新的旗艦Power6處理器推出之前,連IBM都無法讓電腦實際執行十進位計算。

一般的計算機根本無法處理太大的數字。當然,Google或許出糗了,但大部分的手持計算機根本不會讓你輸入1,999,999,999,999,993這種數字,更別說計算了。而Wolfram Research Mathematica這種可以精準計算的專業軟體,市場也不大。

如果Google必須主動偵測大數字的計算,再將工作送到設有更先進預算規則的伺服器執行,可能會明顯降低計算機功能的速度。而Google把重點放在伺服器回應是正確的,因為搜尋引擎越快,使用者搜尋的越多。但這個問題是Google核心文化與形象的一部份,Google的算數出錯,就好比政客身上披了一面圖案有錯的國旗。

畢竟,這是一家用數學難題測試應徵者,並將初次公開發行股票的籌資金額訂在2,718,281,828美元(代表自然對數底數"e,")的公司。Google可以修改運算公式,就像微軟最近處理Excel的數學問題,和英特爾在1990年代(付出昂貴代價)解決影響Pentium處理器的FDIV問題一樣。

Google的計算機還有其他錯誤。如2.00135558564^1023被解釋為1.79769313 x 10^308。但把這個數字稍微加一點到2.00135558565^1023,Google會把它視為一個搜尋請求,而非數學問題。

記者認為,在最後一個例子,Google選擇不算出答案,而是顯示搜尋結果,這種不會誤導任何人的方法,就是所謂優雅的失敗模式。沒有答案總勝過錯誤的答案。尤其是真正使用計算機功能的人,是那些根本不會發現有錯的人。(陳智文譯)

加入我的圖書館 訂閱關鍵字
加入網路書籤> 加入HEMiDEMi網路書籤 | 加入funP | 加入Google書籤 | 加入Yahoo!奇摩分享書籤 |
友善列印 | 轉寄朋友



  • 8.匿名 於 2008/08/28 11:13 回應
    windows 內建的小算盤也算得出正確的答案ㄝ...XD
  • 7.ts 於 2008/08/27 12:59 回應
    google竟然要提供了大數字的運算~~當然要算出正確的結果~沒有所謂精準度的問題~~不給答案比給錯答案來得好~~
  • 6.losswing 於 2008/08/27 11:13 回應
    2,999,999,999,999,999減2,999,999,999,999,998
    差距的確幾乎等於零呀
    有啥不對的地方嗎
    任何一種計算的意義的重要性遠遠大於精準度
    國中不是有教過無限大減無限大等於零~!@#$%^%^
  • 5.匿名 於 2008/08/27 10:31 回應
    還是有軟體能夠算很大數字的整數,Google這問題也不是個案,更何況Google本來就是搜尋為主,附加計算機功能,Excel的失真度還比較嚴重,因為很多人都用Excel在作一些統計,且Office真的很貴.....,看來MS 不可靠的東西又多了一樣
  • 4.匿 於 2008/08/26 21:55 回應
    我覺得是作者..雞蛋裡挑骨頭吧.....(汗
  • 3.酒鬼 於 2008/08/26 15:37 回應
    「記者認為,在最後一個例子,Google選擇不算出答案,而是顯示搜尋結果,這種不會誤導任何人的方法,就是所謂優雅的失敗模式。沒有答案總勝過錯誤的答案。」

    我覺得最後這個建議到是不錯的,畢竟一般會使用計算機來計算的人,不會使用到這麼大的數字。

    計算機也是有限制的,告知使用者計算機的限制,總比給出錯誤的答案要好。現代可能有太多人,計算機給出錯誤的答案,他們也會以為是對的。
  • 2.Roy 於 2008/08/26 14:56 回應
    excel更是糗 輸入2,999,999,999,999,999得到的是2,999,999,999,999,990
  • 1.匿名 於 2008/08/26 14:01 回應
    事實上,這個問題就很單純是精準度的問題,很多程式在過大的整數都是直接轉成浮點術來運算,因此兩個相等的浮點數相減等於零。這個問題有學過計概跟沒學過計概會有不同的看法。不然可以用用Excel算一下,看一下Excel也算錯,說不定Excel的精準度還不如Google呢。


留下你的意見
會員 * 帳號:
* 密碼:
  1. 欄位可選填,若全不填,則顯示為「匿名」。
  2. 不支援html語法
非會員 姓名:
E-Mail:
Blog:
  重新載入驗證碼
* 驗證碼: 記住我




特別報導

[現況篇]給我資訊委外 其餘再說
作者:ZDNET新聞專區:蔡宜秀 總的來看,台灣企業與資訊服務供應商對行之有年的軟硬體資訊委外(ITO),相當得心應手,至於業務流程委外(BPO)等新興委外應用模式,較顯陌生。
Sponsored

ZD放大鏡

企業IT專用的強效可靠平臺
  利用以Intel® Nehalem為基礎的平臺,應付要求嚴苛的工作量,進而達成更佳的事業成果。
  + 智慧型伺服器平臺
  + 能源效率自動化
  + 彈性資源分配
廣告
廣告