La desigualdad de Kraft fue publicada en Kraft (1949). Sin embargo, el artículo de Kraft solo analiza los códigos de prefijo y atribuye el análisis que conduce a la desigualdad a Raymond Redheffer . El resultado fue descubierto de forma independiente en McMillan (1956). McMillan demuestra el resultado para el caso general de códigos decodificables de forma única y atribuye la versión para los códigos de prefijo a una observación oral realizada en 1955 por Joseph Leo Doob .
Aplicaciones e intuiciones
La desigualdad de Kraft limita la longitud de las palabras clave en un código de prefijo : si se toma una exponencial de la longitud de cada palabra clave válida, el conjunto de valores resultante debe parecerse a una función de masa de probabilidad , es decir, debe tener una medida total menor o igual a uno. La desigualdad de Kraft puede considerarse en términos de un presupuesto limitado que se gastará en palabras clave, siendo más caras las palabras clave más cortas. Entre las propiedades útiles que se desprenden de la desigualdad se encuentran las siguientes afirmaciones:
Si la desigualdad de Kraft se cumple con la desigualdad estricta, el código tiene cierta redundancia .
Si la desigualdad de Kraft se cumple con la igualdad, el código en cuestión es un código completo. [2]
Para cada código decodificable de forma única, existe un código de prefijo con la misma distribución de longitud.
Declaración formal
Deje que cada símbolo fuente del alfabeto
ser codificado en un código decodificable único sobre un alfabeto de tamaño con longitudes de palabras de código
Entonces
Por el contrario, para un conjunto dado de números naturales que satisfacen la desigualdad anterior, existe un código decodificable de forma única sobre un alfabeto de tamaño con esas longitudes de palabras de código.
Ejemplo: árboles binarios
Cualquier árbol binario puede considerarse como la definición de un código de prefijo para las hojas del árbol. La desigualdad de Kraft establece que
Aquí la suma se toma de las hojas del árbol, es decir, los nodos sin hijos. La profundidad es la distancia al nodo raíz. En el árbol de la derecha, esta suma es
Prueba
Prueba de códigos de prefijo
Primero, demostremos que la desigualdad de Kraft se cumple siempre que el código sea un código de prefijo.
Supóngase que . Sea el árbol -ario completo de profundidad (por lo tanto, cada nodo de en el nivel tiene hijos, mientras que los nodos en el nivel son hojas). Cada palabra de longitud sobre un alfabeto -ario corresponde a un nodo en este árbol en la profundidad . La palabra n en el código de prefijo corresponde a un nodo ; sea el conjunto de todos los nodos de hoja (es decir, de nodos en la profundidad ) en el subárbol de enraizado en . Como ese subárbol tiene altura , tenemos
Dado que el código es un código de prefijo, esos subárboles no pueden compartir ninguna hoja, lo que significa que
Por lo tanto, dado que el número total de nodos en profundidad es , tenemos
de donde se sigue el resultado.
Por el contrario, dada cualquier secuencia ordenada de números naturales,
Al satisfacer la desigualdad de Kraft, se puede construir un código de prefijo con longitudes de palabras de código iguales a cada una eligiendo una palabra de longitud arbitrariamente, y luego descartando todas las palabras de mayor longitud que la tengan como prefijo. Nuevamente, interpretaremos esto en términos de nodos de hoja de un árbol -ario de profundidad . Primero elija cualquier nodo del árbol completo en profundidad ; corresponde a la primera palabra de nuestro nuevo código. Dado que estamos construyendo un código de prefijo, todos los descendientes de este nodo (es decir, todas las palabras que tienen esta primera palabra como prefijo) se vuelven inadecuados para su inclusión en el código. Consideramos los descendientes en profundidad (es decir, los nodos de hoja entre los descendientes); hay tales nodos descendientes que se eliminan de la consideración. La siguiente iteración elige un nodo (sobreviviente) en profundidad y elimina más nodos de hoja, y así sucesivamente. Después de las iteraciones, hemos eliminado un total de
nodos. La pregunta es si necesitamos eliminar más nodos de hoja de los que realmente tenemos disponibles ( en total) en el proceso de creación del código. Dado que la desigualdad de Kraft se cumple, de hecho tenemos
y así se puede construir un código de prefijo. Nótese que, como la elección de nodos en cada paso es en gran medida arbitraria, se pueden construir muchos códigos de prefijo adecuados diferentes, en general.
Prueba del caso general
Ahora demostraremos que la desigualdad de Kraft se cumple siempre que sea un código decodificable de forma única. (No es necesario demostrar la inversa, ya que ya la hemos demostrado para códigos de prefijo, lo que es una afirmación más sólida). La prueba es de Jack I. Karush. [3] [4]
Solo necesitamos demostrarlo cuando hay un número finito de palabras clave. Si hay un número infinito de palabras clave, entonces cualquier subconjunto finito de ellas también es decodificable de manera única, por lo que satisface la desigualdad de Kraft-McMillan. Si tomamos el límite, tenemos la desigualdad para el código completo.
Denote . La idea de la prueba es obtener un límite superior para y demostrar que solo puede cumplirse para todos si . Reescríbalo como
Consideremos todas las m -potencias , en forma de palabras , donde son índices entre 1 y . Nótese que, dado que se supuso que S era decodificable de forma única, implica . Esto significa que cada sumando corresponde exactamente a una palabra en . Esto nos permite reescribir la ecuación a
donde es el número de palabras de código en de longitud y es la longitud de la palabra de código más larga en . Para un alfabeto de -letras solo hay palabras posibles de longitud , por lo que . Usando esto, establecemos el límite superior :
Tomando la raíz -ésima, obtenemos
Este límite se cumple para cualquier . El lado derecho es 1 asintóticamente, por lo que debe cumplirse (de lo contrario, la desigualdad se rompería para un suficientemente grande ).
Construcción alternativa para el recíproco
Dada una secuencia de números naturales,
Al satisfacer la desigualdad de Kraft, podemos construir un código de prefijo como sigue. Defina la i- ésima palabra de código, C i , como los primeros dígitos después del punto decimal en la representación base r de
Nótese que, por la desigualdad de Kraft, esta suma nunca es mayor que 1. Por lo tanto, las palabras clave capturan el valor completo de la suma. Por lo tanto, para j > i , los primeros dígitos de C j forman un número mayor que C i , por lo que el código no tiene prefijo.
Generalizaciones
La siguiente generalización se encuentra en [5] .
Teorema : Si son decodificables de forma única, y cada palabra de código en es una concatenación de palabras de código en , entonces
Mediante un argumento de conteo, el coeficiente -ésimo de es el número de cadenas de longitud con longitud de código . Es decir, de manera similar,
Dado que el código es decodificable de forma única, cualquier potencia de está absolutamente limitada por , por lo que cada uno de y es analítico en el disco .
Afirmamos que para todos ,
El lado izquierdo es y el lado derecho es
Ahora bien, dado que cada palabra de código en es una concatenación de palabras de código en , y es decodificable de forma única, cada cadena de longitud con -código de longitud corresponde a una cadena única cuyo -código es . La cadena tiene una longitud de al menos .
Por lo tanto, los coeficientes de la izquierda son menores o iguales que los coeficientes de la derecha.
Así, para todos , y todos , tenemos Tomando límite, tenemos para todos .
Como y ambos convergen, tenemos tomando el límite y aplicando el teorema de Abel .
^ Portada, Thomas M.; Thomas, Joy A. (2006), "Compresión de datos", Elementos de la teoría de la información (2.ª ed.), John Wiley & Sons, Inc, págs. 108-109, doi :10.1002/047174882X.ch5, ISBN 978-0-471-24195-9
^ De Rooij, Steven; Grünwald, Peter D. (2011), "SUERTE Y ARREPENTIMIENTO EN LA INFERENCIA DE LONGITUD MÍNIMA DE DESCRIPCIÓN", Filosofía de la estadística (1.ª ed.), Elsevier, pág. 875, ISBN978-0-080-93096-1
^ Karush, J. (abril de 1961). "Una prueba simple de una desigualdad de McMillan (Corresp.)". IEEE Transactions on Information Theory . 7 (2): 118. doi :10.1109/TIT.1961.1057625. ISSN 0018-9448.
^ Portada, Thomas M.; Thomas, Joy A. (2006). Elementos de la teoría de la información (2.ª ed.). Hoboken, Nueva Jersey: Wiley-Interscience. ISBN978-0-471-24195-9.
^ Foldes, Stephan (21 de junio de 2008). "Sobre el teorema de McMillan sobre códigos descifrables de forma única". arXiv : 0806.3277 [math.CO].
^ Schumacher, Benjamin; Westmoreland, Michael D. (10 de septiembre de 2001). "Codificación cuántica de longitud indeterminada". Physical Review A . 64 (4): 042304. arXiv : quant-ph/0011014 . Código Bibliográfico :2001PhRvA..64d2304S. doi :10.1103/PhysRevA.64.042304. S2CID 53488312.
Referencias
Kraft, Leon G. (1949), Un dispositivo para cuantificar, agrupar y codificar pulsos modulados en amplitud (Tesis), Cambridge, MA: Tesis de maestría, Departamento de Ingeniería Eléctrica, Instituto Tecnológico de Massachusetts , hdl :1721.1/12390.
McMillan, Brockway (1956), "Dos desigualdades implicadas por la descifrabilidad única", IEEE Trans. Inf. Theory , 2 (4): 115–116, doi :10.1109/TIT.1956.1056818.