理查德·衛斯里·漢明

理查德·衛斯里·漢明

理查德·衛斯里·漢明(英語:Richard Wesley Hamming,1915年2月11日-1998年1月7日),美國數學家,主要貢獻在計算機科學和電訊。

簡介


1937年芝加哥大學學士學位畢業,1939年內布拉斯加大學碩士學位畢業,1942年伊利諾伊大學香檳分校博士學位畢業,博士論文為《一些線性微分方程邊界值理論上的問題》(Some Problems in the Boundary Value Theory of Linear Differential Equations)。二戰期間在路易斯維爾大學當教授,1945年參加曼哈頓計劃,負責編寫電腦程式,計算物理學家所提供方程的解。該程式是判斷引爆核彈會否燃燒大氣層,結果是不會,於是核彈便開始試驗。
1946至76年在貝爾實驗室工作。他曾和約翰·懷爾德·杜奇、克勞德·艾爾伍德·香農合作。1956年他參與了IBM 650的編程語言發展工作。
1976年7月23日起在海軍研究院當兼任教授,1997年成為名譽教授。
他是美國電腦協會(ACM)的創立人之一,曾任該組織的主席。

獎項


1968年ACM圖靈獎1968年IEEE院士1979年Emanuel R. Piore獎1980年美國國家工程學院院士1981年賓夕法尼亞大學Harold Pender獎1988年IEEE理查·衛斯里·漢明獎

漢明距離


理查德·衛斯里·漢明
理查德·衛斯里·漢明
在資訊理論中,兩個等長字元串之間的 漢明距離是兩個字元串對應位置的不同字元的個數。換句話說,它就是將一個字元串變換成另外一個字元串所需要替換的字元個數。例如:
1011101與 1001001之間的漢明距離是 2。 2143896與 2233796之間的漢明距離是 3。" toned" 與 " roses" 之間的漢明距離是 3。漢明重量是字元串相對於同樣長度的零字元串的漢明距離,也就是說,它是字元串中非零的元素個數:對於二進位字元串來說,就是 1 的個數,所以 11101 的漢明重量是 4。

漢明重量


漢明重量是一串符號中非零符號的個數。因此它等同於同樣長度的全零符號串的漢明距離。在最為常見的數據位符號串中,它是 1 的個數。

高效實現


密碼學以及其它應用中經常需要計算數據位中 1 的個數,針對如何高效地實現人們已經廣泛地進行了研究。一些處理器使用單個的命令進行計算,另外一些根據數據位向量使用并行運算進行處理。對於沒有這些特性的處理器來說,已知的最好解決辦法是按照樹狀進行相加。例如,要計算二進位數 A=0110110010111010 中 1 的個數,這些運算可以表示為:
符號二進位十進位註釋
A0110110010111010原始數據
B = A & 01 01 01 01 01 01 01 0101 00 01 00 00 01 00 001,0,1,0,0,1,0,0A 隔一位檢驗
C = (A >> 1) & 01 01 01 01 01 01 01 0100 01 01 00 01 01 01 010,1,1,0,1,1,1,1A 中剩餘的數據位
D = B + C01 01 10 00 01 10 01 011,1,2,0,1,2,1,1A 中每個雙位段中 1 的個數列表
E = D & 0011 0011 0011 00110001 0000 0010 00011,0,2,1D 中數據隔一位檢驗
F = (D >> 2) & 0011 0011 0011 00110001 0010 0001 00011,2,1,1D 中剩餘數據的計算
G = E + F0010 0010 0011 00102,2,3,2A 中 4 位數據段中 1 的個數列表
H = G & 00001111 0000111100000010 000000102,2G 中數據隔一位檢驗
I = (G >> 4) & 00001111 0000111100000010 000000112,3G 中剩餘數據的計算
J = H + I00000100 000001014,5A 中 8 位數據段中 1 的個數列表
K = J & 000000001111111100000000000001015J 中隔一位檢驗
L = (J >> 8) & 000000001111111100000000000001004J 中剩餘數據的檢驗
M = K + L00000000000010019最終答案