stringtranslate.com

Algoritmo de decodificación de listas de Guruswami–Sudan

En la teoría de la codificación , la decodificación de listas es una alternativa a la decodificación única de códigos de corrección de errores en presencia de muchos errores. Si un código tiene una distancia relativa , entonces es posible en principio recuperar un mensaje codificado cuando hasta una fracción de los símbolos de la palabra de código están dañados. Pero cuando la tasa de error es mayor que , esto en general no será posible. La decodificación de listas supera ese problema al permitir que el decodificador genere una lista corta de mensajes que podrían haber sido codificados. La decodificación de listas puede corregir más de una fracción de errores.

Existen muchos algoritmos de tiempo polinomial para la decodificación de listas. En este artículo, primero presentamos un algoritmo para códigos Reed–Solomon (RS) que corrige hasta errores y se debe a Madhu Sudan . Posteriormente, describimos el algoritmo mejorado de decodificación de listas GuruswamiSudan , que puede corregir hasta errores.

Aquí se muestra un gráfico de la tasa R y la distancia para diferentes algoritmos.

https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/81/Graph.jpg

Algoritmo 1 (algoritmo de decodificación de listas de Sudán)

Planteamiento del problema

Entrada: Un campo ; n pares distintos de elementos en ; y números enteros y .

Salida: Una lista de todas las funciones que satisfacen

es un polinomio de grado como máximo

Para entender mejor el algoritmo de Sudan, es posible que uno quiera conocer primero otro algoritmo que puede considerarse como la versión anterior o la versión fundamental de los algoritmos para decodificar códigos RS de listas: el algoritmo de Berlekamp-Welch . Welch y Berlekamp inicialmente vinieron con un algoritmo que puede resolver el problema en tiempo polinomial con el mejor umbral en ser . El mecanismo del algoritmo de Sudan es casi el mismo que el algoritmo del algoritmo de Berlekamp-Welch, excepto que en el paso 1, uno quiere calcular un polinomio bivariado de grado acotado. El algoritmo de decodificación de listas de Sudan para el código Reed-Solomon que es una mejora del algoritmo de Berlekamp y Welch, puede resolver el problema con . Este límite es mejor que el límite de decodificación único para .

Algoritmo

Definición 1 (grado ponderado)

Para pesos , el grado ponderado – del monomio es . El grado ponderado – de un polinomio es el máximo, sobre los monomios con coeficientes distintos de cero, del grado ponderado – del monomio.

Por ejemplo, tiene -grado 7

Algoritmo:

Entradas: ; { } /* Los parámetros l,m se configurarán más tarde. */

Paso 1: Encuentra un polinomio bivariado distinto de cero que satisfaga

Paso 2. Factoriza Q en factores irreducibles.

Paso 3. Imprima todos los polinomios tales que sea un factor de Q y para al menos t valores de

Análisis

Hay que demostrar que el algoritmo anterior se ejecuta en tiempo polinómico y genera el resultado correcto. Esto se puede hacer demostrando el siguiente conjunto de afirmaciones.

Reclamación 1:

Si existe una función que satisface (2), entonces se puede encontrar en tiempo polinomial.

Prueba:

Nótese que un polinomio bivariado de grado ponderado como máximo se puede escribir de forma única como . Luego hay que encontrar los coeficientes que satisfacen las restricciones , para cada . Este es un conjunto lineal de ecuaciones en las incógnitas { }. Se puede encontrar una solución utilizando la eliminación gaussiana en tiempo polinomial.

Reclamación 2:

Si entonces existe una función que satisface (2)

Prueba:

Para garantizar que exista una solución distinta de cero, el número de coeficientes en debe ser mayor que el número de restricciones. Supongamos que el grado máximo de en es m y el grado máximo de en es . Entonces el grado de será como máximo . Hay que ver que el sistema lineal es homogéneo. La configuración satisface todas las restricciones lineales. Sin embargo, esto no satisface (2), ya que la solución puede ser idénticamente cero. Para garantizar que exista una solución distinta de cero, hay que asegurarse de que el número de incógnitas en el sistema lineal sea , de modo que se pueda tener un distinto de cero . Dado que este valor es mayor que n, hay más variables que restricciones y, por lo tanto, existe una solución distinta de cero.

