You are on page 1of 10

ASIGNATURA: NRC:

ÁLGEBRA LINEAL
3134
TEMA: ENSAYO:
CODIGOS DE CORRECION 2
UNIDAD: FECHA:
2 14/ 01/2016

PROFESOR: Ing. Wilson Travez.


ESTUDIANTES: Marcelo Anda, Robert Piza.
APLICACIONES DEL ALGEBRA LINEAL

CODIGOS DE CORRECION

Los sistemas que tenemos los seres humanos para nuestra comunicación han ido
cambiando conforme el paso de los años, las nuevas tecnologías cada vez se
apoderan más de la sociedad, obligándonos así a una constante actualización de
nosotros mismo con el medio que nos rodea. Las telecomunicaciones de los
teléfonos celulares, radio, televisores, internet, etc. funcionan de una manera un
tanto especial, consiste en nada más y nada menos que enviar señales
(compuestas por números binarios) para de esta manera mantenernos a todos
conectados con el resto del mundo.

Obviamente este tipo de señales no siempre son perfectas ya que vivimos en un


medio que tiene muchos factores que podrían generar errores o interferencias, un
mundo donde predomina el caos, el desorden y existen varias formas de perder
información de un mensaje en toda la trayectoria que este tiene que recorrer, un
ejemplo de este tipo de interferencias podría ser la estática producida por la
radiación del fondo de microondas, que son pequeñas señales de radio
frecuencia, residuos del big bang, aún se las puede apreciar en el medio como
apenas menos del 1% del sonido en el ambiente, entonces ¿Qué se debe hacer
para poder evitar este tipo de errores en los mensajes?, la respuesta es muy
sencilla , gracias a las aplicaciones matemáticas del algebra lineal una de las
formas más factibles que existe para evitar errores en el envió de un mensaje son
los códigos de corrección.

Un ejemplo práctico de los códigos de corrección fue el haber implementado el


control de paridad, el cual trata como su nombre lo dice mantener pares la
cantidad de números “1” en una serie binaria, esto se realiza aumentando un “0” o
un “1” a la cadena numérica, si la cadena posee una cantidad par de números “1”
se le aumenta un “0”, caso contrario, al tener una cantidad impar de números “1”
se le aumenta otro número “1”. Al momento de existir una serie binaria con
cantidad de números “1” impares en la cadena aumentada, se detecta que hay
errores en el mensaje, pero no se puede saber dónde están, ni tampoco la
cantidad exacta de errores que esta contiene, en el peor de los casos existiría una
cantidad par de errores, los cuales serían indetectables.

La idea del control de paridad es generalizada para los códigos de corrección de


errores, fue Richard w. Hamming quien desarrollo el diseño del control de paridad
para una serie binaria perteneciente a 𝑅 4 en el año 1950, este espacio vectorial
desarrollado nos permite mover a través de las diferentes componentes que
forman el vector, para de esta manera la detección de errores sea más rápida y
eficiente.

SISTEMA DE NUMERACIÓN NUEVO Y SU ESPACIO VECTORIAL

“Definición: una palabra (de longitud n) es una n-ada de ceros y unos. Tal
palabra también se llama cadena de longitud n.”1

Necesitamos un nuevo sistema de numeración tal que los números enteros que
ingresemos sean divisibles para 2, esto quiere decir una función de “enteros
mod2”, lo definiremos como el conjunto Z2.

Donde Z2 = {0, 1}, la definición de la multiplicación por un escalar (solamente el


“0” y “1”) y suma son usuales, excepto que como es un conjunto binario se da lo
siguiente: “1+1=0”. En este nuevo conjunto definido se cumplen todas las
propiedades para que sea un espacio vectorial, nótese que en este conjunto el 1
es su propio inverso aditivo.

En conclusión podemos describir este espacio vectorial como un conjunto de 𝑅 𝑛


que representa las cadenas de “n” elementos, como necesitamos definir Z2 para
cualquier cantidad de números binarios, el espacio vectorial final representado por
𝑛
𝑍 , es el conjunto de todas las cadenas de caracteres binarios de longitud “n”.
2

1
Algebra Lineal Elemental y sus Aplicaciones, Richard Hill, Tercera Edición, Capítulo 3: Espacios Vectoriales,
Página 228.
𝑛
Ahora que hemos definido el conjunto 𝑍 podemos decir que el también satisface
2
los 8 axiomas necesarios para ser considerado un espacio vectorial, una vez dicho
𝑛
esto se puede afirmar que: “ 𝑍 es un espacio vectorial definido sobre Z2.”
2

