新知丨1968年圖靈獎得主——理察·哈明

2021-02-15 中科院之聲

一提起「哈明碼」(也有譯為海明碼的),恐怕很少有人不知道的。這種能找出並糾正數據塊在傳輸過程中出現的錯誤的編碼方法,對於計算機技術和通信技術來說真是太重要了。發明這種編碼技術的理察·哈明(Richard Wesley Hamming,1915-1998)因此而獲得了第三屆即1968年度的圖靈獎。

哈明1915年2月11日生於芝加哥。1937年在芝加哥大學獲得數學學士學位,1939年在內布拉斯加大學獲得碩士學位,接著又於1942年在伊利諾伊大學獲得博士學位,成為一名數學專家。學成以後,他留校工作兩年,然後轉入肯塔基州位於俄亥俄河畔的路易斯維爾大學任教,兩年後來到洛斯阿拉莫斯國家實驗室,參與了著名的曼哈頓計劃。但在那裡哈明也只呆了兩年,就又轉到貝爾實驗室工作。正是在這裡,哈明遇到了他感興趣和能發揮他特長的課題,也有一個適宜的工作環境,因此一幹就是30年(1946-1976)。這期間,他曾長期擔任貝爾實驗室計算機科學部主任。1976年他離開貝爾,到美國海軍研究生院(Naval Postgraduate School, 在加利福尼亞州的蒙特雷)工作,直到1997年82歲高齡時才退休,第二年1月7日去世,享年83歲。

哈明到貝爾實驗室後接受的第一個任務就是解決通信中令人頭痛的誤碼問題。通信時發送方發出的信息在傳輸過程中由於信號的衰減和外界的電磁幹擾,到接收方產生了畸變和失真,獲得的是錯誤的信息。這在商業、軍事等應用中都會產生嚴重的後果,有時簡直會禍國殃民,因此迫切需要加以解決。但在相當一段時間裡,這成了擺在許許多多科學家和工程師面前的一大難題,誰也找不出解決的好辦法。哈明接受了這個任務以後,意識到通信線路質量的改善是有限度的,外界幹擾是客觀存在的也無法絕對避免,因此這個問題不可能通過讓發送的代碼不出錯這條途徑去解決,而只能通過一旦出錯如何發現、如何糾正才能解決。這使哈明的研究沿著正確地路線進行。經過深入討論,1947年哈明終於發明了一種能糾錯的編碼,這種碼就叫「糾錯碼」(error-correcting-code)或「哈明碼」(Hamming code)。哈明碼是一種冗餘碼,即在有效信息代碼中要加入校驗碼,這是為糾錯而必須付出的代價。其基本原理是使每一信息位參與多個不同的奇偶校驗(parity check)。所謂奇偶校驗是在代碼中設置一個校驗位,通常置於代碼的最左邊。若整個代碼中「1」的個數為奇數認為代碼正確,稱為奇校驗(odd check);反之,若整個代碼中「1」的個數為偶數認為正確,則稱為偶校驗(even check)。哈明碼就是有多個奇偶校驗位的一種代碼,在適當安排下,通過這多個奇偶校驗位就可以檢查出代碼傳送中錯誤並自動糾正。一般而言,對於長度為n位的代碼,其中應包括r個校驗位,有效信息位為n-r,r的值應滿足以下公式:

下面我們舉一個例子簡單說明哈明碼的原理。以7位字組的二進位編碼的十進位數的傳送為例,根據以上公式,有效信息為4位,校驗位為3位。安排3、5、6、7四位為信息位,而1、2、4三位為校驗位,如下圖所示。

發送時,信息位的內容當然是根據所要發送的十進位數是幾而定的,1、2、4三個校驗位的內容是按以下規則自動生成的:

校驗位1:由1、3、5、7四位的偶校驗決定校驗位1的內容;

校驗位2:由2、3、6、7四位的偶校驗決定校驗位2的內容;

校驗位4:由4、5、6、7四位的偶校驗決定校驗位4的內容;

也就是說,比如對校驗位1,若3、5、7三位中1「1」的個數為奇數,則校驗位1置為「1」;若3、5、7三位中「1」的個數為偶數,則校驗位1置為「0」,其餘類推。

