¿Qué es la distancia de Hamming?
La distancia de Hamming entre dos cadenas de la misma longitud es el número de posiciones en las que los símbolos correspondientes no coinciden. Debe su nombre a Richard Hamming y constituye un concepto esencial en la teoría de la información, la teoría de códigos y la informática. Indica el número mínimo de sustituciones necesarias para transformar una cadena en otra, y se emplea ampliamente en los códigos de detección y corrección de errores.
Cómo usar esta calculadora
Introduce tus dos cadenas: pueden ser secuencias binarias (como 1011101), bases de ADN o cualquier texto. La calculadora las compara carácter por carácter y cuenta en cuántas posiciones difieren. Si las cadenas tienen longitudes distintas, cada carácter sobrante de la cadena más larga cuenta como una diferencia.
La fórmula explicada
Para dos cadenas a y b, la distancia de Hamming es la suma, en todas las posiciones i, de un indicador que vale 1 cuando \(a_i \neq b_i\) y 0 en caso contrario:
$$d(a, b) = \sum_{i=1}^{\min(|a|,|b|)} \left[\, \text{A}_i \neq \text{B}_i \,\right] + \Big|\; |\text{A}| - |\text{B}| \;\Big|$$
El resultado es siempre un número entero no negativo, comprendido entre 0 (cadenas idénticas) y la longitud de la cadena (cuando todas las posiciones difieren).
Ejemplo resuelto
Comparemos 1011101 y 1001001. Si las alineamos:
10111011001001
Las posiciones difieren en el índice 3 (1 frente a 0) y en el índice 5 (1 frente a 0). Esto da una distancia de Hamming de 2.
Preguntas frecuentes
¿Las cadenas deben tener la misma longitud? La distancia de Hamming clásica exige que sean de igual longitud. Aun así, esta herramienta ofrece un resultado útil para cadenas de distinta longitud, contando cada carácter sobrante como una discrepancia.
¿Funciona con texto no binario? Sí. Se puede comparar cualquier carácter: letras, dígitos o símbolos.
¿En qué se diferencia de la distancia de Levenshtein? La distancia de Hamming solo cuenta sustituciones en posiciones fijas, mientras que la de Levenshtein también admite inserciones y eliminaciones.