También podemos acotar que la base canónica del espacio vectorial 𝑅 𝑛 al ser una
𝑛
serie de números binarios también sería una base del conjunto 𝑍 , gracias a esto
2
podemos definir el siguiente teorema:

𝑛
“Dim [𝑍 ] = n”
2
Para la codificación de mensajes se toman palabras de longitud 4, aunque
también se podrían tomar palabras de mayor longitud y dividirlas en varios
vectores de 4 componentes, una vez hecho esto tenemos la base canónica de 𝑅 4 ,
a la cual le vamos a agregar tres controles de paridad, formándonos 4 vectores
linealmente independientes de mucha importancia, tales que:

U1= {1, 0, 0, 0, 0, 1, 1}

U2= {0, 1, 0, 0, 1, 0, 1}

U3= {0, 0, 1, 0, 1, 1, 0}

U4= {0, 0, 0, 1, 1, 1, 1}

De esta manera obtenemos estos 4 vectores que serían una base de un


7
subespacio vectorial de 𝑍 al cual vamos a llamar C7, 4.
2

𝑛
“Definición: Un código es un subespacio de dimensión K de 𝑍 . El código C7, 4 se
2
llama código de Hamming (7,4).”2

2
Algebra Lineal Elemental y sus Aplicaciones, Richard Hill, Tercera Edición, Capítulo 3: Espacios Vectoriales,
Página 230.
CODIFICACIÓN DE MENSAJES:

La codificación de mensajes es transformar un vector cualquiera de 𝑅 4 en otro


vector perteneciente al conjunto C7, 4, de tal manera que debemos darnos cuenta
que las bases u1, u2, u3, u4 pertenecientes al mismo conjunto, si las comparamos
con la base canónica Ɛ1, Ɛ2, Ɛ3, Ɛ4 de 𝑅 4 , estarían dadas de esta manera ui = Ɛi
sin los 3 controles de paridad.

(x1, x2, x3, x4) = x1 Ɛ1 + x2 Ɛ2+ x3 Ɛ3 + x4 Ɛ4

Es equivalente a: x1 u1 + x2 u2 + x3 u3 + x4 u4

Ejercicio 1:

- Dado el siguiente vector w = {0, 1, 1, 1} codificarlo para el subespacio


vectorial C7, 4:

U1= {1, 0, 0, 0, 0, 1, 1}

U2= {0, 1, 0, 0, 1, 0, 1}

U3= {0, 0, 1, 0, 1, 1, 0}

U4= {0, 0, 0, 1, 1, 1, 1}

Codificamos:

w = x1 u1 + x2 u2 + x3 u3 + x4 u4

w = (1) (1, 0, 0, 0, 0, 1, 1) + (1) (0, 0, 1, 0, 1, 1, 0) + (1) (0, 0, 0, 1, 1, 1, 1)

w = (0, 1, 1, 1, 1, 0, 0)

De esta manera hemos transformado el mensaje w a un vector perteneciente al


subespacio vectorial C7, 4, además podemos notar que las primeras 4
componentes del nuevo vector siguen siendo el vector w original, y las ultimas 3
son los controles de paridad unidos.
DECODIFICACIÓN DE MENSAJES:

La parte de decodificación de un mensaje quiere decir que se revisará


completamente el mismo en busca de algún posible error, en caso de que exista lo
corregiremos y por último extraeremos el mensaje original. El primer paso para la
decodificación es la comprobación, para esto debemos analizar la siguiente matriz
de orden 3x7:

0 0 0 1 1 1 1
H = 0 1 1 0 0 1 1
1 0 1 0 1 0 1

Las columnas 1, 2, 4 son linealmente independientes, por lo tanto revelan que


rk(H) = 3. Dicho esto puedo afirmar que ocurre lo siguiente:

“rk (H) + dim EN (H) = 7”

En el momento que tomamos los vectores u1, u2, u3, u4 y los colocamos como
vectores columna, se puede observar que ellos pertenecen al EN(H), de este
modo puedo afirmar que:

“EN (H) = C7, 4 “

“Dim EN (H) = 4”

Por lo tanto se cumpliría la expresión descrita anteriormente.