這樣形成的7位代碼發送出去以後,若到了接受方發生錯誤,就能檢測出來並可以自動糾正。舉例說,發送的數是「6」,應為1100110,但接收到的卻是1110110,則通過對上述三組4位代碼的偶校驗,發現第1和第2兩組中「1」的個數都為奇 可斷定發生錯誤;錯的是哪一位呢?這可通過如下方法確定:哪一組的偶校驗通過,記為0;偶校驗出錯,記為1,第一組到第三組按從右到左的次序排列所形成的二進位數就確定了出錯列的位置。這裡是「011」,即3,可斷定左起第3位出錯了,把它反過來(這裡是把「1」變成「0」)就是了。同理,若接收結果為1100111,則三組偶校驗均出錯,記為「111」,指明第7位出錯了,把它反過來即可。

大家看,多麼巧妙!當然,這個例子僅僅是最簡單的情況。現在,包括哈明碼在內的整個編碼學已建立在十分複雜而嚴格的數學理論基礎之上,要用到抽象代數中的群論。

哈明碼的發明是為了解決通信中的誤碼問題,但對計算機同樣有用。因為計算機的CPU、內存外存、各種外部設備之間的代碼傳送同樣存在著誤碼的可能。例如,計算機的存儲器差錯校驗就常常採用哈明碼校驗。在計算機聯成網絡的情況下,數據通信的可靠性問題更為突出。ACM在將圖靈獎授予哈明的1968年,計算機網絡的研究剛剛開始不久,Internet的始祖ARPANET是1969年才將最早的4個站點連通的。從這點看,ACM在圖靈獎的評獎中是很有遠見的。

作為一名數學家,哈明的專長是數值方法、編碼與資訊理論、統計學和數字濾波器等。這些學科中有不少名詞術語是由哈明定義的,因此而用哈明命名的,除「哈明碼」外,常見的還有:

「哈明間距」(Hamming distance)。這指同樣長度的兩個碼中,對應位不同的碼的個數,比如01010和11001,哈明間距是3。

「哈明權」(Hamming weight)。這指代碼中1的個數。如01110的哈明權是3。

「哈明窗口」(Hamming window)。這指一種濾波器的通頻帶。

哈明的論著頗豐,主要有:

《科學家和工程師用的數值方法》(Numerical Method for Scientists and Engineers, McGraw-Hill,1973, 第2版)

《數字濾波器》(Digital Filter, Prentice-Hall, 1977, 1983, 1989)

《編碼和資訊理論》(Coding and Information Theory, Prentice-Hall, 1980, 1986)

《用於微積分、概率論和統計學的數學方法》(Method of Mathematics Applied to Calculus, Probability, and Statistics, Prentice-Hall, 1985)

《計算機與社會》(Computers and Society, McGraw-Hill, 1972)

《實用數值分析導論》(Introduction to Applied Numerical Analysis, Hemisphere Pub., 1989)

《從事科技工作的技巧》(The Art of Doing Science and Engineering, Gorden and Breach Science Pub., 1997)

哈明有一句名言:「計算的目的不在於數據,而在於洞察事物」(「The purpose of computing is insight, not numbers」)。此外,他還非常欣賞孔子的話:「學而時習之,不亦悅乎」,把這句話印在他著的《科學家和工程師用的數值方法》那本書的的卷首作為座右銘(英文詩To study, and when the occasion arises to what one has learned into practice--is that not deeply satisfying?)。縱觀哈明的一生,他自己就是實踐這兩句話的以一生。

哈明是美國工程院院士,1958--1960年曾出任ACM的第七屆主席。除獲得圖靈獎外,1979年他獲得IEEE的Piore獎,1981年獲得H.Pender獎,1996年獲得Rhein基金會獎。有趣的是,IEEE設立了一種以哈明命名的獎章,1991年把這種獎章頒發給了哈明本人。