Reclamación 3:

Si es una función que satisface (2) y es una función que satisface (1) y , entonces divide

Prueba:

Considere una función . Este es un polinomio en , y argumente que tiene grado como máximo . Considere cualquier monomio de . Como tiene grado ponderado como máximo , se puede decir que . Por lo tanto, el término es un polinomio en de grado como máximo . Por lo tanto, tiene grado como máximo

A continuación, argumentamos que es idénticamente cero. Como es cero siempre que , se puede decir que es cero para puntos estrictamente mayores que . Por lo tanto , tiene más ceros que su grado y, por lo tanto, es idénticamente cero, lo que implica

Encontrar valores óptimos para y . Nótese que y Para un valor dado , se puede calcular el más pequeño para el cual se cumple la segunda condición Al intercambiar la segunda condición se puede llegar a ser como máximo Sustituyendo este valor en la primera condición se puede llegar a ser al menos Luego se minimiza la ecuación anterior de parámetro desconocido . Se puede hacer eso tomando la derivada de la ecuación e igualándola a cero Al hacer eso se obtendrá, Sustituyendo nuevamente el valor en y se obtendrá

Algoritmo 2 (algoritmo de decodificación de listas Guruswami–Sudan)

Definición

Considere un código Reed-Solomon sobre el campo finito con un conjunto de evaluación y un entero positivo , el decodificador de listas Guruswami-Sudan acepta un vector como entrada y genera una lista de polinomios de grado que están en correspondencia 1 a 1 con las palabras de código.

La idea es agregar más restricciones al polinomio bivariado, lo que da como resultado el incremento de las restricciones junto con el número de raíces.

Multiplicidad

Un polinomio bivariado tiene un cero de multiplicidad en media que no tiene término de grado , donde el grado x de se define como el grado máximo de cualquier término x en

Por ejemplo: Sea .

https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig1.jpg

Por lo tanto, tiene un cero de multiplicidad 1 en (0,0).

Dejar .

https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig2.jpg

Por lo tanto, tiene un cero de multiplicidad 1 en (0,0).

Dejar

https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig3.jpg

Por lo tanto, tiene un cero de multiplicidad 2 en (0,0).

De manera similar, si Entonces, tiene un cero de multiplicidad 2 en .

Definición general de multiplicidad

tiene raíces en si tiene un cero de multiplicidad en cuando .

Algoritmo

Sea la palabra de código transmitida , sea el conjunto de soporte de la palabra de código transmitida y la palabra recibida sea

El algoritmo es el siguiente:

Paso de interpolación

Para un vector recibido , construya un polinomio bivariado distinto de cero con grado ponderado de como máximo tal que tenga un cero de multiplicidad en cada uno de los puntos donde

Paso de factorización

Encuentra todos los factores de la forma y para al menos valores de

donde & es un polinomio de grado

Recuerde que los polinomios de grado tienen una correspondencia uno a uno con las palabras clave. Por lo tanto, este paso genera la lista de palabras clave.

Análisis

Paso de interpolación

Lema: El paso de interpolación implica restricciones en los coeficientes de

Deja donde y

Entonces, ........................(Ecuación 1)

dónde

Prueba de la ecuación 1:

.................Usando la expansión binomial

Prueba del lema:

El polinomio tiene un cero de multiplicidad en si

de tal manera que
puede tomar valores como . Por lo tanto, el número total de restricciones es

Por lo tanto, se pueden realizar varias selecciones y cada selección implica restricciones en los coeficientes de

Paso de factorización

Proposición:

Si es un factor de

Prueba:

Dado que, es un factor de , se puede representar como

donde, es el cociente que se obtiene al dividir por es el resto

Ahora, si se reemplaza por , , solo si

Teorema:

Si , entonces es un factor de

Prueba:

...........................De la ecuación 2

Dado, mod

Por lo tanto, mod

Por lo tanto, es un factor de .

Como se demostró anteriormente,

donde LHS es el límite superior del número de coeficientes de y RHS es el lema demostrado anteriormente.

Por lo tanto,

Sustituto ,

Por lo tanto, se ha demostrado que el algoritmo de decodificación de listas Guruswami-Sudan puede decodificar listas de códigos Reed-Solomon hasta con errores.

Referencias