5 votos

Unívocamente Decodificable Código

Dado un código de $c:S\rightarrow T^*$ deje $n_i$ denotar el número de símbolos en que se codifican las cadenas de longitud $i$ en $T^*$

Si queremos construir un unívocamente decodificable código de 12 símbolos con el binario de palabras de longitud inferior o igual a 4. Hacer una lista de todos los conjuntos de parámetros $n_1,n_2,n_3,n_4$ para que un código adecuado existe.

Estoy seguro de que tengo que usar la de Kraft-Mcmillian número aquí y creo que esto es bastante simple, pero estoy un poco perdido como a dónde ir.

Gracias por la ayuda.

5voto

DiGi Puntos 1925

De acuerdo a la Kraft-McMillan teorema, una condición necesaria y suficiente para $c$ a ser unívocamente decodificable es que $$\sum_{k=1}^4 n_k\left(\frac12\right)^k\le1\;.\tag{1}$$ Thus, you need to find all of the $4$-tuples $\langle n_1,n_2,n_3,n_4\rangle$ of non-negative integers such that $(1)$ holds and $n_1+n_2+n_3+n_4=12$.

Una manera de hacerlo de forma sistemática es observar que $\langle 0,0,0,12\rangle$ es una solución y, a continuación, tratar de transferencia de $4$-cadenas de bits a cadenas más cortas. Por ejemplo, $\langle 0,0,1,11\rangle$ está bien, porque $\frac18+\frac{11}{16}\le1$. ¿Qué acerca de la $\langle 0,0,2,10\rangle$? El lado izquierdo de $(1)$ luego $\frac28+\frac{10}{16}=\frac78\le1$, por lo que está bien, también. Así se $\langle 0,0,3,9\rangle$ e $\langle 0,0,4,8$: las sumas son $\frac38+\frac9{16}=\frac{15}{16}\le1$ e $\frac48+\frac8{16}=1$. Pero $\langle 0,0,5,7\rangle$ no es aceptable: $\frac58+\frac7{16}=\frac{17}{16}>1$.

Hay maneras de acelerar las cosas, pero una buena manera de descubrir algunos de ellos es continuar con la fuerza bruta procedimiento hasta que se empiezan a ver algunos patrones. Por ejemplo, usted podría notar que sólo en lo que me hizo antes, que cada vez que he transferido un símbolo de una $4$-bits a una $3$-bits de código, la suma en el lado izquierdo de $(1)$ aumentó $1/16$. Puede usted ver por qué? Mejor aún, puedes ver cómo hacer uso de este en la transferencia de símbolos entre los códigos de otras longitudes?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X