哈明在接受圖靈獎時發表了題為「我對計算機科學的看法」(On Man's View of Computer Science)的演說,刊載於Journal of ACM, 1969年1月,3~12頁,也可見於《前20年的圖靈獎演說集》(ACM Turing Award Lectures-- The First 20 Years: 1966~1985,ACM Pr.),207~218頁。他在演說中提出的以下一些觀點,如計算機科學家必須具有良好的數學訓練,應該由相關的系而不是計算機系來教授計算機應用方面的課程,以及應該注重電腦程式設計風格的教育,等等,至今仍具有十分重要的意義。

來源:單博煒科學網博客

作者單博煒,系長安大學信息學院講師


相關焦點

  • 2007年圖靈獎得主因感染新冠肺炎去世,享年75歲
    Clarke在社交媒體發文表示,他的父親、2007年圖靈獎得主愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎不幸去世。James S. Clarke在社交媒體發文。愛德蒙·克拉克曾任美國卡內基梅隆大學計算機科學系教授,是ACM和IEEE會士。他在軟硬體驗證、自動定理證明、形式方法等方面享有崇高的國際聲譽,是模型檢驗方法的開創者之一。
  • 圖靈獎、京都獎得主共話自動駕駛:未來5至10年超過人類?
    圖靈獎、京都獎得主共話自動駕駛:未來5至10年超過人類?卡耐基梅隆大學教授、美國工程院院士、京都獎得主金出武雄對自動駕駛技術的當前進展表示樂觀。他認為,「在未來5至10年之間,毫無疑問機器的駕駛能力會比人類駕駛員更好」。他也提到,在開放道路上進行自動駕駛測試目前已經成為現實。
  • 07年圖靈獎得主Edmund Clarke因感染新冠逝世
    當地時間12月23日,2007年圖靈獎得主Edmund M. Clarke(愛德蒙·克拉克)因感染新冠肺炎不幸去世,享年75歲。其子James S. Clarke隨後發推文緬懷父親:「他對我的學術研究有著極高的期望,同時又教我打棒球、釣魚,以及環遊世界。
  • 圖靈獎得主Edmund Clarke感染新冠逝世
    【新智元導讀】2007年圖靈獎得主愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎於當地時間12月22日不幸去世。當地時間12月22日,2007年圖靈獎得主愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎不幸去世,享年75歲。
  • 圖靈獎得主 Edmund Clarke 因感染「新冠」逝世
    Edmund M.Clarke ,這位「模型檢測先驅」,他這 75 年的人生,為科技的貢獻無法計量。  生平經歷  Edmund M. Clarke 出生於 1945 年,1967 年獲得維吉尼亞大學的數學學士學位,1968 年在杜克大學取得數學碩士學位,隨後,又於 1976 年在康奈爾大學獲得計算機博士學位。
  • 2020湖南事業單位公共基礎知識:圖靈獎
    圖靈獎是美國計算機協會於1966年設立的,又叫"A.M.圖靈獎",專門獎勵那些對計算機事業作出重要貢獻的個人。其名稱取自計算機科學的先驅英國科學家艾倫·圖靈,這個獎設立目的之一是紀念這位科學家。下面我們就將圖靈獎的相關考點內容和各位考生進行分享。
  • 2007年圖靈獎得主因感染新冠肺炎去世,享年75歲 - 今報網 東方今報...
    Clarke在社交媒體發文表示,他的父親、2007年圖靈獎得主愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎不幸去世。  愛德蒙·克拉克曾任美國卡耐基梅隆大學計算機科學系教授,是ACM和IEEE會士。他在軟硬體驗證、自動定理證明、形式方法等方面享有崇高的國際聲譽,是模型檢測方法的開創者之一。
  • 圖靈獎得主David Patterson為你解惑
    在主論壇上,圖靈獎得主David Patterson將帶來宗師課《體系結構創新加速人工智慧》。人工智慧已經成為新一輪產業變革的核心驅動力,正在對世界經濟、社會進步和人類生活產生極其深刻的影響。2020 世界人工智慧大會雲端峰會是由上海市政府打造的國際頂級人工智慧會議,大會將於 7 月 9-11 日舉行。
  • 圖靈獎公布:兩位皮克斯「前員工」獲獎,他們為 3D 動畫電影帶來了...
    他的老師包括計算機圖形學之父 Ivan Sutherland 和 1988 年的圖靈獎獲得者。圖丨皮克斯動畫帝國背後曾有三位重要人物:計算機科學家 Edwin Catmull、動畫師 John Lasseter 以及富有遠見的企業家 Steve Jobs。(來源:網際網路)此次另一位圖靈獎得主 Pat Hanrahan,正是 Catmull 在皮克斯招募的第一批員工之一。
  • 什麼樣的AI大會,光圖靈獎得主就邀請了6位!千萬別看門票價格
    你看看嘉賓都有誰:全球大牛參與所有嘉賓中,光圖靈獎得主就有6位:Geoffrey Hinton,深度學習三巨頭之一,和另外兩位Yoshua Bengio、Yann LeCun一起榮獲2018年圖靈獎。這也是與中國淵源頗深的Hinton,第一次參與中國AI組織主辦的AI大會及活動。
  • 圖靈獎得主:面對人工智慧,人類要更加成熟,才不會自我毀滅
    首先關於是否應該研究具有多種用途的通用機器人,1994年圖靈獎得主拉吉·雷迪直言:「我們不應該去搞多用途開發。」他認為,每個科學家各有所長,將自己的領域專精化,再將各自的研究成果結合在一起,就會自然形成多功能機器人。「我的觀點正好相反。」比雷迪晚一年獲得圖靈獎的曼紐爾·布魯姆說,「我倒是很喜歡這樣一個多功能的智能代理。」
  • 這7位圖靈獎得主才入選ACM Fellow,他們可是程式設計師「祖師爺」
    所以就在今天(2021年1月14日),當ACM的新入選Fellow名單公布,7位圖靈獎得主在列的事實,令人意外。而量子位進一步獲悉,原來這還是今年ACM專門新增了「特殊通道」,才讓這7位圖靈獎得主集體入選Fellow。他們當中有Unix作業系統、Go語言發明者,也有快速排序算法的提出者,堪稱程式設計師們的「祖師爺」陣容。
  • 圖靈獎得主Edmund Clarke感染新冠逝世,教計算機自己檢查錯誤的人...
    【導讀】2007年圖靈獎得主愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎於當地時間12月22日不幸去世。 當地時間12月22日,2007年圖靈獎得主愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎不幸去世,享年75歲。 他的兒子James Clarke在推特上發布了這一消息。
  • 圖靈獎得主Edmund Clarke感染新冠逝世,教計算機自己檢查...
    新智元報導  來源:外媒  編輯:LQ  【新智元導讀】2007年圖靈獎得主愛德蒙·克拉克(Edmund  當地時間12月22日,2007年圖靈獎得主愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎不幸去世,享年75歲。  他的兒子James Clarke在推特上發布了這一消息。在推文中,James Clarke說:「今天,我的父親愛德蒙·M·克拉克因為新冠肺炎去世了。他是2007年圖靈獎獲得者。
  • 奧斯卡和圖靈獎「雙料」得主,引領3D動畫技術
    Catmull有著「計算機界諾貝爾獎」之稱的2019年ACM A.M. 圖靈獎榮譽,以表彰他們對3D計算機圖形學的奠定性貢獻,以及這些技術對 CG成像在電影製作和其他方面應用的革命性影響。Catmull於1974年在猶他大學獲得計算機科學博士學位,他的指導老師包括計算機圖形學之父Ivan Sutherland和1988年ACM AM圖靈獎獲得者。
  • 2007年圖靈獎得主Edmund Clarke因感染新冠離世
    亦或是傳奇賭王何鴻燊喜歡看NBA的同學自然忘不了,那個永遠的24號、永遠的黑曼巴,科比漫威世界也告別了「黑豹」查德維克博斯曼而前幾天,讓計算機圈子格外惋惜的是,當地時間12月22日,2007年圖靈獎得主,美國著名計算機專家,愛德蒙·克拉克(Edmund M. Clarke)因感染新冠肺炎不幸去世,享年75歲。
  • 這7位圖靈獎得主,竟然今日才入選ACM Fellow,他們可是程式設計師「祖師爺」
    所以就在今天(2021年1月14日),當ACM的新入選Fellow名單公布,7位圖靈獎得主在列的事實,令人意外。而量子位進一步獲悉,原來這還是今年ACM專門新增了「特殊通道」,才讓這7位圖靈獎得主集體入選Fellow。他們當中有Unix作業系統、Go語言發明者,也有快速排序算法的提出者,堪稱程式設計師們的「祖師爺」陣容。
  • Hinton等6位圖靈獎得主、百餘位頂級學者邀你共話AI下一個十年
    機器之心報導機器之心編輯部Geoffrey Hinton 等 6 位圖靈獎得主親臨,百餘位頂級學者邀請你加入群聊「2020 北京智源大會」,深入系統探討「人工智慧的下一個十年」。自 2009 年深度學習崛起以來,第三波人工智慧浪潮席捲全球,推動了新一波技術革命。
  • 又一位巨星因「新冠」隕落,07年圖靈獎得主Edmund Clarke,享年75歲
    其子James S.根據維基百科的介紹,他於1967年維吉尼亞大學獲得數學學士學位;次年,在杜克大學拿到了數學碩士學位。1976年,Edmund於康奈爾大學獲得了計算機科學博士學位。此後,他先是在杜克大學計算機科學系任教2年,並於1978年轉到了哈佛大學,擔任應用科學系計算機科學助理教授。
  • 響徹世界學術的三大獎項:諾貝爾獎、菲爾茲獎、圖靈獎
    響徹世界學術的三大獎項:諾貝爾獎、菲爾茲獎、圖靈獎。諾貝爾文學獎包括物理、化學、生理學或醫學、文學、和平、經濟學六個領域的獎項;菲爾茲獎是數學獎項,被譽為「數學界的諾貝爾獎」;圖靈獎則是計算機獎項,被譽為「計算機界的諾貝爾獎」。