Qu'est-ce que Distance de Hamming ?

Nombre de positions où deux suites de bits (ou chaînes de caractères) de même longueur diffèrent. Elle est égale au nombre de 1 dans le OU exclusif des deux suites de bits. Par exemple, la distance de Hamming entre 1011010 et 0110011 vaut 4. La plus petite distance entre deux mots de code d'un code est sa distance de Hamming minimale ; un code de distance de Hamming minimale d peut détecter les erreurs jusqu'à d − 1 bits et corriger les erreurs jusqu'à (d − 1) ÷ 2 bits, arrondi à l'entier inférieur.

Nom japonais: ハミング距離

« Distance de Hamming » apparaît dans 3 questions d'entraînement réparties sur 1 thèmes, dont Bases de la théorie de l'information et du codage.

Domaine: Bases de la théorie de l'information et du codage

Capacité de détection et de correction des erreurs

Plus les mots de code sont éloignés, moins une erreur risque de transformer l'un en un autre. Dans un code de distance de Hamming minimale d, une erreur de d − 1 bits ou moins ne peut pas produire un autre mot de code et peut donc être détectée, et si l'erreur porte sur au plus (d − 1) ÷ 2 bits, le mot de code le plus proche du mot reçu est l'original : elle peut donc être corrigée. Par exemple, le code à répétition qui envoie chaque bit trois fois a d = 3 et corrige une erreur de 1 bit par vote majoritaire.

La déterminer pour un code linéaire

Dans un code linéaire, où le OU exclusif de deux mots de code est aussi un mot de code, la distance entre deux mots de code est égale au nombre de 1 du mot de code qui est leur OU exclusif. La distance de Hamming minimale peut donc s'obtenir comme le plus petit nombre de 1 (poids) d'un mot de code non nul, sans comparer chaque paire.

Usages dans d'autres domaines

La distance de Hamming sert de mesure générale qui compte les différences entre deux données. Dans l'évaluation des PUF (fonctions physiques non clonables), plus la distance de Hamming entre les réponses de puces différentes est proche de 50 % de tous les bits, plus les puces sont considérées comme faciles à distinguer. Dans le codage des machines à états, donner une distance de Hamming de 1 aux états voisins réduit le nombre de bits qui changent lors d'une transition.

S'entraîner : questions sur Distance de Hamming

La distance de Hamming minimale d'un code (la plus petite distance de Hamming entre deux mots de code quelconques) vaut 5. On envisage de l'utiliser uniquement pour la détection d'erreurs, ou uniquement pour la correction d'erreurs. Quelle association entre le nombre de bits erronés toujours détectables et le nombre de bits erronés toujours corrigibles est correcte ?

  1. ADétection jusqu'à 4 bits, correction jusqu'à 2 bits
  2. BDétection jusqu'à 5 bits, correction jusqu'à 2 bits
  3. CDétection jusqu'à 4 bits, correction jusqu'à 4 bits
Afficher la réponse et l'explication

Réponse : A. Détection jusqu'à 4 bits, correction jusqu'à 2 bits

Dans un code de distance de Hamming minimale d, une erreur de d − 1 bits au plus ne transforme jamais un mot de code en un autre mot de code : elle peut donc être détectée. La correction remplace la suite de bits reçue par le mot de code le plus proche : si le nombre d'erreurs est au plus (d − 1) ÷ 2, arrondi à l'entier inférieur, le mot de code d'origine reste le plus proche. Pour d = 5, la détection fonctionne jusqu'à 4 bits et la correction jusqu'à 2 bits.

Questions fréquentes

La distance de Hamming et le code de Hamming sont-ils la même chose ?

Non. La distance de Hamming est une mesure qui compte les différences entre deux suites de bits, tandis qu'un code de Hamming est un code construit pour avoir une distance de Hamming minimale de 3, capable de corriger une erreur de 1 bit. Les deux portent le nom de Hamming.

Peut-on calculer la distance de Hamming entre des suites de bits de longueurs différentes ?

La distance de Hamming n'est définie qu'entre des suites de même longueur. Pour compter les différences en incluant les caractères insérés et supprimés, on utilise la distance d'édition (distance de Levenshtein).

« Distance de Hamming » dans les explications

Questions mentionnant « Distance de Hamming » (3)

  1. Quelle est la distance de Hamming entre les deux mots de code de 7 bits 1011010 et 0110011 ?
  2. La distance de Hamming minimale d'un code (la plus petite distance de Hamming entre deux mots de code quelconques) vaut 5. On envisage de l'utiliser uniquement pour la détection d'erreurs, ou uniquement pour la correction d'erreurs. Quelle association entre le nombre de bits erronés toujours détectables et le nombre de bits erronés toujours corrigibles est correcte ?
  3. Quelle association entre la distance de Hamming minimale du code formé des quatre mots de code 00000, 01011, 10101 et 11110 et le nombre de bits erronés qu'il peut toujours corriger est correcte ?

Termes associés

Bit de parité Canal binaire symétrique Codage de Huffman Codage par plages (RLE) Code de Hamming Code préfixe Compression avec perte Compression sans perte Correction d'erreurs directe (FEC) Entropie de l'information

Retour au glossaire