Peso en Teoría de Códigos

Definiciones principales:

  1. Peso de un vector:
    El peso de un vector uFqnu \in \mathbb{F}_q^n, denotado como w(u)w(u), es el número de componentes no nulas de uu.
    Matemáticamente:

    w(u)={iui0,i=1,,n}.w(u) = |\{i \mid u_i \neq 0, \, i = 1, \dots, n \}|.
  2. Peso de una palabra de código:
    El peso de una palabra de código cCc \in C, denotado como w(c)w(c), es el número de componentes no nulas de cc.
    Es una medida de cuántos "unos" o valores distintos de cero están presentes en cc.

  3. Peso mínimo de un código:
    El peso mínimo de un código CC, denotado como w(C)w(C), es el menor peso de cualquier palabra de código no nula en CC.
    Matemáticamente:

    w(C)=min{w(c)cC,c0}.w(C) = \min\{w(c) \mid c \in C, c \neq 0\}.

Propiedades clave:

  1. Relación entre peso y distancia:
    En códigos lineales, la distancia mínima d(C)d(C) es igual al peso mínimo del código w(C)w(C).
    Esto se debe a que la distancia entre dos palabras de código u,vCu, v \in C se puede calcular como el peso de su diferencia:

    d(u,v)=w(uv).d(u, v) = w(u - v).
  2. Peso en códigos lineales:

    • En un código lineal, las palabras de código son combinaciones lineales de las filas de la matriz generadora.
    • Por lo tanto, para calcular el peso mínimo de un código, es suficiente determinar el menor peso de las combinaciones lineales de las filas de la matriz generadora.
  3. Peso y esferas:
    El peso de una palabra de código está relacionado con el radio de las esferas (o bolas) centradas en el código, utilizadas para la detección y corrección de errores.


Ejemplo práctico:

Sea F2={0,1}\mathbb{F}_2 = \{0, 1\} y un código CC generado por las palabras:

C={000,111}.C = \{000, 111\}.
  • El peso de la palabra 000000 es w(000)=0w(000) = 0.
  • El peso de la palabra 111111 es w(111)=3w(111) = 3.
  • El peso mínimo del código CC es w(C)=3w(C) = 3.

Aplicaciones prácticas:

  1. Detección y corrección de errores:
    El peso de las palabras de código y su relación con la distancia mínima se utiliza para definir las capacidades de detección y corrección de errores de un código.

  2. Códigos de paridad:
    Los códigos que verifican la paridad (número de unos) dependen del concepto de peso para definir su funcionamiento.

  3. Optimización de códigos:
    El diseño de códigos con un alto peso mínimo permite mejorar la capacidad de corrección de errores en sistemas de telecomunicaciones y almacenamiento de datos.