Siguiente: Algoritmo de Sardinas-Patterson
Arriba: Codificación
Anterior: Funciones de codificación
En efecto, haciendo un renombramiento de símbolos si fuera necesario, podemos suponer que es no-decreciente:
Supongamos que existe un código instantáneo
,
, tal que
Al ser el código instantáneo, para cada , ningún , con , puede ser un prefijo de . Así pues, se tiene exactamente
posibilidades de elegir . En consecuencia,
|
(2) |
En particular, para , al dividir ambos miembros de la desigualdad (2) entre
resulta la desigualdad de Kraft (1).
Recíprocamente suponiendo que vale (1) entonces puede verse consecutivamente que valen las relaciones (2). El código instantáneo se construye de manera sucesiva: Para elíjase una de las palabras posibles de longitud . Para cada habiendo construído , con , elíjase como a una palabra de longitud que no tenga como prefijo a ninguna . Por la desigualdad (2), esto último siempre es posible.
Teorema 2.2 (McMillan)
Cualquier código de decodificación única satisface la desigualdad de Kraft.
Sea
un alfabeto de símbolos y sea
una codificación de decodificación única, sobre un alfabeto de símbolos. Sea
,
. Escribamos
y mostremos que, en efecto, . Para esto deberemos demostrar que la sucesión
está acotada superiormente (obviamente vale la implicación:
Calculemos entonces las potencias de :
Ahora bien, para cada entero
que se realice como la suma de logitudes, sea
el conjunto de formas de expresar a como una tal suma y sea
el conjunto de palabras de longitud en que quedan codificadas por palabras de longitud en . Ya que el código es de decodificación única, se tiene
Sea
la mayor de las longitudes de códigos de símbolos. Naturalmente, el mayor de los valores tales que
es precisamente . En consecuencia:
de donde resulta
, y esto ocurre para cualquier .
Como una consecuencia directa de ambos teoremas, resulta el
Corolario 2.1
Todo código de decodificación única da origen a códigos instantáneos que preservan las longitudes de los códigos asociados a los símbolos.
Siguiente: Algoritmo de Sardinas-Patterson
Arriba: Codificación
Anterior: Funciones de codificación
Guillermo M. Luna
2010-05-09