Documente Academic
Documente Profesional
Documente Cultură
La métrica de Levenshtein
†
Abdiel E. Cáceres González
Universidad Juárez Autónoma de Tabasco, DACB
Levenshtein’s distance, also known as edit distance, it’s a frequently used measure
on bioinformatics. Although it was created in the mid-twentieth century, and that
there have been many implementations in many programming languages, there is no
demonstration that shown that sequences formed with some finite alphabet of symbols
forms a metric space with Levenshtein’s distance. Determine formally this metric
space, it is useful for future formalization of different works related with bioinformatics
theory.
1. Introducción
Nótese que S(x, y) = 0 cuando x no tienen sı́mbolos comunes con y, esto es, no
existe alguna subsecuencia común para x y y, de modo que la longitud de la secuencia
vacı́a es 0; en el otro extremo, S(x, y) = min{|x|, |y|} cuando o bien x está contenida
completamente en y, ó y está contenida completamente en x. De modo que
S(x, y) : C ∗ × C ∗ → N0
1: for i = 0 to n do
2: Si,0 = 0
3: end for
4: for j = 0 to m do
5: S0,j = 0
6: end for
7: for i = 0 to m do
8: for j = 0to n do
max{Si−1,j , Si,j−1 } si 6 yj
xi =
9: Si,j =
Si−1,j−1 + 1 si xi = yj
10: end for
11: end for
12: return z = Sn,m .
3. Distancia de Levenshtein
La idea general de esta distancia es que dos secuencias distan entre sı́ tanto como
sı́mbolos se deban borrar y sı́mbolos se deban agregar, para hacer iguales ambas
secuencias. De modo que el lı́mite máximo de esta distancia se debe leer como: se
deben borrar todos los n sı́mbolos de x y agregar todos los m sı́mbolos de y.
3 Recordemos que O(f (n)) dice que existe una función f (n) que acota superiormente el tiempo
de ejecución del algoritmo, y Θ(1) dice que el tiempo de ejecución del algoritmo (para encontrar la
distancia en este caso) es constante. Para un estudio más profundo sobre funciones asintóticas para
acotar comportamientos algorı́tmicos, consulte la referencia [2].
Sea C ∗ el conjunto de todas las secuencias válidas de longitud finita4 ; y sea también
D como la definida en (3).
Prueba. Para probar que la distancia D sea una métrica sobre C ∗ , se debe cumplir:
1. D(x, y) ≥ 0 ∀x, y ∈ C ∗ .
1. Si D(x, y) = 0 entonces x = y.
Como D(x, y) = 0, entonces |x| + |y| = 2S(x, y)
Si x = λ (la palabra nula), entonces |x| = 0, de modo que |y| = 2S(λ, y) debe conser-
varse. Esto hace que |y| = 0, puesto que la S(λ, y) es cuando mucho la cardinalidad
de la secuencia de menor longitud, y esta es λ, con |λ| = 0. Si |y| = 0, entonces
también y = λ y ası́ x = y.
Por otro lado, si ninguna de las secuencias es nula, aun debe conservarse la igualdad
|x| + |y| = 2S(x, y).
Supongamos ahora que x ⊂ (x, y), esto es, x es la subsecuencia común más grande
de las secuencias x y y. Entonces, |x| + |y| = 2|x|, y para que esto ocurra, |x| = |y|.
Como x ⊂ y, todos los sı́mbolos de x ocurren en y en las mismas posiciones, esto
significa entonces que x = y.
2. Si x = y entonces D(x, y) = 0. Observese que, |x| = |y|. Como ambas secuencias son
iguales, S(x, y) = n
Tómese δ ⊂ (x, y) : |δ| = S(x, y), con δ =< δ1 , . . . , δn >. Como δ es una subsecuencia
de x, existe un conjunto {i1 , . . . in } de ı́ndices en x, con cada 1 ≤ ik ≤ |x| y 1 ≤ k ≤ n,
tales que i1 < · · · < in y que δ =< xi1 , . . . , xin >.
para algún conjunto de ı́ndices {r1 , . . . , r|β| } en y y también algún conjunto de ı́ndices
{s1 , . . . , s|β| } en z.
Se observa que |α| ≤ |y| y del mismo modo |β| ≤ |y|. Como ambas subsecuencias α
y β tienen sı́mbolos de la secuencia y, entonces existe una subsecuencia δ ⊂ y donde
δ =< δ1 , . . . , δ|δ| >: |δ| = S(α, β). Por (7) y (8), es posible escribir δ con sı́mbolos de
x y de z.
δ =< xm1 , . . . , xm|δ| >=< zn1 , . . . , zn|δ| >, (9)
con |δ| ≤ min{|α|, |β|}. De modo que δ ⊂ (x, y), porque α ⊂ x y β ⊂ y; también es
δ ⊂ (y, z), aunque no necesariamente la de mayor longitud, de modo que |δ| ≤ S(x, z).
Entonces |α| representa la cantidad de sı́mbolos que comparten las secuencias x y y,
|β| es la cantidad de sı́mbolos que comparten las secuencias y y z, y |δ| es la cantidad
de sı́mbolos que pertenecen a y solamente.
Ası́, |α| + |β| − |δ| es la cantidad de sı́mbolos de y que son compartidos con las
secuencias x y z, significa que |y| ≥ |α| + |β| − |δ|, en consecuencia
Como |δ| ≤ S(x, z), |α| = S(x, y) y |β| = S(y, z), se verifica (6):
2. Se seleccionan los k individuos que servirán como centroides. En este ejemplo se han
coleccionado individuos que tienen un código genético de 60 cromosomas5 . La longitud
de 60 para los cromosomas, se eligió arbitrariamente.
3. Cada individuo debe reconocer cuál es el centroide más cercano, para realizar esto
se determina D(x, c), para todos los individuos x y los centroides c, y eligiendo como
centroide más cercano, aquel que hace
4. Cada centroide forma de este modo una partición del conjunto de individuos. Todos
los elementos de cada parte tienen en común que son más cercanos al centroide elegido
que a cualquier otro.
5. Si los centroides elegidos fueron elegidos de tal modo que se requiere agrupar a otros
individuos en torno a ellos, este algoritmo puede terminar. Sin embargo, en la versión
original del algoritmo, se desea agrupar individuos sin un conocimiento a priori de
quienes deben ser los centroides. De modo que se toma la decisión de seleccionar un
nuevo centroide. Para cada grupo, se elige como nuevo centroide aquel individuo que
haya mostrado una diferencia menor entre la distancia a su centroide y el promedio
muestral de las distancias. Esto hace que el nuevo centroide sea el que esté más
cercano al centro de masa del cúmulo. Si no hubo cambios en la elección del nuevo
centroide, el algoritmo termina; de otro modo, se vuelve al paso 2 para una nueva
iteración.
5 Teóricamente es posible con cualquier número de cromosomas, sin embargo a medida que el
6. Discusión final
7. Agradecimientos
Referencias
[1] V. I., Levenshtein. Binary codes capable of correcting deletions, insertions, and reversals.
Soviet Physics Doklady 10 (1966):707710. Traducción al inglés de la versión original en
ruso publicada en 1965.
[6] MacQueen. J. B. Some Methods for classification and Analysis of Multivariate Observa-
tions, Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and Probabil-
ity, Berkeley, University of California Press, 1:281-297 (1967).
[7] Hartigan, J. A. y Wong, M.A. Algorithm AS 136: A k-means clustering algorithm, Ap-
plied Statistics 28 (1979), no.1, 100108.