En la teoría de la codificación , la decodificación de distancia mínima generalizada (GMD) proporciona un algoritmo eficiente para decodificar códigos concatenados , que se basa...
Hispanopedia WikiContenido en espanolLectura gratuita
Distancia de Hamming : Dados dos vectoresla distancia de Hamming entrey, denotado por, se define como el número de posiciones en las queydiferir de.
Distancia mínima: Dejeser un código . La distancia mínima del códigose define comodónde
Concatenación de códigos: DadoConsideremos dos códigos que llamaremos código externo y código interno.
y sus distancias sony. Se puede obtener un código concatenado mediantedóndeFinalmente tomaremosser código RS , que tiene un decodificador de errores y borrado, y, lo que a su vez implica que MLD en el código interno será polinomial entiempo.
Decodificación de máxima verosimilitud (MLD): MLD es un método de decodificación para códigos de corrección de errores, que produce la palabra clave más cercana a la palabra recibida en distancia de Hamming. La función MLD se denota porse define de la siguiente manera. Para cada.
Considere la palabra recibidaque fue corrompido por un canal ruidoso . A continuación se describe el algoritmo para el caso general. En este algoritmo, podemos decodificar y simplemente declarando un borrado en cada posición defectuosa y ejecutando el algoritmo de decodificación de errores y borrados parasobre el vector resultante.
Decodificador aleatorio dado :.
Por cada, calcular.
Colocar.
Por cada, repetir : Con probabilidad, colocar?,} de lo contrario establecer.
Errores de ejecución y algoritmo de borrado paraen.
Teorema 1. Sea y una palabra recibida tal que existe una palabra clave.de tal manera que. Luego, el algoritmo GMD determinista produce:.
Lema 1. Supongamos que se cumple la hipótesis del Teorema 1. Y sitieneerrores yborraduras (en comparación con) después del Paso 1 , entonces
Observación. Si, entonces el algoritmo del paso 2 generará la salidaEl lema anterior afirma que, en promedio, esto es así. Cabe señalar que esto no basta para demostrar el Teorema 1 , pero puede ser crucial para desarrollar futuras variaciones del algoritmo.
Demostración del lema 1. Para cadadefinirEsto implica que
?\end{aligned}}} Afirmamos que hemos terminado si podemos demostrar que para cada:
Claramente, por definición
Además, por la linealidad de la esperanza, obtenemos
Para demostrar (2) consideramos dos casos:El bloque -ésimo se decodifica correctamente ( Caso 1 ), El bloque -ésimo se decodifica incorrectamente ( Caso 2 ):
Caso 1:
Tenga en cuenta que sientonces, yimplicay.
Además, por definición tenemos
Caso 2:
En este caso,y
Desde. Esto sigue a otro análisis de caso [ 1 ] cuandoO no.
Finalmente, esto implica
En las siguientes secciones, finalmente mostraremos que la versión determinista del algoritmo anterior puede realizar una decodificación única dehasta la mitad de su distancia de diseño.
Algoritmo aleatorio modificado
Tenga en cuenta que, en la versión anterior del algoritmo GMD en el paso "3", realmente no necesitamos usar aleatoriedad "nueva" para cadaAhora presentamos otra versión aleatoria del algoritmo GMD que utiliza la misma aleatoriedad para cadaEsta idea sigue el siguiente algoritmo.
Decodificador aleatorio modificado dado :, elegiral azar. Luego cada uno por cada:
Colocar.
Calcular.
Si, colocar?,} de lo contrario establecer.
Errores de ejecución y algoritmo de borrado paraen.
Para la demostración del Lema 1 , solo usamos la aleatoriedad para mostrar que
En esta versión del algoritmo GMD, observamos que
La segunda igualdad anterior se deduce de la elección deLa demostración del Lema 1 también puede utilizarse para demostrarpara la versión 2 de GMD. En la siguiente sección, veremos cómo obtener una versión determinista del algoritmo GMD eligiendode un conjunto de tamaño polinomial en contraposición al conjunto infinito actual.
Algoritmo determinista
Dejar. Dado que para cada, tenemos
dóndepara algunos. Tenga en cuenta que para cada, el paso 1 de la segunda versión del algoritmo aleatorio produce el mismo resultado. Por lo tanto, necesitamos considerar todos los valores posibles deEsto da como resultado el algoritmo determinista que se muestra a continuación.
Decodificador_determinista Dado :, por cada, repita lo siguiente.
Calcularpara.
Colocarpor cada.
Si, colocar?,} de lo contrario establecer.
Ejecutar el algoritmo de errores y borrados paraen. Dejarser la palabra clave encorrespondiente al resultado del algoritmo, si lo hubiera.
Entre todos losSalida en 4, salida la más cercana a
Cada bucle de 1 a 4 se puede ejecutar en tiempo polinomial , el algoritmo anterior también se puede calcular en tiempo polinomial. Específicamente, cada llamada a un decodificador de errores y borrados deLos errores tomantiempo. Finalmente, el tiempo de ejecución del algoritmo anterior esdóndees el tiempo de ejecución del decodificador de errores y borrados externos.