Distancia de Hamming

En Teoría de la Información se denomina distancia de Hamming a la efectividad de los códigos de bloque y depende de la diferencia entre una palabra de código válida y otra. Cuanto mayor sea esta diferencia, menor es la posibilidad de que un código válido se transforme en otro código válido por una serie de errores. A esta diferencia se le llama distancia de Hamming, y se define como el número de bits que tienen que cambiarse para transformar una palabra de código válida en otra palabra de código válida.
Si dos palabras de código difieren en una distancia d, se necesitan d errores para convertir una en la otra.

Por ejemplo:

  • La distancia Hamming entre 1011101 y 1001001 es 2.
  • La distancia Hamming entre 2143896 y 2233796 es 3.
  • La distancia Hamming entre "tener" y "reses" es 3.

Detección y corrección de errores

La distancia de Hamming es utilizada para definir algunas nociones esenciales en teoría de códigos, tales como códigos detectores de errores y códigos correctores de errores. En particular, se dice que un código detecta -errores si cualesquiera dos palabras que tienen una distancia de Hamming menor que coinciden. Dicho de otro modo, un código detecta -errores si y solo si la distancia de Hamming mínima entre cualesquiera dos palabras en él es a lo menos .

Se dice que un código corrige -errores si para cada palabra en el subyacente espacio de Hamming existe al menos una palabra tal que la distancia de Hamming entre y es menos que . En otras palabras, un código corrige -errores si y solo si la mínima distancia de Hamming entre cualesquiera dos de sus palabras es por lo menos . Esto es más fácil de comprender geométricamente como que cualesquiera dos bolas cerradas de radio centradas en distintas palabras son disjuntas. En este contexto se conoce a estas bolas como Esferas de Hamming.

De esta manera, un código que tiene distancia de Hamming mínima entre sus palabras puede detectar a lo más errores y puede corregir errores. Este último número es también conocido como el radio de empaquetado o la capacidad de corrección del código.

Other Languages