En la teoría de la codificación , los códigos de Justesen forman una clase de códigos correctores de errores que tienen una tasa constante, una distancia relativa constante y un tamaño de alfabeto constante.
Antes del descubrimiento del código de corrección de errores de Justesen, no se conocía ningún código de corrección de errores que tuviera estos tres parámetros como constantes.
Posteriormente, se han descubierto otros códigos ECC con esta propiedad, por ejemplo, los códigos expansores . Estos códigos tienen aplicaciones importantes en informática, como en la construcción de espacios muestrales con sesgo pequeño .
Los códigos de Justesen se derivan de la concatenación de un código de Reed-Solomon y el conjunto de Wozencraft .
Los códigos Reed-Solomon utilizados logran una tasa constante y una distancia relativa constante a costa de un tamaño de alfabeto que es lineal con respecto a la longitud del mensaje.
El conjunto de códigos Wozencraft es una familia de códigos que logran una tasa constante y un tamaño de alfabeto constante, pero la distancia relativa solo es constante para la mayoría de los códigos de la familia.
La concatenación de los dos códigos primero codifica el mensaje utilizando el código Reed-Solomon, y luego codifica cada símbolo de la palabra clave utilizando un código del conjunto Wozencraft , empleando un código diferente del conjunto en cada posición de la palabra clave.
Esto difiere de la concatenación de códigos habitual, donde los códigos internos son los mismos para cada posición. El código de Justesen se puede construir de forma muy eficiente utilizando únicamente espacio logarítmico .
Definición
El código Justesen es la concatenación de uncódigo externoy diferentescódigos internos, para.
Más precisamente, la concatenación de estos códigos, denotada por, se define de la siguiente manera. Dado un mensaje, calculamos la palabra clave producida por un código externo:.
Luego aplicamos cada código de N códigos internos lineales a cada coordenada de esa palabra clave para producir la palabra clave final; es decir,.
Si volvemos a la definición del código externo y los códigos internos lineales, esta definición del código de Justesen tiene sentido porque la palabra clave del código externo es un vector conelementos, y tenemoscódigos internos lineales que se aplicarán para aquelloselementos.
Aquí está el código de Justesen, el código externo.se elige para ser el código Reed Solomon sobre un campoevaluado durantetasa,<<.
El código exteriortener la distancia relativay longitud del bloque deEl conjunto de códigos internos es el conjunto Wozencraft ..
Propiedad del código de Justesen
Como los códigos lineales en el conjunto de Wonzencraft tienen la tasa, el código Justesen es el código concatenadocon la tasaTenemos el siguiente teorema que estima la distancia del código concatenado..
Teorema
DejarEntoncestiene una distancia relativa de al menos
Prueba
Para demostrar una cota inferior para la distancia de un códigoDemostramos que la distancia de Hamming de un par de palabras clave arbitrarias pero distintas tiene una cota inferior. Entonces, seasea la distancia de Hamming de dos palabras clavey. Para cualquier dado
queremos un límite inferior para
Observa que si, entonces. Entonces, para el límite inferior, necesitamos tener en cuenta la distancia de
Suponer
Recuerda quees un conjunto de Wozencraft . Debido al "teorema del conjunto de Wonzencraft", hay al menoscódigos linealesque tienen distanciaEntonces, si para algunosy el códigotiene distanciaentonces
Además, si tenemosnúmerosde tal manera quey el códigotiene distanciaentonces
Así que ahora la tarea final es encontrar un límite inferior para. Definir:
- :\ 1\leqslant i\leqslant N,c_{i}^{1}\neq c_{i}^{2}\right\}.}
Entonceses el número de códigos linealestener la distancia
Ahora queremos estimarObviamente.
Debido al Teorema del Conjunto de Wozencraft , hay como máximocódigos lineales que tienen una distancia menor queentonces
Finalmente, tenemos
Esto es cierto para cualquier arbitrario. Entoncestiene la distancia relativa al menoscon lo cual se completa la demostración.
Comentarios
Queremos analizar el "código fuertemente explícito". La pregunta es, entonces, qué es el "código fuertemente explícito". En términos generales, para el código lineal, la propiedad "explícita" está relacionada con la complejidad de construir su matriz generadora G.
En efecto, eso significa que podemos calcular la matriz en el espacio logarítmico sin utilizar el algoritmo de fuerza bruta para verificar que un código tiene una distancia dada que cumple.
Para los demás códigos que no son lineales, podemos considerar la complejidad del algoritmo de codificación.
Así pues, podemos ver claramente que los códigos de Wonzencraft y Reed-Solomon son muy explícitos. Por lo tanto, tenemos el siguiente resultado:
Corolario: El código concatenadoes un código asintóticamente bueno (es decir, tasa> 0 y distancia relativa> 0 para q pequeño) y tiene una construcción fuertemente explícita.
Un ejemplo de código Justesen
El siguiente código, ligeramente diferente, se conoce como código Justesen en MacWilliams/MacWilliams. Se trata del caso particular del código Justesen mencionado anteriormente para un conjunto Wonzencraft muy específico:
Sea R un código Reed-Solomon de longitud N = 2 m − 1, rango K y peso mínimo N − K + 1.
Los símbolos de R son elementos de F = GF(2 m ) y las palabras clave se obtienen tomando cada polinomio ƒ sobre F de grado menor que K y enumerando los valores de ƒ en los elementos no nulos de F en algún orden predeterminado.
Sea α un elemento primitivo de F. Para una palabra clave a = ( a 1 , ..., a N ) de R , sea b el vector de longitud 2 N sobre F dado por
y sea c el vector de longitud 2 N m obtenido de b expresando cada elemento de F como un vector binario de longitud m . El código de Justesen es el código lineal que contiene todos esos c .
Los parámetros de este código son longitud 2 m N , dimensión m K y distancia mínima al menos
dóndees el mayor entero que satisface(Véase MacWilliams/MacWilliams para una demostración).
Véase también
Referencias
- Lección 28: Código Justesen. Curso de teoría de la codificación. Prof. Atri Rudra .
- Lección 6: Códigos concatenados. Códigos de Forney. Códigos de Justesen. Teoría esencial de la codificación .
- J. Justesen (1972). "Una clase de códigos algebraicos constructivos asintóticamente buenos". IEEE Trans. Inf. Theory . 18 (5): 652– 656. doi : 10.1109/TIT.1972.1054893 .
- FJ MacWilliams ; NJA Sloane (1977). La teoría de los códigos correctores de errores . North-Holland. págs. 306–316 . ISBN 0-444-85193-3.
- Detección y corrección de errores
- Campos finitos
- Teoría de la codificación