Richard Hamming — Wikipédia

Richard Hamming
une illustration sous licence libre serait bienvenue
Fonction
Président
Association for Computing Machinery
-
John W. Carr (d)
Biographie
Naissance
Décès
Voir et modifier les données sur Wikidata (à 82 ans)
MontereyVoir et modifier les données sur Wikidata
Nom dans la langue maternelle
Richard Wesley HammingVoir et modifier les données sur Wikidata
Nationalité
Formation
Activités
Mère
Mabel Grace Redfield (d)Voir et modifier les données sur Wikidata
Autres informations
A travaillé pour
Membre de
Directeur de thèse
Waldemar Joseph Trjitzinsky (d)Voir et modifier les données sur Wikidata
Distinctions
Prix Turing ()Voir et modifier les données sur Wikidata
Liste détaillée
Œuvres principales
Code de Hamming, distance de Hamming, Hamming window (d), Hamming weight (d), graphe de HammingVoir et modifier les données sur Wikidata

Richard Wesley Hamming, né le à Chicago (Illinois) et décédé le à Monterey (Californie) est un mathématicien célèbre à qui on doit les codes de Hamming et la distance de Hamming. Il reçut le prix Turing en 1968.

Biographie[modifier | modifier le code]

Études[modifier | modifier le code]

Richard Hamming obtient sa licence à l'université de Chicago en 1937, son master à l'université du Nebraska en 1939 et son doctorat à l'université de l'Illinois en 1942.

Guerre et projet Manhattan[modifier | modifier le code]

Il était professeur à l'Université de Louisville lorsque la Seconde Guerre mondiale débuta et il quitta son poste pour rejoindre le projet Manhattan en 1945, programmant l'un des premiers calculateurs digitaux pour calculer les solutions des équations fournies par les physiciens du projet. L'objectif du programme était de découvrir si la détonation d'une arme nucléaire pouvait mettre en feu l'atmosphère. Les calculs montrèrent que ça ne serait pas le cas, ce qui permit aux États-Unis de procéder à un essai atmosphérique au Nouveau-Mexique puis de lancer deux bombes sur le Japon.

Laboratoires Bell[modifier | modifier le code]

De 1946 à 1976, il travailla pour les Laboratoires Bell où, avec Claude Shannon, John Tukey et d'autres anciens de Los Alamos, il faisait partie d'un groupe de chercheurs indépendants, dégagés des contraintes de recherche de financement et de dépôt de brevet surnommés les « jeunes Turcs[1] ». « Nous étions des empêcheurs de tourner en rond, déclara plus tard Hamming. Nous faisions des trucs non-conventionnels mais qui donnaient des bons résultats ; alors la direction nous tolérait et nous laissait tranquilles pendant de longues périodes[2]. »

Représentation 2D d'une distance de Hamming. Chaque couleur signale la « distance » en représentation binaire des coordonnées x et y d'un pixel (modulo 16).

Hamming avait été recruté pour travailler sur la résolution des problèmes d'élasticité, mais il se prit de passion pour le calcul automatique[3]. Un vendredi de l'année 1947, il avait programmé pour le week-end une longue série de problèmes sur des calculateurs du laboratoire, mais il découvrit le lundi que les calculs avaient avorté par suite d'erreurs de transmission de données[4]. Les calculateurs digitaux traitent l'information comme des listes de 0 et de 1 (auxquels Tukey avait donné le nom de bits, contraction de « binary digits[5] »), et il suffit qu'un seul 0 ou 1 soit faux pour altérer toute la suite d'un message. Pour détecter ces erreurs, on utilisait un bit de parité. « Si l'ordinateur peut dire quand l'erreur est survenue, pensa Hamming, il y a sûrement moyen de dire exactement, de telle sorte que l'ordinateur puisse corriger lui-même l'erreur [4]. »