“Teorema 1: si cualquier vector en C7, 4 se altera exactamente en una coordenada,


el vector resultante no está en C7, 4.”3

7
“Teorema 2: supongamos que w es un vector en 𝑍 y Hw es la k – ésima columna
2
de H (entonces Hw ≠ 0). Si la k – ésima entrada de w se cambia, el vector
corregido Wc estará en EN (H) = C7, 4.”4

3
Algebra Lineal Elemental y sus Aplicaciones, Richard Hill, Tercera Edición, Capítulo 3: Espacios Vectoriales,
Página 231.
De este modo ya podemos generalizar un proceso de decodificación, imaginemos
que tenemos una palabra codificada w perteneciente a C7, 4 y que la misma
contiene un solo error, entonces el proceso que aplicaremos será el siguiente:

1.- Debemos calcular la siguiente multiplicación de matrices Hw.

2.- si Hw = 0, los primeros 4 dígitos representan a w.

3.- si Hw ≠ 0, entonces el producto de matrices Hw representa a la k – ésima


columna de H para algún valor k. si cambiamos el dígito de esa fila, estaríamos
encontrando a la matriz wc.

4.- Por lo tanto los primeros 4 dígitos en la matriz wc representan a la matriz w


original.

Ejercicio 2:

- Dado el mensaje w que contiene un solo error, determinar si el vector está


en C7, 4. En caso de estarlo, decodifíquelo, si no está corrija el error y
decodifique el mensaje correcto:

W = (1, 1, 1, 1, 0, 1, 1)

0 0 0 1 1 1 1
H= 0 1 1 0 0 1 1
1 0 1 0 1 0 1

1
0 0 0 1 1 1 1 1
1
Hw = 0 1 1 0 0 1 1 1
1 0 1 0 1 0 1 0
1
1

4
Algebra Lineal Elemental y sus Aplicaciones, Richard Hill, Tercera Edición, Capítulo 3: Espacios Vectoriales,
Página 232.
Hw = 1
0
1

De esta manera el vector corregido sería:

Wc = (1, 1, 1, 1, 1, 1, 1)

Y el vector codificado, es decir el vector w original es:

W = (1, 1, 1, 1)

Ejercicio 3:

- Dado el mensaje w que contiene un solo error, determinar si el vector está


en C7, 4. En caso de estarlo, decodifíquelo, si no está corrija el error y
decodifique el mensaje correcto:

W = (1, 0, 1, 0, 0, 1, 1)

0 0 0 1 1 1 1
H= 0 1 1 0 0 1 1
1 0 1 0 1 0 1

1
0 0 0 1 1 1 1 0
1
Hw = 0 1 1 0 0 1 1 0
1 0 1 0 1 0 1 0
1
1

Hw = 0
1
1
De esta manera el vector corregido sería:

Wc = (1, 0, 0, 0, 0, 1, 1)

Y el vector codificado, es decir el vector w original es:

W = (1, 0, 0, 0)

Ejercicio 4:

- Dado el mensaje w que contiene un solo error, determinar si el vector está


en C7, 4. En caso de estarlo, decodifíquelo, si no está corrija el error y
decodifique el mensaje correcto:

W = (0, 1, 1, 0, 0, 1, 1)

0 0 0 1 1 1 1
H= 0 1 1 0 0 1 1
1 0 1 0 1 0 1

0
0 0 0 1 1 1 1 1
1
Hw = 0 1 1 0 0 1 1 0
1 0 1 0 1 0 1 0
1
1
Hw = 0
0
0

Como Hw nos queda una matriz nula, podemos afirmar que el mensaje no tiene
errores ha sido enviado correctamente:

Wc = (0, 1, 1, 0, 0, 1, 1)

Y el vector codificado, es decir el vector w original es:

W = (0, 1, 1, 0)
Referencias:
Para análisis realizado en este trabajo, se ha tomado como sustento de la
investigación lo siguiente:

- Algebra Lineal Elemental y sus Aplicaciones, Richard Hill, Tercera Edición, Capítulo 3: Espacios
Vectoriales, Páginas 228 - 232.

http://www.virtual.unal.edu.co/cursos/sedes/manizales/4040051/html/capitulos/cap_iii/codigos_
de_correccion_de_errores.pdf

http://www.infor.uva.es/~cevp/FI_I/fichs_pdf_teo/FI_I_Tema8_CodCorr.pdf

You might also like