Hamming se consacra donc à ce problème[6], dont il concevait l'importance pour une multitude d'applications. Dans un article pionnier publié en 1950, il s'intéressa aux différences entre deux mots binaires de même longueur, et au nombre d'opérations nécessaires pour transformer l'un en l'autre : c'est là l'origine de ce que l'on a appelé depuis la distance de Hamming[7]. Par là, il a créé une famille de codes correcteurs d'erreur mathématiques, qui ont pris le nom de codes de Hamming. Non seulement ils résolvaient un important problème des télécommunications et de l'informatique, mais ils ont ouvert un nouveau domaine de recherche[7],[8].

La borne de Hamming, ou limite de compacité, fixe une limite théorique aux performances des codes correcteurs. C'est une interprétation de l'empilement compact dans l'espace de tous les mots binaires possibles, en termes de distance de Hamming. La borne de Hamming caractérise la limitation de l'efficacité avec laquelle un code correcteur exploite le nombre de positions dans la longueur d'un mot. Un code correcteur qui peut atteindre la borne de Hamming est dit « parfait » : les codes de Hamming satisfont cette condition[9],[10].

Hamming consacrait néanmoins le reste de son temps à la résolution numériques des équations différentielles. L'approche la plus commune, en ce milieu des années 1950, était la méthode des différences finies dans la forme que lui avait donnée William Milne[11] au milieu des années 1920 ; mais le caractère instable de cette technique, lié au fait que sous certaines conditions, les résultats étaient faussés par propagation d'erreurs d'arrondi, était bien connu. Hamming en développa une version améliorée (le schéma prédicteur-correcteur de Hamming) qui fut employée plusieurs années avant d'être supplantée par les méthodes d'Adams-Bashforth[12]. Il effectua des recherches poussées sur les filtres numériques, concevant une technique particulière de fenêtrage, la fenêtre de Hamming, et consacra finalement tout un ouvrage à la question : Digital Filters[13] (1977).

Au cours des années 1950, il programma l'un des premiers ordinateurs, l'IBM 650, et développa dès 1956 avec Ruth A. Weiss l'un des premiers langages de programmation, le langage L2, diffusé sous le nom de Bell 2. Quoique très utilisé par les Laboratoires Bell et quelques programmeurs, il fut toutefois supplanté l'année suivante par Fortran, les Laboratoires Bell ayant tout juste remplacé leurs IBM 650 par des IBM 704[14].

Travaux[modifier | modifier le code]

Recherches[modifier | modifier le code]

Services[modifier | modifier le code]

Il a été le fondateur de l'« Association for Computing Machinery » dont il fut aussi le président.

Hommages et distinctions[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. « Richard W. Hamming – A.M. Turing Award Winner », sur Association for Computing Machinery (consulté le )
  2. « Computer Pioneers – Richard Wesley Hamming », sur IEEE Computer Societ (consulté le )
  3. Morgan 1998, p. 972.
  4. a et b « Richard W. Hamming Additional Materials », sur Association for Computing Machinery (consulté le )
  5. Shannon 1948, p. 379.
  6. Mark C. Carnes, American National Biography. Supplement 2., New York, Oxford University Press, (ISBN 978-0-19-522202-9), p. 220–221
  7. a et b Morgan 1998, p. 973–975.
  8. Hamming 1950, p. 147–160.
  9. Vera Pless, Introduction to the Theory of Error-Correcting Codes, New York, Wiley, (ISBN 978-0-471-08684-0), p. 21–24
  10. San Ling et Chaoping Xing, Coding Theory: a First Course, Cambridge, Cambridge University Press, (ISBN 978-0-521-82191-9), p. 82–88
  11. Eric W. Weisstein, « Milne's Method », sur MathWorld (consulté le )
  12. Morgan 1998, p. 975.
  13. Morgan 1998, p. 976–977.
  14. Bernard D. Holbrook et W. Stanley Brown, Computing Science Technical Report No. 99 – A History of Computing Research at Bell Laboratories (1937–1975), Laboratoires Bell (lire en ligne [archive du ])
  15. (en) ACM Turing award
  16. (en) IEEE Richard W. Hamming medal
  17. (de) Die Preisträger seit 1979

Liens externes[modifier | modifier le code]